機械学習の手法③

機械学習の手法のうち「サポートベクトルマシン(SVM)」について。

目次

AI・ディープラーニングの全体像

  • 人工知能
  • 機械学習
  • ディープラーニングの基本・応用
  • ディープラーニングの研究
  • AIプロジェクト
  • AI社会実装に伴う法律・倫理

機械学習(教師あり学習)の手法③サポートベクトルマシン

SVMの仕組み

  • 「サポートベクトルマシン(Support Vevtor Machine;SVM)」
  • 二次元・三次元の関数or多次元の超平面を境界線とし、線形分離不可能なデータを、巧みな工夫によって分離できるようにする
  • 「マージン最大化」入力データを分類するための境界線と各データ点との間の最短距離を、”マージン”と定義づける
  • SVMモデルを作る=マージンを最大とするよう境界線を決定すること
  • 複数の特徴量で説明された2つのクラスがあるとして、その特徴量の平面上に分布している訓練データを、2つの領域にきれいに分けるための境界線を求めることが目的
  • 「サポートベクトル」法定境界から最も近い訓練データの点
    ※マージン→サポートベクトルと法定境界の距離を指す
  • 「汎化性能」未知のデータが入力された際に、そのデータがどのクラスに分類されるのかを正しく予測できること
  • 2グループ間の最も距離の離れた箇所(最大マージン)を見つけ出し、識別するための境界線を引く
  • 余裕を持たせた境界線を取ることで、新しいデータがやや外れた場所に来ても、正しく予測できる可能性を高くする
  • サポートベクトルと境界線との間のマージン(最短距離)は、「ヘッセの方式」を使って計算される

「ハードマージンSVM」と「ソフトマージンSVM」

ハードマージンSVM誤分類を許容せず、すべてのデータ点を綺麗に分けて境界線を決める方法
→データには外れ値・異常値などのノイズがあり、綺麗に分けることは難しい
ソフトマージンSVM誤分類を許容するようにマージンを決定する方法
「スラック変数」というパラメータを用い、どの程度の余裕を持たせるかを制御する

「線形SVM」と「非線形SVM」

線形SVM法定境界が線形
・データが完全に線形分類できる状態→比較的簡単なタスク
現実には、線形分類不可能な分類問題のほうが多い
非線形SVM法定境界が非線形
「カーネル法」→線形分離不可能なデータを、非線形の基底関数で表現
高次元空間に写像(「カーネル関数」
→写像先の空間では、線形な法定境界(超平面)を綺麗に求めることが可能
(写像を利用して、線形分離可能な問題に変換)
→分類結果を再び低次元に復元する
「カーネルトリック」計算量を著しく削減し、高速データ処理を可能にする

この記事が気に入ったら
いいね または フォローしてね!

  • URLをコピーしました!
目次