Select Language

AI Technology Community

非線形SVMアルゴリズムの原理

入力空間における非線形分類問題については、非線形変換によってある次元の特徴空間における線形分類問題に変換することができ、高次元特徴空間

で線形サポートベクターマシンを学習します。線形サポートベクターマシンの学習の双対問題では、目的関数と分類決定関数はすべてインスタンス間の内積のみに関係するため、非線形変換を明示的に指定する必要はなく代わりにカーネル関数で内積を置き換えます。カーネル関数は、非線形変換後の2つのインスタンス間の内積を表します。具体的には、 [公式] は関数、または正定カーネルであり、これは入力空間から特徴空間への写像 [公式] が存在することを意味します。任意の入力空間の [公式] に対して、

[公式]

線形サポートベクターマシンの学習の双対問題では、カーネル関数 [公式] で内積を置き換え、解を求めると非線形サポートベクターマシンが得られます

[公式]

以上の議論をまとめると、非線形サポートベクターマシンの学習アルゴリズムは以下の通りです:

入力:訓練データセット [公式] ここで、[公式][公式]

出力:分離超平面と分類決定関数

(1)適切なカーネル関数 [公式] とペナルティパラメータ [公式] を選択し、凸二次計画問題を構築して解きます

[公式]

[公式]

[公式]

最適解 [公式] を得ます

(2)計算

[公式] の1つの成分 [公式] を選択して、条件 [公式] を満たすようにし、計算します

[公式]

(3)分類決定関数:

[公式]


よく使われるカーネル関数——ガウスカーネル関数を紹介します

[公式]

対応するSVMはガウス放射基底関数分類器で、この場合、分類決定関数は

[公式]


参考文献

[1]『統計学習方法』 李航

[2]『機械学習』 周志華

[3]Python3『機械学習実践』学習ノート(八):サポートベクターマシン原理編の線形SVMの実装 Jack - Cui

[4]ラグランジュ乗数法(Lagrange Multiplier)とKKT条件の深い理解

[5]サポートベクターマシンの通俗的な入門(SVMを理解する3つのレベル)

[6]Support Vector Machines for Classification


post
  • 3

    item of content
サポートベクターマシン(Support Vector Machines, SVM)は二値分類モデルであり、その基本モデルは特徴空間上で定義された最大の間隔を持つ線形分類器です。この間隔最大化により、SVMはパーセプトロンとは区別されます。また、SVMにはカーネルトリックが含まれており、これにより実質的に非線形分類器となります。SVMの学習戦略は間隔の最大化であり、これは凸二次計画問題の解決形式として表現され、正則化されたヒンジ損失関数の最小化問題と等価です。SVMの学習アルゴリズムは凸二次計画の最適化アルゴリズムを求解するものです。