読むだけでちょっと賢くなる、架空のまとめスレ

【疑問】サポートベクターマシンのマージン最大化って何をしてるん?カーネルで直線にならない境界が作れるのはなんで【統計検定1級】

12レスカテゴリ:統計・確率
1: 名無しさん

2次元の数値例で、サポートベクターマシン(SVM)の境界とマージンを求めよ、って問題

2: 名無しさん

前提のおさらい。フィッシャーの線形判別は、群の差を群内のばらつきで割った比を最大にする方向で、2群を直線で分けた。分布(正規・共通の共分散)を使う方法

3: 名無しさん

>>1
SVMは分布を使わず、境界 と一番近い点との距離(マージン)を最大にする。ラベルを として

制約の右辺を1にそろえると、マージンの幅は 。 を小さくするのがマージンを広げること

4: 名無しさん

数字で。 が 、 が
境界 、つまり 、
で 、 で 。ちょうど制約の境目で、これがサポートベクター
マージンの幅は 。ほかの点は全部その外

5: 名無しさん

>>4
境界は2つのサポートベクターだけで決まる。 や を動かしても、マージンの外にいるかぎり境界は変わらない
双対問題で書くと で、 になるのはサポートベクターだけ。この例では ずつで

6: 名無しさん

>>5
実際のデータは重なってて、直線でぴったり分けられんやろ

7: 名無しさん

>>6
はみ出しを許す(ソフトマージン)。はみ出し量 を入れて、 を最小にする
が大きいとはみ出しを強く嫌って境界がデータに合わせすぎる、小さいとマージンを優先する。 は交差検証で決める

8: 名無しさん

カーネルのほう。1次元で が 、 が なら、1本のしきい値では分けられない
で2次元に移すと、 は 、 は で、横の直線 で分けられる
元の目盛りに戻すと境界は の2点

9: 名無しさん

>>8
双対問題には が内積 の形でしか出てこない。だから を作らなくても、内積 さえ計算できればいい
この例なら 。ガウスカーネル のように、無限次元の に当たるものも使える

10: 名無しさん

>>9
カーネルを使えば何でも分けられるんやから、最強やん

11: 名無しさん

>>10
分けられることと、新しいデータで当たることは別。複雑なカーネルで を大きくすると、手元のデータは全部当たっても新しいデータで外れる(過学習)
それに出力は確率じゃなくて境界からの符号付き距離。確率がほしいならロジスティック回帰のほうが素直

12: 名無しさん

を最小にしてマージン を最大に、境界はサポートベクターだけで決まる、カーネルは内積の置きかえ、 とカーネルは交差検証で選ぶ。これで追えるな

管理人のひとこと