機械学習の経緯

個人的な話ですが。
2014年にとある雑誌で機械学習のことが載っていて、「これだ!」って思いました。
それから本屋さんに機械学習の本を買いに行きましたが、何軒かはしごしてもなかなか本が見つけられず、池袋のジュンク堂でようやく見つけました。機械学習の棚ができてましたが、まだ面積は狭かったですね。翌年には随分本の種類も増えて、一年スタートが遅れてれば、あんな苦労せずに済んだのにと思ったものです。

それから7年経って、相変わらず初心者ですが、私の周りにも初心者がいます。
そこで、私が買って参考になった本を紹介します。今は本もたくさんあり、ネットにも情報がたくさんあるので、これから紹介する本以外にも良い情報源はあるでしょうが、初心者の本選びの参考になれば幸いです。ま、ならなければ自己満足ということで。

評価基準

自分で勉強に使用した資料のみです。本については書評を読んだだけのものは対象外です。
評価基準は「初心者が機械学習をある程度理解して、機械学習のプログラムを作る」ために必要な知識を「平易に説明」してくれることです。あまり具体的な基準ではないですが、考え方を理解して、アルゴリズムを理解して、プログラムを書けるようになりたかったので、その目線で評価しました。
「仕組みはともかく、ライブラリを使用してアイドルの顔認識がサクッとできる」資料は求めていません。

本とネットの紹介と評価

はじめてのパターン認識 森北出版株式会社

おすすめ度 △
最初に買った本です。パターン認識の考え方、確率の話、パーセプトロンやSVMなど機械学習のアルゴリズムなどの紹介と解説が載ってます。200ページほどで比較的薄く、タイトルに「はじめての」が付いていて買いましたが、数式が多くて辛かった。Π(パイ)とか記号(ギリシア文字だけど)が読めなくて・・読めない文字って記憶に残らないんですよね。
いろいろなアルゴリズムや考え方が載っていて、いろいろあるのねって思いました。

機械学習理論入門 技術評論社

おすすめ度 ○
良書。最小二乗法から始まり、過学習、確率など基礎的な話題が多いです。後半にはパーセプトロンやk平均法の説明があり、手書き文字(数字)の分類にチャレンジします。
数式もそこそこありますが、非常に易しい内容なのでわりと付いていけたと思います。
本の頭の方に記号の説明があるのも嬉しい。おすすめです。

オンライン機械学習 MLPシリーズ 講談社

おすすめ度 △
「ライバルに差をつけろ」と帯に書かれてましたが、読みこなせなくて「ライバルに差をつけられたなあ」と思った次第。特にライバルはいませんが。
パーセプトロン、SVM、ニューラルネットワークの説明があります。数式や理論の説明だけだとイメージしにくいですが、擬似コードも載っていて、この点は良かったです。しかし、150ページほどの中に結構幅広く詰め込まれていて、難解でした。
MLPシリーズとして結構な冊数が出ていますが、数冊手に取った感じでは、どれも難しいです。

ゼロから作るDeep Learning オライリー・ジャパン

おすすめ度 ◎
待ってました!
Pythonでライブラリを使わずにニューラルネットワークを作って手書き文字を分類します。ニューラルネットワークの考え方や画像処理の実装に興味があるなら超おすすめ。
Pythonの簡単な説明があり、パーセプトロン、ニューラルネットワークの説明があります。ニューラルネットワークについては誤差の逆伝播法、パラメータのチューニング、CNN(畳み込みニューラルネットワーク)まで解説と実装があります。図や説明も分かりやすくて、私の知っているオライリーとは全然違います。とにかく良書。

強化学習理論入門 技術評論社

おすすめ度 ◎
今勉強中の本。オライリーの本と同じく、手を動かして勉強できる類の本です。
強化学習の考え方から始まり、マルコフ決定過程、ベルマン方程式の説明と続き、最後にニューラルネットワークを使って簡単なゲームを作ります。例題も多数あり、最初の方は簡単すぎる例題で理論を理解する助けになります。ただし、教科学習の理論が主題のためニューラルネットワークの説明はありません。
著者の中井悦司さんは機械学習理論入門も書いていて、どちらも理論の説明を易しく、でもしっかりしてくれます。この本にも数式がそこそこ出てきて、難しい部分もありますが、置いてけぼりになる感じはしません。Gitにアップされている資料をGoogleドライブに持ってきて、Google Colaboratoryで動かす辺りが今風(2021年時点)。

機械学習 はじめよう

おすすめ度 ○○○(三重丸の記号がなかった・・)
本ではないのですが、初歩の初歩はここから始めるのが絶対おすすめ。主に統計・確率の説明ですが、とにかく分かりやすい。機械学習には必須の基礎知識が無料で仕入れられてお得がいっぱい(広告風)。

データサイエンティスト養成読本 機械学習入門編 技術評論社

おすすめ度 △
一回り大きな本。機械学習の基礎知識として教師あり学習と教師なし学習の説明から始まりますが、全体的に説明が浅い感じがします。扱う幅は広くて、パーセプトロン、ニューラルネットワーク、Jubatus(プログラム言語)、Pythonのライブラリの紹介、Pythonで画像認識のプログラムを書くところまで載っています。
入門書だとは思いますが、既に紹介してきた本とは少し毛色が違います。うまく説明できませんが、最初に読む本ではないと思います。
余談ですが、PythonでSVMを使ってネコの顔認識をするプログラムが載っています。私はこれを参考にしてSVMではなくパーセプトロンを使って顔認識させました。認識率は60%くらいだっけ。想定通り良くなかったです。