ISBN 9784297112097
AIエンジニアを目指す人のための機械学習入門 実装しながらアルゴリズムの流れを学ぶ
概要
scikit-learn で主要MLアルゴリズムを実装しながら動作原理を習得する
想定読者
Pythonの基礎はあり、機械学習の実装とアルゴリズムを同時に学びたい入門〜初中級者。AIエンジニアへのキャリアチェンジを検討しているエンジニア。
こんな人には向いていない
- 機械学習を既に業務で開発・運用しているエンジニアには、扱う手法・深度ともに物足りない可能性がある
- 深層学習(ニューラルネットワーク)の理論や実装を主目的とする読者には範囲が合わない
- 数学・統計の厳密な証明を追いたい読者には解説が簡略化されすぎている
読了後にできるようになること
- 線形回帰・ロジスティック回帰・SVM・決定木・ランダムフォレストなど主要アルゴリズムのエッセンスを説明できる
- scikit-learn を用いて教師あり・教師なし学習のプログラムをゼロから実装できる
- 各アルゴリズムの長所・短所とハイパーパラメータのチューニング指針を理解できる
- Google Colaboratory または Jupyter Notebook 上で ML パイプラインを動かす環境を整備できる
- 主成分分析(PCA)・k-means・異常検知など教師なし学習の典型タスクを実装・解釈できる
ハイライト
- 実装とアルゴリズム解説を「バランス良く」扱う日本語書籍が不足していた。新人教育用として、機械学習の基礎知識を押さえられる教材を作成したかった。(著者自身が執筆動機を語っており、本書の独自ポジションが最も端的に示されている箇所)
- アルゴリズムの詳細な数式は理解できませんが、だいたい何をやりたいのか、意図と心、エッセンスが分かります(本書の学習方針を著者自身が一言で表した表現。数式より動作意図を優先する姿勢を示す)
外部からの言及
- 著者が同一 Qiita アカウントで公開した関連記事(scikit-learn チートシート実装・Python 実装ノウハウ)が合計 2000+ likes を獲得しており、本書の内容の実務的有用性を補強する外部評価として機能している(qiita)
- 機械学習を学ぶ輪読会のテキストとして2022年に採用されており、複数人での学習サポートに向く構成との評価がある(qiita)
- 「バリバリ開発中の経験者には物足りない可能性がある」と著者自身が明示しており、対象読者の限定について正直な評価が共有されている(qiita)
編集メモ
Qiita 言及記事 7件 / 著者関連記事のうち likes 上位(1508 / 766 / 116)。輪読会テキストとして2022年に採用された記録もあり、入門テキストとして継続的に参照されている。essential の閾値(10件/200 likes)には届かないが実務入門書として安定した評価がある
読む前に押さえておきたいこと
- Python の基本文法(リスト・辞書・関数・クラスの読み書きができる程度)
- NumPy / pandas の基礎操作(DataFrame の作成・集計が自力でできる程度)
- 高校数学レベルの線形代数・確率の用語理解(行列の積、確率分布など)
学習のコツ
- 各アルゴリズム章はほぼ独立しているため、業務で使いそうな手法(例: 分類タスクならロジスティック回帰→SVM→ランダムフォレストの順)から先に読む方が定着しやすい
- 著者公開の関連Qiita記事(scikit-learn チートシート)を手元に置いて並行参照すると、コードの全体像が把握しやすい
- Google Colaboratory で動かしながら読む設計なので、紙で通読するより手を動かす時間を優先する
- チューニング(ハイパーパラメータ)の節は最初は読み流し、一通りアルゴリズムを把握してから戻ると効率が良い
出版社による内容紹介
機械学習はAI(人工知能)の基礎技術です。今後AIの利活用が進むにつれて、機械学習をコンピュータシステムに組み込んでビジネスに活用できる人材(本書ではAIエンジニアと呼称します)がますます求められます。 機械学習には目的に応じたいくつかの手法が存在します。それらの手法を正しく使えるようになるために、本書はAIエンジニアが理解しておきたいレベルの深さで、各手法のアルゴリズム(動作原理)を丁寧に解説します。とくにアルゴリズムの目的や意味を理解できることをめざします。(アルゴリズムの背景にある高度な数学・統計学の理論についての説明は必要最小限にとどめ、)まずはプログラムを書いて動かし、その結果を見ながらアルゴリズムの長所・短所や、性能をチューニングするためのコツを学びます。 機械学習プログラムの作成には、プログラミング言語「Python」と機械学習ライブラリ「scikit-learn」を使用します。作成したプログラムは、クラウドサービス「Google Colaboratory」や手元のパソコンに構築する「Jupyter Notebook」の環境で簡単に動かせます。
この本がどの学習段階で役立つかは、 関連する ロードマップ から確認できます。