インプレス[コンピュータ・IT]ムック [第3版]Python機械学習プログラミング達人データサイエンティスト
インプレス / 2020年10月26日 / 全687ページ
本書は、機械学習コンセプト全般をカバーし、理論的背景とPythonコーディングの実際を解説しています。初歩的な線形回帰から始め、ディープラーニング(CNN/RNN)、敵対的生成ネットワーク、強化学習などを取り上げ、scikit-learnやTensorFlowなどPythonライブラリの新版を使ってプログラミング。第3版では13~16章の内容をほとんど刷新したほか、敵対的生成ネットワークと強化学習の章を新たに追加。機械学習プログラミングの本格的な理解と実践に向けて大きく飛躍できる一冊です。
目次
- 商標・サンプルコード・正誤表
- 口絵
- 謝辞
- 著者紹介・レビュー担当者紹介
- はじめに
- 第1章 「データから学習する能力」をコンピュータに与える
- 1.1 データを知識に変える「知能機械」1.2 3種類の機械学習
- 1.3 基本用語と表記法
- 1.4 機械学習システムを構築するためのロードマップ
- 1.5 機械学習にPythonを使う
- まとめ
- 第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活用へのファーストステップ:パーセプトロンの訓練
- 商標・サンプルコード・正誤表
- 口絵
- 謝辞
- 著者紹介・レビュー担当者紹介
- はじめに
- 第1章 「データから学習する能力」をコンピュータに与える
- 1.1 データを知識に変える「知能機械」1.2 3種類の機械学習
- 1.3 基本用語と表記法
- 1.4 機械学習システムを構築するためのロードマップ
- 1.5 機械学習にPythonを使う
- まとめ
- 第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 さまざまな性能評価指標
- 6.6 クラスの不均衡に対処する
- まとめ
- 第7章 アンサンブル学習―異なるモデルの組み合わせ7.1 アンサンブルによる学習
- 7.2 多数決による分類器の結合
- 7.3 アンサンブル分類器の評価とチューニング
- 7.4 バギング:ブートストラップ標本を使った分類器アンサンブルの構築
- 7.5 アダブーストによる弱学習器の活用
- まとめ
- 第8章 機械学習の適用1―感情分析
- 8.1 IMDbの映画レビューデータセットでのテキスト処理
- 8.2 BoWモデルの紹介
- 8.3 さらに大規模なデータの処理:オンラインアルゴリズムとアウトオブコア学習
- 8.4 潜在ディリクレ配分によるトピックモデルの構築
- まとめ
- 第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 ニューラルネットワークの実装についての補足まとめ
- 第13章 ニューラルネットワークの訓練をTensorFlowで並列化する
- 13.1 TensorFlowと訓練の性能
- 13.2 TensorFlow:最初のステップ
- 13.3 tf.dataを使った入力パイプラインの構築:TensorFlow Dataset API
- 13.4 TensorFlowでのニューラルネットワークモデルの構築
- 13.5 多層ニューラルネットワークでの活性化関数の選択
- まとめ
- 第14章 TensorFlowのメカニズム
- 14.1 TensorFlowの主な特徴
- 14.2 TensorFlowの計算グラフ:TensorFlow 2.xへの移行
- 14.3 TensorFlowのVariableオブジェクト:モデルパラメータの格納と更新
- 14.4 自動微分とGradientTapeによる勾配の計算
- 14.5 Keras APIを使って一般的なアーキテクチャの実装を単純化する
- 14.6 TensorFlow Estimator
- まとめ
- 第15章 画像の分類―ディープ畳み込みニューラルネットワーク15.1 畳み込みニューラルネットワークの構成要素
- 15.2 畳み込みニューラルネットワークを実装する
- 15.3 TensorFlowを使ってディープ畳み込みニューラルネットワークを実装する
- 15.4 CNNを使って顔画像から性別を予測する
- まとめ
- 第16章 系列データのモデル化―リカレントニューラルネットワーク
- 16.1 系列データ
- 16.2 リカレントニューラルネットワーク:シーケンスモデルの構築
- 16.3 リカレントニューラルネットワークの実装:TensorFlowでのシーケンスモデルの構築
- 16.4 Transformerモデルを使って言語を理解する
- まとめ
- 第17章 新しいデータの合成―敵対的生成ネットワーク17.1 敵対的生成ネットワーク
- 17.2 敵対的生成ネットワークを一から実装する
- 17.3 畳み込み層とワッサースタイン距離を使って合成画像の品質を改善する
- 17.4 GANのその他の用途
- まとめ
- 第18章 複雑な環境での意思決定―強化学習
- 18.1 はじめに:経験からの学習
- 18.2 強化学習の理論的基礎
- 18.3 強化学習のアルゴリズム
- 18.4 最初の強化学習アルゴリズムを実装する
- 本章と本書のまとめ
- 付録A Jupyter Notebookの基本的な使用方法A.1 インストールと起動
- A.2 ノートブックの作成と保存
- A.3 セルの入力と実行
- A.4 他のフォーマットへの変換
- A.5 参考文献
- 付録B matplotlibによる可視化の基礎B.1 pyplotを用いた可視化
- B.2 描画対象のFigureの明示
- B.3 複数の図のプロット
- B.4 アニメーションの作成
- B.5 日本語フォントの設定
- 付録C 行列の固有分解の基礎C.1 行列によるベクトルの回転
- C.2 固有ベクトル:行列を掛けても向きが変化しないベクトル
- C.3 行列の階数(ランク)
- C.4 参考文献
- 索引
- プロフィール・STAFF LIST
- 奥付
※このデジタル雑誌には目次に記載されているコンテンツが含まれています。それ以外のコンテンツは、本誌のコンテンツであっても含まれていません のでご注意ください。
※電子版では、紙の雑誌と内容が一部異なる場合や、掲載されないページがある場合があります。