はじめに
数年前、社内のレコメンド改善を任されたときに自分は完全に手が止まった。ライブラリを呼べばモデルは学習できる。評価スコアも出る。なのに「なぜこの精度なのか」「この差は意味があるのか」を聞かれると何も答えられなかった。
困ってWeb記事を漁った。断片は埋まる。ただ記事は前提をばっさり省くので、交差検証の切り方やp値の扱いといった土台の部分は、読んでも読んでも穴が残った。結局その穴は本で埋めるしかなかった。
もうひとつ厄介だったのが順番だ。最初に分厚い理論書へ突っ込んで3章で挫折し、逆に入門書だけを何冊も読んで実務では何も変わらない、という往復を繰り返した。全体像を薄い本で一周してから、実務で使う統計、理論の深掘り、深層学習の中身という順に進めたとき、ようやく積み上がる感覚があった。
そこで今回は、自分がその順番で読み直して効いた4冊を紹介する。どれもコードか数式が本体にある技術書で、読み物として眺めて終わる本は入れていない。
① 機械学習 100+ページ エッセンス — Andriy Burkov
著者のAndriy Burkovは機械学習の博士号を持ち、Gartnerで機械学習チームを率いてきた実務家だ。研究と現場の両方を知っている人の筆致になっている。
内容は名前のとおり100ページ強。教師あり学習の基礎から特徴量エンジニアリング、正則化、評価指標、ニューラルネットまでを一周する。薄いが数式は省かれていない。密度でページ数を殴り返してくる本だ。
自分にとっての価値は、手法の地図が1日で手に入ったことだった。SVMとロジスティック回帰と勾配ブースティングが頭の中でバラバラに浮いていたのが、損失関数と最適化という軸で並んだ。
章が短いので辞書的にも使える。一方で行間は広い。完全な初学者が最初の1冊にすると置いていかれるので、scikit-learnを一度でも動かした後に読むのがいい。
こんな人に: モデルは動かせるが、手法どうしの関係を説明できない人。
② データサイエンスのための統計学入門 第2版 — Peter Bruce, Andrew Bruce, Peter Gedeck
Peter Bruceは統計教育機関を立ち上げた人物で、Andrew Bruceは企業で長く統計の実務を担ってきた統計学者。Peter Geddeckは計算化学出身のデータサイエンティストだ。教える側と使う側が揃った著者陣になっている。
探索的データ分析、分布、リサンプリング、回帰と分類、教師なし学習までを扱い、各トピックにRとPythonのコードがつく。理論の証明を追う本ではなく、現場で判断するために必要な範囲を実装込みで押さえる構成だ。
自分が一番読み返したのは有意性検定と多重比較の章だった。A/Bテストの結果を見て「差が出た」と報告しかけたことが何度もあるが、検定を繰り返せば偶然の差は簡単に出る。その感覚がここで入った。
ブートストラップと交差検証の説明も丁寧で、評価の分散を見積もる習慣がついた。写経前提の本なので、コードを手元で動かしながら進めたほうが残る。
こんな人に: 実験の設計や評価指標の選び方に自信が持てない人。
③ パターン認識と機械学習(全2巻) — C.M. ビショップ
著者のChristopher Bishopは理論物理出身で、Microsoft Researchの研究所を率いてきた研究者だ。大学院の講義で使われ続けている定番教科書の書き手でもある。
全体がベイズ的な視点で一貫している。確率分布から線形回帰と線形識別、カーネル法、グラフィカルモデル、混合モデルとEM、変分推論、サンプリング法まで。式変形を飛ばさずに書いてあるので、紙とペンがあれば自力で追える。
自分はこれを通読しようとして1度失敗している。2周目は必要な章だけ拾う読み方に変えた。それで十分に効く。特に2章の確率分布と3章の線形回帰は、正則化が事前分布として出てくる話がつながった瞬間に見通しが変わる。
前提として線形代数と微積は要る。Transformer以降の話題は載っていないので、最新手法を追う本としては使えない。論文の式を読むための体力をつける本として位置づけるのが現実的だ。
こんな人に: 確率モデルを自分で導出し、論文の数式を追えるようになりたい人。
④ Deep Learning — Ian Goodfellow, Yoshua Bengio, Aaron Courville
著者はGANを考案したIan Goodfellow、チューリング賞を受けたYoshua Bengio、モントリオール大学のAaron Courvilleという3人だ。分野を作った側が書いた体系書になる。
構成は3部。前半で線形代数と確率、情報理論といった数学を固め、中盤で実務の深層学習、後半で研究寄りのトピックを扱う。コードはほぼ入っていない。代わりに設計判断の理由が書かれている。
自分が繰り返し開いたのは正則化と最適化の章だった。なぜバッチ正規化が効くのか、重み減衰とドロップアウトが何を制約しているのか。学習が安定しないときの仮説の立て方が変わった。
刊行時期の都合でTransformer以降は載っていない。ただ最適化の難所や過学習の捉え方は今も通用する。英語なので辞書を引く覚悟は必要だが、文章自体は読みやすい。
こんな人に: 学習が収束しない原因を理屈から切り分けたい人。
まとめ
| ステップ | 読む本 | 得られるもの |
|---|---|---|
| 全体像 | 機械学習 100+ページ エッセンス | 手法の地図と共通言語 |
| 実践 | データサイエンスのための統計学入門 | 検証と評価の型 |
| 理論 | パターン認識と機械学習 | 確率モデルを導出する力 |
| 深掘り | Deep Learning | 深層学習の設計判断 |
今の課題から1冊選ぶなら、こう考えるといい。
- モデルは動くが中身を説明できない → 機械学習 100+ページ エッセンス
- A/Bテストや精度比較の結論に不安がある → データサイエンスのための統計学入門
- 論文の数式で手が止まる → パターン認識と機械学習
- 学習が安定せずハイパラ調整が勘頼み → Deep Learning
4冊とも手を動かしてこそ残る本だ。自分の場合、コードを書きながら読んだ章だけが仕事で使える知識になった。