機械学習の手法のうち「サポートベクトルマシン(SVM)」について。
目次
AI・ディープラーニングの全体像
- 人工知能
- 機械学習
- ディープラーニングの基本・応用
- ディープラーニングの研究
- AIプロジェクト
- AI社会実装に伴う法律・倫理
機械学習(教師あり学習)の手法③サポートベクトルマシン
SVMの仕組み
- 「サポートベクトルマシン(Support Vevtor Machine;SVM)」
- 二次元・三次元の関数or多次元の超平面を境界線とし、線形分離不可能なデータを、巧みな工夫によって分離できるようにする
- 「マージン最大化」→入力データを分類するための境界線と各データ点との間の最短距離を、”マージン”と定義づける
- SVMモデルを作る=マージンを最大とするよう境界線を決定すること
- 複数の特徴量で説明された2つのクラスがあるとして、その特徴量の平面上に分布している訓練データを、2つの領域にきれいに分けるための境界線を求めることが目的
- 「サポートベクトル」→法定境界から最も近い訓練データの点
※マージン→サポートベクトルと法定境界の距離を指す - 「汎化性能」→未知のデータが入力された際に、そのデータがどのクラスに分類されるのかを正しく予測できること
- 2グループ間の最も距離の離れた箇所(最大マージン)を見つけ出し、識別するための境界線を引く
- 余裕を持たせた境界線を取ることで、新しいデータがやや外れた場所に来ても、正しく予測できる可能性を高くする
- サポートベクトルと境界線との間のマージン(最短距離)は、「ヘッセの方式」を使って計算される
「ハードマージンSVM」と「ソフトマージンSVM」
ハードマージンSVM | ・誤分類を許容せず、すべてのデータ点を綺麗に分けて境界線を決める方法 →データには外れ値・異常値などのノイズがあり、綺麗に分けることは難しい |
---|---|
ソフトマージンSVM | ・誤分類を許容するようにマージンを決定する方法 ※「スラック変数」というパラメータを用い、どの程度の余裕を持たせるかを制御する |
「線形SVM」と「非線形SVM」
線形SVM | ・法定境界が線形 ・データが完全に線形分類できる状態→比較的簡単なタスク →現実には、線形分類不可能な分類問題のほうが多い |
---|---|
非線形SVM | ・法定境界が非線形 ・「カーネル法」→線形分離不可能なデータを、非線形の基底関数で表現 →高次元空間に写像(「カーネル関数」) →写像先の空間では、線形な法定境界(超平面)を綺麗に求めることが可能 (写像を利用して、線形分離可能な問題に変換) →分類結果を再び低次元に復元する ※「カーネルトリック」→計算量を著しく削減し、高速データ処理を可能にする |