先日、オンライン学習サイトCourseraの"Machine Learning"コースを修了しました。これが最高に勉強になったわけですが、機械学習に興味があって情報収集を始めてる人にとって、﹁Courseraの機械学習コースがおすすめですよ﹂という話は
﹁はい、知ってます﹂
という感じではないでしょうか。
︵たとえば、Qiitaで検索してみると、以下のような同コースに関連する超人気記事が出てきます︶
●数学を避けてきた社会人プログラマが機械学習の勉強を始める際の最短経路 - Qiita
●機械学習をゼロから1ヵ月間勉強し続けた結果 - Qiita
僕もそんな感じで、幾度となく人や記事に同コースを薦められたりしつつ、たぶん2年ぐらいスルーし続けてきたと思います。
しかし約2ヶ月前、ひょんなきっかけから本講座を始めてみて、やはり評判通り最高だったと思うと同時に、僕と同じような感じでこのコースが良いらしいと知りながらもスルーし続けてる人は多いんじゃないかと思いまして、︵おせっかいながらも︶自分の脳内にあった﹁やらない理由﹂を列挙しつつ、﹁いや、それでもやった方がいいですよ﹂というのを書いてみたいと思います。
●Machine Learning - Stanford University | Coursera
﹁スタンフォードの授業﹂レベル高そう
世界最高峰のスタンフォード大学の授業、いくら﹁入門です﹂と言われても、 ﹁それはレベルの高い中での入門でしょ?﹂ と思ってました。技術書を読んでもさっぱり頭に入ってこない人の気持ちなんてわからないでしょうよ、と。 いえ、この授業はサルでもわかります。 ・・・とは言えません。 やっぱり数式がたくさん出てきて何言ってるのかわからなくなります。眠くなります。でも少なくともスタンフォードに入学できる程の世界最高峰の前提知識が必要ってことはないです。 高校レベルの数学、プログラミングが出来れば前提知識としては十分で、Andrew先生は数式の意味を説明するのがめちゃくちゃうまいです。項を削ぎ落としてシンプルにしたところから、順序立ててその数式の性質を説明してくれて、それが機械学習でどう役立つのか、という話をしてくれるので、納得感・腹落ち感があります。 そして時には、﹁この数式の意味はわかってなくても偉い人が実装したライブラリ使えば機械学習はできるから大丈夫だ﹂と言ってくれたりもします。わからない人の気持ちがわかってる先生だなと随所で感じます。わからない分野の話を、英語で学ぶなんて・・・
全編に日本語字幕があります。自動翻訳の気持ち悪い日本語ではなくて、ボランティアによる自然な日本語です。 当初僕には﹁英語の動画を日本語字幕で見るのは何か負けた感がある﹂﹁英語で観ると英語の勉強にもなって一石二鳥﹂という変なこだわりもありましたが、 ●機械学習を学ぶのが先決 ●︵英語で観ることで︶心理的ハードルが高くなって講座をやらなくなっては本末転倒 と開き直って全て日本語で観ました。その後色々なオンラインコースが出てきてるし、もっと良いのがあるんじゃない?
このコースがいつからあるのかわかりませんが、たぶん2012年にはもうあったと思います。今では最初から日本人が日本語で解説している講座もあるでしょうし、ディープラーニングまでカバーしているものもありますし、評価が高いものもあります。 このコースが優れている点として、Andrew先生の説明がわかりやすい、実践的な内容である、といったことがよく挙げられますが、それらももちろん良いわけですが、 毎週のプログラミング課題の提出が義務付けられている という点で、僕は他のオンライン講座と比べて圧倒的に良いと思いました。 動画で学んだニューラルネットワークとかレコメンドシステムを自分で実装して、毎週提出する必要があります 1。 これが本当に素晴らしくて、 ●動画を見てよく理解できなくても、自分でプログラムを書いてみるとよく理解できる ●動画を見て理解できたと思っていても、自分でプログラムを書いてみると理解が曖昧だった部分が浮き彫りになることがある ●﹁自分はもうこれを実装できる﹂という自信を得られる という効果があると感じました。他のオンライン講座ではあまりこの形式は見たことなくて、どんなに動画が良くても、結局これがないと意味ないような、とさえ思います 2。 ちなみに最近、﹃ゼロから作るDeep Learning﹄という書籍がとても評判が良く、これでゼロから学び始めた/学ぼうと思っている、という人も多いと思います。
ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装
posted with amazlet at 17.02.07
斎藤 康毅
オライリージャパン
売り上げランキング: 65
オライリージャパン
売り上げランキング: 65
僕も最近買って読んでみて、この本の﹁手を動かして自分で実装してみる﹂というコンセプトの良さに通ずるものが、このCourseraの機械学習コースもある、と思いました。上述しましたが学んだことは全て自分で実装することになるので。
ちなみにこの本とCourseraの機械学習コースは︵被る部分もありますが︶カバーする範囲が違うので両方ともやって損はないと個人的には思います。ディープラーニング本はディープラーニングに到達するための要素技術/知識を最短距離で学ぶ感じですが、Coursera機械学習コースはもっと機械学習の基本事項を広く網羅する感じです。 3