プログラミング初心者の勉強日記

情報科学専攻です. 機械学習と競技プログラミングについて日々勉強しています.

MENU

機械学習の入門におすすめの参考書

この記事の対象読者

最近機械学習って流行ってるけど何からやればいいのか分からない...

純粋に機械学習って難しそう...

機械学習勉強したいんだけど、本屋や図書室行っても機械学習関連の本がありすぎて困る...

と言う方は多いのではないでしょうか.

少し機械学習の参考書について調べた方だと

やはり有名どころのパターン認識機械学習 (通称 : ビショップ本) やるべきか

と思っている方も少なくはないかと思います.

ビショップ本は非常に有名な本で、機械学習を研究している人の中で知らない人はいない(はず)です.

しかし、ビショップ本は非常に数式が重たいので、機械学習を入門をする上では不向きです. (予測検索に良く難しいや挫折が出てくる...)

 

そこで、今回は私が、ビショップ本に入る前に機械学習の基礎を学ぶために用いた本の紹介をしようと思います.

以下で紹介する本で入門することで、これから機械学習を本気で勉強、研究していく上での土台を作ることができると思っています.

具体的に学んだ分野といたしましては

  1. 線形代数
  2. 確率、統計学
  3. 機械学習 (基礎)
  4. 最適化問題

の4つです.

パターン認識と機械学習 上

パターン認識と機械学習 上

 
パターン認識と機械学習 下 (ベイズ理論による統計的予測)

パターン認識と機械学習 下 (ベイズ理論による統計的予測)

 

 1. プログラミングのための線形代数

線形代数は数多くのサイトで紹介されている「プログラミングのための線形代数」を使いました.

 機械学習を勉強していく上で線形代数は必要となってきます.

私自身、行列やベクトルの演算は不自由なく行えたのですが、逆行列の存在や固有値固有ベクトルについての知識が曖昧だったのでそこらへんを中心に埋めなおしました.

この本は線形代数を実際どのように使っているのかが分かりやすく書かれているので、学部の時に使った教科書のようによくわからずに式を追っかけていた頃より理解が深まったと思います.

プログラミングのための線形代数

プログラミングのための線形代数

 

 2. 確率、統計学

確率、統計学は「統計学入門」を使いました.

これまた有名な本なので今更紹介することもないのですが...

機械学習統計学の違いを説明することができない人がいるというぐらい、機械学習統計学は密接な関係にあると思います.

なので、統計学の基本的事項は手を抜かずに勉強したいところです.

特に確率の基礎的部分(加法定理や乗法定理などなど)は今後機械学習をやる上で、必須事項ですので、「統計学入門」の最初の方は熟読すべきです.

ちなみに私は、統計学検定の2級ぐらいは受けようかなと思い勉強中です.  (この本をやれば、2級レベルでは十分すぎる知識がつきます.)

統計学入門 (基礎統計学?)

統計学入門 (基礎統計学?)

 

 

3. 機械学習 (基礎)

さて、本題の機械学習(基礎)についてです.

機械学習に関する本は、図書室や本屋に行けばわかりますが、溢れかえっていてどれを使えばいいか分からないものです.

どの本も非常に優れていて、機械学習を勉強する上で有益な情報を得ることができると思いますが、最初の一冊は間違えたくありませんよね.

そこで、私がオススメしたいのは、「言語処理のための機械学習入門」です.

「言語処理のための」と入っているので、「いや、俺は画像処理に機械学習使いたいんだけど...」とか、「機械学習で最強のゲームAIを作りたくて勉強しようと思っているので、違う本にしよう」と思うかもしれません.

しかし、機械学習を言語処理はもちろん、その他全ての分野に応用しようと考えている人全員にとって最高の入門書になると思います.

レベルとしては、基本的な数学的知識 (微分、行列、ベクトル演算ぐらい) があれば数式が追いかけられる程度で、機械学習に関する前提知識は一切いりません. また必要な数学的知識はその都度説明してくれているので、問題ありません.

私自身、機械学習はB4の頃も卒業研究の題材にしていて、ゼミでも輪講をしていたのですが、再度基礎を固めようと思い「言語処理のための機械学習入門」を読み直しました.

また演習問題も全部解きなおしました. (ここが大事で、演習問題は全て解くことをオススメします. 非常に簡単な問題で、各トピックに関する知識を確認、さらには深めることができます. これをやるのとやらないとでは大きく差が出ると思います.)

言語処理のための機械学習入門 (自然言語処理シリーズ)

言語処理のための機械学習入門 (自然言語処理シリーズ)

 

 

4. 最適化問題

機械学習の基礎を一通り学習し直せたので、次に最適化問題について復習を行いました.

最適化問題の復習は「数理計画入門」を使いました.

機械学習とは最適化問題である」 と言われるぐらい外せない分野です. 上で紹介した「言語処理のための機械学習」にも最適化問題について扱われているセクションがありますがより深く学ぶ必要があると思い、1冊手に取って勉強しました. 

この本は数学的説明を端折ることが多々あるので、厳密に証明をしていきたいという人には不向きかもしれません. 

しかし、量的にもそんなに多くなく一通りの手法について学習できるので短期間で網羅したいという人にはオススメかもしれません.

最適化問題で有名なのは「これなら分かる最適化数学」だと思います.

私自身読んだことがないのでここではレビューはしませんが、後期に入ったら読もうと思っているのでその時にまたブログに書こうかなと思っています.

(これなら分かる最適化数学を読んだので、気になるトピックを備忘録として記事にしていきたいと思っています.) 

新版 数理計画入門

新版 数理計画入門

 
これなら分かる最適化数学―基礎原理から計算手法まで

これなら分かる最適化数学―基礎原理から計算手法まで

 

 

以上が私がビショップ本に入る前に復習した内容です.

ビショップ本は数式を追いかけるのが非常に大変で、これらの本を学習したからと言ってスラスラ頭に入ってくるというものではありません.

ですが、「これから機械学習を学ぶ or 研究していく」上での土台作りは出来ていると思います.

是非、これを機に機械学習を勉強してみてはいかがでしょうか.