サポートベクトルマシンyamasita/yylab/06nhk.pdfサポートベクトルマシン...
TRANSCRIPT
. . . . . .
.
.. ..
.
.
サポートベクトルマシン
山下幸彦
東京工業大学
平成18年11月8日
山下幸彦 サポートベクトルマシン
. . . . . .
.. 本日の発表内容
確率論的学習理論の基礎
確率論的学習理論の問題設定基本不等式基本補題基本補題の証明基本不等式の証明VC次元
サポートベクトルマシン最適超平面識別器鞍点定理Karush Kuhn Tucker (KKT) condition条件サポートベクトル
サポートベクトルマシンの展開
山下幸彦 サポートベクトルマシン
. . . . . .
.. 確率論的学習理論の問題設定 (1/4)
z: パターンパターンは確率的に出現する (観測される)ものとする.F(z): 入力パターンの確率分布関数zが実数の場合,F(z)は Z ≤ zとなるパターン Zが観測される確率として定義される.関数 g(z)の zに関する期待値は,
Eg(z) ≡∫
g(z)dF(z) (1)
となる.F(z)が微分可能ならば,確率密度関数 f (x)は次のように定義される.
f (z) =dFdz
([z, z + dz]のパターンが観測される確率が f (z)dzである.)
山下幸彦 サポートベクトルマシン
. . . . . .
.. 確率論的学習理論の問題設定 (2/4)
確率密度関数を使えば,g(z)の期待値は次の式で表される.
Eg(z) =∫
g(z) f (z)dz
( f (z)でなく F(z)で表せば,サイコロの値のような離散値の場合も式 (1)で表現可能である.)パターンにはカテゴリが決まっている.入力 zに対してそのカテゴリを出力する関数 (識別関数)dα(z) (α ∈Λ)の族が与えられている.Λは識別関数を表すパラメータ αの集合.⇔識別関数はΛだけ用意されていると考える.リスク関数を次のように設定する.
R(z, y) ≡
0 (パターン zのカテゴリーが yの場合)1 そうでない場合
山下幸彦 サポートベクトルマシン
. . . . . .
.. 確率論的学習理論の問題設定 (3/4)
次の関数 Q(α, z)を定義する.
Q(α, z) ≡ R(z, dα(z)) =
0 識別関数 dα(z)の結果が正しい1 識別関数 dα(z)の結果が間違い
R(α) : 識別関数 dαのリスク期待値
R(α) = EQ(α, z) =∫
Q(α, z)dF(z)(=
∫Q(α, z) f (z)dz
)R(α)を最小にする識別関数 dαを選べば良いことになる.
山下幸彦 サポートベクトルマシン
. . . . . .
.. R(α)
R(α)は,確率分布関数 F(z)に従って得られる学習パターンにおいて,関数値 Q(α, z)が 1になる (識別関数が間違える)確率と等しい.
PQ(α, z) = 1 =∫z |Q(α,z)=1
dF(z)(=
∫z |Q(α,z)=1
f (z)dz)
=
∫Q(α, z)dF(z)
= R(α)
山下幸彦 サポートベクトルマシン
. . . . . .
.. 確率論的学習理論の問題設定 (4/4)
実際に学習するときは,有限個の学習パターンでしか評価できない.
L個の学習パターンが与えられているものとする.
z1, z2, . . . , zL
学習パターンでのカテゴリーが与えられていれば,学習パターンを使って識別関数のリスクを評価できる.
Remp(α) =1L
L∑i=1
Q(α, zi)
これを,経験的リスク (empirical risk)と呼ぶ.
山下幸彦 サポートベクトルマシン
. . . . . .
.. 確率論的学習理論の問題 (1/2)
確率論的学習理論では,この2つの違いを評価する.
R(α) =∫
Q(α, z)dF(z)
Remp(α) =1L
L∑i=1
Q(α, zi)
⇒確率分布に従い得られる学習パターンにおける関数値から, その関数の期待値を推定する問題となる.
応用:ERMの評価
.経験的リスク最小化 (ERM)原理.... ..
.
.
Remp(α)を最小にする dαを用いる.
山下幸彦 サポートベクトルマシン
. . . . . .
.. 確率論的学習理論の問題 (2/2)
学習パターンの密度は,確率密度関数 f (z)で決まる.学習パターン ziにおける Q(α, z)の値から,Q(α, z)の期待値を推定する.
山下幸彦 サポートベクトルマシン
. . . . . .
.. 期待値と上限
関数 g(z1, z2, . . . , zL)の z1, z2, . . . , zLに関する期待値:
Ez1,z2,...,zLg(z1, z2, . . . , zL)
≡∫ ∫
· · ·∫
g(z1, z2, . . . , zL)dF(z1)dF(z2) · · · dF(zL)
関数 g(z1, z2, . . . , zL)の z1, z2, . . . , zLに関する上限:
supz1,z2,...,zL
g(z1, z2, . . . , zL)
任意の分布と任意の関数 gに対して,次式が成立する.
Ez1,z2,...,zLg(z1, z2, . . . , zL) ≤ supz1,z2,...,zL
g(z1, z2, . . . , zL)
山下幸彦 サポートベクトルマシン
. . . . . .
.. Entropy,annealed entropy,growth function
Nλ(z1, z2, . . . , zL) : (z1, z2, . . . , zL)を固定し,α ∈ Λを変えたときに (Q(α, z1),Q(α, z2), . . .Q(α, zL))がとる値の種類数 (高々2L).すなわち,学習パターンを固定したときの,識別関数値の評価結果の種類数.Entropy :
HΛ(L) = Ez1,z2,...,zL ln Nλ(z1, z2, . . . , zL)
Annealed entropy :
HΛann(L) = ln Ez1,z2,...,zL Nλ(z1, z2, . . . , zL)
Growth function :
GΛ(L) = ln supz1,z2,...,zL
Nλ(z1, z2, . . . , zL)
次式が成立する.
HΛ(L) ≤ HΛann(L) ≤ GΛ(L)山下幸彦 サポートベクトルマシン
. . . . . .
.. 基本不等式
.[定理]..
.. ..
.
.
次の式が成立する.
P
supα∈Λ|R(α) − Remp(α)| > ε
< 4 exp
HΛann(2L)
L−
(ε − 1
L
)2 L
左辺は,期待値のリスクと経験的リスクの差の絶対値の αを変えたときの最大値が εより大きくなるような学習パターン (z1, z2, . . . , zL)が生じる確率を表している.HΛann(2L) < GΛ(2L)であるので,上式は HΛann(2L)をGΛ(2L)に置き換えても成立する.
山下幸彦 サポートベクトルマシン
. . . . . .
.. 基本不等式の続き
基本不等式の右辺を ηと置く.
η = 4 exp
HΛann(2L)
L−
(ε − 1
L
)2 L
これを,εについて解けば,次式が成立する.
ε =
√HΛann(2L) − ln(η/4)
L+
1L
.[系]..
.. ..
.
.
確率 1 − ηで次式が成立する.
|R(α) − Remp(α)| ≤√
HΛann(2L) − ln(η/4)L
+1L
≤√
GΛ(2L) − ln(η/4)L
+1L
山下幸彦 サポートベクトルマシン
. . . . . .
.. 基本補題
諸定義
Z2L = (z1, . . . , zL, zL+1, . . . , z2L)Z1 = (z1, . . . , zL)Z2 = (zL+1, . . . , z2L)
ν(α,Z1) =1L
L∑i=1
Q(zi, α), ν(α,Z2) =1L
2L∑i=L+1
Q(zi, α)
ρ(α,Z2L) = |ν(α,Z1) − ν(α,Z2)|
π(α,Z1) =∣∣∣∣∣∫ Q(α, z)dF − ν(α, Z1)
∣∣∣∣∣ = ∣∣∣R(α) − Remp(α))∣∣∣
.[基本補題]..
.. ..
.
.
P
supα∈Λπ(α, Z1) > ε
< 2P
supα∈Λρ(α,Z2L) > ε − 1
L
山下幸彦 サポートベクトルマシン
. . . . . .
.. 基本補題の証明 (1/4)
まず,α∗を固定して,パターンが R(α∗) > ν(α∗,Z1)を満たす場合を考える.その条件下での事象 Xの確率を,P1X = PX |R(α∗) > ν(α∗,Z1)で表せば,任意の α∗ ∈ Λに対して,次式が成立する.
P1
supα∈Λρ(α,Z2L) > ε − 1
L
≥ P1
(supα∈Λρ(α,Z2L) > ε − 1
L
)∧ (π(α∗,Z1) > ε)
≥ P1
(ρ(α∗,Z2L) > ε − 1
L
)∧ (π(α∗,Z1) > ε)
= P1
(|ν(α∗,Z1) − ν(α∗,Z2)| > ε − 1
L
)∧ (|R(α∗) − ν(α∗,Z1)| > ε)
= P1
(|ν(α∗,Z1) − ν(α∗,Z2)| > ε − 1
L
)∧ (R(α∗) − ν(α∗,Z1) > ε)
(2)
山下幸彦 サポートベクトルマシン
. . . . . .
.. 基本補題の証明 (2/4)
ここで,次の論理式が成立する.(ν(α∗,Z2) > R(α∗) − 1
L
)∧ (R(α∗) − ν(α∗,Z1) > ε)
⇒(−ν(α∗,Z1) + ν(α∗,Z2) > ε − 1
L
)∧ (R(α∗) − ν(α∗,Z1) > ε)
⇒(|ν(α∗,Z1) − ν(α∗,Z2)| > ε − 1
L
)∧ (R(α∗) − ν(α∗,Z1) > ε)
この関係から,上式の最後の条件が成立する確率が,最初の条件が成立する確率よりも大きいことがわかる:
P1
(|ν(α∗,Z1) − ν(α∗,Z2)| > ε − 1
L
)∧ (R(α∗) − ν(α∗,Z1) > ε)
≥ P1
(ν(α∗,Z2) > R(α∗) − 1
L
)∧ (π(α∗,Z1) > ε)
山下幸彦 サポートベクトルマシン
. . . . . .
.. 基本補題の証明 (3/4)
ここで,Z1と Z2が独立にサンプルされているため次式が成立する.
P1
(ν(α∗,Z2) > R(α∗) − 1
L
)∧ (π(α∗,Z1) > ε)
= P1
(ν(α∗,Z2) > R(α∗) − 1
L
)· P1 (π(α∗,Z1) > ε)
1つのサンプル点 zにおいて,Q(α∗, z)が 1になる確率は,R(α∗)である.従って,上式右辺の1番目の確率は,表が出る確率がR(α∗)のコインの試行を L回行うとき,LR(α∗) − 1回以上,表が出る確率と等しい.
この確率は,1/2より大きい.
山下幸彦 サポートベクトルマシン
. . . . . .
.. 基本補題の証明 (4/4)
これらの関係より次式が成立する.
P1
supα∈Λρ(α,Z2L) > ε − 1
L
>
12
P1 (π(α∗,Z1) > ε)
次に,R(α∗) ≤ ν(α∗,Z1)の場合を考える.その条件下での確率を,P2で表すと,条件 ν(α∗,Z2) < R(α∗) + 1
L を考えることによって,
P2
supα∈Λρ(α,Z2L) > ε − 1
L
>
12
P2 (π(α∗,Z1) > ε)
が同様にして証明できる.さらに,PR(α∗) > ν(α∗, Z1) + PR(α∗) ≤ ν(α∗,Z1) = 1と,任意の条件 Xに対して,
P1X·PR(α∗) > ν(α∗,Z1)+P2X·PR(α∗) ≤ ν(α∗, Z1) = PX
となるので,補題が証明される.山下幸彦 サポートベクトルマシン
. . . . . .
.. 基本不等式の証明 (1/7)
Tiで 2L個のサンプル点の並び替える演算を表す.(i = 1, 2, . . . , (2L)!)独立にサンプルされているので,並び替えても確率は変わらない:
P
supα∈Λρ(α,Z2L) > ε − 1
L
= P
supα∈Λρ(α,TiZ2L) > ε − 1
L
サンプル点 Z2Lが決まったとき,α ∈ Λを変えたときの,Q(α, z1),Q(α, z2), . . . ,Q(α, z2L)の値のとり方は,全部で,NΛ(z1, · · · , z2L)種類である.その代表元の集合をΛ∗(Z2L)で表す.Λ∗(Z2L)の要素数は,NΛ(z1, · · · , z2L)である.
山下幸彦 サポートベクトルマシン
. . . . . .
.. 基本不等式の証明 (2/7)
θ(x)を以下のようにおく (ステップ関数).
θ(x) =
1 (x > 0)0 (x ≤ 0)
一般に,次の式が成立する.
Ph(z) > 0 =∫z | h(z)>0
dF(z) =∫θ(h(x))dF(z) = E[θ(h(x))]
従って,次の式が成立する.
P
supα∈Λρ(α,Z2L) > ε − 1
L
=
1(2L)!
(2L)!∑i=1
P
supα∈Λ∗(Z2L)
ρ(α,TiZ2L) > ε − 1L
山下幸彦 サポートベクトルマシン
. . . . . .
.. 基本不等式の証明 (3/7)
=1
(2L)!
(2L)!∑i=1
P
supα∈Λ∗(Z2L)
ρ(α,TiZ2L) − ε + 1L> 0
=
1(2L)!
(2L)!∑i=1
Eθ sup
α∈Λ∗(Z2L)ρ(α,TiZ2L) − ε + 1
L
≤ 1
(2L)!
(2L)!∑i=1
E
∑α∈Λ∗(Z2L)
θ
(ρ(α, TiZ2L) − ε + 1
L
)= E
∑α∈Λ∗(Z2L)
1(2L)!
(2L)!∑i=1
θ
(ρ(α, TiZ2L) − ε + 1
L
)山下幸彦 サポートベクトルマシン
. . . . . .
.. 基本不等式の証明 (4/7)
いま,Q(α, z1),Q(α, z2), . . . ,Q(α, z2L)の中のm個だけがQ(α, zi)が 1で,他は 0になっているものとする.定義より,ρ(α, Z2L)は次のように表される.
ρ(α,Z2L) =
∣∣∣∣∣∣∣1LL∑
i=1
Q(zi, α) − 1L
2L∑i=L+1
Q(zi, α)
∣∣∣∣∣∣∣ (3)
式 (3)の第 1項の Q(zi, α)に 1が k個,第 2項の Q(zi, α)に 1がm − k個存在するものとする.このとき,次式が成立する.
ρ(α,Z2L) =∣∣∣∣∣ kL − m − k
L
∣∣∣∣∣山下幸彦 サポートベクトルマシン
. . . . . .
.. 基本不等式の証明 (5/7)
従って,Tiで学習パターンを並び替えたとき,
θ
(ρ(α,TiZ2L) − ε + 1
L
)が 1になるための必要十分条件は,∣∣∣∣∣ kL − m − k
L
∣∣∣∣∣ > ε − 1L
を満たす k個だけ,ρ(α,TiZ2L)における 1番めの和の中の Q(zi, α)に 1が現れることである.
nCkで,n個から kを取り出す組み合わせを表すことにする.
山下幸彦 サポートベクトルマシン
. . . . . .
.. 基本不等式の証明 (6/7)
K =
k∣∣∣∣∣ ∣∣∣∣∣ kL − m − k
L
∣∣∣∣∣ > ε − 1L
整数の集合 Kを上のようにおけば,次式が成立する.
1(2L)!
(2L)!∑i=1
θ
(ρ(α,TiZ2L) − ε + 1
L
)=
∑k∈K
mCk 2L−mCL−k
2LCL
この右辺は,それぞれが区別できるm個の赤い玉と2L − m個の青い玉を,2つの袋に L個ずつ分けるときに,第 1の袋に Kに属する k個,赤い玉を入れるときの場合の数を (2L)!で割ったものである.帰納的に次式が証明できる.(mによらず成立する.)∑
k∈K
mCk 2L−mCL−k
2LCL< 2 exp
−(ε − 1
L
)2
L
山下幸彦 サポートベクトルマシン
. . . . . .
.. 基本不等式の証明 (7/7)
まとめると,次式が成立し,基本不等式が証明できる.
P
supα∈Λ|R(α) − Remp(α)| > ε
≤ 2P
supα∈Λρ(α,Z2L) > ε − 1
L
≤ 2E
∑α∈Λ∗(Z2L)
1(2L)!
(2L)!∑i=1
θ
(ρ(α,TiZ2L) − ε + 1
L
)< 2E
∑α∈Λ∗(Z2L)
2 exp
−(ε − 1
L
)2
L
= 4E[NΛ(z1, . . . , z2L)
]exp
−(ε − 1
L
)2
L
= 4 exp
HΛann(2L)
L−
(ε − 1
L
)2 L
山下幸彦 サポートベクトルマシン
. . . . . .
.. VC (Vapnik-Chervonenkis)次元
識別関数の集合に関するGrowth function
GΛ(L) = ln supz1,...,zL
NΛ(z1, . . . , zL)
に関して以下の関係が成立する..定理..
.. ..
.
.
任意の自然数 Lに対して,GΛ(L) = L ln 2が成立するか,ある整数 h(VC次元)が存在して次式が成立する.
GΛ(L)= L ln 2 (L ≤ h)≤ ln
(∑hi=0 LCi
)(L > h)
サンプル点数が h以下の場合は,0, 1の値の任意の組み合わせをサンプル点における値とする識別関数が存在する.
山下幸彦 サポートベクトルマシン
. . . . . .
.. VC次元の定理の補題.補題..
.. ..
.
.
NΛ(z1, z2, . . . , zL) >h∑
i=0LCi
が成立するならば,サンプル点の部分列 z∗1, z∗2, . . . , z
∗h+1 が存
在して,NΛ(z∗1, z
∗2, . . . , z
∗h+1) = 2h+1
となる.
この補題より,もしGΛ(L) = ln 2Lでないとすれば,
GΛ(h) < ln 2h+1
となる最小の hに対して,定理が成立することが分かる.
山下幸彦 サポートベクトルマシン
. . . . . .
.. VC次元と基本不等式
Λに VC次元 hが定義される場合,次式が成立する.
HΛann(L) ≤ GΛ(L) ≤ ln
h∑i=1
LCi
≤ h(1 + ln
Lh
)従って,次の定理と系が成立する..定理..
.. ..
.
.
P
supα∈Λ|R(α) − Remp(α)| > ε
< 4 exp
h(1 + ln(2L/h))
L−
(ε − 1
L
)2 L
山下幸彦 サポートベクトルマシン
. . . . . .
.. VC次元とリスク
.系..
.. ..
.
.
確率 1 − ηで次式が成立する.
R(α) − Remp(α) ≤√
h(1 + ln(2L/h)) − ln(η/4)L
山下幸彦 サポートベクトルマシン
. . . . . .
.. 最適超平面識別器 (OHC)
OHC : 2クラス識別器2つのクラスは,+1,−1にラベル付けされている.Ω+1,Ω−1 : ラベルが +1,−1であるパターンの集合OHCの識別関数は,ベクトル wとスカラー θに対して,以下のように定義される.
d(z) = 〈w, z〉 + θ (4)
入力ベクトル zに対して,識別規則は以下のように示される.
d(z) > 0 zを +1と識別する.d(z) < 0 zを −1と識別する.
識別境界は,wに垂直な超平面になる.zl, ylLl=1 : 学習データzl : 学習パターン. yl : そのラベル.
山下幸彦 サポートベクトルマシン
. . . . . .
.. マージン
まず,zl, ylLl=1 が線型分離可能とする.⇔ wが θ存在して,次式が成立すること.
d(zl) ≥ 1 if yl = 1d(zl) ≤ −1 if yl = −1
(d(z) = 〈w, z〉 + θ).これは,次のように書き換えることができる.
yl d(zl) ≥ 1
yl (〈w, zl〉 + θ) ≥ 1 (5)
d(z)のマージンは,d(z) = 1および d(z) = −1で決まる超平面間の距離の 1/2として定義され,次式で与えられる.
M =1‖w‖
山下幸彦 サポートベクトルマシン
. . . . . .
.. 超平面識別器
山下幸彦 サポートベクトルマシン
. . . . . .
.. マージン最大化
山下幸彦 サポートベクトルマシン
. . . . . .
.. 最適超平面識別器の評価基準
.最適超平面識別器の評価基準..
.. ..
.
.
制約条件:
yl(〈w, zl〉 + θ) − 1 ≥ 0 (l = 1, 2, . . . L)
最小化:‖w‖2
学習パターンを完全に識別できるものの中で,
マージンを最大化する.
山下幸彦 サポートベクトルマシン
. . . . . .
.. 線形識別器とVC次元
n次元空間の超平面識別器の全体の VC次元:n + 1
山下幸彦 サポートベクトルマシン
. . . . . .
.. マージンとVC次元
パターンのノルムが限られているとき,マージンを大きくすると VC次元が低くなる.
山下幸彦 サポートベクトルマシン
. . . . . .
.. ソフトマージン
現実的には,学習データは線型分離不可能である.
また,少数の学習データに対して誤認識が生じても,マージンを大きくした方がよい場合がある.
誤差を表すスラック変数 ξl ≥ 0 (l = 1, 2, . . . , L)を導入して,以下のように分離条件を緩める.
yl(〈w, zl〉 + θ) ≥ 1 − ξl. (6)
もし ξl = 0ならば,eq.(6)は eq.(5)と等価である.もし ξl > 0ならば,zlへの条件が緩められる.
特に,ξl > 1ならば,この学習パターンに対しては,誤認識することになる.
誤りが大きくなりすぎないようにするために,ξlを小さくするような項を最適化条件に導入する.
山下幸彦 サポートベクトルマシン
. . . . . .
.. ソフトマージン
山下幸彦 サポートベクトルマシン
. . . . . .
.. マージン最大化 (ソフトマージンを導入しないとき)
山下幸彦 サポートベクトルマシン
. . . . . .
.. 可能解がない場合 (ソフトマージンを導入しないとき)
山下幸彦 サポートベクトルマシン
. . . . . .
.. ソフトマージンを導入時の最適化問題
.最適化問題..
.. ..
.
.
制約条件:
yl(〈w, zl〉 + θ) − 1 + ξl ≥ 0 (7)ξl ≥ 0 (8)
最小化:12‖w‖2 +C
L∑l=1
ξl (9)
ここで,Cは定数である.
Cを小さくすると,誤差を許容する方向になる.Cを大きくすると,誤差を許さない方向になる.
山下幸彦 サポートベクトルマシン
. . . . . .
.. 不等式制約最適化問題
.不等式制約最適化問題..
.. ..
.
.
変数: x = (x1, x2, . . . , xm)制約条件: g1(x) ≥ 0, g2(x) ≥ 0, . . . gm(x) ≥ 0最小化する関数: f (x)
.ラグランジュ関数..
.. ..
.
.
J(x1, . . . , xn, λ1, . . . , λm)= f (x1, · · · , xn) − λ1g1(x1, . . . , xn) − . . . − λmgm(x1, . . . , xn)
山下幸彦 サポートベクトルマシン
. . . . . .
.. 制約不等式の書き換え.定理..
.. ..
.
.
上記の不等式制約最適化問題の解は,次式で与えられる.
minx1,...,xn
maxλ1≥0,...,λm≥0
J(x1, . . . , xn, λ1, . . . , λm)
.注意.... ..
.
.変数の数は増えたが,制約条件は簡単になった.
(証明)
maxλ1≥0,...,λm≥0
J(x1, . . . , xn, λ1, . . . , λm)
=
f (x1, · · · , xn) (g1(x) ≥ 0, g2(x) ≥ 0, . . . gm(x) ≥ 0)∞ (それ以外)
が成立する.従って,上式を x1, · · · , xnについて最小化することを考えれば,定理が成立する.
山下幸彦 サポートベクトルマシン
. . . . . .
.. 鞍点定理.鞍点定理..
.. ..
.
.
minx1,...,xn
maxλ1≥0,...,λm≥0
J(x1, . . . , xn, λ1, . . . , λm)
= maxλ1≥0,...,λm≥0
minx1,...,xn
J(x1, . . . , xn, λ1, . . . , λm).
.注意..
.. ..
.
.
最大化と最小化を入れ替えることができる.
xが離散値の場合は成立しない.
x \ λ 1 2 maxλ1 0.3 0.5 0.52 0.7 0.4 0.7
minx maxλ = 0.5minx 0.3 0.4 maxλminx = 0.4
山下幸彦 サポートベクトルマシン
. . . . . .
.. 鞍点定理の様子
山下幸彦 サポートベクトルマシン
. . . . . .
.. 最適超平面識別器の主問題から双対問題への変換 (1/4)
αk,µkをラグランジュの未定係数とする.ラングランジュ関数
LP =12‖w‖2 +C
L∑k=1
ξk −L∑
k=1
µkξk −L∑
k=1
αkyk(〈w, zk〉+ θ)− 1+ ξk
に対して,
minw, θ, ξ
maxα≥0, µ≥0
LP = maxα≥0, µ≥0
minw, θ, ξ
LP
を考えれば良い.ここで,α ≥ 0,µ ≥ 0は,α1 ≥ 0, . . . , αL ≥ 0,µ1 ≥ 0, . . . , µL ≥ 0を意味している.
最初の w = (w1, . . . ,wN),θ,ξ = (ξ1, . . . ξL)の最小化については,制約がないので,偏微分したものを 0と置けば良い.
山下幸彦 サポートベクトルマシン
. . . . . .
.. 最適超平面識別器の主問題から双対問題への変換 (2/4)
従って,
∂LP
∂wn= wn −
L∑k=1
αkyk(zk)n = 0 (10)
∂LP
∂θ= −
L∑k=1
αkyk = 0 (11)
∂LP
∂ξl= C − µl − αl = 0 (12)
が成立する.
山下幸彦 サポートベクトルマシン
. . . . . .
.. 最適超平面識別器の主問題から双対問題への変換 (3/4)
これを LPに代入すれば,次式が得られる.
LP =12
⟨ L∑l=1
αlyl zl,
L∑k=1
αkyk zk
⟩+
L∑k=1
ξk(C − µk − αk)
−L∑
k=1
αkyk
⟨ L∑l=1
αlyl zl, zk
⟩−
L∑k=1
αkykθ +
L∑k=1
αk
=
L∑k=1
αk −12
L∑l=1
L∑k=1
αlαkykyl〈zl, zk 〉 ≡ LD (13)
従って,式 (10),(11),(12)のもとで,
maxα≥0, µ≥0
LD
を考えればよい.山下幸彦 サポートベクトルマシン
. . . . . .
.. 最適超平面識別器の主問題から双対問題への変換 (4/4)
LDの変数が αlだけであるので,制約条件は簡単になる.
式 (10) (wn −∑L
k=1 αkyk(zk)n = 0)は,wnが LDの変数でなく,制約もないので LDの最大化の制約条件にならない (求まった,αlに対して,wnを与える).式 (11) (−∑L
k=1 αkyk = 0)は,そのまま制約条件として残る.
式 (12) (C − µl − αl = 0)は,µlが LDの変数ではないが,µl ≤ 0という制約のために,αlに対して制約
αl ≤ C
が課される.(求まった αlから µlが求まる).
山下幸彦 サポートベクトルマシン
. . . . . .
.. 最適超平面識別器の双対問題
制約条件:
0 ≤ αl ≤ C,L∑
l=1
αlyl = 0 (l = 1, 2, . . . L) (14)
最大化:
LD =
L∑l
αl −12
L∑l=1
L∑k=1
αlαkylyk〈zl, zk〉 (15)
最適化問題の変数は αlだけになる.最適化する変数の次元がサンプル点数次元になった.識別器を構成する wは,式 (10)より次式で求まる.
w =L∑
k=1
αkyk zk
θは,KKT条件を使って求める.山下幸彦 サポートベクトルマシン
. . . . . .
.. ラグランジュの未定係数法 (等式条件)
制約条件: g1(x1, x2, · · · , xn) = 0,
· · ·gm(x1, x2, · · · , xn) = 0,
最小化:f (x1, x2, · · · , xn)
.定理 (ラグランジュの未定係数法)..
.. ..
.
.
(x1, · · · , xm)が制約条件下での極値ならば,ラグランジュ関数
J(x1, . . . , xn, λ1, . . . , λm)= f (x1, · · · , xn) − λ1g1(x1, · · · , xn) − · · · − λmgm(x1, · · · , xn)
の,x1, . . . , xn, λ1, . . . , λm に関する偏微分は 0である.
山下幸彦 サポートベクトルマシン
. . . . . .
.. ラグランジュの未定係数法 (2次元,制約 1つ)
ラグランジュ関数は,
J(x1, x2) = f (x1, x2) − λg(x1, x2)
となり,定理より次の式が得られる.
∂J∂x1
=∂ f∂x1− λ ∂g∂x1= 0
∂J∂x2
=∂ f∂x2− λ ∂g∂x2= 0
∂J∂λ= g(x1, x2) = 0
次のように表すことができる.
∇ f − λ∇g = 0g(x1, x2) = 0
山下幸彦 サポートベクトルマシン
. . . . . .
.. ラグランジュの未定係数法
山下幸彦 サポートベクトルマシン
. . . . . .
.. ラグランジュの未定係数法
山下幸彦 サポートベクトルマシン
. . . . . .
.. 不等式制約最適化問題
制約条件: g1(x1, x2, · · · , xn) ≥ 0,
· · ·gm(x1, x2, · · · , xn) ≥ 0,
最小化:f (x1, x2, · · · , xn)
同様に,ラグランジュ係数 λ1, · · · , . . . , λmに対して,ラグランジュ関数
J(x1, . . . , xn, λ1, . . . , λm)= f (x1, · · · , xn) − λ1g1(x1, · · · , xn) − · · · − λmgm(x1, · · · , xn)
を定義する.
山下幸彦 サポートベクトルマシン
. . . . . .
.. Karush Kuhn Tucker (KKT) condition条件.定理..
.. ..
.
.
(x1, · · · , xm)が,制約条件のもとでの f の極値ならば,次の関係が成立する.
∂J∂xi= 0 (i = 1, 2, . . . , n)
λ1 ≥ 0,· · ·λm ≥ 0,g1(x1, x2, · · · , xn) ≥ 0,· · ·gm(x1, x2, · · · , xn) ≥ 0,λ1g1(x1, x2, · · · , xn) = 0,· · ·λmgm(x1, x2, · · · , xn) = 0.
山下幸彦 サポートベクトルマシン
. . . . . .
.. KKT条件 (λ > 0)
山下幸彦 サポートベクトルマシン
. . . . . .
.. KKT条件 (λ = 0)
山下幸彦 サポートベクトルマシン
. . . . . .
.. 最適超平面識別器のKKT条件
∂LP
∂wn= wn −
L∑k=1
αkyk(zk)n = 0
∂LP
∂θ= −
L∑k=1
αkyk = 0
∂LP
∂ξl= C − µl − αl = 0
yl(〈w, zl〉 + θ) − 1 + ξl ≥ 0ξl ≥ 0
αl ≥ 0, µl ≥ 0αlyl(〈w, zl〉 + θ) − 1 + ξl = 0 (16)
µlξl = 0
山下幸彦 サポートベクトルマシン
. . . . . .
.. KKT条件より分かること
0 < αl < Cの場合0 < µl < Cより,ξl = 0となり,yl(〈w, zl〉 + θ) − 1 = 0となる.⇒ zlはマージンのための境界上の点.このような点をサポートベクトル (SV)と呼ぶ.SVを使って,θが求まる.
θ = −〈w, zl〉 + yl
αl = 0の場合µl = Cより,ξl = 0となり,yl(〈w, zl〉+ θ)− 1 ≥ 0となる.⇒ zlはマージン領域外側の正しい半空間の点である.
αl = Cの場合µl = 0より,ξl ≥ 0となり,yl(〈w, xl〉 + θ) − 1 + ξl = 0となる.⇒ xlはマージン領域内側または間違った半空間の点である.αl > 0を満たす xlを SVと呼ぶこともある.
山下幸彦 サポートベクトルマシン
. . . . . .
.. サポートベクトルマシン
SV’ : αl > 0となる zlの全体識別関数は以下のようになる.
d(x) =L∑
k=1
αkyk〈zk, x〉 + θ
=∑
xk∈SV′αkyk〈zk, x〉 + θ
和は,すべての学習パターンに対するものでなく,サポートベクトルに対する和になる.⇒(線形)サポートベクトルマシン認識時の計算量を軽減できる.
山下幸彦 サポートベクトルマシン
. . . . . .
.. カーネル法
認識率を向上させるために,非線型写像Φによって,パターンを高い (無限)次元の空間に写像した後に識別を行う.識別性能が向上する例
Φ((x1, x2)) = (x21, x
22,√
2x1x2,√
2x1,√
2x2, 1)
山下幸彦 サポートベクトルマシン
. . . . . .
.. カーネル法
一般に非線型写像Φ(x)を計算することは非常に大変である.
非線型写像Φ自体を計算しなくても,その像に対する内積
〈Φ(x),Φ(z)〉 = k(x, z)
だけが計算できれば,識別器を構成し認識を行うことができる場合が多い.
先の例Φ((x1, x2)) = (x21, x
22,√
2x1x2,√
2x1,√
2x2, 1):
k(x, z) = 〈Φ(x),Φ(z)〉= x2
1z21 + x2
2z22 + 2x1x2z1z2 + 2x1z1 + 2x2z2 + 1
= (x1z1 + x2z2 + 1)2
= (〈x, z〉 + 1)2
山下幸彦 サポートベクトルマシン
. . . . . .
.. Mercerカーネル関数 (1/2)
.Mercerカーネル関数..
.. ..
.
.
対称:k(x, z) = k(z, x)半正定値:任意の関数 h(z)に対して次式が成立する.∫ ∫
k(x, z)h(x)h(z)dxdz ≥ 0
.定理..
.. ..
.
.
k(x, y)Mercerカーネル関数ならば,
〈Φ(x),Φ(z)〉 = k(x, z)
を満たす,Φ(x)が存在する.
山下幸彦 サポートベクトルマシン
. . . . . .
.. Mercerカーネル関数 (2/2)
.カーネル法..
.. ..
.
.
Mercerの条件を満たすカーネル関数を決めれば,高次元写像を計算しなくても,写像したベクトルの内積が計算できる.
内積が計算できれば,多くの識別手法が適用可能である.
そのような識別手法を非線型なものに拡張できる.
カーネル関数の例:
線形カーネル k(x, z) = 〈x, z〉多項式カーネル k(x, z) = (〈x, z〉 + 1)20
ガウスカーネル k(x, z) = exp‖x − z‖2/(2σ2)
山下幸彦 サポートベクトルマシン
. . . . . .
.. サポートベクトルマシン
(線形)サポートベクトルマシンでは,学習評価基準,識別規則ともにパターンの内積だけで表されている.⇒カーネル法が適用可能
制約条件:
0 ≤ αl ≤ C,L∑
l=1
αlyl = 0 (l = 1, 2, . . . L),
最大化関数:
LD =
L∑l
αl −12
L∑l=1
L∑k=1
αlαkylykk(zl, zk)
識別関数:d(z) =
∑zl∈S V ′
αlylk(zl, z) + θ
山下幸彦 サポートベクトルマシン
. . . . . .
.. サポートベクトルマシンの性能
RBF-Net AdaBoost R SVM KFDBanana 10.76 ± 0.42 10.85 ± 0.42 11.53 ± 0.66 10.75 ± 0.45B.Cancer 27.64 ± 4.71 26.51 ± 4.47 26.04 ± 4.74 24.77 ± 4.63Diabetes 24.29 ± 1.88 23.79 ± 1.80 23.53 ± 1.73 23.21 ± 1.63German 24.71 ± 2.38 24.34 ± 2.08 23.61 ± 2.07 23.71 ± 2.20Heart 17.55 ± 3.25 16.47 ± 3.51 15.95 ± 3.26 16.14 ± 3.39Ringnorm 1.70 ± 0.21 1.58 ± 0.12 1.66 ± 0.12 1.49 ± 0.12F.Solar 34.37 ± 1.95 34.20 ± 2.18 32.43 ± 1.82 33.16 ± 1.72Splice 9.95 ± 0.78 9.50 ± 0.65 10.88 ± 0.66 10.52 ± 0.64Thyroid 4.52 ± 2.12 4.55 ± 2.19 4.80 ± 2.19 4.20 ± 2.07Titanic 23.26 ± 1.34 22.64 ± 1.20 22.42 ± 1.02 23.25 ± 2.05Twonorm 2.85 ± 0.28 2.70 ± 0.24 2.96 ± 0.23 2.61 ± 0.15Waveform 10.66 ± 1.08 9.79 ± 0.81 9.88 ± 0.43 9.86 ± 0.44
http://ida.first.fraunhofer.de/
山下幸彦 サポートベクトルマシン
. . . . . .
.. サポートベクトルマシンの特徴
かなり良い認識性能を発揮する.
認識にかかる時間はRBFや KFDなどに比べると短い.
SVMでは,サポートベクトルとの計算になる.その他の場合では,全データに対して計算する必要がある.
学習にかかる時間は長い.⇐ 2次計画法を解かなくてはいけないため.近似計算によって学習時の計算量を減らすことができる.
SVM Light (ソフトウエアの名前)で比較的簡単に実験ができる.
山下幸彦 サポートベクトルマシン
. . . . . .
.. サポートベクトルマシンの展開
2クラス問題から他クラス問題への拡張⇒様々な分野のパターン認識に応用可能
文字認識画像認識
回帰 (関数近似)カーネル関数の値だけがわかれば良い.⇒広い分野に応用可能
文書分類スパムメール
山下幸彦 サポートベクトルマシン
. . . . . .
.. 文書のためのカーネル関数 (1/3)
Bag of words : 文書中の単語の出現率をベクトルとする.economicsの単語数文書中の単語数
companyの単語数文書中の単語数
...
’the’や’of’のような単語は利用しない.計算するときに,実際にベクトルを作成することはない(出現しない単語が多い).
山下幸彦 サポートベクトルマシン
. . . . . .
.. 文書のためのカーネル関数 (2/3)
単語を使う方法の問題点
単語の順番の情報が使われない.
活用などの知識を使う必要がある.
日本語では形態素解析が必要.
n-gram例;”his is a pen.” の 3-gram.
文を,’Thi’, ’his’, ’is ’, ’s i’, ’ is’, ’is ’, ’s a’, ’ a ’, ’a p’, ’ pe’,’pen’, ’en.’と分解する.それぞれの 3文字要素の数をベクトルとする.
山下幸彦 サポートベクトルマシン
. . . . . .
.. 文書のためのカーネル関数 (3/3)
String sub-sequence kernel (SSK) (Lodhi el at., 2002)
kn(s, t) =∑u∈Σn
∑i : u=s[i]
∑j : u=t[ j]
λl(i)+l( j)
例:k3(‘Is this a radio.’, ‘It is rainy today.’)u = ’tsr’とする.例えば,“Is this a radio.”,“It was rainy yesterday.” は和の条件を満たす.この場合は,l(i) = 8,l( j) = 6kn(s, t)の和の中に,λ14が含まれる.“Is this a radio.”,“It is rainy yesterday.”に関しても和をとる.さらに,アルファベット 3文字のすべての組み合わせに対して和をとる (u).
山下幸彦 サポートベクトルマシン
. . . . . .
.. サポートベクトルマシン@山下研 (1/2)
.通常のカーネル関数..
.. ..
.
.k(x, z) = 〈Φ(x),Φ(z)〉.非対称カーネル関数..
.. ..
.
.k(x, z) = 〈Φ1(x),Φ2(z)〉
学習時に,次のカーネル関数も必要になる.
k1(x, z) = 〈Φ1(x),Φ1(z)〉
.非対称カーネル法.... ..
.
.k(x, z)と k1(x, z)を与えて,学習を識別を行う認識手法
山下幸彦 サポートベクトルマシン
. . . . . .
.. サポートベクトルマシン@山下研
可変カーネル法への応用
識別に必要となる複雑さは場所によって異なる.
学習パターンに対してはパラメータを決めることは可能
未知の入力パターンに対しては困難.⇒学習パターンと未知入力パターンで異なる高次元写像を 用いる.⇒非対称カーネル関数が必要となる.
k(zl, z) = 〈Φ(zl, σl),Φ(z, σ0)〉d(z) =
∑zl∈S V ′
αlylk(zl, z) + θ
山下幸彦 サポートベクトルマシン
. . . . . .
.. 非対称カーネルSVM
山下幸彦 サポートベクトルマシン
. . . . . .
.. これからのパターン認識について思うこと
基礎理論は重要だけれど.個人用途はいまのところは難しい.
「ばか」はうざいだけ.いない方がよいと思ってしまう.MS Officeのイルカなど
とりあえずは産業用途ばかとはさみは使いようと思うことができる用途製品検査:大量・画一的自動郵便番号区分機には,区分する機械のためにさらに有用性が増している.
日本の情報産業の最後の砦?⇒がんばっていきましょう.
山下幸彦 サポートベクトルマシン
. . . . . .
.. VC次元の定理の補題
.補題..
.. ..
.
.
NΛ(z1, z2, . . . , zL) >h∑
i=0LCi
が成立するならば,サンプル点の部分列 z∗1, z∗2, . . . , z
∗h+1 が存
在して,NΛ(z∗1, z
∗2, . . . , z
∗h+1) = 2h+1
となる.
ϕ(n, L) =n−1∑i=0
LCi
とおく.ここで,i > Lのとき, LCi = 0とする.
山下幸彦 サポートベクトルマシン
. . . . . .
.. VC次元の補題の証明
次の式は明らかである.
ϕ(1, L) = LC0 = 1
また,L < nの場合,
ϕ(n, L) =n−1∑i=0
LCi =
L∑i=0
LCi = (1 + 1)L = 2L
となる.組み合わせの式から,
LCi = L−1Ci + L−1Ci−1
となるので,
ϕ(n, L) = ϕ(n, L − 1) + ϕ(n − 1, L − 1)
が成立する.山下幸彦 サポートベクトルマシン
. . . . . .
.. VC次元の補題の証明
n = h + 1とし,補題を nについて証明する. まず,n = 1のときを考える.もし,
NΛ(z1, . . . , zL) > ϕ(1, L) = 1
ならば,少なくとも 1つの z∗ ∈ z1, . . . , zLに対して,
Q(z∗, α0) = 0, Q(z∗, α1) = 1
となる α0, α1 ∈ Λが存在する.従って,
NΛ(z∗) = 2
となり,補題が成立する.
山下幸彦 サポートベクトルマシン
. . . . . .
.. VC次元の補題の証明
次に,n ≤ n0のとき,任意の Lと任意のΛに対して補題が成立するものとし,n = n0 + 1のときを考える. L < n0 + 1ならば,補題の仮定部分は,
NΛ(z1, . . . , zL) > ϕ(n0 + 1, L) = 2L
となるが,NΛ(z1, . . . , zL)は高々2Lであるため,この補題の仮定部分が成立しない.従って,補題は成立する. 従って,L ≤ L0の場合には,任意のΛに対して補題が成立するものとし,L = L0 + 1の場合を考える.このときの補題の仮定部分
NΛ(z1, . . . , zL0+1) > ϕ(n0 + 1, L0 + 1)
は成立しているものとする.
山下幸彦 サポートベクトルマシン
. . . . . .
.. VC次元の補題の証明
次の場合分けを行う.case 1 : NΛ(z1, . . . , zL0) > ϕ(n0 + 1, L0)case 2 : NΛ(z1, . . . , zL0) ≤ ϕ(n0 + 1, L0)
case 1の場合は,帰納法の仮定から,n = n0 + 1,L = L0
の場合は補題が成立するので,
NΛ(z∗1, . . . , z∗n0+1) = 2n0+1
となる z∗1, . . . , z∗n0+1が,z1, . . . , zL0(⊂ z1, . . . , zL0 , zL0+1)に含
まれ,補題が成立することになる. case 2の場合を考える.Λの (Q(z1, α), . . . ,Q(zL0 , α))の値に対する同値類を考える.すなわち,
Λ = Λ1 ∪ Λ2 ∪ · · · ∪ ΛNΛ(z1,...,zL0 )
と分割したとき,α, β ∈ Λi (i = 1, 2, . . . ,ΛNΛ(z1,...,zL0 ))ならば,任意の j = 1, 2, . . . , L0に対して,Q(z j, α) = Q(z j, β)が成立する.
山下幸彦 サポートベクトルマシン
. . . . . .
.. VC次元の補題の証明
次に,K1 Q(zL0+1, α) , Q(zL0+1, β)となる,α, βを含むΛiの数K2 任意の α, β ∈ Λiに対して,Q(zL0+1, α) = Q(zL0+1, β)
となるΛiの数とおけば次の関係が成立する.
NΛ(z1, . . . , zL0) = K1 + K2
NΛ(z1, . . . , zL0 , zL0+1) = 2K1 + K2
従って,次式が成立する.
NΛ(z1, . . . , zL0 , zL0+1) = K1 + NΛ(z1, . . . , zL0)
山下幸彦 サポートベクトルマシン
. . . . . .
.. VC次元の補題の証明
K1の条件を満たすΛiから 1つずつ要素 αiを取り出し,それを集めた集合をΛ∗とする.Λiの決め方から,Λ∗の各要素に対する (Q(z1, α), . . . ,Q(zL0 , α))の値は異なる.従って,
NΛ∗(z1, . . . , zL0) = K1
となる. K1 > ϕ(n0, L0)の場合は,帰納法の仮定から補題が成立し,部分列 z∗1, . . . , z
∗n0が存在して,
NΛ∗(z∗1, . . . , z
∗n0
) = 2n0
となる.さらに,K1の決め方から,
2n0+1 ≥ NΛ(z∗1, . . . , z∗n0, zL0+1) ≥ 2NΛ
∗(z∗1, . . . , z
∗n0
) = 2n0+1
となり,補題が成立する.山下幸彦 サポートベクトルマシン
. . . . . .
.. VC次元の補題の証明
K1 ≤ ϕ(n0, L0)の場合は,case 2の条件から,
NΛ(z1, . . . , zL0 , zL0+1) = K1 + NΛ(z1, . . . , zL0)≤ ϕ(n0, L0) + ϕ(n0 + 1, L0)= ϕ(n0 + 1, L0 + 1)
となり,補題の仮定部分が成立していないことになるので,補題は成立することになる. 従って,数学的帰納法より補題が成立する.
山下幸彦 サポートベクトルマシン
. . . . . .
.. 参考文献
Vladimir N. Vapnik, “Statistical Learning Theory,” Wiley,New-York, 1998.K.-R. Muller and S. Mika and G. Ratsch and K. Tsudaand B. Scholkopf, “An Introduction to Kernel-BasedLearning Algorithms,” IEEE Transactions on NeuralNetworks, Vol.12, No.2, pp. 181–201, 2001.
山下幸彦 サポートベクトルマシン