インプレス[コンピュータ・IT]ムック Python機械学習プログラミング PyTorch&scikit-learn編
インプレス / 2022年12月15日 / 全711ページ
第3版まで続くロングセラーのPyTorch版! 機械学習の基本から、PyTorchによる先進的手法まで本格解説―本書の前半は、定番の機械学習ライブラリscikit-learnによる手法を解説。基本的なモデルから単層ニューラルネットまで実装するほか、データ前処理、次元削減、ハイパーパラメータ、アンサンブル学習、回帰分析などを取り上げます。後半はPyTorchの仕組みを説明し、CNN/RNN/Transformerなどの実装を解説。GAN、グラフニューラルネットワーク、強化学習もカバー。基本の理論からPyTorchの実践まで包括的に学べる一冊です。
目次
- 商標・サンプルコード・正誤表
- 口絵
- 本書に寄せて
- 謝辞
- 著者・その他の貢献者・レビュー担当者
- はじめに
- 目次
- 第1章 「データから学習する能力」をコンピュータに与える
- 1.1 データを知識に変える「知能機械」1.2 3種類の機械学習
- 1.3 基本用語と表記法
- 1.4 機械学習システムを構築するためのロードマップ
- 1.5 機械学習にPythonを使う
- まとめ
- 第2章 分類問題―単純な機械学習アルゴリズムの訓練2.1 人工ニューロン―機械学習の前史
- 2.2 パーセプトロンの学習アルゴリズムをPythonで実装する
- 2.3 ADALINEと学習の収束
- まとめ
- 第3章 分類問題―機械学習ライブラリscikit-learnの活用
- 3.1 分類アルゴリズムの選択3.2 scikit-learn活用へのファーストステップ:パーセプトロンの訓練
- 3.3 ロジスティック回帰を使ってクラスの確率を予測するモデルの構築
- 商標・サンプルコード・正誤表
- 口絵
- 本書に寄せて
- 謝辞
- 著者・その他の貢献者・レビュー担当者
- はじめに
- 目次
- 第1章 「データから学習する能力」をコンピュータに与える
- 1.1 データを知識に変える「知能機械」1.2 3種類の機械学習
- 1.3 基本用語と表記法
- 1.4 機械学習システムを構築するためのロードマップ
- 1.5 機械学習にPythonを使う
- まとめ
- 第2章 分類問題―単純な機械学習アルゴリズムの訓練2.1 人工ニューロン―機械学習の前史
- 2.2 パーセプトロンの学習アルゴリズムをPythonで実装する
- 2.3 ADALINEと学習の収束
- まとめ
- 第3章 分類問題―機械学習ライブラリscikit-learnの活用
- 3.1 分類アルゴリズムの選択3.2 scikit-learn活用へのファーストステップ:パーセプトロンの訓練
- 3.3 ロジスティック回帰を使ってクラスの確率を予測するモデルの構築
- 3.4 サポートベクトルマシン(SVM)による最大マージン分類
- 3.5 カーネルSVMを使った非線形問題の求解
- 3.6 決定木学習
- 3.7 k最近傍法:怠惰学習アルゴリズム
- まとめ
- 第4章 データ前処理―よりよい訓練データセットの構築4.1 欠損データへの対処
- 4.2 カテゴリデータの処理
- 4.3 データセットを訓練データセットとテストデータセットに分割する
- 4.4 特徴量の尺度を揃える
- 4.5 意味のある特徴量の選択
- 4.6 ランダムフォレストで特徴量の重要度を評価する
- まとめ
- 第5章 次元削減でデータを圧縮する5.1 主成分分析(PCA)による教師なし次元削減
- 5.2 線形判別分析(LDA)による教師ありデータ圧縮
- 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 AdaBoostによる弱学習器の活用
- 7.5 勾配ブースティング:損失関数の勾配に基づいてアンサンブルを訓練する
- まとめ
- 第8章 機械学習の適用―感情分析8.1 IMDb映画レビューデータセットでのテキスト処理
- 8.2 BoWモデルの導入
- 8.3 文書を分類するためのロジスティック回帰モデルの訓練
- 8.4 さらに大規模なデータの処理:オンラインアルゴリズムとアウトオブコア学習
- 8.5 潜在ディリクレ配分(LDA)によるトピックモデルの構築
- まとめ
- 第9章 回帰分析―連続値をとる目的変数の予測9.1 線形回帰
- 9.2 Ames Housingデータセットの探索
- 9.3 最小二乗線形回帰モデルの実装
- 9.4 RANSACを使ったロバスト回帰モデルの学習
- 9.5 線形回帰モデルの性能評価
- 9.6 回帰に正則化手法を使う
- 9.7 多項式回帰:線形回帰モデルから曲線を見出す
- 9.8 ランダムフォレストを使って非線形関係に対処する
- まとめ
- 第10章 クラスタ分析―ラベルなしデータの分析
- 10.1 k-means法を使った類似度によるオブジェクトのグループ化
- 10.2 クラスタを階層木として構成する
- 10.3 DBSCANを使って高密度の領域を特定する
- まとめ
- 第11章 多層人工ニューラルネットワークを一から実装する11.1 人工ニューラルネットワークを使って複雑な関数をモデル化する
- 11.2 手書きの数字を分類する
- 11.3 人工ニューラルネットワークの訓練
- 11.4 ニューラルネットワークでの収束について
- 11.5 ニューラルネットワークの実装についての補足
- まとめ
- 第12章 ニューラルネットワークの訓練をPyTorchで並列化する12.1 PyTorchと訓練の性能
- 12.2 PyTorch:最初のステップ
- 12.3 PyTorchでの入力パイプラインの構築
- 12.4 PyTorchでのニューラルネットワークモデルの構築
- 12.5 多層ニューラルネットワークでの活性化関数の選択
- まとめ
- 第13章 PyTorchのメカニズム
- 13.1 PyTorchの主な特徴13.2 PyTorchの計算グラフ
- 13.3 PyTorchのテンソルオブジェクト:モデルパラメータの格納と更新
- 13.4 自動微分による勾配の計算
- 13.5 torch.nnモジュールを使って一般的なアーキテクチャの実装を単純化する
- 13.6 プロジェクト1:車の燃費を予測する
- 13.7 プロジェクト2:MNISTの手書きの数字を分類する
- 13.8 より高レベルなPyTorch API:PyTorch Lightning
- まとめ
- 第14章 画像の分類―ディープ畳み込みニューラルネットワーク14.1 畳み込みニューラルネットワーク(CNN)の構成要素
- 14.2 畳み込みニューラルネットワーク(CNN)を実装する
- 14.3 PyTorchを使ってディープ畳み込みニューラルネットワーク(DCNN)を実装する
- 14.4 CNNを使って顔画像で笑顔を分類する
- まとめ
- 第15章 系列データのモデル化―リカレントニューラルネットワーク15.1 系列データ
- 15.2 リカレントニューラルネットワーク(RNN):シーケンスモデルの構築
- 15.3 RNNの実装:PyTorchでのシーケンスモデルの構築
- まとめ
- 第16章 Transformer.—Attentionメカニズムによる自然言語処理の改善
- 16.1 RNNにAttentionメカニズムを追加する
- 16.2 Self-Attentionメカニズム
- 16.3 Attentionさえあれば大丈夫:オリジナルのTransformerアーキテクチャ
- 16.4 大規模な言語モデルの構築:ラベルなしデータの活用
- 16.5 PyTorchでのBERTモデルのファインチューニング
- まとめ
- 第17章 新しいデータの合成―敵対的生成ネットワーク17.1 敵対的生成ネットワーク(GAN)
- 17.2 GANを一から実装する
- 17.3 畳み込み層とワッサースタイン距離を使って合成画像の品質を改善する
- 17.4 GANのその他の用途
- まとめ
- 第18章 グラフニューラルネットワーク―グラフ構造データでの依存性の捕捉
- 18.1 グラフデータ
- 18.2 グラフ畳み込み
- 18.3 GNNをPyTorchで一から実装する
- 18.4 PyTorch Geometricライブラリを使ってGNNを実装する
- 18.5 他のGNN層と最近の開発動向
- まとめ
- 第19章 複雑な環境での意思決定―強化学習
- 19.1 はじめに:経験からの学習
- 19.2 強化学習の理論的基礎
- 19.3 強化学習のアルゴリズム
- 19.4 最初の強化学習アルゴリズムを実装する
- 本章と本書のまとめ
- 索引
- 翻訳者・監訳者・STAFF LIST
- 奥付
※このデジタル雑誌には目次に記載されているコンテンツが含まれています。それ以外のコンテンツは、本誌のコンテンツであっても含まれていません のでご注意ください。
※電子版では、紙の雑誌と内容が一部異なる場合や、掲載されないページがある場合があります。