[第3版]Python機械学習プログラミング 達人データサイエンティストによる理論と実践
4,400円 (4,000円+税)
【注意】本書のEPUB版は固定レイアウト型になっております。文字の大きさの変更や検索、引用などはお使いいただけません。画面の大きい端末でご利用ください。
関連サイト
本書の関連ページが用意されています。
内容紹介
本書は、機械学習コンセプト全般をカバーし、理論的背景とPythonコーディングの実際を解説しています。初歩的な線形回帰から始め、ディープラーニング(CNN/RNN)、敵対的生成ネットワーク、強化学習などを取り上げ、scikit-learnやTensorFlowなどPythonライブラリの新版を使ってプログラミング。第3版では13~16章の内容をほとんど刷新したほか、敵対的生成ネットワークと強化学習の章を新たに追加。機械学習プログラミングの本格的な理解と実践に向けて大きく飛躍できる一冊です。
◎本書は『Python Machine Learning: Machine Learning and Deep Learning with Python, scikit-learn, and TensorFlow 2, 3rd Edition』の翻訳書です。
◎微積分/線形代数、Python の文法、データ分析用ライブラリについてある程度理解している必要があります。
[原著の第1版]●ドイツ語、韓国語、中国語、日本語、ロシア語、ポーランド語、イタリア語に翻訳。●ACM(米国計算機学会)の「21st Annual list of Notable Books and Articles(2016)」にランクイン。
[日本語の第1版]●「ITエンジニア本大賞2017」ベスト10にランクイン。
書誌情報
- 著者: Sebastian Raschka, Vahid Mirjalili(著), 株式会社クイープ(訳), 福島真太朗(監訳)
- 発行日: 2020-10-22 (紙書籍版発行日: 2020-10-22)
- 最終更新日: 2022-02-11
- バージョン: 1.4.0
- ページ数: 688ページ(PDF版換算)
- 対応フォーマット: PDF, EPUB
- 出版社: インプレス
対象読者
◎機械学習やデータサイエンスに興味のあるIT技術者/研究者/学生。◎微積分/線形代数、Pythonの文法、データ分析用ライブラリについてある程度理解している必要があります
著者について
Sebastian Raschka
ミシガン州立大学博士課程で計算生物学と機械学習の複合領域において博士号を取得。現在、ウィスコンシン州立大学マディソン校の統計学助教授で、機械学習と深層学習の研究に焦点を当てている。Pythonコーディングの経験が長く、データサイエンス、機械学習、ディープラーニングの実践について多数のセミナーの講師も務めている。
Vahid Mirjalili
ミシガン州立大学にて分子構造の大規模計算シミュレーションの新しい手法を開発したことにより機械工学の博士号を取得。ミシガン州立大学のiPRoBeラボに参加し、コンピュータービジョンとバイオメトリクスドメインに機械学習を適用。その後、3Mにリサーチサイエンティストとして入社。
株式会社クイープ
1995年、米国サンフランシスコに設立。コンピュータシステムの開発、ローカライズ、コンサルティングを手がけている。2001年に日本法人を設立。主な訳書に、『Amazon Web Servicesインフラサービス活用大全 システム構築/自動化、データストア、高信頼化』『Python機械学習ライブラリscikit-learn活用レシピ80+』などがある(いずれもインプレス発行)。www.quipu.co.jp
福島真太朗
現在、企業で機械学習、データマイニングの研究開発、技術開発の業務に従事。東京大学理学部物理学科卒業。東京大学大学院新領域創成科学研究科 複雑理工学専攻 修士課程修了。東京大学大学院情報理工学系研究科 数理情報学専攻 博士課程修了。博士(情報理工学)。専攻は機械学習・データマイニング・非線形力学系。
目次
はじめに
第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 参考文献