これだけは読んでおきたい! 機械学習を学ぶ人のための厳選入門書

その先のへ進むために
田口 善弘 プロフィール

さらに学ぶために

残念ながら「言葉で」機械学習について書かれた本は本当に少ない。この先はどうしても数学を勉強しなくてはならない。

もし、あなたが高校の数IIIまでの数学を学んでいなくて、かつ、それを学ぶ気がないなら、ここでおしまいである。だが、高校の数IIIまでの数学をすでに学んでいる、または、学んでないけど学ぶ気がある、という人はこの先を読んでほしい。

高校の数IIIを独習する本はちまたにあふれているからその紹介は省かせていただこう。

金丸隆志「高校数学からはじめるディープラーニング 初歩からわかる人工知能が働くしくみ」(ブルーバックス)2020年

amazonはこちら

同じレーベルかよ、宣伝じゃないの? と思うかもしれないが、とりあえず、この本は高校の数IIIまでの数学をある程度わかっているヒトならなんとか深層学習が理解できるように作られているし、簡単なプログラム(Python、後述)を使って体験することも可能なようにできている。

だから、根性さえあればこの本で深層学習を体験できるはずだ。時間と根性を持て余している人はぜひ、この本で深層学習を学んでほしい。

さらにもっと知りたいと思うと、どうしても大学理工系1年レベルの数学の知識が要る。

石村園子「改訂版 すぐわかる線形代数」「改訂版 すぐわかる微分積分」(東京図書)いずれも2012年

amazon 改訂版 微分積分はこちら改訂版 線形代数はこちら

この2冊はいわゆる大学理工系1年生の数学で躓(つまず)いてしまった人用に書かれた、大学1年の数学の入門書である。あくまで大学で授業についていけない人向けの自習本だったのだが、結果的に大学理工系1年の数学を自習するための最高のテキストになっている。機械学習でこの先に進みたいという人はぜひ、この本で数学を学んでほしい。

具体的に学ばないといけない概念を説明すると(言葉だけで意味はわからないと思うが)

微分積分

  • 高度な積分
  • 偏微分
  • 重積分
  • テーラー展開
  • 微分方程式
  • 連続と極限

線形代数

  • ベクトル
  • 行列
  • 行列式
  • 行列の対角化
  • 連立一次方程式の解法
  • 固有値と固有ベクトル

などになる。

ここを越えると一気に世界は広がる。急に読める本が増えてしまってむしろ選択に困るくらいだ。

そこで以下のような順番をお勧めしたい。まず、計算機言語を学ぶ。パソコンは一通り使えてワードやエクセルは使える程度の能力があることを想定する。

幸谷智紀「Python 数値計算プログラミング」(講談社)2021年

amazonはこちら

Pythonの入門書は多いが、Pythonそのものの説明になってしまっていたり、あるいは逆に機械学習に使うことを過度に意識した構成になってしまっていることが多い。そこをこの本は大学理工系1年生で学ぶ線形代数や微積分をPythonを使ってやってみるという建て付けになっているので、ちゃんと何をやっているのか理解しながら学ぶことができる点がよいと思う。

【写真】数学は必要photo by iStock

機械学習を実行する

ここまでくるとやっと機械学習を実際にやってみることができると思う。いろいろな考え方があるとは思うが、僕のお勧めは、

Aurélien Géron「scikit-learn、Keras、TensorFlowによる実践機械学習 第2版」(オライリー・ジャパン)2020年

amazonはこちら

このような本に取り組むことである。他の本でもいいのだが、ポイントは、

  • 機械学習の方法を広く扱っている
  • Pythonのプログラミングコードがオンラインで提供され

ているという点だと思う。これは832ページもあるとんでもなく厚い本なのだが、オンラインで見られる目次を見てもらうと「線形回帰」「主成分」「ロジスティック回帰」「深層学習」などなど、本書で扱った言葉がたくさん出てきていて、本書で表面をなでる程度にしか説明できなかったことを、一から丁寧に実際に理解した上で実行することが可能になっていることがわかると思う。

ここで見たように、本当に機械学習をわかろうと思うと、

  • 大学理工系1年生の数学の理解
  • Pythonなどのコンピュータ言語の理解と使いこなすスキル

が求められる。

関連記事