関連サイト
本書の関連ページが用意されています。
内容紹介
機械学習は人工知能の同義語となり多くの人に広く知れ渡っていますが、その可能性を十分に活かしている企業は世界でも一握りにすぎません。最新のオープンソースライブラリ、パッケージが提供され、コミュニティは充実していますが、実用的なビジネス上の課題解決に機械学習をどう適用させるかで、多くの企業が四苦八苦しています。
人材不足もその要因の一つではありますが、優秀な機械学習エンジニアやデータアナリストを確保したとしても、1つのモデルを導入するまでにそれなりの期間が必要になってしまうことも起きています。
機械学習モデルのバージョン管理、再現性、スケーリングなど、企業が機械学習の機能を開発する際に直面する主な課題は、サイエンス的な面よりもむしろエンジニアリング的なものですが、一般的なデータサイエンス系の教科書では、機械学習プロジェクトを実施する際のエンジニアリング的な面についてあまり触れていません。
本書はデータの収集、保存、前処理、特徴量エンジニアリング、モデルのテストとデバッグ、本番環境へのデプロイと撤退、ランタイムと本番環境へのデプロイ後のメンテナンスなどに光をあて、解説していきます。
機械学習の応用、ビジネス上の課題を機械学習を使用して解決したい場合に適切なアドバイスを得ることができます。
対象読者として、機械学習の基本を理解し自身でモデルを構築することができるレベルを想定しています。
・機械学習エンジニアリングの仕事に取り組むデータアナリスト
・仕事をもっと構造化したいと考えている機械学習エンジニア
・機械学習エンジニアが提供するモデルを扱うことになるソフトウェアアーキテクト
書誌情報
- 著者: Andriy Burkov, 松田晃一
- 発行日: 2022-04-26 (紙書籍版発行日: 2022-04-26)
- 最終更新日: 2022-04-26
- バージョン: 1.0.0
- ページ数: 320ページ(PDF版換算)
- 対応フォーマット: PDF
- 出版社: マイナビ出版
対象読者
著者について
Andriy Burkov
11の言語で出版されたベストセラー『The Hundred-Page Machine Learning Book(themlbook.com)』の著者。IT 調査会社Gartner の機械学習チームのリーダー。自然言語処理を専門としており、でテキスト抽出・正規化システムの構築に取り組んでいる。
松田晃一
博士(工学、東京大学)。石川県羽咋市生まれ。『宇宙船ビーグル号の冒険』を読みコンピュータの道へ進む。卒論のプログラムをチェックしながら、イラストを描きコミケで本を売る。元ソフトウェア技術者/ 研究者/ 管理職、PAW^2(メタバース)のクリエータ。コンピュータで人生を「少し楽しく」「少しおもしろく」「少し新しく」「少し便利に」すること、HCI/AR/VR/UX、画像処理、機械学習、説明可能性、MLOps、モバイル機器、書籍の執筆、技術書、SF、一般書の翻訳などに興味を持つ。著書に『Pythonライブラリの使い方』(カットシステム)、『学生のためのPython』(東京電機大学出版局)、『WebGL Programming Guide』(Addison-Wesley Professional)など、訳書に『プログラミングのための数学』(マイナビ)、『生成Deep Learning』、『詳解OpenCV3』(オライリー・ジャパン)、『デザインのためのデザイン』(ピアソン桐原)などがある。
目次
序文
はじめに
- 本書の対象者
- 本書の使用方法
- この本を買うべきか?
- 謝辞
訳者まえがき
第1章 はじめに
- 1.1 表記法と定義
- 1.2 機械学習とは何か?
- 1.3 データと機械学習に関する用語
- 1.4 機械学習を使用する場合
- 1.5 機械学習を使ってはいけない場合
- 1.6 機械学習エンジニアリングとは?
- 1.7 機械学習プロジェクトのライフサイクル
- 1.8 まとめ
第2章 プロジェクトを始める前に
- 2.1 機械学習プロジェクトの優先順位付け
- 2.2 機械学習プロジェクトの複雑さの推定
- 2.3 機械学習プロジェクトの目標を定義する
- 2.4 機械学習チームの構成方法
- 2.5 機械学習プロジェクトが失敗する理由
- 2.6 まとめ
第3章 データの収集と準備
- 3.1 データに関する質問
- 3.2 データの一般的な問題
- 3.3 良いデータとは
- 3.4 インタラクションデータへの対応
- 3.5 データ漏洩の原因
- 3.6 データの分割
- 3.7 欠損属性への対応
- 3.8 データ拡張
- 3.9 不均衡なデータを扱う
- 3.10 データサンプリング方法
- 3.11 データの保存
- 3.12 データ操作のベストプラクティス
- 3.13 まとめ
第4章 特徴量エンジニアリング
- 4.1 なぜ特徴量をエンジニアリングするのか
- 4.2 特徴量をどのようにして抽出するか
- 4.3 特徴量を並べる
- 4.4 良い特徴量の特性
- 4.5 特徴量選択
- 4.6 特徴量の合成
- 4.7 データからの特徴量を学習する
- 4.8 次元の圧縮
- 4.9 特徴量のスケーリング
- 4.10 特徴量エンジニアリングにおけるデータ漏洩
- 4.11 特徴量の保存と文書化
- 4.12 特徴量エンジニアリングのベストプラクティス
- 4.13 まとめ
第5章 教師ありモデルの訓練 (第1部)
- 5.1 モデルに取り組み始める前に
- 5.2 機械学習用のラベルの表現
- 5.3 学習アルゴリズムを選択する
- 5.4 パイプラインの構築
- 5.5 モデルの性能評価
- 5.6 ハイパーパラメータのチューニング
- 5.7 浅いモデルの訓練
- 5.8 偏りと分散のトレードオフ
- 5.9 正則化
- 5.10 まとめ
第6章 教師ありモデルの訓練(第2部)
- 6.1 深層モデルの訓練方法
- 6.2 モデルのスタッキング
- 6.3 分布シフトへの対応
- 6.4 不均衡なデータセットの処理
- 6.5 モデルのキャリブレーション
- 6.6 トラブルシューティングと予測エラーの解析
- 6.7 ベストプラクティス
- 6.8 まとめ
第7章 モデルの評価
- 7.1 オフライン評価とオンライン評価
- 7.2 A/Bテスト
- 7.3 多腕バンディット
- 7.4 モデル性能の統計範囲
- 7.5 テストセットの妥当性の評価
- 7.6 モデルの特性の評価
- 7.7 まとめ
第8章 モデルの導入
- 8.1 静的なデプロイ
- 8.2 ユーザーデバイスへの動的なデプロイ
- 8.3 サーバーへの動的デプロイ
- 8.4 デプロイ方法
- 8.5 自動デプロイ、バージョン管理、メタデータの自動化
- 8.6 モデルリリースするベストプラクティス
- 8.7 まとめ
第9章 モデルの推論、監視、メンテナンス
- 9.1 モデルの特性
- 9.2 推論方法
- 9.3 実世界でのモデルの予測
- 9.4 モデルの監視
- 9.5 モデルのメンテナンス
- 9.6 まとめ
第10章 まとめ
- 10.1 覚えておくべき重要な点
- 10.2 次に読むべき本