データサイエンティストの方なら一度は「Machine Learningは良い」「Machine Learningはすごいから受けたほうが良い」という評判を聞いたこと・見たことがあるのではないでしょうか。
そこで今回は受講してみたいけどどうだろう?と不安に思ったり、一歩踏み出せていない方に向けて、実際にMachine Learningを受講した私めいりが、Machine Learningの講義概要や、実際に受講して感じたこと(講義、課題など)を紹介します。
Couseraの概要
そもそもCoursera(コーセラ)とは、世界中の人々に人生を変える学習体験を提供するというビジョンのもと、2012年にDaphne KollerとAndrew Ngによって設立されました。世界中の主要な大学や企業のオンラインコースや学位にアクセスできます。(参考:https://about.coursera.org/)
Andrew Ng先生はスタンフォード大学コンピュータサイエンスの教授です。
機械学習・AIで超有名な方なので、データサイエンティストやAI・機械学習・ディープラーニングに携わる人であれば聞いたことある人も多いのではないでしょうか。
Couseraでは無料で受けられるコースも多数用意されています。
以前紹介したAI For Everyoneという講義もCourseraで提供されているオンラインコースです。
Andrew Ng先生がAI初心者含めて全員に向けてやさしく分かりやすくレクチャーしてくれています。
詳細はこちらの記事をご覧ください↓
Machine Learningの概要
Couseraの中でも一番有名・人気のコースがMachine Learningです。
講師は先ほど紹介したAndrew Ng先生です。
もちろんすべて無料で受講できますが、修了証がほしい場合は約9,000円支払う必要があります(為替レートによって値段が変わります)。
コース内容
全部で11章分あります。かなりのボリュームです。
各章で学ぶことは以下の通りです。
- イントロダクション、単回帰
- 重回帰
- ロジスティク回帰・正則化
- ニューラルネットワーク:表現
- ニューラルネットワーク:学習
- 機械学習適用アドバイス・システム設計
- サポートベクターマシーン
- 教師なし学習・次元削減
- 異常検出・レコメンダーシステム
- 大規模な機械学習
- 適用例:Photo OCR
機械学習で知っておくべき・よく使う手法をほぼ網羅した内容になっています。
構成内容
章内の構成は以下の通りです。
- ビデオ視聴
- 章末問題解く
- プログラミング演習
ひとつずつ詳しく紹介します。
ビデオ視聴
各章それぞれ約10分のビデオが数本、トータルで約1時間分用意されています。
そのビデオではAndrew先生がスライドを使って講義してくれますので、見ながら学習します。
ちなみにAndrew先生が使用する言葉は英語です。
でも一応日本語字幕も用意されているので、英語が苦手なめいりでも大丈夫でした。
ビデオの途中でも理解チェック問題が選択形式でほぼ毎回出題されました。
視聴終わるとチェックマークが自動的に入ります。
章末問題
ビデオをすべて視聴終わると章末問題を解きます。
全部で5問用意されています。すべて選択形式です。
もちろん英語で出題されています。残念ながら日本語訳はありません。
もちろん英語で出題されています。残念ながら日本語訳はありません。
解答を送信後すぐに結果は返ってきます。
正解・不正解の判定だけもあれば、ちょっとした解説がついている場合もありました。
プログラミング演習
最後にプログラミング演習があります。
ただし、1章、10章、11章はありませんでした。
使用言語はOctaveかMatlabのどちらかを使用します。
問題が書かれたPDFを見て(もちろん英語)、用意されたプログラムに穴埋め形式で必要なコードを記述します。
できて提出するとすぐに採点結果が返ってきます。
80%以上正答できていればclearです。
次の章へ学習を進めます。
締め切り
1章につき1週間で学習するよう推奨されています(自動的に目安の締め切りが表示されるようになります)。
締め切りを過ぎても大丈夫です。
目安の締め切りを2週間以上過ぎると、「締め切りリセットしますか?」と案内が来ました。
リセットすると締め切り日が再度降りなおされました。
ちなみにめいりは仕事が忙しすぎた1度だけ2週間遅れました。
その1度以外は締め切りを守って学習を進めることができました。
学習した感想
とにかくボリュームが多くて大変でした。
でも皆さんが言うようにAndrew先生の分かりやすい講義を受けられてよかったと思います。
ビデオ視聴
1章につき10分前後のビデオが数本用意されてますが、ビデオを止めてノートに記入したり、分からない単語調べたりしたら1本見るのに2,3倍の時間はかかりました。
ビデオは一応日本語字幕はあるんですが、一部のビデオでは日本語字幕が途中で終わっているものやちょっと不自然な日本語のものもありました。
ですが、Andrew先生の英語が比較的聞き取りやすいのと難しい単語をあんまり使っていないのもあってなんとかなりましたw
英語の聞き取りやすさ、使う単語の難易度はNOT母国語の人間からしたら死活問題ですw
Andrew先生の解説がめちゃくちゃわかりやすかったです。
今まで参考書に出てきた数式やアルゴリズム見ても「ふーん( ´_ゝ`)」としか思わなくて全然理解できていませんでした。
でもこのビデオを見ると難しい用語や式を用いずにそのアルゴリズムの意図や特徴を理解することができました。
章末問題
ビデオの内容をしっかりと理解しておく&英語の問題文が読めればクリアできます。
めいりはGoogle翻訳で英文を翻訳して問題文を理解し、ノートを見返してなんとか乗り越えました。
正答率80%でクリアしても100%になるまで解き直しました。
2回目以降は完全に同じ問題とは限りません。
問題文がちょっとだけ変わっていたり、問題文が一緒でも選択肢が変わったりしました。油断大敵です。
プログラミング演習
Machine Learning最大の鬼門であり、多くの方が躊躇する理由のひとつがこのプログラミング演習でしょう。実際に大変でした。
ここで使用するOctave・Matlabは使ったことない言語でしたので不安でした。
しかし、使用言語の壁はそこまででした。
めいりは無料で利用できるOctaveを使いましたが、いつもPythonなどなにかしらの言語でプログラミングしている方であれば問題なく利用できると思います。
第2章でAndrew先生がチュートリアルとして教えてくれますしね。
なにが大変だったかというと
一つ目がそもそも出題内容を理解することです。
「以下の式のコードを記述しなさい」とはっきり書いてくれている場合は比較的容易にできました。
しかしふわっとした内容や、問題文が長いと何を求められているのか理解するまでにかなり時間を要しました。
二つ目がコードの穴埋めです。
これは完全に個人的な事情ですが、めいりは他人が作ったプログラムの一部を穴埋めするのが苦手だということが判明しました。
自分で一から作った場合、プログラムの流れや意図など全部理解できていますし都合のいいように作れます(当たり前)。
ですが、他人のプログラムの場合、ここでは何をしたいのかなどの意図や全体の流れが全然分からないので非常に苦戦しました。
ではどうやって課題をクリアしたのか。正直に申し上げるとググればお手本コードが出てきます。
ですので最初は自力で解いてそのあとにお手本コードと比べて何が違うのか学びながら進めました。
めいりの場合、Machine Learningを受ける一番の利益はAndrew先生の分かりやすい講義を理解することだと考えています。
ですのでプログラミング演習にはそこまで比重を置いてなかったのもあります。
まとめ
今回Couseraで提供されているMahine Learningを全部受講したうえで、Machine Learningについて紹介しました。
12月下旬~2月いっぱいまでかかりました。
B5ノートも3冊使用しましたw
特に2月以降は本業のほうが忙しすぎたので、両立するのが大変でしたが、なんとか終わりました。
今までなんとなく使っていたアルゴリズムについてこの講義を通じて理解を深めることができました。
Machine Learningの弊害のひとつである英語についても日本語幕が用意されていますし、便利なツール(翻訳)を使えばいいのでそこはなんとでもなります。
良い便利な時代になりましたw
アルゴリズムがよくわかっていない、難しい数式はもっと分からない、データサイエンティスト初心者にこそぜひ受けてほしいなと思います。
受講者の一意見として参考になれば幸いです。
最後までお読みいただきありがとうございました。
めいり
コメント