サポートベクトルマシンは、データの分類、回帰、はずれ値検知など、機械学習のさまざまな場面で強力かつ柔軟性の高いモデルとして知られています。そのアルゴリズムは直観的であり数学的な曖昧さがないことから、昨今注目されている「機械学習の解釈可能性」というモデルの評価基準に照らしても有力な手法といえます。そのため、自然科学や経済学等の研究成果や経験則的な業務知識をモデルに生かすことも容易です。
本書は、サポートベクトルマシンの理論的枠組みを高校レベルの数学からやさしく展開するとともに、Pythonによるわかりやすい実装例を紹介します。また、応用上重要な非線形サポートベクトルマシンで用いられるカーネル法も、図解や具体例を通してわかりやすく解説します。
https://www.ohmsha.co.jp/book/9784274229671/
正誤表やDLデータ等がある場合はこちらに掲載しています
第1章 はじめに
第2章 数学の基礎
第3章 線形サポートベクトルマシン(線形SVM)
第4章 非線形サポートベクトルマシン(非線形SVM)
付録 Pythonの基礎
本書を読み終えた後に
第1章 はじめに
1.1 人工知能と機械学習
1.1.1 人工知能による推論
1.1.2 人工知能による学習
1.1.3 機械学習
1.2 機械学習モデル
1.2.1 モデル
1.2.2 機械学習モデル
1.3 機械学習分類モデルの作りかた
1.4 サポートベクトルマシンの概要
1.5 サポートベクトルマシンの特徴
1.6 本書の読みかた
第2章 数学の基礎
2.1 ベクトル
2.1.1 ベクトルとは何か
2.1.2 位置ベクトル
2.1.3 三角比と余弦定理
2.1.4 ベクトルの内積
2.1.5 点と直線の距離
2.1.6 Pythonでベクトル
2.2 行列
2.2.1 行列とは何か
2.2.2 行列の演算
2.2.3 転置行列
2.2.4 半正定値行列
2.2.5 Pythonで行列
2.3 関数
2.3.1 関数とは何か
2.3.2 指数関数
2.3.3 対数関数
2.3.4 Pythonで指数関数・対数関数
2.4 微分
2.4.1 平均変化率
2.4.2 微分
2.4.3 合成関数の微分
2.4.4 指数関数・対数関数の微分
2.4.5 偏微分
2.4.6 級数展開
第3章 線形サポートベクトルマシン(線形SVM)
3.1 線形SVM
3.1.1 線形ハードマージンSVM
3.1.2 線形ソフトマージンSVM
3.2 線形SVMの最適化
3.2.1 ラグランジュの未定乗数法
3.2.2 KKT条件
3.2.3 線形SVM最適化の方法
3.3 線形SVMによる分類問題の解法
3.3.1 ペンギン分類モデル
3.3.2 Pythonでペンギンの分類
3.3.3 2値分類モデルの評価
3.3.4 ペンギン分類モデルの評価
第4章 非線形サポートベクトルマシン(非線形SVM)
4.1 非線形SVM
4.1.1 カーネル法
4.1.2 カーネル関数の具体例
4.1.3 カーネル化SVMの定式化
4.2 非線形SVMの最適化
4.2.1 逐次最小最適化アルゴリズム(SMO)
4.2.2 非線形SVM最適化の方法
4.3 非線形SVMによる分類問題の解法
4.3.1 カーネル化SVMによる非線形分類モデル
4.3.2 カーネル化SVMによる分類問題の解法
4.3.3 Pythonでアヤメ分類
付録 Pythonの基礎
A.1 開発環境Colab
A.2 Python文法の要点
A.2.1 データ型
A.2.2 演算子
A.2.3 条件分岐
A.2.4 繰返し
A.2.5 組込み関数
A.2.6 関数定義
A.2.7 クラス
A.2.8 変数のスコープ
A.3 Pythonライブラリ群
A.3.1 NumPy
A.3.2 pandas
A.3.3 SymPy
A.3.4 matplotlib
A.3.5 scikit-learn
本書を読み終えた後に