いま流行中の機械学習ですが、様々な参考書が販売されています。
このようになるのも無理もありません。この記事は、元々文系科目を専攻していた私が、初心者が独学で機械学習を学ぶために必要な参考書を紹介する記事になります。具体的には、私が情報系の大学院に入学するために活用した最高に分かりやすい参考書を、レビュー&おすすめしていきたいと思います。
おすすめの参考書を初心者に向けてそれぞれの特徴をまとめていきます。
読みたい場所へジャンプ!
到達目標の設定
さて、さっそく機械学習のおすすめ参考書を紹介していきたいと思います。分かりやすいように、目標を学部卒業レベルと定めることにします。以下の3つのレベルに分けて参考書を紹介していきますね。
レベル1:機械学習とは何かを知る
レベル2:数学と機械学習をつなげる
レベル3:機械学習を数式で理解する
「機械学習とは何か」
ありえないくらい簡潔に分かりやすくまとまっている1冊
音声認識…?
そうですね。この本は元々、音声認識のために書かれた本です。前半部分に機械学習の概要が書かれています。そのまとめ方がなんと分かりやすいこと。パターン認識の概要から特徴抽出について言及し、パーセプトロン、誤差評価SVM、NNまで、古典的手法を非常に丁寧に説明されています。
もちろん後半部分の音声認識パートも非常に分かりやすく、音声認識を専門としなくても目を通しておいて損はしないコンテンツになっています。
過保護すぎる下準備が気持ちいい!
こちらも「自然言語処理のための…」となっていますが、機械学習初学者向けで定評のある1冊です。上で述べましたが、機械学習にはある程度の数学の知識が必要不可欠です。この本では、機械学習のための数学を第1章で復習してくれているため、効率よく学習することができます。第2章は言語処理関連なのでとばしてもらっても構いません。
その後の分類以降のパートは圧巻です。特に、マルコフモデルは時系列系の機械学習では必須の知識になるので必ず参照していただければと思います。
「数学と機械学習を結びつける」
この本は通称「緑本」とも呼ばれ、確率・統計の知識を機械学習に結びつけるための橋渡し的役割をしてくれます。機械学習に限らず、純粋な統計学の入門書としても定評のある参考書になります。各手法の階層関係を意識しながら確率・統計の知識を網羅できるので、非常に重宝されている1冊です。
「機械学習を数式で理解する」
機械学習の参考書界の王様
言わずとも知れた機械学習の定番書。通称「はじパタ」です。「はじめての」というくらいですから
と思いますよね。しかし、内容は高度なものになっています。各地ではじパタの輪読や勉強会が開かれているほどです。学部卒業レベルを目指されるのであれば、はじパタを読了することで十分すぎるほどの力はつくでしょう。
1つ注意点として、はじパタは誤植が非常に多いです。サポートページを参照しながら
読み進めてみてください。
王様に引けを取らない人気者
この本も機械学習の定番となっています。通称「わかパタ」です。上のシリーズはパターン認識一般に関して、下のシリーズは教師なし学習に関して書かれています。
よく「はじパタ」を比較されて「はじパタ」VS「わかパタ」なんて論争がされることもあります。わかパタの方が章の構成が初学者に丁寧でコラムも充実しているので、個人的には「わかパタ」派です。しかし、
と言うほど愚かなことはありません。なぜなら、両方の方にはそれぞれに分かりやすい点があるからです。それぞれは、以下の説明が分かりやすいです。
・バイアスとバリアンスの説明
・識別機の評価
・フィッシャーの線形判別法
・サポートベクトルマシン
・ニューラルネットの導入
・識別面の設定
・部分空間法
・機械学習の俯瞰
これらの違いを意識して、両者を使い分けていきたいところです。あと1点、両者の違いがあります。はじパタには演習問題がついており、わかパタには演習問題がついていません。
ですので、ぜひ両方とも手元に置いた状態で学習を進めることをおすすめします。私は、はじパタとわかパタを常に手元に置いた状態で勉強をしていました。そして実は、私が機械学習を独学ている間、あと1冊手元に置いていた本があります。
KINGと人気者の裏に隠れたダークホース
こちらの本は、初心者が「はじパタ」「わかパタ」を補うためには最適の1冊となっております。具体的には、以下のようになっています。
・演習問題が豊富
・演習問題の難易度が適切
・多次元正規分布の導出が丁寧
・サポートページの解説が丁寧
・カーネルの導出が分かりやすい
脱初心者を目指す方には、かゆいところに手が届く1冊になっています。以上の3冊を用意して学習すれば、学部卒業レベルであれば怖いものなしの状態になるでしょう。
ラスボス
言わずと知れた機械学習のバイブル的参考書です。通称「PRML」です。正直に言いますと,かなりレベルの高い内容になっています。どのくらい難解かというと,「PRMLのための解説本」が出版されているくらいです。初学者の方が,こちらの参考書を見ると
となってしまうと思います。ですので,こちらの参考書は上で紹介している書籍では満足できない方が使われるとよいかと思います。ちなみに,当サイトではPRMLの解答解説サポートをしていますので,ぜひ参考にしていただければと思います。
知らずして戦えない深層学習
今や,深層学習の知識なくして情報系では勝負できません。一方で,ディープラーニングから機械学習を始めてしまうと頭でっかちになってしまい,本質的な部分を見失ってしまう可能性があります。ここまででお伝えした参考書をベースにして,深層学習の知識をつけたいのであれば,間違いなくコチラの「ゼロから学ぶディープラーニング」シリーズがおすすめです。
情報系の方であれば必読といっても過言ではないと思います。誤差逆伝播を計算グラフで解いて実装していくという魔法のような手法で深層学習を紐解いていきます。実装を全部追えなくても,パーセプトロンからattentionまで綺麗に導線が繋がっており,非常にオススメの参考書になっています。
そもそも大前提
機械学習というのは言ってしまえば「数学」です。ですので、ある程度の数学の知識がないと、機械学習の勉強は行き詰ってしまいます。
実際、私は独学で機械学習を勉強しましたが、以下の順番で勉強しました。
「微積・線形」
→「確率・統計」
→「最適化数学」
→「機械学習」
今振り返ってみても、一番効率の良い順番だったのではと感じています。そこで、以下ではまず、数学のおすすめの参考書をレビューしていきます。ぜひ参考にしてみてください。
「微分・積分」
微分積分のおすすめ参考書に関しては、以下の記事をご覧ください。
「線形代数」
線形代数のおすすめ参考書に関しては、以下の記事をご覧ください。
「確率・統計」
確率統計のおすすめ参考書に関しては、以下の記事をご覧ください。
「最適化数学」
最適化数学のおすすめ参考書に関しては、以下の記事をご覧ください。
まとめ
機械学習の勉強には順番があります。
という方も少なくないのではないでしょうか。私の面倒を見てくださっている教授も仰っていたことですが、大学の勉強は分からないことにぶつかったら一歩下がってやり直すの繰り返しです。
特に機械学習では「分からないことにぶつかる」頻度が多いように思います。ぜひみなさんにはこの記事で紹介した本を使って最適な学習をしてほしいと思います。少しでもお力になれれば幸いです。
おすすめ参考書の続きはこちらをご覧ください。
いい記事をありがとう。
>大学の勉強は分からないことにぶつかったら一歩下がってやり直すの繰り返しです。
この箇所が特に気に入った。
牧慎一郎 様
わざわざコメントいただき誠にありがとうございます。
非常に励みになります。
これからも,自分が苦労して得たエッセンスを初学者の方々にお伝えできればと考えております。