はじめに
自分が機械学習を初めて触ったとき、やっていたことは fit と predict を呼ぶだけだった。チュートリアルをなぞれば精度は出る。それで仕事になっている気になっていた。
崩れたのは、本番データで精度が落ちた理由を聞かれた時だ。説明できなかった。特徴量を足したり木の深さを変えたりして数字は動くのに、なぜ動いたのかを言葉にできない。手順は覚えたが、手法の中身は空っぽだった。
そこから、ブログ記事を読む時間を減らして分厚い本に振り替えた。遠回りに見えて、これが一番効いた。学習曲線の形を見て次の手が浮かぶようになったのは、ハイパーパラメータの一覧表を覚えたからではない。誤差がどこから来るのかを一度数式で追ったからだ。
ここで紹介する4冊は、どれも英語圏で長く読まれてきた教科書の邦訳で、自分が実務の判断に使えるようになった順に並べた。入門で全体像をつかみ、理論の軸を一本通し、アルゴリズムの原理まで降り、最後に深層学習へ進む流れになっている。
① Rによる 統計的学習入門 — Gareth James, Daniela Witten, Trevor Hastie, Robert Tibshirani
著者のHastieとTibshiraniはスタンフォードの統計学者で、lassoや一般化加法モデルを世に出した人たちだ。JamesとWittenはその研究室の流れを汲む統計学者で、教育向けに内容を噛み砕く役を担っている。
扱う範囲は広い。線形回帰と分類から始まり、リサンプリング、正則化、木ベースの手法、サポートベクターマシン、クラスタリングまで一通り通る。それでいて数式は必要最小限に抑えられている。
全体を貫いているのはバイアスとバリアンスの話だ。どの章でも、モデルを柔軟にすると何が得られて何を失うのかという同じ物差しで手法を比べていく。この視点が入ると、手法の名前を暗記する読み方から抜けられる。
コード例はRだが、やっていることはPythonにそのまま読み替えられる。自分はRを書かずに読み進めて問題なかった。Python版の演習書も別に出ているので、どうしても環境を揃えたいならそちらを探すのもいい。
刺さったのは交差検証の章だった。それまで自分はCVを作業として回していただけで、検証誤差が何を推定している量なのか考えたことがなかった。ここを読んで、スコアの小さな差に一喜一憂するのをやめた。
こんな人に: ライブラリは動かせるが、手法の選び方を自分の言葉で説明できない人。
② パターン認識と機械学習 上 — Christopher M. Bishop
BishopはMicrosoft Researchで長年研究を率いてきた人物で、この本は機械学習の教科書として世界的に読まれている。日本では通称PRMLとして知られ、読書会が今でも各地で開かれている。
特徴は、全編をベイズの枠組みで統一して書いているところだ。確率分布の扱いから始まり、線形回帰や線形識別をベイズ的に組み立て、カーネル法、混合モデルとEMアルゴリズムへと進む。上巻は確率の基礎と線形モデルが中心になる。
同じ手法が複数の見方で登場するのも面白い。最小二乗法が最尤推定として現れ、正則化がガウス事前分布のもとでのMAP推定として現れる。別々に覚えていた道具が一本の線でつながる瞬間がある。
自分にとっての転換点はまさにそこだった。L2正則化を「過学習を抑えるおまじない」として使っていたのが、パラメータに置く事前分布の話だと分かって見方が変わった。係数の大きさに勝手な仮定を入れているのだと意識できる。
ただ易しい本ではない。微積分と線形代数の手が動く状態が前提で、章ごとの密度も高い。自分は通読をあきらめて、必要な話題だけ引く辞書として使っている。その使い方でも十分元が取れる。
こんな人に: 確率モデルの言葉で機械学習を捉え直したい人。
③ 統計的学習の基礎 ―データマイニング・推論・予測― — Trevor Hastie, Robert Tibshirani, Jerome Friedman
①と著者が重なる本で、関係としてはこちらが上級版にあたる。Friedmanは勾配ブースティングやCARTの考案に関わった研究者で、テーブルデータの手法を語るうえで外せない名前だ。
内容は入門書で省かれた証明と拡張を埋めていく構成になっている。線形手法の詳細、加法モデル、スパース推定、そしてアンサンブル学習。ブースティングとランダムフォレストの章は特に厚い。
実務で一番返ってきたのは、ブースティングを加法モデルの逐次的な当てはめとして説明する部分だった。残差に弱学習器を当て続けるという原理が見えると、学習率と木の本数が互いに引っ張り合う関係だと腑に落ちる。
勾配ブースティング系のライブラリを使う人には投資に見合う一冊だと思う。パラメータ調整を勘で回していた部分が、どこを動かすと何が起きるかという予測付きの操作に変わる。
分厚さは相当なもので、頭から読もうとすると止まる。自分は目の前の手法の章だけを拾って読んだ。索引から入る使い方を想定しているつくりなので、それで困らない。
こんな人に: 勾配ブースティングやランダムフォレストを原理から理解したい人。
④ 深層学習 — Ian Goodfellow, Yoshua Bengio, Aaron Courville
GANを生み出したGoodfellowと、チューリング賞を受けたBengioが書いた深層学習の標準教科書だ。発表から時間は経ったが、土台を学ぶ本としての位置は揺らいでいない。
構成は三部に分かれる。前半で線形代数、確率、数値計算といった必要な数学を復習し、中盤でフィードフォワード網、畳み込み、再帰型、正則化、最適化を扱い、後半で生成モデルなどの研究寄りの話題に進む。
自分が繰り返し開いたのは最適化と正則化の章だ。勾配が消える条件、初期化が学習の速さに効く理由、ドロップアウトやバッチ正規化が何をしているのか。学習が進まないモデルを前にしたとき、当たりをつける材料になる。
注意点として、Transformer以降のアーキテクチャは載っていない。最新の手法を追う本ではない。ただ現在のモデルを支えている最適化と正則化の考え方はここで固められているので、論文を読む前の足場として機能する。
こんな人に: フレームワーク任せの学習設定から抜けて、挙動を自分で読みたい人。
まとめ
| ステップ | 読む本 | 得られるもの |
|---|---|---|
| 全体像をつかむ | Rによる 統計的学習入門 | 手法の選び方とバイアス・バリアンスの物差し |
| 理論の軸を通す | パターン認識と機械学習 上 | 確率モデルとしての機械学習の見方 |
| 原理まで降りる | 統計的学習の基礎 | アンサンブル手法と正則化の中身 |
| 深層学習へ進む | 深層学習 | 最適化と正則化を踏まえた設計判断 |
今の課題に合わせて1冊選ぶなら、こう考えるといい。
- モデル選択の理由を聞かれて黙ってしまう人は、Rによる 統計的学習入門から。
- 正則化や事前分布の話が出ると会話に乗れない人は、パターン認識と機械学習 上。
- LightGBMやXGBoostのチューニングが勘頼みな人は、統計的学習の基礎。
- ニューラルネットの学習が止まる原因を自分で切り分けたい人は、深層学習。
4冊そろえる必要はない。1冊を数章だけでも数式を追って読むと、翌日の仕事の見え方が変わる。自分はそこで前に進めた。