いつでもどこでも好きなときにムービーで学べる「Udemy」で機械学習(machine learning)を学んでみた
アメリカ発のオンライン動画学習サービスの「Udemy(ユーデミー)」は、4万5000以上の講座があり世界中で1500万人が利用しています。2015年には日本語版も登場し、ビジネス・IT・デザインなどをテーマにした講座が続々と増加中。最近では「機械学習(machine learning)」への需要の急拡大に伴って機械学習をイチから学べる講座が人気を集めているとのことなので、物は試しとPCとスマートフォンでいつでもどこでも好きなときに学べるムービー学習サービスを体験してみました。
オンラインコース - いつでも、どこでも | Udemy
◆講座の始め方
「機械学習」についてUdemyで学ぶことにします。上記ページの検索ボックスに「機械学習」と入力して検索すると……
機械学習に関係する100近い数の講座がずらりと表示されました。
各講座ページには講座の内容など詳細な情報が書かれています。
講師の経歴などの情報もあり。
非常に参考になるのが「受講生のフィードバック」。すでに講座を学習した人の生の声から、講座の内容が自分の希望にかなっているかを推し量ることができます。
評価が高い「Pythonで機械学習:scikit-learnで学ぶ識別入門(講師:玉木 徹)」にチャレンジしてみることにしました。
Pythonで機械学習:scikit-learnで学ぶ識別入門 | Udemy
価格の下にある「決済へ進む」をクリック。
サインアップのウィンドウが立ち上がるので、名前、メールアドレス、好きなパスワードを入力して、「新規登録」をクリック。
決済画面では、クレジットカード決済とPayPal決済が選べます。
クレジットカードで決済する場合は、「クレジットカード」タブをクリックして、クレジットカード情報を入力し、「支払う」をクリック。
決済が完了すると、Udemyのホームページの「マイコース」に、講座のサムネイルが表示されました。これで、学習を始められる状態になりました。
◆講座の使い方(Windows・Mac・Linux)
Udemyはムービーの解説を使って学習する動画学習コンテンツです。解説ムービーを見るには、マイコースの中の講座サムネイルをクリック。
個別講座のページ(ダッシュボード)が表示されます。
・ムービー学習
ムービーを見るには、「レクチャー1を続ける」をクリック。
ムービーが再生されます。最初は「機械学習とはどんなものか?」という概説からスタート。なお概説など講座の一部ムービーは公式サイトの講座ページで無料で公開されているので事前にどれぐらいわかりやすいかを確認できます。
ムービーにマウスオーバーすると、各種ツールが現れます。左上には今見ている講座と関係のあるリソースにすぐにアクセスできるリンク、右上にはダッシュボードへ戻るリンク、画面下にはムービーのコントロールツールがあり、「再生/停止」「15秒戻る」「15秒進む」「再生場所のシークバー」などでムービーを操作できます。ムービーなのでわからないところは何度でも理解できるまで巻き戻しできるわけです。
左上の「メニュー」アイコンをクリックすると……
画面左にムービーの目次が表示されます。なお、プレゼンテーションに使われているPDFファイルへのリンクもあり、ダウンロードすることもできます。
右下の「歯車」アイコンをクリックすると、ムービーの解像度を変更可能。
「講義をダウンロードする」をクリックすると講座のムービーファイルをダウンロードできます。なお、ムービーをダウンロードできない講座もあります。
拡張子が「.mov」のムービーファイルをローカルに保存できるので、事前にムービーをダウンロードしておけば通信環境を問わずに講座ムービーを視聴可能です。
各ムービーは再生し終えると学習済みのチェックがつきます。また、しばらくすると、次のムービーが自動的に再生されます。もちろんムービーは何度も再生することができるので、何度も振り返ることで学習効果を高めることが可能。完全に理解するまで自分の好きなペースで、誰かに気兼ねすることもなく、マスターすることができます。
「Pythonで機械学習:scikit-learnで学ぶ識別入門」では、プログラミング言語Pythonとその機械学習ライブラリ「scikit-learn」を使った機械学習のプログラミングが解説されています。効果的に学習できるようにプログラムはすぐに結果を描画できる「jupyter notebook」で実践されており、講師の解説通りに同じ環境を整えて順序立ててプログラムを実行していけば自然と機械学習の理解が深まるようになっています。
・講座の内容
講座は「機械学習とはどんなものか?」という概説から入ります。機械学習のアイデアや実行されるプログラムの内容、プログラムの種類などゼロから理解することが可能。何よりもムービーコンテンツならではの図表満載のビジュアル性の高さから、ほとんど知識がない状態でも理解できるようになっています。
また、scikit-learnやjupyter notebookなどの各種ソフトウェアをPCに導入する方法もムービーで説明されています。講師の画面を映し出したムービーを見ながら、自分のPCにソフトウェアのダウンロードやインストール作業を行うことができるので迷うことがありません。WindowsだけでなくMac・Linuxでのインストール方法までカバーされていました。
ムービーの目次には、各回の学習用のサンプルコードが添付されているので、ファイルをダウンロードしておきます。
ダウンロードしたZIPファイルを解凍すると中にサンプルプログラムが保存されています。コードを実行しつつムービーの視聴を進めていく、というのが学習サイクルです。
例えば、2クラス問題の例題では、「ガンの画像」データを使って学習させ、与えられた画像がガンかどうかを判断させるというプログラムを取り扱います。実際の画像データを使った現実的かつ実践的な内容になっています。
ガンの画像は、「平均の半径」「平均のテクスチャ」「平均の周囲長」などの30個の特徴を使った、「特徴量が30次元」のデータとして識別します。
「『学習データ(Train Data)』と『テストデータ(Test Data)』を分ける」ことで汎化能力を確認するという、機械学習の識別の基本事項も丁寧に解説されています。
学習データの精度は96.48%、テストデータの精度は95.09%と結果が出されました。
有名なアヤメのデータセットを使った識別プログラム。3種類あるアヤメを4次元の特徴から識別させるという内容です。
結果は3クラス問題で33.3%の正解率という、まったく識別できていないという結果に。
このようなありがちなミスを実際に体験し、原因を探求しクリアにしていくことで、機械学習でプログラムを組むための要点を理解できます。
以下は10クラス問題の混同行列(Confusion Matrix)を学ぶために、数字の文字認識を行うプログラム。
8×8のイメージ画像で数字を表します。
例えば「0」はこのように描かれます。
0から9までのサンプル画像を並べるとこんな感じ。
学習データでは95%という高い識別率になりました。このConfusion Matrixを表示させると……
こうなります。横が予想されたラベルで縦が実際のラベルを表しています。例えば、「1」という画像は、「6」や「8」と誤認識されていることが分かります。
他にもサポートベクターマシンや……
ランダムフォレストなどデータの分類でよく使われるモデルもフォローされていました。
なお、コードを使った実践的な学習だけでなく、プログラムのアイデア部分は個別に解説されています。
「Cross Validation」などの技術用語を一つずつ確実に消化していくことは、プログラム学習が進む上で不可欠の事項。
直接講座では取り扱わない事項についても触れられており、講座を学習し終えた後に想定される「実践の場」を意識した内容になっていました。
・ブックマーク
ムービー再生中に「B」キーを入力することでブックマークを付けることが可能。各ブックマークにはコメントを付けられます。
ブックマークした場所は、ダッシュボードの「ブックマーク」タブに保存されます。
ブックマークをクリックすると……
その場所からムービーを再生することが出来ます。分からない場所や重要な場所など、何度も振り返りたい場所はどんどんブックマークを付けておけば、学習効果を確実に高められます。
・ディスカッションボード
Udemyの大きな利点は、疑問点を講師に質問できるだけでなく、他人の質問・回答を参照できるところ。同じ場所でつまずくことは多く、すでに解決済みのやりとりを見て、疑問点をすぐに解消できるというわけです。「Q&A」タブをクリックすると……
受講生の質問と、それに対する講師をはじめとするサポートチームの回答を閲覧できます。
質問は検索ボックスで検索することも可能。もちろん同様の質問がない場合は、新しく質問することもできます。
「質問タイトル」と「本文」を入力して、「質問を投稿する」をクリックすればOKです。
◆感想
Udemyの講座は一度購入すれば月額使用料など不要でムービー視聴や資料のダウンロードが可能です。期間に振り回されることなくじっくりと腰を据えて、分からない場所は何度もムービーを再生し直して学習するなど、コツコツと着実に学習成果を上げることができます。特に、モバイル端末でも利用できるため、通勤や通学、待ち時間などの隙間時間を無駄にせず学べる点は非常に便利に感じました。
Udemyは「機械学習」というテーマだけでも数多くのムービーが提供されているなど講座も豊富で選ぶのに苦労するほど。レビューで学習した「Pythonで機械学習:scikit-learnで学ぶ識別入門」は、丁寧に基礎から機械学習について説明があり、「識別」にテーマを絞って解説されていますが、他の分野やディープラーニングなどにも応用が利きそうな基礎がまんべんなくカバーされており、入門編としては非常に良くできており、利用者からの高い評価もうなずけます。ちなみにUdemyの各講座は「30日間の返金保証」があるので、視聴し始めてから「思っていたのと違う……」という場合でも安心。心置きなく講座を物色することが可能です。
機械学習プログラミングでは膨大なデータや数値の羅列に圧倒されがちですが、Udemyは「ムービーコンテンツ」の強みであるグラフや図表などを駆使した解説によって、飽きさせることなく濃密な内容を詰め込むことに成功しており、書籍やネットサイトなど静的な情報とは段違いに理解しやすい学習ツールとなっていました。
なお、以下の4つのUdemy人気講座については、GIGAZINE読者限定で最大95%オフのキャンペーン価格でゲット可能。GIGAZINE読者限定割引キャンペーンは2017年7月16日(日)までとなっています(→終了しました)。
Pythonで機械学習:scikit-learnで学ぶ識別入門 | Udemy
【4日で体験】 TensorFlow x Python 3 で学ぶディープラーニング入門 | Udemy
【世界で5万人が受講】実践 Python データサイエンス | Udemy
【世界で30万人が受講】フルスタック・Webエンジニア講座(2017最新版) | Udemy
・関連コンテンツ