.

2018年11月11日

AI/機械学習講座(2):Ubuntu 仮想環境を構築しよう!

 ども勉三です。「AI/機械学習講座」の第二回目。今回は Python を使うためのセットアップの第一歩として、Ubuntu の仮想環境構築について解説します!

Python環境はUbuntu上に構築するのがお薦め!

 今回の記事で一番お伝えしたいのは「Python環境はUbuntu上に構築するのがお薦め」ということに尽きます。他は忘れてもこれだけは覚えて帰ってください。それだけで、勉三が費やした何時間もの無駄な時間を節約することができます。

 もちろん、Python は Windows, MacOS, 各種 Linux 系 OS など、殆どの主要なオペレーティングシステムので使うことができます。そう聞くと多くの方は自分が使っている Windows や Mac にインストールしようとするのではないでしょうか。ここに第一の罠があります。

 Python はマルチプラットフォームを謳っている言語ですが、基本的に Linux がデファクトスタンダードだと思ったほうがいいです。基本的に Linux で動くことを前提に開発されています。ネット上での情報も Linux での使用についてが最も豊富です。Python でプログラミングをしていると、どうしても各環境ごとに特有のエラーに遭遇するのですが、Windows や Mac だと情報が少なかったりして解決策が見つからないことも多いです。

 「そんなこと言ったって俺のパソコンは Windows(または Mac)だし、Linux とか持ってないし」と思った方。心配は要りません。Windows でも Mac でも、お使いのパソコン上に仮想の Linux 環境を構築することが可能です。費用もかかりません。いい時代ですね。

 なお、本記事では Windows パソコン上に Linux の仮想環境を立てる方法を説明します。Mac での方法については申し訳ないですがネット上を検索頂ければと思います。

VirtualBox をインストールして、Ubuntu環境を構築するのがおすすめ

 無事に第一の罠を突破し、Linux 上に Python 環境を構築することを選択した皆さん。安心するのは早いです! 早くも第二の罠が待ち構えています。それは、Windows 上に仮想の Linux 環境を構築するといっても、選択肢が色々あるということです。

 まず、一口に Linux といっても、CentOS, Ubuntu などなど様々なディストリビューションがあります。Linux に馴染みのない方のために解説しておくと、Linux というのは OS の規格のようなもので、Linux 準拠の OS として CentOS や Ubuntu など様々なディストリビューションが存在します。「Linuxの環境を構築する」と言ったとき、実際には CentOS や Ubuntu などをインストールして環境を構築することになるのです。

 結論からいうと初心者の方は Ubuntu を選ぶのがベストかと思います。Linux というとコマンドを打ち込んで難しそうなイメージがあり、また実際にそれは避けては通れないのですが、Ubuntu は Windows や Mac のようなグラフィカルユーザーインターフェイスも備えており、はじめて Linux を使う方の入門用としては最適です。また、シェアの観点からも現在の Linux 環境のデファクトスタンダードになりつつあり、ネットで検索した際の情報量が多いことも利点です。

 OSの選択に加えて、仮想環境をホストするソフトウェアとして、VMWare や VirtualBox などがあります。どれを選んでも同じ…というわけにはいかず、仮想環境にどのOSを導入するかによって相性があります。Ubuntu を使うのであれば、VirtualBox にしましょう。

 手順としては以下のようになります。詳しい手順も加筆していきたいと思いますが、当面はインターネット上で検索して頂ければと思います。

1.VirtualBox(Webサイト)を Windows にインストールする。

2.Ubuntu Desktop の最新のLTS版(Webサイト)をダウンロードする。

3.VirtualBox 上で仮想環境を立ち上げ、ダウンロードした Ubuntu をインストールする。

 ここで、「Ubuntu Desktop の最新の LTS 版」という用語が出てきたので解説しておきます。Ubuntu と一口にいっても様々な形態、バージョンがあります。形態としては、Server や Desktop などがあり、Desktop であれば Windows や Mac のように、デスクトップ、メニュー、ウィンドウなどのグラフィカルユーザインターフェイス環境がセットになっています。個人で Ubuntu を使う方にはこちらがおすすめです。

 次に、LTS 版という用語ですが、これは Long-Term Support の略で、安定バージョンという意味合いになります。現在の慣行として、Ubuntu では2年に1回 LTS 版が更新されます。この記事を執筆している時点では、18.04 が最新の LTS 版で、その前が 16.04 になります。

 ですので、この記事を2018〜2019年に読まれているのであれば、基本的には 18.04 をインストールしておけばよいでしょう。もしくは、情報量的には1つ前のバージョンの方が多かったりしますので、安定や情報量をとりたければ 16.04 も選択肢かなと思います。本記事では 18.04 を前提として解説していきます。

他の選択肢もあるが…

 Windows のパソコンで、Ubuntu の仮想環境を構築する方法は他にもあります。が、あまりおすすめできません。

 Windows 10 では WSL (Windows Subsystem for Linux)という機能が追加され(参考記事)、VirtualBox などのソフトウェアをインストールせずとも Windows OS の標準機能として、Linux の仮想環境を利用することができるようになりました。しかし、まだまだ問題が多く、VirtualBox の代替として使うのは難しいのが現状です。

 また、最近流行りの Docker で手軽に Linux 仮想環境を構築するという手もあります。これは1つの選択肢としてはアリなのですが、Python 初心者の方にはおすすめしません。Linux、Python、Docker と新しいことを3つも同時に覚えなくてはいけないので、ハードルが非常に高いです。順序としては、まず Linux 上で Python が使えるようになり、それから Docker に手を出すことをおすすめします。

次回予告

 Python 環境構築に入る前の OS のセットアップから長くなってしまいました。次回はいよいよ Ubuntu 上に Python 環境を構築するところをお伝えしたいと思います。

スポンサーリンク

.

posted by 勉三 at 13:30 | Comment(0) | TrackBack(0) | IT

2018年11月10日

AI/機械学習講座(1):原理は難しいけど応用は誰でもできる

 ども勉三です。今回から「AI/機械学習講座」と題して、「AI/機械学習に興味はあるけれど、難しそうで何から手を付けていいか分からない」という方向けに解説していこうと思います。

AI/機械学習の理論は難しいけど、応用するのはそれほど難しくない

 まず最初に言っておきたいことですが、AI/機械学習の理論というのは非常に難しいです。私、勉三もAI研究者の端くれだったのですが、最低でも大学レベルの線形代数、微積、確率論などを理解していないと教科書すら読めません。最初のうちは論文を1ページ読むのに数日かかったのを覚えています。

 ですが、AIや機械学習を使って何か生活や仕事の役に立てたり、人の役に立つようにするのはそこまで難しくありません。これらは別に原理を理解していなくてもできることです。

 こういうと必ず「原理を理解せずに使うべきではない」と目くじらを立てる人が世の中にはいます。果たしてそうでしょうか?

 例えば車やコンピュータ。私たちの生活になくてはならないもので、一般人も日常的に利用しているものですが、それらを動かすための原理は非常に難しいものです。自分が使っている車やコンピュータに使われている技術のことを全て理解している人なんて、この世の中にいないでしょう。殆どの人にとって車やコンピュータはブラックボックスですが、だから使うなと言う人はいないと思います。トラックやバスの運転手さんに「熱力学や電気工学を理解してないから車を運転すべきでない」という人はいませんよね。

 それと同じです。AIや機械学習の原理を知ることは研究者にとっては重要なことですが、それを使って何か価値を生み出すかどうかは全く別問題です。もちろん、原理を知っていることで応用を考える際にも有利になることもあります。しかし逆に素人の方が自由な発想もできたりするので、そこは良しあしでしょう。

AI/機械学習の勉強に必要なこと

 さて、AI/機械学習の習得に必要なことは大きく分けて、「プログラミング」「数学」の2つに分かれます。これらは車輪の両輪のようなものと勉三は考えています。

 まず、プログラミングですが、本講座では Python を用いて解説していきます。Python は、AI/機械学習の分野でのデファクトスタンダードの言語になりつつあり、現在非常に勢いのある言語です。これまで他の言語でプログラミングをしたことがあるという方も、初めての方も、Python を使わない手はありません。

 Python は非常にライブラリが豊富で、AIや機械学習で定番のアルゴリズムがパッケージ化され、原理を深く知らなくとも手軽に利用できるようになっています。ただ、その反面、環境構築が難しいという難点があります。本講座では Python を使うにあたって選択すべきベストな環境構築について説明していきたいと思います。

 もう1つの数学の方ですが、こちらは本講座では深くは解説しませんが、どういった分野のどういったことを勉強すればよいのかの道しるべは示したいと思います。ただ、既に述べた通り、数学的な原理を深く知らなくともAIや機械学習を使って何かをすることは十分に可能です。なので、数学が苦手だという方は無理をする必要はないと思います。興味が出てきたら少しずつ勉強するというスタンスで構いません。

次回予告

 次回は、まず Python の環境構築について解説していきます。こうご期待!

スポンサーリンク

.

posted by 勉三 at 23:47 | Comment(0) | TrackBack(0) | IT

2018年11月03日

仕事で焦りは禁物!焦るとミスをしやすくなる

コンサルはせっかちな人が多い

 ども勉三です。コンサルタントとして働いていると、プロジェクトが変わる度に色々な人と一緒に仕事をすることになります。しかし総じてコンサルタントというのは、せっかちな人が多い傾向があります。特に、仕事ができる人ほどせっかちです。

 勉三もせっかちな部類ですが、コンサルタントの中では並の部類だと思います。私より頭の回転が速い人は沢山見てきました。そんな人と一緒に仕事をしていて一番苦労するのが、焦らされることです。

 コンサルだと特に多いのが会議中に指示が飛んでくることです。この資料を写せ、ここの部分はメモを取れ、この情報はどうなっているのか等々、その内容は多岐に渡ります。会議中というのは誰しもある程度緊張状態に陥るものです。他の人が参加している手前上、ぐずぐずと手間取るわけにはいきません。そんな、ただでさえプレッシャーを受けている状況で、さらに急かされるわけです。

焦るとパフォーマンスは落ちる

 ですが、勉三の考えでは焦ると逆にパフォーマンスが落ち、速くなるどころか遅くなります。また、ミスも起こしやすくなります。焦ると平常時はできていたこともできなくなったりするものです。

 実は大切なのは、焦らされた時にどれだけマイペースを保てるかです。もちろん、マイペースといってもグズグズとという訳にはいかないでしょうから、そこは程度問題ではあるのですが、焦らされた時こそ落ち着いて対応するほうが良い結果を生み出せます。

自分が最もパフォーマンスを発揮できるペースを保つことが大事

 これは単に1つ1つの会議の時だけに限りません。仕事のあらゆるシーンで、あなた自身にとって最もストレスがなく、最もパフォーマンスを発揮できるペースというものがあるはずです。このペースを極力保って仕事をすることが非常に重要なのです。

 他人のペースに合わせているということは、あなたの能力が100%発揮できないことを意味します。それではいけません。極力自分のペースを保つのが仕事のコツだと勉三は考えています。

タグ:仕事術

スポンサーリンク

.

posted by 勉三 at 11:58 | Comment(0) | TrackBack(0) | 仕事・キャリア