この章の目標
- マージン最大化をハードマージン・ソフトマージン SVM として定式化し、KKT 条件から双対問題を導ける
- 相補性条件からサポートベクトルの意味を説明し、小さいデータで SVM の解を確かめられる
- 正定値カーネルの構成法を証明し、ガウスカーネルが正定値であることを示せる
- 再生核ヒルベルト空間を説明し、表現定理を証明できる
- カーネルリッジ回帰の閉形式を導き、計算量とハイパーパラメータの注意を説明できる
前提:23-optimization 第4章(KKT 条件・ラグランジュ双対)、02-linear-algebra 第8章(正定値行列)、第2章(リッジ回帰)。4.5 節以降では 02-linear-algebra 第7章 の実対称行列の対角化と直交分解を使う(ヒルベルト空間の一般論は 10-functional-analysis 第2章)。
製品の測定値から良品か不良品かを判定したい。訓練データを分ける超平面が無数にあるとき、どれを選ぶべきか。サポートベクトルマシン (support vector machine, SVM) の答えは「両側のデータから最も離れたもの」である。これは凸二次計画で、双対問題を導くと、解が少数のデータ(サポートベクトル)だけで決まり、データが内積を通してしか現れないことがわかる。
後者を使うと、内積をカーネルに取り替えるだけで、高次元(無限次元でもよい)の特徴空間での線形な方法を、その座標を計算せずに実行できる。どんな関数がカーネルになるか(正定値性)、背後の関数空間(再生核ヒルベルト空間)、無限次元の最適化が有限次元に帰着する理由(表現定理)を順に見る。
訓練データを (x1,y1),…,(xn,yn)(xi∈Rd)とし、2 値分類のラベルは yi∈{+1,−1} とする(第2章のロジスティック回帰の {0,1} とは異なる)。f(x)=w⊤x+b の符号で予測する。転置は A⊤ と書く(02-linear-algebra の tA)。
4.1 マージン最大化
補題 4.1(点と超平面の距離)w=0 のとき、点 x と超平面 H={z∣w⊤z+b=0} の距離は ∣w⊤x+b∣/∥w∥ である。
証明. z0=x−∥w∥2w⊤x+bw∈H で、z∈H なら w⊤(z0−z)=0、x−z0 は w の定数倍なので、ピタゴラスの定理より ∥x−z∥2=∥x−z0∥2+∥z0−z∥2≥∥x−z0∥2=(w⊤x+b)2/∥w∥2。□
定義 4.2(線形分離可能・マージン)すべての i で yi(w⊤xi+b)>0 となる (w,b) があるとき、データは線形分離可能 (linearly separable) であるという。w=0 に対し γ(w,b)=miniyi(w⊤xi+b)/∥w∥ を (w,b) のマージン (margin) という。
(w,b) がデータを分離していれば、γ(w,b) は超平面と最も近いデータ点の距離である(補題 4.1)。マージンが大きいほど、小さな揺れで判定が変わりにくい。(w,b) を正の定数倍しても γ は変わらないので、miniyi(w⊤xi+b)=1 と正規化すれば γ=1/∥w∥ で、マージン最大化は次の問題になる。
命題 4.3(ハードマージン SVM)データは線形分離可能で、両方のラベルを含むとする。制約 yi(w⊤xi+b)≥1(i=1,…,n)のもとで 21∥w∥2 を最小化する問題 (P) をハードマージン SVM という。(P) はただ一つの最適解 (w∗,b∗) をもち、w∗=0 で、γ(w∗,b∗)=1/∥w∗∥ は w=0 であるすべての (w,b) のマージンの最大値である。マージンを最大にする (w,b) は (w∗,b∗) の正の定数倍に限る。
証明. 分離する (w,b) を m=miniyi(w⊤xi+b)>0 で割れば実行可能で、実行可能なら w=0(w=0 なら両方のラベルで yib≥1 となる)。最適解の存在は 23-optimization 第4章 4.7 節の応用例「サポートベクターマシンの双対問題」で示した。一意性:最適解の w1=w2 があれば、中点は実行可能で ∥(w1+w2)/2∥2=(∥w1∥2+∥w2∥2)/2−∥w1−w2∥2/4 が最適値より小さい。w=w∗ で実行可能な b が 2 つあれば、その間の b ではすべての制約が狭義で、m=miniyi(w∗⊤xi+b)>1 として (w∗/m,b/m) がより小さい値を与える。同じ理由で miniyi(w∗⊤xi+b∗)=1。最後に γ(w,b)>0 なら、m=γ(w,b)∥w∥ として (w/m,b/m) が実行可能なので ∥w∗∥≤∥w∥/m、すなわち γ(w,b)≤1/∥w∗∥。等号なら ∥w/m∥=∥w∗∥ で (w/m,b/m) も最適解なので、一意性より (w,b)=m(w∗,b∗)。□
4.2 双対問題とサポートベクトル
(P) のラグランジュ関数は、乗数 αi≥0 について
L(w,b,α)=21∥w∥2−i=1∑nαi(yi(w⊤xi+b)−1)
である。双対関数 g(α)=infw,bL は、∑iαiyi=0 なら b を動かして −∞ になり、∑iαiyi=0 なら L は w の狭義凸な二次関数で w=∑iαiyixi で最小になるので
g(α)=i=1∑nαi−21i=1∑nj=1∑nαiαjyiyjxi⊤xj
である。αi≥0, ∑iαiyi=0 のもとで g(α) を最大化する問題を (D) とする。
定理 4.4(ハードマージン SVM の双対性)命題 4.3 の仮定のもとで、次が成り立つ。
- (D) は最適解をもち、(P) と (D) の最適値は一致する。
- (D) の任意の最適解 α∗ について w∗=∑iαi∗yixi であり、相補性条件 αi∗(yi(w∗⊤xi+b∗)−1)=0(すべての i)が成り立つ。αj∗>0 となる j が存在し、b∗=yj−w∗⊤xj である。
- 逆に、(P) の実行可能解 (w,b) と α≥0 が w=∑iαiyixi, ∑iαiyi=0 と相補性条件を満たせば、(w,b) は (P) の、α は (D) の最適解である。
証明. 3:(P) の実行可能解 (w′,b′) について、αi≥0 と制約から
21∥w′∥2≥L(w′,b′,α)≥g(α)=L(w,b,α)=21∥w∥2
(w が L(⋅,b,α) の最小点であることと相補性条件による)。よって (w,b) は最適で、(D) の実行可能解 α′ も同様に g(α′)≤21∥w∥2=g(α)(弱双対性)を満たすので α も最適である。
1:(P) の制約は 1 次式なので、最適解 (w∗,b∗) で KKT 条件を満たす乗数 α∗≥0 が存在する(23-optimization 第4章 命題 4.5)。KKT 条件は 3 の条件そのものなので、3 より α∗ は (D) の最適解で、最適値は一致する。
2:(D) の任意の最適解 α について、1 より
21∥w∗∥2=g(α)≤L(w∗,b∗,α)=21∥w∗∥2−i∑αi(yi(w∗⊤xi+b∗)−1)≤21∥w∗∥2
で等号が成り立つ。和の各項は 0 以上なので相補性条件が従い、(w∗,b∗) は L(⋅,⋅,α) の最小点なので w∗=∑iαiyixi。w∗=0 より αj>0 の j があり、yj(w∗⊤xj+b∗)=1 に yj を掛ければよい。□
定義 4.5(サポートベクトル)(D) の最適解 α∗ について、αi∗>0 となるデータ点 xi をサポートベクトル (support vector) という。
相補性条件より、サポートベクトルはマージンの境界 yif(xi)=1 上にあり、分類器 f(x)=∑iαi∗yixi⊤x+b∗ はそれだけで決まる。境界上でも αi∗=0 の点はありうる(どの点がサポートベクトルかは α∗ によりうる)。
命題 4.6 (D) の最適解 α∗ について αi∗=0 となるデータをいくつ取り除いても、(P) の最適解は変わらない。
証明. 残ったデータの (P) について (w∗,b∗) は実行可能で、残った αi∗ は定理 4.4 の 3 の条件を満たす(取り除いた項は 0)。残ったデータは ∑iαi∗yi=0, α∗=0 より両方のラベルを含むので、定理 4.4 の 3 と命題 4.3 の一意性から従う。□
例 4.7 ラベル +1 の (1,3),(3,1),(3,3) とラベル −1 の (1,1),(0,0),(1,−1) を順に x1,…,x6 とする。w=(1,1), b=−3, α=(1/2,1/2,0,1,0,0) は ∑iαiyi=0, ∑iαiyixi=21(1,3)+21(3,1)−(1,1)=(1,1) を満たし、yif(xi) は順に 1,1,3,1,3,3 なので実行可能で相補性条件も成り立つ。定理 4.4 の 3 よりこれが最適解である(双対問題を数値的に解いても同じ解を得る)。決定境界は z1+z2=3、マージンは 1/2、サポートベクトルは x1,x2,x4、最適値は 21∥w∥2=1=g(α) である。
4.3 ソフトマージン SVM
実際のデータは線形分離できないことが多く、分離できても 1 点の外れ値でマージンが大きく変わる。そこで制約の違反 ξi≥0 を許し、その総量に罰則をつける。
定義 4.8(ソフトマージン SVM)C>0 について、制約 yi(w⊤xi+b)≥1−ξi, ξi≥0(i=1,…,n)のもとで 21∥w∥2+C∑iξi を最小化する問題 (PC) をソフトマージン SVM という。
(w,b) を固定すると最適な ξi は max(0,1−yif(xi)) なので、(PC) は次と同値である。
w,bmin 21∥w∥2+Ci=1∑nℓhinge(yi(w⊤xi+b)),ℓhinge(t)=max(0,1−t)
ℓhinge をヒンジ損失 (hinge loss) という。全体を Cn で割れば、ヒンジ損失の経験リスクに正則化項 2Cn1∥w∥2 を加えた正則化つき経験リスク最小化(第1章 定義 1.20)であり、C が大きいほど正則化は弱い(C→∞ でハードマージンに近づき、外れ値に引きずられやすくなる。正則化の強さ λ∝1/C で指定するソフトウェアもあるので向きに注意)。ヒンジ損失は凸で、0-1 損失 1{t≤0} 以上である。
定理 4.9(ソフトマージン SVM の双対問題)両方のラベルがあるとする。(PC) は最適解をもち、w∗ は一意である。双対問題は、0≤αi≤C, ∑iαiyi=0 のもとで (D) と同じ g(α) を最大化する問題で、最適値は一致する。双対問題の任意の最適解 α∗ について w∗=∑iαi∗yixi であり、主問題の任意の最適解について mi=yi(w∗⊤xi+b∗) とおくと
- αi∗=0 なら mi≥1、0<αi∗<C なら mi=1、αi∗=C なら mi≤1 である。
- したがって mi>1 なら αi∗=0、mi<1 なら αi∗=C。0<αj∗<C の j があれば b∗=yj−w∗⊤xj。
証明. ヒンジ損失の形の目的関数は連続かつ強圧的(∥w∥→∞ なら 21∥w∥2 が、w が有界で ∣b∣→∞ なら一方のラベルのヒンジ損失が発散する)なので最小値をもち(23-optimization 第1章 定理 1.11)、w∗ の一意性は命題 4.3 と同じ。ξi≥0 の乗数を μi≥0 とすると、ラグランジュ関数の ξi の係数 C−αi−μi が 0 でなければ下限は −∞ なので、双対関数が有限なのは μi=C−αi≥0 のときで、値は g(α)。残りは定理 4.4 と同様で、主・双対の最適解の組は相補性条件 αi∗(mi−1+ξi∗)=0, (C−αi∗)ξi∗=0 を満たす(逆に KKT 条件を満たす組は最適)。αi∗<C なら ξi∗=0 で mi≥1、さらに αi∗>0 なら mi=1。αi∗=C なら mi=1−ξi∗≤1。2 番目の項目の前半はこの対偶で、b∗ の式は mj=1 から従う。□
例 4.10(外れ値)例 4.7 のデータにラベル −1 の点 x7=(2,2) を加える。x7 は x1,x2 の中点なので、f(x1),f(x2)>0 となる 1 次式では f(x7)>0 で、線形分離できない。C=2 では α∗=(3/2,3/2,0,1,0,0,2), w∗=(1,1), b∗=−3 が最適で(mi=1,1,3,1,3,3,−1 から KKT 条件を確かめられる)、例 4.7 と同じ分類器になり、外れ値は α7∗=C で誤分類される。C=1/4 では w∗=(1/3,1/3), b∗=−1, α∗=(1/4,1/4,1/36,1/4,1/36,0,1/4) で、マージンは 3 倍の 3/2 に広がり、x1,x2,x4,x7 がマージンの内側(αi∗=C)、x3,x5 が境界上(0<αi∗<C)になる(x6 も境界上だが α6∗=0)。C=1/2 では αi∗ がすべて 0 か C で、b∗ が一意に定まらない(問題 4.3)。
4.4 カーネルトリック
双対問題と分類器 f(x)=∑iαi∗yixi⊤x+b∗ には、データが内積 xi⊤xj, xi⊤x を通してしか現れない。そこで写像 φ で内積空間 H(特徴空間, feature space)へ写してから SVM を使えば、必要なのは k(x,z)=⟨φ(x),φ(z)⟩ だけで、φ(x) 自体は計算しなくてよい。双対問題の xi⊤xj を k(xi,xj) に、分類器を f(x)=∑iαi∗yik(xi,x)+b∗ に置き換えればよい。これをカーネルトリック (kernel trick)、k をカーネル (kernel) という。
例 4.11(多項式カーネル)d=2、x=(s,t) で φ(x)=(s2,2st,t2,2cs,2ct,c)(c≥0)なら ⟨φ(x),φ(x′)⟩=(x⊤x′+c)2。一般に (x⊤z+c)m(c>0)は次数 m 以下の単項式による (md+m) 次元の特徴写像に対応し(d=100, m=3 で 176851 次元)、計算は内積 1 回分ですむ。
例 4.12(XOR)ラベル +1 の (1,1),(−1,−1) とラベル −1 の (1,−1),(−1,1) は(どちらも中点が原点なので)線形分離できない。カーネル (1+x⊤x′)2 のハードマージン SVM では、グラム行列は対角成分 9、他の成分 1 で、すべての αi を a とすると双対の目的関数は 4a−16a2、最大は a=1/8。x=(s,t) について 81∑iyi(1+xi⊤x)2=st なので、b=0 とすれば f(x)=st で全点が境界上にあり、特徴空間で定理 4.4 の 3 の条件が成り立つ。分類器は座標の積の符号である。
4.5 正定値カーネル
どんな関数でもカーネルになるわけではない。双対問題の目的関数が凹であるには、(yiyjk(xi,xj)) が半正定値でなければならない。
定義 4.13(正定値カーネル)集合 X 上の対称な関数 k:X×X→R が、任意の n、x1,…,xn∈X、c∈Rn について ∑i,jcicjk(xi,xj)≥0 を満たすとき、正定値カーネル (positive definite kernel) という。つまり、どの有限個の点でもグラム行列 K=(k(xi,xj))i,j が半正定値である。
行列の用語では「半正定値」にあたるが、カーネルでは「正定値」と呼ぶのが標準である。相異なる点のグラム行列が常に正定値なら狭義正定値という。
命題 4.14 (1) 内積空間 H への写像 φ について、k(x,z)=⟨φ(x),φ(z)⟩ は正定値カーネルである。(2) 正定値カーネルは k(x,x)≥0, k(x,z)2≤k(x,x)k(z,z) を満たす。
証明. (1) ∑i,jcicj⟨φ(xi),φ(xj)⟩=∥∑iciφ(xi)∥2≥0。(2) 1 点と 2 点のグラム行列が半正定値で、後者の行列式(固有値の積)が 0 以上であることによる。□
定理 4.15(正定値カーネルの構成)k1,k2 を X 上の正定値カーネルとする。次も正定値カーネルである。
- ak1+bk2(a,b≥0)と、定数 c0≥0。
- 積 k1(x,z)k2(x,z)。
- 正定値カーネルの列 k(m) がすべての (x,z) で収束するときの極限 limmk(m)(x,z)。
- 任意の関数 g:X→R について g(x)k1(x,z)g(z)。
- am≥0 で ∑m≥0amk1(x,z)m がすべての (x,z) で収束するときの和。特に exp(k1(x,z))。
証明. 点 x1,…,xn と c∈Rn を固定し、k1,k2 のグラム行列を K1,K2 とする。1:c⊤(aK1+bK2)c≥0。定数のグラム行列は c011⊤ で、c0(∑ici)2≥0。2(シューアの積定理):積のグラム行列は成分ごとの積 K1∘K2 である。K2=∑lλlvlvl⊤(λl≥0、02-linear-algebra 第7章 定理 7.32)と書き、ul=(ci(vl)i)i とおくと
c⊤(K1∘K2)c=i,j∑cicj(K1)ijl∑λl(vl)i(vl)j=l∑λlul⊤K1ul≥0
3:有限和 ∑i,jcicjk(m)(xi,xj)≥0 の極限も 0 以上。4:ci′=cig(xi) とおけば k1 の 2 次形式。5:1 と 2 より部分和 ∑m≤Mamk1m は正定値(k10=1)で、3 より和も正定値。exp は am=1/m! の場合。□
系 4.16(ガウスカーネル)σ>0 について、Rd 上のガウスカーネル k(x,z)=exp(−∥x−z∥2/(2σ2)) は正定値である。多項式カーネル (x⊤z+c)m(c≥0, m∈N)も正定値である。
証明. ∥x−z∥2=∥x∥2−2x⊤z+∥z∥2 より k(x,z)=g(x)exp(x⊤z/σ2)g(z)(g(x)=exp(−∥x∥2/(2σ2)))。x⊤z/σ2 は命題 4.14 (1)、その指数は定理 4.15 の 5、全体は 4 により正定値。多項式カーネルは 1 と 2 による。□
ガウスカーネルは狭義正定値でもあり(問題 4.7)、相異なる点の φ(x1),…,φ(xn) はどんな特徴写像でも一次独立になる(∥∑iciφ(xi)∥2=c⊤Kc)ので、特徴空間は無限次元である。
例 4.17(正定値でない例)k(x,z)=∥x−z∥2 では、相異なる 2 点のグラム行列は対角成分 0、非対角成分 a>0 で、固有値 −a をもつ。k(x,z)=tanh(x⊤z−1) は k(0,0)=tanh(−1)<0 で命題 4.14 (2) に反する(tanh(κx⊤z+θ) の形の「シグモイドカーネル」は一般に正定値でない)。数値で調べるときはグラム行列の最小固有値を見るが、半正定値でも丸め誤差で小さい負の値が出るので、最大固有値に比べて十分小さい負の値は 0 とみなす。
4.6 再生核ヒルベルト空間
正定値カーネルには、それを内積として実現する標準的な関数空間が付随する。
定義 4.18(再生核ヒルベルト空間)X 上の実数値関数からなるヒルベルト空間(完備な内積空間)H と k:X×X→R が、(i) すべての x で k(⋅,x)∈H、(ii) すべての f∈H, x で f(x)=⟨f,k(⋅,x)⟩H(再生性, reproducing property)を満たすとき、k を H の再生核 (reproducing kernel)、H を再生核ヒルベルト空間 (reproducing kernel Hilbert space, RKHS) という。
(ii) で f=k(⋅,z) とすると k(x,z)=⟨k(⋅,z),k(⋅,x)⟩H なので、再生核は特徴写像 φ(x)=k(⋅,x) の内積で、正定値である(命題 4.14)。逆も成り立つ。
定理 4.19(ムーア–アロンシャインの定理, Moore–Aronszajn theorem)X 上の任意の正定値カーネル k に対し、k を再生核とする再生核ヒルベルト空間 Hk がただ一つ存在する。∑i=1maik(⋅,xi) の形の関数全体は Hk で稠密で、その内積は ⟨∑iaik(⋅,xi),∑jbjk(⋅,zj)⟩=∑i,jaibjk(xi,zj) で与えられる。
証明は省略する(福水『カーネル法入門』を参照)。再生性とコーシー–シュワルツの不等式から ∣f(x)−f(z)∣≤∥f∥Hk∥k(⋅,x)−k(⋅,z)∥Hk で、ガウスカーネルでは 1−e−u≤u より右辺は ∥f∥Hk∥x−z∥/σ 以下になる。ノルムの小さい関数はゆるやかにしか変化せず、正則化項 ∥f∥Hk2 はなめらかさを測る。
例 4.20(線形カーネル)k(x,z)=x⊤z の RKHS は、1 次関数 fw(x)=w⊤x 全体に内積 ⟨fw,fv⟩=w⊤v を入れたものである(k(⋅,x)=fx で ⟨fw,fx⟩=fw(x))。∥fw∥=∥w∥ なので、一般のカーネルの SVM は 21∥f∥Hk2+C∑iℓhinge(yi(f(xi)+b)) を f∈Hk, b∈R について最小にする問題である。
4.7 表現定理
Hk は一般に無限次元だが、解は訓練データでのカーネルの 1 次結合から探せばよい。
定理 4.21(表現定理, representer theorem)k を正定値カーネル、H をその RKHS、x1,…,xn∈X とし、V=span(k(⋅,x1),…,k(⋅,xn)) とする。関数 L:Rn→R と単調非減少な関数 Ω:[0,∞)→R について
J(f)=L(f(x1),…,f(xn))+Ω(∥f∥H)(f∈H)
とする。任意の f∈H に対し J(fV)≤J(f) となる fV∈V がある。特に J が最小点をもてば V の中にも最小点があり、Ω が狭義単調増加なら最小点はすべて V に属する。L が実数のパラメータ b(SVM の切片)にも依存してよい。
証明. V は有限次元なので f=fV+f⊥(fV∈V, f⊥⊥V)と分解できる(02-linear-algebra 第7章 定理 7.15。H が無限次元でも有限次元部分空間への分解は成り立つ)。再生性より f(xi)=⟨f,k(⋅,xi)⟩=⟨fV,k(⋅,xi)⟩=fV(xi) で、ピタゴラスの定理より ∥fV∥2=∥f∥2−∥f⊥∥2≤∥f∥2。よって L の値は変わらず Ω の値は増えない。Ω が狭義単調増加で f⊥=0 なら J(fV)<J(f) なので、f は最小点でない。□
SVM の双対から得た f=∑iαi∗yik(⋅,xi) と整合する。損失が訓練点での値だけに、正則化がノルムだけに依存することが本質である。
4.8 カーネルリッジ回帰
第2章のリッジ回帰を RKHS の中で行う。
定理 4.22(カーネルリッジ回帰)λ>0、K=(k(xi,xj))i,j、y=(y1,…,yn)⊤∈Rn とする。J(f)=∑i=1n(yi−f(xi))2+λ∥f∥H2 の H での最小点 f^ はただ一つで、
f^=i=1∑nα^ik(⋅,xi),α^=(K+λIn)−1y,f^(x)=kx⊤(K+λIn)−1y
である。ここで kx=(k(x1,x),…,k(xn,x))⊤。
証明. K+λIn は正定値なので正則。f=∑iαik(⋅,xi) なら再生性より f(xj)=(Kα)j, ∥f∥2=α⊤Kα で、J(f)=Φ(α):=∥y−Kα∥2+λα⊤Kα。Φ は凸な二次関数で ∇Φ(α)=2K((K+λIn)α−y) は α^ で 0 なので、α^ は Φ の最小点である(23-optimization 第2章 定理 2.19)。表現定理より任意の f で J(f)≥J(fV)≥Φ(α^)=J(f^)。一意性:中線定理(02-linear-algebra 第7章 命題 7.4)より f=g なら ∥(f+g)/2∥2<(∥f∥2+∥g∥2)/2 で、二乗誤差は凸なので J((f+g)/2)<(J(f)+J(g))/2。よって最小点は 1 つである(K が特異なら係数は一意でないが、関数 f^ は一意)。□
注意 4.23(線形カーネルとリッジ回帰)線形カーネルでは K=XX⊤(X はデータ行列)で f^(x)=x⊤X⊤(XX⊤+λIn)−1y。X⊤(XX⊤+λIn)=(X⊤X+λId)X⊤ より、これは第2章 定理 2.5 のリッジ回帰の解 (X⊤X+λId)−1X⊤y と一致する。前者は n 次、後者は d 次の連立方程式で、n<d なら前者が速い。特徴空間が無限次元なら前者しかない。
ガウスカーネルの幅 σ の影響を見る。σ→0 では(訓練点が相異なれば)K→In で、f^(xi)→yi/(1+λ)、離れた点では f^→0(暗記)。σ→∞ では K の成分がすべて 1 に近づき、f^ はほぼ定数になる。
import numpy as np
rng = np.random.default_rng(0)
x = rng.uniform(0, 6, 30)
y = np.sin(x) + 0.3 * rng.standard_normal(30) # 訓練データ
xt = np.linspace(0, 6, 601) # 真の関数 sin と比べる点
K = lambda a, b, s: np.exp(-(a[:, None] - b[None, :])**2 / (2 * s**2))
for s in [0.03, 0.5, 5.0]:
alpha = np.linalg.solve(K(x, x, s) + 0.1 * np.eye(30), y) # lambda = 0.1
tr = np.mean((K(x, x, s) @ alpha - y)**2)
te = np.mean((K(xt, x, s) @ alpha - np.sin(xt))**2)
print(f"sigma={s:4.2f}: 訓練誤差 {tr:.4f} 真の関数との誤差 {te:.4f}")
sigma=0.03: 訓練誤差 0.0053 真の関数との誤差 0.3721
sigma=0.50: 訓練誤差 0.0303 真の関数との誤差 0.0638
sigma=5.00: 訓練誤差 0.2749 真の関数との誤差 0.1683
σ=0.03 は訓練誤差が最小だが真の関数から最も遠く(過学習)、σ=5 は両方大きい(未学習)。
ヒント
実務では
(1) ガウスカーネルは距離を使うので、特徴量を標準化してから使う。(2) C(または λ)と σ は対数スケールの格子で、訓練データ内の交差検証で選ぶ(σ の目安に訓練点どうしの距離の中央値を使う経験則もある)。テストデータで選ぶと評価が楽観的になる(第1章 1.7 節)。(3) SVM の f(x) は確率ではない。必要なら検証データで f(x) にロジスティック関数を当てはめて較正する。(4) カーネル行列は n2 個の成分をもち(n=105 なら倍精度で 80 GB)、カーネルリッジ回帰を直接解くと O(n3) かかる。大きなデータでは線形モデルや近似(ランダム特徴など)を使う。
まとめ
- マージン最大化はハードマージン SVM(凸二次計画)で、解は一意である。双対問題では w∗=∑iαi∗yixi となり、データは内積だけを通して現れる。
- 相補性条件より、サポートベクトル(αi∗>0)は境界上にあり、分類器はそれだけで決まる。
- ソフトマージン SVM はヒンジ損失の正則化つき経験リスク最小化で、双対は 0≤αi≤C の箱型制約になる。C が大きいほど正則化は弱い。
- カーネルトリック:内積を正定値カーネルに置き換えると、特徴空間の座標を計算せずに非線形な分類ができる。
- 正定値カーネルは和・積・極限・指数で閉じ、ガウスカーネルは正定値である。距離の 2 乗や tanh(x⊤z−1) は正定値でない。
- 正定値カーネルには再生核ヒルベルト空間がただ一つ対応し(ムーア–アロンシャイン)、そのノルムはなめらかさを測る。
- 表現定理により解は ∑iαik(⋅,xi) の形でよく、カーネルリッジ回帰の解は kx⊤(K+λI)−1y である。計算量は n の 3 乗で増える。
演習問題
問題 4.1 ★ ラベル +1 の点 (2,3),(4,0) とラベル −1 の点 (1,1) がある。(1) w=(3,4), b=−10 のマージンを求めよ。(2) w=(6/7,4/7), b=−17/7, α=(18/49,8/49,26/49) が定理 4.4 の 3 の条件を満たすことを確かめ、最大のマージンを求めよ。
解答
(1) yi(w⊤xi+b) は順に 8,2,3、∥w∥=5 なので γ=2/5。(2) ∑iαiyi=(18+8−26)/49=0、∑iαiyixi=491(36+32−26,54−26)=w。yif(xi) はすべて 1((12+12−17)/7 など)で、実行可能かつ相補性条件も成り立つので最適。最大のマージンは 1/∥w∥=7/(213)≈0.971。
問題 4.2 ★★ 線形分離可能で両方のラベルを含むデータで、各 i について (xi,yi) を除いて学習したハードマージン SVM で xi を分類する(一つ抜き交差検証)。サポートベクトルが s 個なら誤分類率は s/n 以下であることを示せ。
解答
αi∗=0 の点を除いても、命題 4.6 より解は (w∗,b∗) のままで、その点は yi(w∗⊤xi+b∗)≥1>0 より正しく分類される。よって誤分類は αi∗>0 の s 点でしか起こらない。
問題 4.3 ★★ (1) 線形分離可能なデータで、(D) の最適解 αh が maxiαih≤C を満たせば、ハードマージン SVM の解(と ξ=0)は (PC) の最適解でもあることを示せ。例 4.7 ではどの C で成り立つか。(2) 例 4.10 のデータで C=1/2 とする。α=(1/2,1/2,0,1/2,0,0,1/2) と、w=(1/2,1/2), b∈[−2,−1] の値を比べ、b が一意に定まらないことを示せ。
解答
(1) αh は (PC) の双対の実行可能解で値は g(αh)=21∥w∗∥2、(w∗,b∗,0) は (PC) の実行可能解で値は同じなので、弱双対性より両者は最適。例 4.7 では maxiαih=1 なので C≥1(C=1/2 では w∗=(1/2,1/2), b∗=−1 になる)。(2) α は双対の実行可能解で、∑iαiyixi=21((1,3)+(3,1)−(1,1)−(2,2))=(1/2,1/2)、値は 2−41=47。b∈[−2,−1] のヒンジ損失は x1,x2 で −1−b、x4 で 2+b、x7 で 3+b、他は 0 で和は 3、主問題の値は 41+23=47。値が等しいので、すべての b∈[−2,−1] が最適である(0<αj<C の点がない)。
問題 4.4 ★★ 次は正定値カーネルか。(1) [0,∞) 上の min(x,z) (2) R 上の cos(x−z) (3) (−1,1) 上の 1/(1−xz) (4) Rd 上の ∥x−z∥
解答
(1) 正定値。点の正の値を t1<⋯<tm、t0=0 とし φl(x)=tl−tl−1 1{x≥tl} とおくと、点 x,z で ∑lφl(x)φl(z)=min(x,z) なので、グラム行列は ΦΦ⊤ の形。(2) 正定値。cosxcosz+sinxsinz は φ(x)=(cosx,sinx) の内積。(3) 正定値。∑m≥0(xz)m が収束するので定理 4.15 の 5 による。(4) 正定値でない。相異なる 2 点のグラム行列は対角成分 0、非対角成分が正で、負の固有値をもつ。
問題 4.5 ★★ 2 点 x1=0, x2=1(y=(1,−1))に、σ=1 のガウスカーネルと λ=0.1 でカーネルリッジ回帰を行う。ρ=e−1/2 として f^(x) を求め、f^(0), f^(2) と ∣x∣→∞ での値を調べよ。実務上どんな注意につながるか。
解答
K(1,−1)⊤=(1−ρ)(1,−1)⊤ なので α^=y/(1.1−ρ)、f^(x)=(e−x2/2−e−(x−1)2/2)/(1.1−ρ)。f^(0)≈0.797、f^(2)≈−0.955、∣x∣→∞ で f^(x)→0。データから離れると予測は 0 に戻るので、y を中心化する(または定数項を加える)必要があり、外挿は信用できない。
問題 4.6 ★★ 次の分析の問題点を指摘せよ。「年収(円)と年齢(歳)から購入の有無を予測するため、特徴量をそのまま使って σ=1 のガウスカーネル SVM を学習した。テストデータの正解率が最大になるように C と σ を選び直し、その正解率 93% を報告した。f(x) の値は購入確率として営業部門に渡した。」
解答
(1) 標準化していない。顧客どうしの年収の差は数十万円以上になるのがふつうなので、σ=1 では異なる顧客のカーネルの値がほぼ 0 でグラム行列はほぼ単位行列になり、訓練データを暗記するだけになる。(2) テストデータでハイパーパラメータを選ぶと正解率が楽観的になる(第1章 1.7 節)。訓練データ内の交差検証で選ぶ。(3) f(x) は確率ではない([0,1] に入らず、較正されていない)。
問題 4.7 ★★★ ガウスカーネル(σ=1)が狭義正定値であること、すなわち相異なる x1,…,xn∈Rd と c=0 について ∑j,lcjclexp(−∥xj−xl∥2/2)>0 を示せ。ヒント:Z∼N(0,Id) について E[eit⊤Z]=e−∥t∥2/2(i は虚数単位。11-probability 第3章 例 3.15 の正規分布の特性関数と成分の独立性から)。
解答
ヒントより
j,l∑cjcle−∥xj−xl∥2/2=j,l∑cjclE[ei(xj−xl)⊤Z]=E[j∑cjeixj⊤Z2]≥0
これが 0 なら、非負の連続関数 h(z)=∣∑jcjeixj⊤z∣2 と正の密度の積の積分が 0 なので h≡0。aj=u⊤xj が相異なる u をとり(u⊤(xj−xl)=0 となる u は有限個の超平面上にしかない)、z=su とすると ∑jcjeiajs=0(すべての s)。s=0 で m 回微分して ∑jcjajm=0(m=0,…,n−1)で、ファンデルモンド行列は正則なので c=0、矛盾。