関連サイト
本書の関連ページが用意されています。
内容紹介
機械学習の考え方とPython実装法がわかる! 分類/回帰問題や深層学習の導入を解説。
◎絶妙なバランスで「理論と実践」を展開
◎Pythonライブラリを使いこなす
◎数式・図・Pythonコードを理解する
本書は、機械学習の理論とPython実践法を網羅的に解説した技術書です。機械学習とは、データから学習した結果をもとに判定や予測を行うことです。すでにさまざまな機械学習の方法が開発されています。本書では、それらの方法について背景にある理論や特徴を解説した上で、Pythonによる実装法を説明します。初期の機械学習アルゴリズムから取り上げ、前処理や次元削減、Webへの展開のほか、終盤ではディープラーニングについても見ていきます。機械学習の理論と実践についてバランスよく解説してあり、AIプログラミングの第一歩を踏み出すための格好の一冊です。
※本書は『Python Machine Learning』の翻訳書です。
※付録では、本書を読み進めるにあたっての前提知識として、Python ライブラリや数学について補足説明をしています。必要に応じて、他の書籍などもご参照ください。
書誌情報
- 著者: Sebastian Raschka(著), 株式会社クイープ(訳), 福島真太朗(監訳)
- ページ数: 464ページ(PDF版換算)
- 対応フォーマット: PDF, EPUB
- 出版社: インプレス
対象読者
機械学習やデータサイエンスに興味のあるIT技術者や研究者/学生など。
著者について
Sebastian Raschka
ミシガン大学博士課程に在籍。計算生物学の分野で新しいコンピュータ手法の開発に取り組む。データ分析や機械学習の愛好家でもあり、データ分析の関連情報サイト「Analytics Vidhya」の記事では、GitHub上で影響力のあるデータサイエンティストの第1位にランクイン(2015年7月時点)。また、オープンソースソフトウェアの機械学習ライブラリ開発にも貢献している。
株式会社クイープ
1995年、米国サンフランシスコに設立。コンピュータシステムの開発、ローカライズ、コンサルティングを手がけている。2001年に日本法人を設立。主な訳書に、『Scala 関数型デザイン & プログラミング』『CUDA C プロフェッショナル プログラミング』などがある(インプレス発行)。
福島真太朗
1981年生まれ。株式会社トヨタIT開発センターのリサーチャー。2004年に東京大学理学部物理学科卒業。2006年東京大学大学院新領域創成科学研究科修士課程修了。専攻は物理学・応用数学。
目次
第1章 「データから学習する能力」をコンピュータに与える
- 1.1 データを知識に変える「知能機械」
- 1.2 3種類の機械学習
- 1.3 「教師あり学習」による未来予測
- 1.4 強化学習による対話問題の解決
- 1.5 「教師なし学習」による隠れた構造の発見
- 1.6 基本用語と表記法
第2章 分類問題―機械学習アルゴリズムのトレーニング
- 2.1 人工ニューロン―機械学習の前史
- 2.2 パーセプトロンの学習アルゴリズムをPythonで実装する
- 2.3 Irisデータセットでのパーセプトロンモデルのトレーニング
- 2.4 ADALINEと学習の収束
- 2.5 勾配降下法によるコスト関数の最小化
- 2.6 大規模な機械学習と確率的勾配降下法
- まとめ
第3章 分類問題―機械学習ライブラリscikit-learnの活用
- 3.1 分類アルゴリズムの選択
- 3.2 scikit-learn活用へのファーストステップ
- 3.3 ロジスティック回帰を使ったクラスの確率のモデリング
- 3.4 サポートベクトルマシンによる最大マージン分類
- 3.5 カーネルSVMを使った非線形問題の求解
- 3.6 決定木学習
- 3.7 k近傍法:怠惰学習アルゴリズム
- まとめ
第4章 データ前処理―よりよいトレーニングセットの構築
- 4.1 欠測データへの対処
- 4.2 カテゴリデータの処理
- 4.3 データセットをトレーニングデータセットとテストデータセットに分割する
- 4.4 特徴量の尺度を揃える
- 4.5 有益な特徴量の選択
- 4.6 ランダムフォレストで特徴量の重要度にアクセスする
- まとめ
第5章 次元削減でデータを圧縮する
- 5.1 主成分分析による教師なし次元削減
- 5.2 線形判別分析による教師ありデータ圧縮
- 5.3 カーネル主成分分析を使った非線形写像
- まとめ
第6章 モデルの評価とハイパーパラメータのチューニングのベストプラクティス
- 6.1 パイプラインによるワークフローの効率化
- 6.2 k分割交差検証を使ったモデルの性能の評価
- 6.3 学習曲線と検証曲線によるアルゴリズムの診断
- 6.4 グリッドサーチによる機械学習モデルのチューニング
- 6.5 さまざまな性能評価指標
- まとめ
第7章 アンサンブル学習―異なるモデルの組み合わせ
- 7.1 アンサンブルによる学習
- 7.2 単純な多数決分類器の実装
- 7.3 アンサンブル分類器の評価とチューニング
- 7.4 バギング:ブートストラップ標本を使った分類器アンサンブルの構築
- 7.5 アダブーストによる弱学習器の活用
- まとめ
第8章 機械学習の適用1―感情分析
- 8.1 IMDbの映画レビューデータセットの取得
- 8.2 BoWモデルの紹介
- 8.3 さらに大規模なデータの処理:オンラインアルゴリズムとアウトオブコア学習
- まとめ
第9章 機械学習の適用2―Webアプリケーション
- 9.1 学習済みのscikit-learn推定器をシリアライズする
- 9.2 データストレージとしてSQLiteデータベースをセットアップする
- 9.3 Flaskを使ってWebアプリケーションを開発する
- 9.4 映画レビュー分類器をWebアプリケーションとして実装する
- 9.5 WebアプリケーションをパブリックWebサーバーにデプロイする
- まとめ
第10章 回帰分析―連続値をとる目的変数の予測
- 10.1 単純な線形回帰モデル
- 10.2 Housingデータセットの探索
- 10.3 最小二乗線形回帰モデルの実装
- 10.4 RANSACを使ったロバスト回帰モデルの学習
- 10.5 線形回帰モデルの性能評価
- 10.6 回帰に正則化手法を使用する
- 10.7 多項式回帰:線形回帰モデルから曲線を見い出す
- まとめ
第11章 クラスタ分析―ラベルなしデータの分析
- 11.1 k-means法を使った類似度によるオブジェクトのグループ化
- 11.2 クラスタを階層木として構成する
- 11.3 DBSCANを使って高密度の領域を特定する
- まとめ
第12章 ニューラルネットワーク―画像認識トレーニング
- 12.1 人工ニューラルネットワークによる複雑な関数のモデリング
- 12.2 手書きの数字を分類する
- 12.3 人工ニューラルネットワークをトレーニングする
- 12.4 バックプロパゲーションに対する直観を養う
- 12.5 勾配チェックを使ったニューラルネットワークのデバッグ
- 12.6 ニューラルネットワークでの収束
- 12.7 その他のニューラルネットワークアーキテクチャ
- 12.8 ニューラルネットワークの実装についての補足
- まとめ
第13章 ニューラルネットワーク―数値計算ライブラリTheanoによるトレーニングの並列化
- 13.1 Theanoを使った式の構築、コンパイル、実行
- 13.2 フィードフォワードニューラルネットワークでの活性化関数の選択
- 13.3 Kerasを使ったニューラルネットワークの効率的なトレーニング
- まとめ