第1章 線形単回帰分析
1.1 回帰分析の概要
1.2 機械学習の概要
1.3 線形単回帰分析
1.4 決定係数
1.5 ウォーミングアップ
1.6 SciPyによる線形単回帰分析
1.7 Pythonによる単回帰分析の実装
第2章 多項式回帰
2.1 多項式回帰
2.2 ヘッセ行列と極値
2.3 訓練データとテストデータ
2.4 過学習と正則化
2.5 モデルの性能評価
2.6 ウォーミングアップ
2.7 Pythonによる多項式回帰の実装
2.8 NumPyによる多項式回帰
2.9 過学習と未学習の例
2.10 scikit-learnによる多項式回帰
第3章 重回帰分析
3.1 重回帰分析
3.2 自由度調整済み決定係数
3.3 多重共線性
3.4 カリフォルニア住宅価格データセットの利用
3.5 学習と評価
3.6 scikit-learnによる重回帰分析
3.7 Pythonによる重回帰分析の実装
第4章 ロジスティック回帰による2値分類
4.1 ロジスティック回帰の原理
4.2 オッズと結果の解釈
4.3 statsmodelsによるロジスティック回帰
4.4 ウォーミングアップ
4.5 Pythonによるロジスティック回帰の実装
第5章 ソフトマックス回帰による多値分類
5.1 One-VS-Rest
5.2 One-VS-One
5.3 ソフトマックス回帰
5.4 ソフトマックス関数に関する注意
5.5 ソフトマックス回帰の行列表現
5.6 勾配降下法
5.7 ウォーミングアップ
5.8 scikit-learnによる多クラス分類
5.9 Mlxtendによる分類結果の可視化
5.10 散布図行列の作成
5.11 Pythonによるソフトマックス回帰の実装
第6章 決定木
6.1 決定木の概要
6.2 情報利得と不純度
6.3 ランダムフォレスト
6.4 ブースティング
6.5 ウォーミングアップ
6.6 scikit-learnによる決定木の実装
6.7 scikit-learnによるランダムフォレストの実装
6.8 Pythonによる決定木の実装
第7章 ナイーブベイズ分類
7.1 ナイーブベイズ分類
7.2 文書分類
7.3 TF-IDF
7.4 頻度0問題
7.5 ガウシアンナイーブベイズ分類
7.6 2値分類の性能評価
7.7 ROC曲線とAUC
7.8 多クラス分類の性能評価
7.9 scikit-learnによるガウシアンナイーブベイズ分類器
7.10 scikit-learnによる多項分布ナイーブベイズ分類器
7.11 ガウシアンナイーブベイズ分類器の実装
第8章 k近傍法とk-means法
8.1 パラメトリックモデルとノンパラメトリックモデル
8.2 k近傍法
8.3 k-means法
8.4 ウォーミングアップ
8.5 scikit-learnによるk近傍法
8.6 scikit-learnによるk-means法
8.7 k-means法の実装
第9章 主成分分析
9.1 共分散行列
9.2 主成分分析と分散
9.3 主成分分析の方法
9.4 寄与率
9.5 scikit-learnによる主成分分析
9.6 主成分分析の実装
第10章 サポートベクトルマシン(SVM)
10.1 ハードマージンSVMの定式化
10.2 KKT条件
10.3 勾配降下法を用いたαの推定
10.4 分離超平面のパラメータw,bの計算
10.5 ソフトマージンSVM
10.6 ウォーミングアップ
10.7 標準化を行う際の注意点
10.8 scikit-learnを用いた線形SVMの実装
10.9 ハードマージン線形SVMの実装
第11章 カーネルSVM
11.1 カーネルSVMの原理
11.2 カーネル主成分分析(Kernel PCA)
11.3 ハイパーパラメータの探索方法
11.4 白色化
11.5 ウォーミングアップ
11.6 scikit-learnを用いたカーネルSVM
11.7 カーネルSVMの実装
第12章 深層学習入門
12.1 人工ニューラルネットワーク
12.2 活性化関数
12.3 バックプロパゲーション
12.4 学習と確率的勾配降下法
12.5 勾配の計算
12.6 出力層におけるδkの計算
12.7 順伝播と逆伝播の計算の行列表示
12.8 勾配消失問題について
12.9 PyTorchのインストール
12.10 PyTorchによる深層学習の実装
12.11 Pythonによる深層学習(分類)の実装
第13章 畳み込みニューラルネットワーク(CNN)
13.1 CNNの概要
13.2 畳み込み層
13.3 プーリング層
13.4 全結合層
13.5 データ拡張
13.6 学習テクニック
13.7 CNNの学習
13.8 CIFAR-10画像の読み込み
13.9 PyTorchによるCNNの実装
第14章 再帰型ニューラルネットワーク(RNN)
14.1 RNNの概要
14.2 RNN層の順伝播
14.3 出力層の順伝播
14.4 RNN層の逆伝播
14.5 出力層の逆伝播
14.6 重みの初期値
14.7 RNNの問題点
14.8 PyTorchを用いたRNNの実装
14.9 PythonによるRNN実装
課題略解
参考文献
索引
1.1 回帰分析の概要
1.2 機械学習の概要
1.3 線形単回帰分析
1.4 決定係数
1.5 ウォーミングアップ
1.6 SciPyによる線形単回帰分析
1.7 Pythonによる単回帰分析の実装
第2章 多項式回帰
2.1 多項式回帰
2.2 ヘッセ行列と極値
2.3 訓練データとテストデータ
2.4 過学習と正則化
2.5 モデルの性能評価
2.6 ウォーミングアップ
2.7 Pythonによる多項式回帰の実装
2.8 NumPyによる多項式回帰
2.9 過学習と未学習の例
2.10 scikit-learnによる多項式回帰
第3章 重回帰分析
3.1 重回帰分析
3.2 自由度調整済み決定係数
3.3 多重共線性
3.4 カリフォルニア住宅価格データセットの利用
3.5 学習と評価
3.6 scikit-learnによる重回帰分析
3.7 Pythonによる重回帰分析の実装
第4章 ロジスティック回帰による2値分類
4.1 ロジスティック回帰の原理
4.2 オッズと結果の解釈
4.3 statsmodelsによるロジスティック回帰
4.4 ウォーミングアップ
4.5 Pythonによるロジスティック回帰の実装
第5章 ソフトマックス回帰による多値分類
5.1 One-VS-Rest
5.2 One-VS-One
5.3 ソフトマックス回帰
5.4 ソフトマックス関数に関する注意
5.5 ソフトマックス回帰の行列表現
5.6 勾配降下法
5.7 ウォーミングアップ
5.8 scikit-learnによる多クラス分類
5.9 Mlxtendによる分類結果の可視化
5.10 散布図行列の作成
5.11 Pythonによるソフトマックス回帰の実装
第6章 決定木
6.1 決定木の概要
6.2 情報利得と不純度
6.3 ランダムフォレスト
6.4 ブースティング
6.5 ウォーミングアップ
6.6 scikit-learnによる決定木の実装
6.7 scikit-learnによるランダムフォレストの実装
6.8 Pythonによる決定木の実装
第7章 ナイーブベイズ分類
7.1 ナイーブベイズ分類
7.2 文書分類
7.3 TF-IDF
7.4 頻度0問題
7.5 ガウシアンナイーブベイズ分類
7.6 2値分類の性能評価
7.7 ROC曲線とAUC
7.8 多クラス分類の性能評価
7.9 scikit-learnによるガウシアンナイーブベイズ分類器
7.10 scikit-learnによる多項分布ナイーブベイズ分類器
7.11 ガウシアンナイーブベイズ分類器の実装
第8章 k近傍法とk-means法
8.1 パラメトリックモデルとノンパラメトリックモデル
8.2 k近傍法
8.3 k-means法
8.4 ウォーミングアップ
8.5 scikit-learnによるk近傍法
8.6 scikit-learnによるk-means法
8.7 k-means法の実装
第9章 主成分分析
9.1 共分散行列
9.2 主成分分析と分散
9.3 主成分分析の方法
9.4 寄与率
9.5 scikit-learnによる主成分分析
9.6 主成分分析の実装
第10章 サポートベクトルマシン(SVM)
10.1 ハードマージンSVMの定式化
10.2 KKT条件
10.3 勾配降下法を用いたαの推定
10.4 分離超平面のパラメータw,bの計算
10.5 ソフトマージンSVM
10.6 ウォーミングアップ
10.7 標準化を行う際の注意点
10.8 scikit-learnを用いた線形SVMの実装
10.9 ハードマージン線形SVMの実装
第11章 カーネルSVM
11.1 カーネルSVMの原理
11.2 カーネル主成分分析(Kernel PCA)
11.3 ハイパーパラメータの探索方法
11.4 白色化
11.5 ウォーミングアップ
11.6 scikit-learnを用いたカーネルSVM
11.7 カーネルSVMの実装
第12章 深層学習入門
12.1 人工ニューラルネットワーク
12.2 活性化関数
12.3 バックプロパゲーション
12.4 学習と確率的勾配降下法
12.5 勾配の計算
12.6 出力層におけるδkの計算
12.7 順伝播と逆伝播の計算の行列表示
12.8 勾配消失問題について
12.9 PyTorchのインストール
12.10 PyTorchによる深層学習の実装
12.11 Pythonによる深層学習(分類)の実装
第13章 畳み込みニューラルネットワーク(CNN)
13.1 CNNの概要
13.2 畳み込み層
13.3 プーリング層
13.4 全結合層
13.5 データ拡張
13.6 学習テクニック
13.7 CNNの学習
13.8 CIFAR-10画像の読み込み
13.9 PyTorchによるCNNの実装
第14章 再帰型ニューラルネットワーク(RNN)
14.1 RNNの概要
14.2 RNN層の順伝播
14.3 出力層の順伝播
14.4 RNN層の逆伝播
14.5 出力層の逆伝播
14.6 重みの初期値
14.7 RNNの問題点
14.8 PyTorchを用いたRNNの実装
14.9 PythonによるRNN実装
課題略解
参考文献
索引