【サマリ】
- クソ文系SEがブームに乗り遅れた気がしながら機械学習を勉強している話。読んだ本の感想とか思ったことを残すポエム。
【背景】
元々社外の研究会で軽くWatson APIのハンズオンをやったりはしていたのだが、(諸般の事情で)業務従事も視野に入れつつ、もう少しDeep Learningを真面目に学ぶ必要が出てきた。とはいえ筆者個人は過去記事を見ればわかると思うが、とんとこの辺りには接点がない。2018年中盤時点で、こんな感じ。
- 「AI」は多分バズワードなんだろ!でも、機械学習、DeepLearningの違い、境目はよくわからん!
- ニューラルネットワーク?なんでニューロンを模したら性能上がるの???わからん…
- 教師あり/教師なし学習、分類系/回帰分析系 で分類できるのは何となく分かる。
- とにかくデータがないと役立たずらしいね。でもデータ与えた後ってAPIの向こうで一体何やってんの?
ちょっと日経の関連記事を読んだだけのオッサンレベルである。ちょっと本腰入れて勉強すっか、と思い立った。
【実際にどんな学習をしたのか(しているのか)】
とにかく開発!実装!というアプローチも有るとは思うが、自分はどちらかというと本のインプットを進めていくほうが好きだ。
(取り敢えず用語や概念を取り込んで、時間をかけて自分なりに理解したい)
という訳で、以下読んだ本の感想ないし紹介。さっさとコード書けや!という気もするが、これはこれで、関連書籍が氾濫しているこの分野では役立つ記録になると思うので、以下読んだ順に記載していく。
① 統計学系の入門本(最初の1ヶ月 〜11月)
データサイエンス界隈の記事を読んでいた頃の直感に従ったのだが、統計学が分かっていないと、おそらくこの界隈の概念はわからん!!!と予想し、以下を勢いよく読んだ。
- 作者: 高橋信,井上いろは,トレンドプロ
- 出版社/メーカー: オーム社
- 発売日: 2005/09/01
- メディア: 単行本
- 購入: 42人 クリック: 186回
- この商品を含むブログ (101件) を見る
- 作者: 高橋信,井上いろは,トレンド・プロ
- 出版社/メーカー: オーム社
- 発売日: 2006/10/26
- メディア: 単行本
- 購入: 32人 クリック: 104回
- この商品を含むブログ (50件) を見る
正直理解度は50%あれば良いほうである。もう少しドメイン知識を持っている分野のほうがまだ理解できるかもしれない、と思い次の本に手を出した。
- 作者: 株式会社DELTA,佐藤文彦,student,岡田友輔
- 出版社/メーカー: 技術評論社
- 発売日: 2017/03/14
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (1件) を見る
乱暴なまとめ方だが、「数学って言うからには公式でかっちり答えだすのかと思ったけど、とにかく仮説立ててから誤差や妥当性を図りに行くアプローチなんだな」というのはなんとなく分かった。
今思うと「機械学習をやる」という目的には多少遠回りな選択だった気はするので必須とは言わないが、機械学習界隈のアプローチや数式に対するアレルギーに覚悟ができるし、無駄ではないチョイスだったと思う。
② 迷走(〜11月)
さて、次は「データサイエンス」と名の付くものに手を出そう。そう思い、kinlde unlimitedにあったこの本に手を出した。
- 作者: 久野遼平,木脇太一
- 出版社/メーカー: KADOKAWA / 中経出版
- 発売日: 2018/03/29
- メディア: Kindle版
- この商品を含むブログを見る
いや、いい。システム周辺は曲がりなりにも専門だ。分散DBだのクラウドだのはわかる。だが数学の話が入った辺りからもう全く意味がわからない。概念もよくわからないし、何より「なぜその概念がデータサイエンスに必要なのか」がまーったく腑に落ちない。俺、この領域無理かもしれない……半泣きになりながらamazonのレビューを見ると低評価も一定数ある。まだ諦めるべきではないのか……?と思い次の本に手を出した。
③ オライリー本行脚(11月〜3月)
ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装
- 作者: 斎藤康毅
- 出版社/メーカー: オライリージャパン
- 発売日: 2016/09/24
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (18件) を見る
既に各所で言われている事の繰り返しになってしまうが、一切パッケージを使わず、スクラッチでDeepLearningのレイヤを書いていく。そしてとにかくストーリーが秀逸で、何故「ニューラル」なのか、何故「層を重ねること」が威力を発揮するのかが体感できる作りになっている。(あと、この本をやってからtensorflowを知って「マジで!?」となるまでがセット)
まずはざっとコードも読み流しながら最後まで読み進め、その後電子版も購入して、コードを写経していくまで一通りやりきった。もちろんすべての概念を理解しているとは言わないが、そもそも数学的素養が欠如している人間にとって、段階を踏んだ説明を受けながら動くものを見ることは、得られる実感が段違いなのである。
あと個人的には、挫折経験があり苦手意識の強かったオライリー本で「きちんと取り組めば自分でも読破できる」と思わせてくれたのも大きかった。この本には感謝以外の何者もない。
- 作者: 有賀康顕,中山心太,西林孝
- 出版社/メーカー: オライリージャパン
- 発売日: 2018/01/16
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (5件) を見る
scikit-learnとTensorFlowによる実践機械学習
- 作者: Aurélien Géron,下田倫大,長尾高弘
- 出版社/メーカー: オライリージャパン
- 発売日: 2018/04/26
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (1件) を見る
書店で手にとった時、ぶっとさに挫けそうになったが、なんとか読了。とにかく内容の網羅性と、段階的に読者に理解させることを意識した内容展開が有り難い。作中のソースコードもJupyterNotebook形式で全てGitHubに用意されている。
またコードについては極力読みはしたが、全て実行しようと思うと時間がかかりそうだったので、一旦読むだけで終わらせて、実践の段階で気になる所があれば立ち戻ってNotebookを動かす形で利用している。
【サマリ】
以上ダラダラと書いたが、これでなんとか機械学習の基本的な用語、実践の流れはわかるようになった。
(実際、書籍②を今読み返すと、確かにデータサイエンスに必要な概念を全部1からさらっているのが分かり、成る程、少し知識のある人はこれで大学のデータサイエンス授業で出るような内容を俯瞰して復習するのね…と腑に落ちた)
手を動かすところには余り時間を割けていないのだが、KaggleのKernnelを自分で探してFolk、意味を考えて多少編集、実行できるくらいも、何とかできるようになってきた。
あとは自分で見つけた課題に対して、きちんと仮設立てて、コーディングで立ち向かう経験を作っときたいな…と思う次第である。
【余録】
自分を追い込むために、4〜6月のターゲットも書いておく。