はじめに
機械学習を始めようとすると、情報が多すぎて何から手をつけていいかわからない。
YouTubeのチュートリアル、Udemyの講座、Qiitaの記事……。断片的に学んでいるうちに、「モデルは動かせるけど、なぜそうなるのか説明できない」状態になりがちだ。
自分がまさにそうだった。scikit-learnのサンプルコードは書けるのに、上司に「なぜこのモデルを選んだの?」と聞かれると答えられない。
この状態を抜け出すきっかけになったのが、欧米で定番とされている技術書を体系的に読んだことだった。日本語の入門書が悪いわけではないが、英語圏では「この分野を学ぶなら、まずこの本」という共通認識がしっかりあって、その本を読むと驚くほど頭の中が整理される。
この記事では、機械学習をこれから始める人、あるいは「なんとなく動かしている」状態から脱却したい人に向けて、5冊を紹介する。
① Rによる統計的学習入門(通称ISLR)
原著タイトル: An Introduction to Statistical Learning
著者: Gareth James, Daniela Witten, Trevor Hastie, Robert Tibshirani
英語圏で「ML入門の最初の1冊」と言えば、ほぼ全員がこの本を挙げる。
回帰、分類、正則化、決定木、SVM、教師なし学習まで幅広くカバーしているのに、数式は最小限に抑えられていて、直感的な説明が中心。PythonまたはRのLabセクションがついているので、読んだ直後に手を動かせる。
この本の何が良いかというと、「モデルを選ぶ判断基準」を教えてくれるところだ。精度だけでなく、バイアス-バリアンスのトレードオフ、モデルの解釈性、過学習のリスクまで考慮した上で「どう選ぶか」を丁寧に解説している。
PDF版は著者の公式サイトで無料公開されている。まず読んでみて、手元に置きたくなったら紙の本を買えばいい。
こんな人に: 機械学習を体系的に学ぶ最初の1冊を探している人。数学に自信がなくても読める。
② 機械学習 100+ページ エッセンス
原著タイトル: The Hundred-Page Machine Learning Book
著者: Andriy Burkov
タイトル通り、機械学習の全体像を約100ページに圧縮した本。Peter Norvigが推薦文を書いていることからも、その内容の密度がわかる。
教師あり学習、教師なし学習、ニューラルネットワーク、特徴量エンジニアリング、モデル評価まで、一通りの概念がコンパクトにまとまっている。教科書ではなくチートシートに近い使い方ができる。
自分はこの本をデスクに常備している。プロジェクトでモデルの選択肢を検討するとき、面接前に概念を復習するとき、「あれ、正則化ってL1とL2で何が違うんだっけ」と思ったとき——パッと開いて確認できるのが便利だ。
1冊目としてはISLRを推すが、「時間がないから全体像だけ素早くつかみたい」という人には最適。
こんな人に: 短時間で機械学習の全体像を把握したい人。復習・面接対策にも。
③ scikit-learn、Keras、TensorFlowによる実践機械学習
原著タイトル: Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow
著者: Aurélien Géron
実務で機械学習を使うなら、この本は避けて通れない。
前半はscikit-learnを使った古典的なMLパイプライン(前処理、特徴量選択、モデル学習、評価、チューニング)、後半はKeras/TensorFlowを使ったディープラーニング。「理論→実装→改善」のサイクルを実際のコードで体験できる。
特に価値が高いのは前半だ。データの前処理、パイプラインの構築、交差検証、ハイパーパラメータチューニングなど、「実際のプロジェクトで必要だけど入門書では省略されがちな部分」が丁寧に書かれている。
Kaggleで上位に入りたい人にも、業務でMLモデルを作りたい人にも刺さる。3版が最新で、TensorFlow 2系とKeras 3に対応している。
こんな人に: 理論だけでなく実装まで一気通貫で学びたい人。Pythonの基礎は前提。
④ Pythonによるディープラーニング
原著タイトル: Deep Learning with Python
著者: François Chollet(Kerasの作者)
Kerasの生みの親が書いたディープラーニングの実践書。Goodfellowの『Deep Learning』が理論の教科書なら、こちらは手を動かして直感を養うための本だ。
この本のすごいところは、難解な概念を使う側の視点で説明してくれるところだ。CNNやRNNの数学的な導出よりも、「どういうデータにどのアーキテクチャを選ぶか」「学習がうまくいかないときに何を疑うか」といった実践的な判断基準を教えてくれる。
2版ではTransformerや生成モデルの章も追加されている。「ディープラーニングをブラックボックスのまま使っている」という不安を感じている人が、最初に読むDL本として最適だ。
こんな人に: ディープラーニングを使いこなせるレベルになりたい人。数式よりコードで理解したい派。
⑤ 機械学習システムデザイン
原著タイトル: Designing Machine Learning Systems
著者: Chip Huyen
上の4冊が「モデルを作る」本だとすれば、この本は「モデルを本番で動かし続ける」本だ。
データ収集、ラベリング、特徴量ストア、モデルのデプロイ、モニタリング、フィードバックループ——モデルの精度を上げることだけがMLエンジニアの仕事ではない。本番環境でモデルがどう振る舞うか、データの分布がどう変わるか、いつ再学習するか。そうしたシステム設計の知識がなければ、良いモデルも価値を発揮できない。
著者のChip HuyenはStanfordでML Systemsの講義を持っていた人物で、NVIDIA、Snorkelなどでの実務経験も豊富。アカデミアと産業界の両方の視点で書かれているのが信頼できる。
日本ではまだ「MLシステム設計」を体系的に教える本が少ないので、この分野に関しては英語圏の本が一歩先を行っている。
こんな人に: モデルを作るだけでなく、プロダクションで運用する責任を持つ人。MLエンジニア/データエンジニア。
まとめ:どの順番で読むか
| ステップ | 読む本 | 得られるもの |
|---|---|---|
| 1. 全体像をつかむ | ISLR & 機械学習 100+ページ エッセンス | ML分野の地図 |
| 2. 手を動かす | scikit-learn、Keras、TensorFlowによる実践機械学習 | 実装力 |
| 3. DLに踏み込む | Pythonによるディープラーニング | ニューラルネットの直感 |
| 4. 本番を見据える | 機械学習システムデザイン | システム設計力 |
全部読む必要はない。今の自分がどのステップにいるかを考えて、該当する1冊から始めればいい。
1つだけアドバイスするなら、「ISLRを飛ばしていきなりディープラーニングに入る」のは避けたほうがいい。統計学習の基礎がないと、ニューラルネットが魔法の箱のままになってしまう。回り道に見えても、基礎から積み上げるのが結局一番早い。
次の記事では、理論を深掘りしたい人向けに、より高度な5冊を紹介する予定だ。