機械学習のおすすめの本とロードマップ【米国データサイエンティスト厳選】

こんにちは,米国データサイエンティストのかめ(@usdatascientist)です.

ついに

つ  い  に ....っ!!

この記事を書く時が来ましたあああああああ!!!!

Twitter初めて1ヶ月,一番質問が多かったのは「機械学習のおすすめの本なんですか?」というもの.

早く記事にしたかったんですが,いきなり機械学習の本を紹介するわけにもいかず,体系立てて学ぶのが好きな私的には「統計超入門」「統計基礎」「数学」の本をちゃんと紹介した上で記事にしたいと思い,少し遅くなってしまいました.

機械学習をこれから勉強しようとしている人のほとんどが本で勉強することになると思います.

それはやはり,機械学習がアカデミア色の強い分野であり,数式などの導出がきちんと記載されている専門書が一番信頼できる勉強リソースだからです.

そのため「どの本で勉強するのがいいのか」というのは機械学習を学ぶ上で一番重要な情報だと思います.

本記事では,私が実際に読んだ本のうちおすすめの本を紹介していきます.もちろん世の中の全ての機械学習本に目を通したわけではないし,最近は新しい本がかなり出てきているようなので,もっといい本はあるかもしれません.

でもそれを言ってたらキリがないのです.私は本ブログに紹介している本で勉強して,実際にUSでAI開発者になれました.逆にいうと,これらの本に書かれている内容を理解すれば,機械学習の基本の知識レベルは米国のデータサイエンティストや人工知能開発者の平均レベルを超えれると思います.(もちろん,それに加え最新の研究動向などに精通する必要はあると思いますが)

私が機械学習を勉強したのは結構前なので,本記事で紹介する本はどれも何年も前に出版されたもので最近出版された本を含んでいません.最近の本を私は読んでないですが,問題なくデータサイエンティストとして働けています.

本記事で紹介する本はどれも長年愛され続けてきた名著ばかりです.新しい本が出版されるたびに「この本買った方がいいのかな?」と考えるのではなく名著をしっかり理解し,その上で必要か判断できるようにした方がいいと思います.

また,この分野は特に深層学習関連のアルゴリズムの発展スピードが凄まじく早いです.そのような内容については本ではなく,私は論文を読んで勉強しています.最近の研究動向をまとめた本もあるのかもしれませんが,そういった本は出版されるころにはもう古い情報になっていて,覚える必要がないものばかりである可能性が多いので注意です.

なので,そういった本は本記事では紹介していません.機械学習の汎用的な知識を本で学び,その知識を使って最新動向を論文で追えるといいと思います.(もちろん,研究者や一部の人工知能開発者でなければそんなに動向を追う必要もないとおもいますが...)

あと,深層学習,画像関連は長くなりそうなのでまとめて別記事にします.強化学習も理論が別軸なので別記事にまとめる予定です.

最初に読むべき一冊,そして一番のおすすめ

An Introduction to Statistical Learning: with Applications in R(通称ISL)

英語版↓

日本語版↓

私が一番おすすめする本です.私のデータサイエンスのバイブルです.

多くの人はこの本の内容をしっかりやっておけば,業務でちゃんと予測モデルを構築できると思います.

米国で不動のベストセラー本であり,後に紹介する同じくベストセラーの「ESL」の著者が,数学が苦手な人向けに書いた本(だと思っている)です.

なるべく数式を使わず,実際のデータとグラフなどを使って機械学習アルゴリズムを説明しています.データの取り扱い方や,予測モデルのデザインの仕方など,機械学習ではルールがありますが,それがすごくわかりやすく解説されており,ゴリゴリの研究者や開発者でなくともわかるような内容になっています.

また,アルゴリズムの数式の定義や導出ではなく,それぞれの機械学習のアルゴリズムの意味や特徴にフォーカスしているので,ビジネス向けのデータサイエンティストやデータサイエンティストと働くエンジニアの人,データサイエンス関連のプロジェクトマネージャーなどにもぜひ読んでほしい一冊です.

数式が難しいと思ったら,「統計基礎」で紹介した「心理統計学の基礎」や後に紹介する「はじパタ」と合わせて読むといいです.数式がちょっと飛んでいる部分があるので補完できるといいと思います.

ESLもISLもAmazonの評価がえげつないです.それほどの人気のテッパンの本です.絶対に読んでほしい本です.

英語版はネットで読めるので,試しに読んでみてください.私は専門書は紙媒体じゃないと読めないタイプなので英語版の紙媒体を買っています.

英語が得意な人や今後グローバルでデータサイエンティストとして活躍したい人はぜひ英語版を読んでください.かなりやさしめの英語で書かれているので楽に読めると思います.英語に自信ない人でも.ぜひ日本語版と英語版をそれぞれ読みながら読み進めていただきたいです(英語はタダで読めますから!!).そうすることで,機械学習の専門用語の英単語に慣れ,論文などを読む基礎の英語力がつくと思います.

Rによる演習問題も付いていますが,時間があれば取り組めばいいと思います.Pythonでやってみるのもおすすめです.

もう一度言います.この本は超重要事項が綺麗にまとまっている超名著です.ベストセラーです.

今までこの本に書かれているレベルのことをわかっていない”データサイエンティスト”を多く見てきました.

この本を理解するだけでおそらく多くの”データサイエンティスト”よりデータの扱い方,モデル構築の考え方や評価の仕方について正しい知識を持てると思います.

日本にいた時の職場で.よく理論的な問題にブチ当たることがありましたが,大抵答えはこの本に書かれていました.

私だけでなく,世界中の多くのデータサイエンティストのバイブルだと思います.

ISL後に読む機械学習入門書

三つあります.個人的には以下の順で学習するといいと思います.(最初の二冊が難しければ,「フリーソフトでつくる音声認識システム」の前半を先に読むといいです.)

特に最初の二冊は有名な本なので機械学習の勉強には欠かせないと思います.それぞれの本でかぶる部分はありますが,同じ内容を色々な本で違う形で学習することで定着します.私はいつもそのように勉強してます.(なので家に本がたくさん...)

また,自然言語,画像認識,音声認識とそれぞれの分野がありますが,どの分野を専門にやるにせよ,どの分野もやらないにせよこの三冊は全て一般的な機械学習の学習に役立ちます.なので「自分は自然言語に興味ないから」というのは関係ないので注意.

言語処理のための機械学習入門

言わずと知れた機械学習入門のテッパン本.高村本です.最初に「機械学習のための数学」の章があるのでとっつきやすいです.自然言語関連の内容もありますが,自然言語をやらない人でも読んでおく基本的な内容ですし,この本はあくまで「機械学習」の入門書です.機械学習を勉強する人全員に必要なことが載ってます.

あと,データサイエンティストとして働くなら,おそらく自然言語処理は避けては通れないのではないかと思います.

私もコンピュータビジョンを専門とし医用画像診断AIの開発をしていますが,読影レポートや電子カルテのテキストを解析することもあります.自然言語もここ最近色々ホットな研究も増えてきたので,これから盛り上がってくると思いますし,自然言語って一番AIっぽくて私は好きですw

論理的な会話できたらめっちゃAIぽいですよね!

はじめてのパターン認識

通称「はじパタ」です.「はじめての」とありますが,本当にパターン認識がはじめてだったらこの本は読めないと思うw

数式の導出が結構丁寧なのがいいです.私はわからないことがあったらよく本書を開いている気がします.

本書はどちらかというと画像認識寄りですが,機械学習を学ぶ全ての人におすすめできます.私は本書とISLを行ったり来たりして学びました.ISLは本書ほど数式の導出を詳しく書いていないので,数式の理解をするのに本書は必須だと思います.

フリーソフトでつくる音声認識システム パターン認識・機械学習の初歩から対話システムまで

上の二冊よりかは重要度が下がります.なので三冊目にしました.

上の二冊と比べると少し色が違うんですよね.前半と後半に分かれていて,前半はパターン認識や機械学習の一般的な理論を超やさしく書かれていて,後半は実際にハンズオンで音声認識システムを作ります.

前半部分は上の二冊より易しく書かれていて,もし,上の二冊でわからなかったらこちらの本を読むといいと思います.ただ,易しい本あるあるなんですが,内容が少し薄いのでこの本だけでは足りないと思います.

後半部分は実際に音声認識システムを作るのですが,ここから急に難しくなりますw

HMMあたりの内容がこの本だけだと理解するのが難しいと思うので,「言語処理のための機械学習入門」のHMMの説明と合わせて読むといいと思います.

↑ここまでが 機械学習者全員におすすめする本↑ ↓ここからは一部の人↓

上の4冊やれば大抵のデータサイエンティストが必要とする機械学習の知識を付けることができる思います.

ただ,もし今後機械学習の分野で論文を書いたり,世界トップクラスの研究・開発チームで仕事をするのであれば,もう少し理論まわりの勉強が必要かもしれません.

もしくは,上の4冊を読み終えもっと勉強したい人,詳しくなりたい人,数学的な理解を深めたい人は以下の本をおすすめします.

最終的にこの本が読めれば学習のゴール

パターン認識と機械学習上・下 (通称PRML)

英語版↓

日本語版↓

こちらもISL,ESL同様不動の世界的ベストセラーです.PRML(プレモル:黄色いから?)と呼ばれたりビショップ本と呼ばれてます.

日本語版は上,下二冊ありますが,どちらも300p超える分厚さで,読み終えるのに相当な労力が必要です.

ですが,さすがはベストセラーというだけあって,本当によくまとまっているし,どの単元も満遍なく触れらており,かつそれを体系的に学ぶことができます.一応パターン認識や機械学習の前提知識なしで読める構成にはなっていますが,一つ一つ噛み砕いて丁寧に説明しているというよりは,どの内容も満遍なく包括してまとめられている印象で,入門書とは言えません.(入門書として紹介されている人も多いし,著者も「入門書」って言ってますがw)

本書を読むと上の4冊で学んだ内容がさらに理解できるし,違う目線(ベイズ)で見ることができるようになります.上巻は割と読みやすいのでまずは上巻を読んでみるといいと思います.下巻は結構きついですw が,どれも単元だけみたら重要な内容ばかりです.必要なときにひけるようになる程度でいいと思います.最終的には辞書的に使うのがおすすめかも.学習の最終ゴール的な位置付けにしてもいいかもしれません.

ちなみに英語版はネットで読めるので,英語で学習したいというチャレンジャーな人は日英で交互に読み進めるといいと思います.

ちなみに私の妻が学部時代にこの翻訳者の研究室で強化学習の研究をしていたんですが,輪講(研究室の勉強会みたいな?)でこの本を使っていたらしいです.・・・学部生が読むレベルではないので,驚きましたw さすがですねw

PRMLが難しい人はこちら

Computer Vision: Models, Learning, and Inference

通称Simon本(と読んでるのは私だけかも?).コンピュータビジョンを学習するのに絶対に外せない一冊ですが,残念ながら日本語版はないようです.コンピュータビジョンの超テッパン本なんですが,なんでですかねぇ・・・

画像認識・深層学習系のおすすめ本は別途記事にしますが,本書は前半がパターン認識/機械学習で後半が画像処理系になっています.PRMLが難しいという人は,本書の前半を読んでみるといいかもしれません.

英語なので辛いですが,広島大の准教授の方がYoutubeに授業動画をUPしてますのでこちらを見ながら勉強するといいかもしれません.また,ネットで読めるようになっているので,まずはこちらから内容を確認するといいと思います.

数学が得意な人向け

The Elements of Statistical Learning(通称:ESL)

英語版↓

日本語版↓

ISLの著者が,ISLを出版する前に出した本です.本書は数学得意な人向けで,数学が得意な人はチャレンジしてみてもいいかも.内容としてはISLの内容に数式の導出を詳しく書いている印象です.とにかく長い!し読むのにかなり骨が折れますが,数学的に理解したいのなら読んでおくといいと思います.

私は英語で学習しましたが,翻訳書,高いですね・・・・.ISL同様,英語版はネットで読めるので,一度内容を確認して英語でも問題なさそうであれば英語版での学習をオススメします.オライリーにせよ,PRML,Simon本にせよ,英語の名著はネットで読めるのが多いです.懐が深い・・・.

PRMLとは結構住み分けがされている印象で,PRMLはベイズベースで広範囲を網羅的に学べ,ESLは数学的側面の理解をするって感じです.PRML+ESLを読んで理解することが機械学習の勉強の最終形態と言えるでしょう.

まとめ

今回は機械学習のおすすめ本をまとめました.とにかくおすすめはISLです,この本の内容をしっかり理解するだけでも多くのデータサイエンスの仕事をこなせるようになると思います.(当然プログラミングなどのスキルは別途必要)

ISLだけでは知識の定着が難しいので,「高村本」と「はじぱた」も読んで知識を広げかつ定着させれるといいと思います.

さらなる学習をしたい人,上を目指したい人はPRML+ESLを理解できるようにするといいと思います.ちなみにPRMLとESLは守備範囲が結構違うのでどちらも持っておくといいと思います.

英語版はネットで公開されているので,中身をみて紙媒体が欲しかったら購入すればいいと思います.

それぞれの本を2~3周はしないと理解できないと思いますが,私のおすすめはそれに加え,複数の本で同時に学び本を行ったり来たりすることで,同じ内容について違う角度で学び,いろんな本でその内容に出会うことで知識を定着させることです.

あと,「統計超入門」「統計基礎」「数学」の本をちゃんと読んだ上でこれらの本を読んでくださいね,まじでw

機械学習の本はいきなり読むにはかなりハードルが高いし,少なくとも統計と数学の知識が必要ですから.

長くなりましたが,今日はこの辺で!

それでは!