• このエントリーをはてなブックマークに追加

機械学習を勉強するにあたって、 ベースとなる数学を勉強したいというモチベーションが高まってきた。

最近の以下の記事にも影響を受けた。

そこで、機械学習のために必要な数学を調べてみたのだが・・・どのサイトをみてもこれはというものがみつからないのだ。

Quora での Q & Aが参考になった。

スポンサードリンク

調べた結果

メインは、線形代数と確率・統計、解析学(微分積分)。サブて、ベイズ統計、最適化がある。Quoraを最も参考にした。

  • メイン
    • 線形代数
    • 確率・統計
    • 解析学(微分積分)
  • サブ
    • ベイズ統計
    • 最適化(凸最適化)

線形代数

プログラミングのための線形代数がやたらと紹介されている。 この本は、実は探したら持っていた。学生時代に買った。

確率・統計

通称赤本と呼ばれる、統計学入門(東京大学出版会)がよく引用されていた。

PRML

パターン認識と機械学習(通称 PRML) どの記事でも紹介されているので、本記事でも引用しておく。 つまるところ、この本を読むことができる数学力が必要ということだ。

この本は、難しいので攻略本?のようなものも出ている。

この本の目次が、学ぶべき項目としてよくまとまっている。

これらの用語を理解できればよいということがわかった。

つまり、入門は大学1,2年次に習う数学で十分。現在売り出されている機械学習の本の多くも高度な数学を要求していない。

ただし、最新の研究成果の論文を読みくだすには、PRMLに載っているような数学の概念を理解する必要がある。

勉強プラン(仮)

重視することは以下

  • MOOC で学習できること … MOOC が好きなので、それで学習できれば嬉しい
  • 電子書籍で学習できること … 紙だと検索できなかったり、重かったり、すぐに参照できないから
  • プログラミングできること … プログラマなので、手を動かしながら学びたい。

線形代数

2/3 追記: LAFFはやめようと思う。理由は、英語なのと、毎週課題が出されるので自分のペースでできないから。
その代わりに、行列プログラマー を読んでみようと思う。最近発売されて、気になってた。
本当は、courseraで Codint the  Matrix の講座が復活してくれればいいのにな。

確率・統計

  • 学生時代に使っていた本 入門・演習 数理統計を読む。
  • Think Stats を読む。これは、Python を利用しながら統計を学べるという本。
  • Udacity の Intro to Statistics を受講する。Udacity の創立者 Sebastian Thrun さんの講義だ。
  • 統計検定 2 級を受験する。2 級は大学 1、2 年レベルの統計学の知識が問われる。実力試しとも目標にぴったりだ。

エンジニアのための機械学習理論入門

ここまで勉強したところで、一旦数学の勉強は中止して、以下の本を読む。

このエンジニアのための機械学習理論入門という本は、 統計学をベースとした機械学習の方法が、 数式を省略せずに丁寧に解説されている。この本を読み通すことを一つの目標にする。

解析学

Kindle で読めるということで、以下の本を読む。学生時代に読んでいた本は捨ててしまった(オロオロ)

また、coursera の Calculs One をやってみる。

ベイズ統計学

Think Bayes を読む。

ベイズ統計は PRML でのキモになるので、もう一冊くらい勉強したいところ。なにがいいかは選定中。

凸最適化

MOOC convex optimizationで検索すると、以下の講座が見つかった。Quoraで紹介されている本の著者が講師のようだ。

これはよくわからいし、過去の講座なので、余力があればということにする。

おわりに

とにかく数学の勉強を始めることが大事だと思う。

まずは、動く。そのことによって、また違う世界ややりたいことが見えてくる。

ここに立てたプランは仮のプランで、PDCA を回しながら、PRML 目指して進んでいく。

また、数学を勉強しながら機械学習の勉強を平行で実施していく。

機械学習のための数学なので、あまり範囲から外れた勉強はしたくない。

機械学習の勉強をすることで、なにが大事でなにがいらない知識なのかも見えてくると思う。

追記: 17/02/02

マセマのキャンパス・ゼミシリーズがいろいろな記事で紹介されていて、紙の書籍だけれども、買おうか悩んでいる。とても評判がよい。

追記 17/02/19

たいへん参考になるページを見つけた。

このページに機械学習に必要となるスキルセットについてかかれている

  • ベクトル(内積)
  • 連立方程式
  • 確率(同時確率・条件付き確率・確率変数・確率分布)
  • 数列(等差数列・極限)
  • 微分(対数関数・指数関数の導関数、合成関数の微分、確率の極大、極小および最大・最小
  • 行列(固有値、逆行列)