13. 特徴量 1
特徴量2
サポートベクトル
サポートベクトルマージン最大化
(矢印部の長さ)
wT
x + b = 0
K2
K1
直線より下にあるデータは
クラス2に属する
直線より上にあるデータは
クラス1に属する
wT
xi + b > 0wT
xi
wT
xi + b < 0
xi ∈ K1
wT
xi xi ∈ K2
となるデータxの集合
線形分離可能なデータ
分類境界である直線(超平面)の方程式をこのように定義する
ラベル変数 ti を導入して,0より大きい形に!
ti(wT
xi + b) > 0wT
xi i = 1,2,?, n
w
幾何マージン
というよ! ?分類境界を決定する関数により分類器を定義する.
?データを完璧に分離する関数が存在するという仮定がある.
?サポートベクトルでない点は,分離直線(超平面)に全く影響を与えない.
つまり,最適解に影響はない.
ww b重み(n次元実数ベクトル) バイアス(スカラー)
線形学習マシンの数学:ハードマージン
14. 点と直線の距離 (2次元Ver)
(x1, x2)
d d =
|w1x1 + w2x2 + b|
w2
1 + w2
2
wT
xi + b = 0wT
xi
点と超平面の距離 (n次元Ver)
(x1, x2, ?, xn)
d =
|w1x1 + w2x2 + ? + wnxn + b|
w2
1 + w2
2 + ? + w2
n
n次元かけないけど,?
3次元的に,,,wT
xi + b = 0wT
xi
d
=
|wT
x + b|
||w||w
wT
x 一般化する
は,重みベクトルのノルム(長さ)を表す||w||w
n次元データ
2次元平面の
点と直線の距離
高校数学だね
線形学習マシンの数学:ハードマージン
15. 特徴量 1
特徴量2
サポートベクトル
サポートベクトル
マージン最大化
(矢印部の長さ)
wT
x + b = 0
K2
K1
2つのクラスを分ける超平面に最も近いデータ(サポートベクトル)への距離を考える
wT
x
M =
wT
x+ + b
||w||
=
?(wT
x? + b)
||w||w
wT
x
x+
x?
x
x
w
wT
x
サポートベクトル サポートベクトル
ti(wT
xi + b)
||w||
≥ MmaxM,
w, bw (i = 1,2,?, n)
wT
xi
w
この最適化問題を解く
①サポートベクトル( or )
に対してマージン最大化する
②全てのベクトル が
そのマージンよりも距離が長い
この2つの条件を満たす
xixix+x+ x?x?
線形学習マシンの数学:ハードマージン
16. ti(wT
xi + b)
||w||
≥ MmaxM,
w, bw (i = 1,2,?, n)
wT
xi
w
この最適化問題を解く
関数出力として測定される関数マージンMが変化するので,
幾何マージンを最適化するためにも,関数マージンを1にする.
その後,重みベクトルのノルムを最大化(最小化)する
M =
wT
x+ + b
||w||
=
?(wT
x? + b)
||w||w
wT
x
w
wT
x
サポートベクトル サポートベクトル
wT
x + b = 1w
ここで,両辺をMで割る
ti(wT
xi + b)
M||w||
≥ 1
ti( ?wT
xi + ?b) ≥ 1
?w =
w
M||w||
?b =
b
M||w||
全てのデータに対して,この不等式がなりたつ
wT
xi
w
wT
xi
w
w
簡単のためチルダで表しておく
?M =
ti( ?wT
xi + ?b)
|| ?w||
=
1
|| ?w||
サポートベクトル( x+ や x- )においては,
以下の等号が成立する
wT
xi
w w
(目的関数)
(制約条件)
ti( ?wT
xi + ?b) = 1wT
xi
特にサポートベクトルでは等号が成立
線形学習マシンの数学:ハードマージン
17. max
1
|| ?w||
,
?w, bw
(i = 1,2,?, n)ti( ?wT
xi + ?b) ≥ 1wT
xi
w
min
1
2
||w||2
, ti(wT
xi + b) ≥ 1wT
xi (i = 1,2,?, n)
w, bw
最大化は,逆数をとって最小化するのと等価である
最大化 → 最小化問題
w
(ノルムの二乗や1/2は計算を行いやすくするため!)
(目的関数) (制約条件)
最適化問題の最適解を求めると,
wT
x + b = 1w
ti( ?wT
xi + ?b) = 1wT
xi
は通常いくつか現れる.
これは,分類境界に最も近いベクトルであり,左図の破線上
の点に相当する
線形学習マシンの数学:ハードマージン
18. 特徴量 1
特徴量2
wT
x + b = 0
線形分離可能
K2
K1
特徴量 1特徴量2
K2
K1
線形分離不可能
wT
x + b = 0
ハードマージン ソフトマージン
ハードマージンよりも賢明なSVM
ハードマージンの持つ制約条件の緩和
SVMの取っ掛かりに良い
線形学習マシンの数学:ソフトマージン
19. K2
K1
線形分離不可能
wT
x + b = 0
wT
x + b = ? 1
wT
x + b = 1
ti(wT
xi + b) ≥ 1 ? ξiwT
xi
K1において分離する直線の
一番近いデータ(サポートベクトル)
K2において一番近いデータ
(サポートベクトル)
w, bw
線形分離可能な場合(ハードマージン)は,これの最小化問題を解くことが必要だった
min
1
2
||w||2
, ti(wT
xi + b) ≥ 1wT
xi (i = 1,2,?, n)w
等号が成立する場合
マージン
マージン内部に異なるデータが
入り込んでしまう
スラッグ変数 ξ を導入して制約を弱める
ξi = max
{
0, M ?
ti(wT
xi + b)
||w|| }
(スラッグ変数 ξ はmax関数)
wT
x
w
w x
w x
w x
グ
ザ
イ
線形学習マシンの数学:ソフトマージン
20. ξi = max
{
0, (1 ? 0.4 = 0.6)
}
ξi = max
{
0, M ?
ti(wT
xi + b)
||w|| }
wT
x
w
K2
K1
具体例を考える
wT
x + b = 0
wT
x + b = 1
マージン M
例えば,この入り込んだ
データ(点)を考える
ti(wT
xi + b)
||w||
= 0.4直線と点の距離
マージン M = 1
ξi = 0.6
ti(wT
xi + b) ≥ 1 ? ξi = 0.4wT
xi
この入り込んだデータ(点)に対しては,制約が小さくなる
w x
w x
上の具体例のように,マージンを超えてしまった点の存在を許可するためのもの
これによって,分離不可能な場合も境界の推定を可能にしている
線形学習マシンの数学:ソフトマージン
21. ti(wT
xi + b) ≥ 1wT
xi (i = 1,2,?, n)
ハードマージン
min
1
2
||w||2
w, bw
w
目的関数 制約条件
ソフトマージン
min
{
1
2
||w||2
+ C
n
∑
i=1
ξi}w, b, ξw
w
目的関数 制約条件
ti(wT
xi + b) ≥ 1 ? ξi,wT
xi
(i = 1,2,?, n)
ξi ≥ 0
C > 0:正則化係数(ペナルティの度合い)
目的関数を最小化するためには,2項のバランスを上手く取らないといけない
マージンを広げようとすると,C
n
∑
i=1
ξi の部分( ξ の総和)が大きくなるため
1よりも小さくなるので,
マージンを超えて異なるクラスに入るのを許す
マージンを広げると,第一項は小さくなるが,第二項は大きくなっていく
線形学習マシンの数学:ソフトマージン
33. L(w, b, ξ, α, β) =
1
2
||w||2
+ C
n
∑
i=1
ξi ?
n
∑
i=1
αi{ti(wT
xi + b) ? 1 + ξi} ?
n
∑
i=1
βiξiwT
xiww
max
{
?L(α) =
n
∑
i=1
αi ?
1
2
n
∑
i=1
n
∑
i=j
αiαjtitjxT
i xj}
xT
i xj
ラグランジュ関数
max
{
?L(α) =
n
∑
i=1
αi ?
1
2
n
∑
i=1
n
∑
i=j
αiαjtitj?(x)T
i ?(x)j}
?(x)T
i ?(x)j
特徴空間上への拡張
?(x) = (?1(x), ?2(x), ?, ?r(x))x x x x
内積のみのお話
問題:次元拡張により,内積の計算量が膨大
?(x)T
i ?(x)j?(x)T
i ?(x)j
特徴空間の次元数 r は,もともとの入力空間の n よりもはるかに大きい
そのため,内積 の計算がとても大変
?(x)T
i ?(x)jK(xi, xj) = ?(x)T
i ?(x)jxi, xj
カーネル関数
特徴ベクトルの内積をカーネル関数で置き換える
(言い換えると,内積の計算さえできればおk)
特徴空間への写像,カーネルの導入