scikit-learn と TensorFlow による実践機械学習

出版日
ページ数
568
scikit-learn と TensorFlow による実践機械学習
ISBN10
4873118344
ISBN13
978-4873118345
説明

Python の代表的機械学習ライブラリである「 scikit-learn 」(サイキット・ラーン)と「 TensorFlow 」(テンソルフロー)を使って機械学習を行う方法を解説した書籍です。

訳書で、オリジナルのタイトルは「 Hands-On Machine Learning With Scikit-Learn & TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems 」です。 原書は Amazon.com でスター数が 200 以上付いており、なおかつ平均スター数が 4 以上という非常に高い評価を受けています。

著者の Aurélien Géron 氏は元 Google 社員で、 2013 年から 2016 年まで YouTube の動画分類チームを率いたとのことです。 本書は内容盛りだくさんで、「 Python × 機械学習」がテーマの書籍の中で最も人気の高い書籍のひとつかと思います。

目次
監訳者まえがき はじめに 第I部 機械学習の基礎 1章 機械学習の現状 1.1 機械学習とは何か 1.2 なぜ機械学習を使うのか 1.3 機械学習システムのタイプ 1.4 機械学習が抱える難問 1.5 テストと検証 1.6 演習問題 2章 エンドツーエンドの機械学習プロジェクト 2.1 実際のデータの操作 2.2 全体像をつかむ 2.3 データを手に入れる 2.4 洞察を得るためにデータを研究、可視化する 2.5 機械学習アルゴリズムに渡せるようにデータを準備する 2.6 モデルを選択して訓練する 2.7 モデルを微調整する 2.8 システムを本番稼働、モニタリング、メンテナンスする 2.9 試してみよう 2.10 演習問題 3章 分類 3.1 MNIST 3.2 二項分類器の訓練 3.3 性能指標 3.4 多クラス分類 3.5 誤分類の分析 3.6 多ラベル分類 3.7 多出力分類 3.8 演習問題 4章 モデルの訓練 4.1 線形回帰 4.2 勾配降下法 4.3 多項式回帰 4.4 学習曲線 4.5 正則化された線形回帰 4.6 ロジスティック回帰 4.7 演習問題 5章 サポートベクトルマシン( SVM ) 5.1 線形 SVM 分類器 5.2 非線形 SVM 分類器 5.3 SVM 回帰 5.4 水面下で行われていること 5.5 演習問題 6章 決定木 6.1 決定木の訓練と可視化 6.2 決定木による予測 6.3 クラスの確率の推計 6.4 CART 訓練アルゴリズム 6.5 計算量 6.6 ジニ不純度かエントロピーか 6.7 正則化ハイパーパラメータ 6.8 回帰 6.9 不安定性 6.10 演習問題 7章 アンサンブル学習とランダムフォレスト 7.1 投票分類器 7.2 バギングとペースティング 7.3 ランダムパッチとランダムサブスペース 7.4 ランダムフォレスト 7.5 ブースティング 7.6 スタッキング 7.7 演習問題 8章 次元削減 8.1 次元の呪い 8.2 次元削減のための主要なアプローチ 8.3 PCA 8.4 カーネル PCA 8.5 LLE 8.6 その他の次元削減テクニック 8.7 演習問題 第II部 ニューラルネットワークと深層学習 9章 TensorFlow を立ち上げる 9.1 インストール 9.2 最初のグラフの作成とセッション内での実行 9.3 グラフの管理 9.4 ノードの値のライフサイクル 9.5 TensorFlow による線形回帰 9.6 勾配降下法の実装 9.7 訓練アルゴリズムへのデータの供給 9.8 モデルの保存と復元 9.9 TensorBoard を使ったグラフと訓練曲線の可視化 9.10 名前スコープ 9.11 モジュール性 9.12 変数の共有 9.13 演習問題 10章 人工ニューラルネットワーク入門 10.1 生物学的なニューロンから人工ニューロンへ 10.2 TensorFlow の高水準 API を使った MLP の訓練 10.3 プレーンな TensorFlow を使った DNN の訓練 10.4 ニューラルネットワークのハイパーパラメータの操作 10.5 演習問題 11章 深層ニューラルネットの訓練 11.1 勾配消失/爆発問題 11.2 プレトレーニング済み層の再利用 11.3 オプティマイザの高速化 11.4 正則化を通じた過学習の防止 11.5 実践的なガイドライン 11.6 演習問題 12章 複数のデバイス、サーバーを使った分散 TensorFlow 12.1 1 台のマシンの複数のデバイス 12.2 複数のサーバーの複数のデバイス 12.3 TensorFlow クラスタ上でのニューラルネットワークの並列化 12.4 演習問題 13章 畳み込みニューラルネットワーク 13.1 視覚野のアーキテクチャ 13.2 畳み込み層 13.3 フィルタ 13.4 プーリング層 13.5 CNN のアーキテクチャ 13.6 演習問題 14章 再帰型ニューラルネットワーク 14.1 再帰ニューロン 14.2 TensorFlow による初歩的な RNN 14.3 RNN の訓練 14.4 深層 RNN 14.5 LSTM セル 14.6 GRU セル 14.7 自然言語処理 14.8 演習問題 15章 オートエンコーダ 15.1 効率的なデータ表現 15.2 不完備線形オートエンコーダによる PCA 15.3 スタックオートエンコーダ 15.4 スタックオートエンコーダを使った教師なしプレトレーニング 15.5 ノイズを除去するオートエンコーダ 15.6 スパースオートエンコーダ 15.7 変分オートエンコーダ 15.8 その他のオートエンコーダ 15.9 演習問題 16章 強化学習 16.1 報酬の最適化の学習 16.2 方策探索 16.3 OpenAI Gym 入門 16.4 ニューラルネットワークによる方策 16.5 行動の評価:信用割当問題 16.6 方策勾配法 16.7 マルコフ決定過程 16.8 TD 学習と Q 学習 16.9 DQN アルゴリズムを使ったパックマンのプレイの学習 16.10 演習問題 16.11 ありがとう! 付録A 演習問題の解答 付録B 機械学習プロジェクトチェックリスト 付録C SVM 双対問題 付録D 自動微分 付録E その他の広く知られている ANN アーキテクチャ 索引
紹介( powered by openBD

サンプルコードを動かしながらTensorFlowとScikit-Learnで機械学習を学ぶ!
機械学習、特にニューラルネットワークの概要を解説し、単純な線形回帰から始まり、深いニューラルネットワークに移行する一連のテクニックを学びます。機械学習/深層学習に必要なサポートベクターマシン、デシジョンツリー、ランダムフォレスト、アンサンブルメソッドなど順を追って解説します。解説だけでなく、各章で練習問題を用意しており、またGithubにjupyter notebookで試せるコードが掲載しているため、試しながら学べる構成になっています。