ISBN 9784839967444
試して学ぶ 機械学習入門 : Pythonで作って、動かして身につける
- 著者
- 竹野 峻輔/高橋 寛治
- 出版社
- マイナビ出版
- 刊行
- 2019-04
概要
Pythonで機械学習Webサービスを一から構築して動かす
想定読者
Pythonの基礎知識があり、機械学習を使ったWebサービスを実際に作りたいエンジニア。理論より実装・構築の経験を積みたい段階にある人。
こんな人には向いていない
- 機械学習の数理的な理論(確率・線形代数・最適化)を体系的に学びたい読者。本書は理論解説をほぼ行わない方針のため、別の専門書が必要になる。
- すでにAmazon SageMakerや推薦システムを本番運用している経験者。本書はスタートラインに立つことを目的としており、ベストプラクティス集ではない。
- 機械学習モデルのアルゴリズム実装や精度チューニングを深く掘り下げたい読者。モデル選択や精度向上の議論は本書の主題ではない。
読了後にできるようになること
- Amazon SageMakerを使った開発・実行環境の構築方法
- データの前処理から機械学習モデルの評価までの一連のパイプライン開発
- 機械学習モデルをWebサービスに組み込む構成(フロントエンド〜サーバサイド)
- クローリング・スクレイピングによる学習データ収集の実装
- ユーザーログ収集の仕組みを設計・構築するスキル
- 推薦システムWebアプリケーションの構築と、AWS Lambdaによるサーバレスデプロイ
本書のキー概念(章解説)
- 第 1 章 開発・実行環境を整える — Amazon SageMakerを使った環境構築。クラウド環境に不慣れな読者はここに時間をかけると後続章がスムーズになる。
- 第 2 章 機械学習を試してみる — 前処理から評価まで機械学習の基本フローを一通り体験する章。本書の入口として最も重要。
- 第 3 章 機械学習モデルを使うWebサイトを作る — Webブラウザ入力からサーバサイド処理まで統合する章。機械学習をWebサービスに組み込む全体像が把握できる。
- 第 4 章 より大規模にデータを集めていく — クローリング・スクレイピングの実装。学習データ収集という「もう一つの壁」を突破するための実践的な章。
- 第 5 章 ユーザの反応を集める仕組みを作る — ユーザーログ収集の仕組み構築。継続的な機械学習改善に必要なフィードバックループの基礎となる。
- 第 6 章 推薦システムを作る — 総仕上げとして推薦システムのWebアプリケーションを構築。1〜5章の知識を統合する実践的な章。
- 第 7 章 工夫してシステムを洗練していく — AWS Lambdaによるサーバレスデプロイ。本番を意識した発展的な内容で、実務移行の参考になる。
- 第 8 章 Appendix — Linuxコマンド・SSH・エディタの解説。開発環境に不慣れな読者向け補足。必要に応じて参照する。
ハイライト
- 業務で機械学習を利用したサービスか何かを開発しようとすると、様々な課題に直面してしまい戸惑う方は多いのではないでしょうか。サーバ環境やアプリケーションの構築といった、機械学習に直接関係ない複数の領域についても知っていないと開発が実際には進みません。(本書が対象にする読者の痛みを端的に表した箇所。機械学習単体ではなく周辺領域も含めた実務課題を正直に示している。)
- 本書籍は機械学習サービスを作るためのベストプラクティス集やアンチパターン集ではありません。また、機械学習の詳細な理論の解説や機械学習モデルの実装を行うことも主題ではないため、これらの解説も基本的に行なっていません。(スコープの正直な開示。本書を選ぶべきではない読者を著者自身が明示しており、購買判断の精度を高める情報として価値がある。)
編集メモ
Qiita言及記事は確認できず(検索結果0件)。Rakutenランキング履歴も未確認。書誌内容から実務向け入門書としての価値は認められるが、外部シグナルが不足しているためsupplementaryと判定。
読む前に押さえておきたいこと
- Pythonの基本文法(関数・クラス・ライブラリのimport)を扱える程度の経験
- HTTPリクエスト・レスポンスの基本的な概念
- AWSアカウントの取得と基本的なIAM操作の知識
学習のコツ
- 環境構築(Chapter 1)はAWS SageMakerのアカウントとコスト管理を先に確認しておくと、後続章でつまずきにくい。
- 理論の深掘りは本書の目的外なので、scikit-learnの各アルゴリズムについては別途入門書と並行参照すると効果的。
- Chapter 6の推薦システムは全章の総合演習として位置づけられているため、Chapter 1〜5を順番通りに進めてから着手することを推奨する。
- Appendix(Chapter 8)は詰まった時だけ参照する辞書的利用が効率的。Linux・SSH経験者は読み飛ばせる。
出版社による内容紹介
Pythonによる機械学習の入門書。簡単な機械学習モデルを作るところから、システムの洗練まで、サンプルプログラムを試しながら習得することができます。 本書は、手を動かし実際に動くものを作ることで、機械学習を利用したシステムの全体像を身につけてもらうことを目標としています。 業務で機械学習を利用したサービスか何かを開発しようとすると、様々な課題に直面してしまい戸惑う方は多いのではないでしょうか。 サーバ環境やアプリケーションの構築といった、機械学習に直接関係ない複数の領域についても知っていないと開発が実際には進みません。 また、継続的に機械学習を行うための学習データの収集も、一つの大きな壁となるでしょう。 本書では、こういった壁をなるべく早く乗り越え、機械学習を用いたサービス作りのスタートラインに立ってもらうことを想定して、カリキュラムを組み立てています。 そのため、本書籍は機械学習サービスを作るためのベストプラクティス集やアンチパターン集ではありません。 また、機械学習の詳細な理論の解説や機械学習モデルの実装を行うことも主題ではないため、これらの解説も基本的に行なっていません。 データの収集や整形から機械学習モデルを構築するまでのパイプライン開発、それらモデルのWebサービスへの導入開発まで、様々な幅広いトピックを取り扱っています。 これらのトピックを一つ一つ進めていくことで、機械学習を用いたWebサービスの開発での基礎が習得できるはずです。 本書の構成はこのようになっています。 Chapter01 開発・実行環境を整える Amazon SageMakerを使った開発・実行環境を構築します。 Chatper02 機械学習を試してみる 基本的な機械学習の流れを、データの前処理から評価まで一通り体験します。 Chapter03 機械学習モデルを使うWebサイトを作る Webブラウザ上での入力からサーバサイドの処理まで、機械学習モデルを使ったWebサイトの構築を一通り学びます。 Chapter04 より大規模にデータを集めていく クローリングやスクレイピングといった、データ収集の方法を学習します。 Chapter05 ユーザの反応を集める仕組みを作る ユーザログを集める仕組みを構築していきます。 Chapter06 推薦システムを作る 総仕上げとして、推薦システムのWebアプリケーションを構築していきます。 Chapter07 工夫してシステムを洗練していく AWS Lambdaを使い、サーバレスで機械学習をデプロイします。 Chapter08 Appendix 開発が円滑に進むLinuxコマンドやSSH、エディタの解説を行います。 サンプルコードはダウンロード可能です。
この本がどの学習段階で役立つかは、 関連する ロードマップ から確認できます。