Lemma

第4章カーネル法とサポートベクターマシン

目安 7〜10 時間定理など 11演習 7 問
ここまでの道

この章の目標

  • マージン最大化をハードマージン・ソフトマージン 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)(x_1, y_1), \dots, (x_n, y_n)(xi∈Rdx_i \in \mathbb{R}^d)とし、2 値分類のラベルは yi∈{+1,−1}y_i \in \lbrace +1, -1 \rbrace とする(第2章のロジスティック回帰の {0,1}\lbrace 0, 1 \rbrace とは異なる)。f(x)=w⊤x+bf(x) = w^{\top}x + b の符号で予測する。転置は A⊤A^{\top} と書く(02-linear-algebra の tA{}^tA)。

4.1 マージン最大化

補題 4.1(点と超平面の距離)w≠0w \neq 0 のとき、点 xx と超平面 H={z∣w⊤z+b=0}H = \lbrace z \mid w^{\top}z + b = 0 \rbrace の距離は ∣w⊤x+b∣/∥w∥\lvert w^{\top}x + b \rvert/\lVert w \rVert である。

証明. z0=x−w⊤x+b∥w∥2w∈Hz_0 = x - \frac{w^{\top}x + b}{\lVert w \rVert^2}w \in H で、z∈Hz \in H なら w⊤(z0−z)=0w^{\top}(z_0 - z) = 0、x−z0x - z_0 は ww の定数倍なので、ピタゴラスの定理より ∥x−z∥2=∥x−z0∥2+∥z0−z∥2≥∥x−z0∥2=(w⊤x+b)2/∥w∥2\lVert x - z \rVert^2 = \lVert x - z_0 \rVert^2 + \lVert z_0 - z \rVert^2 \geq \lVert x - z_0 \rVert^2 = (w^{\top}x + b)^2/\lVert w \rVert^2。□\square

定義 4.2(線形分離可能・マージン)すべての ii で yi(w⊤xi+b)>0y_i(w^{\top}x_i + b) > 0 となる (w,b)(w, b) があるとき、データは線形分離可能 (linearly separable) であるという。w≠0w \neq 0 に対し γ(w,b)=min⁡iyi(w⊤xi+b)/∥w∥\gamma(w, b) = \min_i y_i(w^{\top}x_i + b)/\lVert w \rVert を (w,b)(w, b) のマージン (margin) という。

(w,b)(w, b) がデータを分離していれば、γ(w,b)\gamma(w, b) は超平面と最も近いデータ点の距離である(補題 4.1)。マージンが大きいほど、小さな揺れで判定が変わりにくい。(w,b)(w, b) を正の定数倍しても γ\gamma は変わらないので、min⁡iyi(w⊤xi+b)=1\min_i y_i(w^{\top}x_i + b) = 1 と正規化すれば γ=1/∥w∥\gamma = 1/\lVert w \rVert で、マージン最大化は次の問題になる。

命題 4.3(ハードマージン SVM)データは線形分離可能で、両方のラベルを含むとする。制約 yi(w⊤xi+b)≥1y_i(w^{\top}x_i + b) \geq 1(i=1,…,ni = 1, \dots, n)のもとで 12∥w∥2\frac{1}{2}\lVert w \rVert^2 を最小化する問題 (P) をハードマージン SVM という。(P) はただ一つの最適解 (w∗,b∗)(w^{\ast}, b^{\ast}) をもち、w∗≠0w^{\ast} \neq 0 で、γ(w∗,b∗)=1/∥w∗∥\gamma(w^{\ast}, b^{\ast}) = 1/\lVert w^{\ast} \rVert は w≠0w \neq 0 であるすべての (w,b)(w, b) のマージンの最大値である。マージンを最大にする (w,b)(w, b) は (w∗,b∗)(w^{\ast}, b^{\ast}) の正の定数倍に限る。

証明. 分離する (w,b)(w, b) を m=min⁡iyi(w⊤xi+b)>0m = \min_i y_i(w^{\top}x_i + b) > 0 で割れば実行可能で、実行可能なら w≠0w \neq 0(w=0w = 0 なら両方のラベルで yib≥1y_ib \geq 1 となる)。最適解の存在は 23-optimization 第4章 4.7 節の応用例「サポートベクターマシンの双対問題」で示した。一意性:最適解の w1≠w2w_1 \neq w_2 があれば、中点は実行可能で ∥(w1+w2)/2∥2=(∥w1∥2+∥w2∥2)/2−∥w1−w2∥2/4\lVert (w_1 + w_2)/2 \rVert^2 = (\lVert w_1 \rVert^2 + \lVert w_2 \rVert^2)/2 - \lVert w_1 - w_2 \rVert^2/4 が最適値より小さい。w=w∗w = w^{\ast} で実行可能な bb が 2 つあれば、その間の bb ではすべての制約が狭義で、m=min⁡iyi(w∗⊤xi+b)>1m = \min_i y_i(w^{\ast\top}x_i + b) > 1 として (w∗/m,b/m)(w^{\ast}/m, b/m) がより小さい値を与える。同じ理由で min⁡iyi(w∗⊤xi+b∗)=1\min_i y_i(w^{\ast\top}x_i + b^{\ast}) = 1。最後に γ(w,b)>0\gamma(w, b) > 0 なら、m=γ(w,b)∥w∥m = \gamma(w, b)\lVert w \rVert として (w/m,b/m)(w/m, b/m) が実行可能なので ∥w∗∥≤∥w∥/m\lVert w^{\ast} \rVert \leq \lVert w \rVert/m、すなわち γ(w,b)≤1/∥w∗∥\gamma(w, b) \leq 1/\lVert w^{\ast} \rVert。等号なら ∥w/m∥=∥w∗∥\lVert w/m \rVert = \lVert w^{\ast} \rVert で (w/m,b/m)(w/m, b/m) も最適解なので、一意性より (w,b)=m(w∗,b∗)(w, b) = m(w^{\ast}, b^{\ast})。□\square

4.2 双対問題とサポートベクトル

(P) のラグランジュ関数は、乗数 αi≥0\alpha_i \geq 0 について

L(w,b,α)=12∥w∥2−∑i=1nαi(yi(w⊤xi+b)−1)L(w, b, \alpha) = \frac{1}{2}\lVert w \rVert^2 - \sum_{i=1}^n \alpha_i\bigl(y_i(w^{\top}x_i + b) - 1\bigr)

である。双対関数 g(α)=inf⁡w,bLg(\alpha) = \inf_{w, b} L は、∑iαiyi≠0\sum_i \alpha_iy_i \neq 0 なら bb を動かして −∞-\infty になり、∑iαiyi=0\sum_i \alpha_iy_i = 0 なら LL は ww の狭義凸な二次関数で w=∑iαiyixiw = \sum_i \alpha_iy_ix_i で最小になるので

g(α)=∑i=1nαi−12∑i=1n∑j=1nαiαjyiyjxi⊤xjg(\alpha) = \sum_{i=1}^n \alpha_i - \frac{1}{2}\sum_{i=1}^n\sum_{j=1}^n \alpha_i\alpha_jy_iy_jx_i^{\top}x_j

である。αi≥0\alpha_i \geq 0, ∑iαiyi=0\sum_i \alpha_iy_i = 0 のもとで g(α)g(\alpha) を最大化する問題を (D) とする。

定理 4.4(ハードマージン SVM の双対性)命題 4.3 の仮定のもとで、次が成り立つ。

  1. (D) は最適解をもち、(P) と (D) の最適値は一致する。
  2. (D) の任意の最適解 α∗\alpha^{\ast} について w∗=∑iαi∗yixiw^{\ast} = \sum_i \alpha_i^{\ast}y_ix_i であり、相補性条件 αi∗(yi(w∗⊤xi+b∗)−1)=0\alpha_i^{\ast}\bigl(y_i(w^{\ast\top}x_i + b^{\ast}) - 1\bigr) = 0(すべての ii)が成り立つ。αj∗>0\alpha_j^{\ast} > 0 となる jj が存在し、b∗=yj−w∗⊤xjb^{\ast} = y_j - w^{\ast\top}x_j である。
  3. 逆に、(P) の実行可能解 (w,b)(w, b) と α≥0\alpha \geq 0 が w=∑iαiyixiw = \sum_i \alpha_iy_ix_i, ∑iαiyi=0\sum_i \alpha_iy_i = 0 と相補性条件を満たせば、(w,b)(w, b) は (P) の、α\alpha は (D) の最適解である。

証明. 3:(P) の実行可能解 (w′,b′)(w', b') について、αi≥0\alpha_i \geq 0 と制約から

12∥w′∥2≥L(w′,b′,α)≥g(α)=L(w,b,α)=12∥w∥2\frac{1}{2}\lVert w' \rVert^2 \geq L(w', b', \alpha) \geq g(\alpha) = L(w, b, \alpha) = \frac{1}{2}\lVert w \rVert^2

(ww が L(⋅,b,α)L(\cdot, b, \alpha) の最小点であることと相補性条件による)。よって (w,b)(w, b) は最適で、(D) の実行可能解 α′\alpha' も同様に g(α′)≤12∥w∥2=g(α)g(\alpha') \leq \frac{1}{2}\lVert w \rVert^2 = g(\alpha)(弱双対性)を満たすので α\alpha も最適である。

1:(P) の制約は 1 次式なので、最適解 (w∗,b∗)(w^{\ast}, b^{\ast}) で KKT 条件を満たす乗数 α∗≥0\alpha^{\ast} \geq 0 が存在する(23-optimization 第4章 命題 4.5)。KKT 条件は 3 の条件そのものなので、3 より α∗\alpha^{\ast} は (D) の最適解で、最適値は一致する。

2:(D) の任意の最適解 α\alpha について、1 より

12∥w∗∥2=g(α)≤L(w∗,b∗,α)=12∥w∗∥2−∑iαi(yi(w∗⊤xi+b∗)−1)≤12∥w∗∥2\frac{1}{2}\lVert w^{\ast} \rVert^2 = g(\alpha) \leq L(w^{\ast}, b^{\ast}, \alpha) = \frac{1}{2}\lVert w^{\ast} \rVert^2 - \sum_i \alpha_i\bigl(y_i(w^{\ast\top}x_i + b^{\ast}) - 1\bigr) \leq \frac{1}{2}\lVert w^{\ast} \rVert^2

で等号が成り立つ。和の各項は 00 以上なので相補性条件が従い、(w∗,b∗)(w^{\ast}, b^{\ast}) は L(⋅,⋅,α)L(\cdot, \cdot, \alpha) の最小点なので w∗=∑iαiyixiw^{\ast} = \sum_i \alpha_iy_ix_i。w∗≠0w^{\ast} \neq 0 より αj>0\alpha_j > 0 の jj があり、yj(w∗⊤xj+b∗)=1y_j(w^{\ast\top}x_j + b^{\ast}) = 1 に yjy_j を掛ければよい。□\square

定義 4.5(サポートベクトル)(D) の最適解 α∗\alpha^{\ast} について、αi∗>0\alpha_i^{\ast} > 0 となるデータ点 xix_i をサポートベクトル (support vector) という。

相補性条件より、サポートベクトルはマージンの境界 yif(xi)=1y_if(x_i) = 1 上にあり、分類器 f(x)=∑iαi∗yixi⊤x+b∗f(x) = \sum_i \alpha_i^{\ast}y_ix_i^{\top}x + b^{\ast} はそれだけで決まる。境界上でも αi∗=0\alpha_i^{\ast} = 0 の点はありうる(どの点がサポートベクトルかは α∗\alpha^{\ast} によりうる)。

命題 4.6 (D) の最適解 α∗\alpha^{\ast} について αi∗=0\alpha_i^{\ast} = 0 となるデータをいくつ取り除いても、(P) の最適解は変わらない。

証明. 残ったデータの (P) について (w∗,b∗)(w^{\ast}, b^{\ast}) は実行可能で、残った αi∗\alpha_i^{\ast} は定理 4.4 の 3 の条件を満たす(取り除いた項は 00)。残ったデータは ∑iαi∗yi=0\sum_i \alpha_i^{\ast}y_i = 0, α∗≠0\alpha^{\ast} \neq 0 より両方のラベルを含むので、定理 4.4 の 3 と命題 4.3 の一意性から従う。□\square

例 4.7 ラベル +1+1 の (1,3),(3,1),(3,3)(1, 3), (3, 1), (3, 3) とラベル −1-1 の (1,1),(0,0),(1,−1)(1, 1), (0, 0), (1, -1) を順に x1,…,x6x_1, \dots, x_6 とする。w=(1,1)w = (1, 1), b=−3b = -3, α=(1/2,1/2,0,1,0,0)\alpha = (1/2, 1/2, 0, 1, 0, 0) は ∑iαiyi=0\sum_i \alpha_iy_i = 0, ∑iαiyixi=12(1,3)+12(3,1)−(1,1)=(1,1)\sum_i \alpha_iy_ix_i = \frac{1}{2}(1, 3) + \frac{1}{2}(3, 1) - (1, 1) = (1, 1) を満たし、yif(xi)y_if(x_i) は順に 1,1,3,1,3,31, 1, 3, 1, 3, 3 なので実行可能で相補性条件も成り立つ。定理 4.4 の 3 よりこれが最適解である(双対問題を数値的に解いても同じ解を得る)。決定境界は z1+z2=3z_1 + z_2 = 3、マージンは 1/21/\sqrt{2}、サポートベクトルは x1,x2,x4x_1, x_2, x_4、最適値は 12∥w∥2=1=g(α)\frac{1}{2}\lVert w \rVert^2 = 1 = g(\alpha) である。

4.3 ソフトマージン SVM

実際のデータは線形分離できないことが多く、分離できても 1 点の外れ値でマージンが大きく変わる。そこで制約の違反 ξi≥0\xi_i \geq 0 を許し、その総量に罰則をつける。

定義 4.8(ソフトマージン SVM)C>0C > 0 について、制約 yi(w⊤xi+b)≥1−ξiy_i(w^{\top}x_i + b) \geq 1 - \xi_i, ξi≥0\xi_i \geq 0(i=1,…,ni = 1, \dots, n)のもとで 12∥w∥2+C∑iξi\frac{1}{2}\lVert w \rVert^2 + C\sum_i \xi_i を最小化する問題 (PC)(\mathrm{P}_C) をソフトマージン SVM という。

(w,b)(w, b) を固定すると最適な ξi\xi_i は max⁡(0,1−yif(xi))\max(0, 1 - y_if(x_i)) なので、(PC)(\mathrm{P}_C) は次と同値である。

min⁡w,b 12∥w∥2+C∑i=1nℓhinge(yi(w⊤xi+b)),ℓhinge(t)=max⁡(0,1−t)\min_{w, b}\ \frac{1}{2}\lVert w \rVert^2 + C\sum_{i=1}^n \ell_{\mathrm{hinge}}\bigl(y_i(w^{\top}x_i + b)\bigr), \qquad \ell_{\mathrm{hinge}}(t) = \max(0, 1 - t)

ℓhinge\ell_{\mathrm{hinge}} をヒンジ損失 (hinge loss) という。全体を CnCn で割れば、ヒンジ損失の経験リスクに正則化項 12Cn∥w∥2\frac{1}{2Cn}\lVert w \rVert^2 を加えた正則化つき経験リスク最小化(第1章 定義 1.20)であり、CC が大きいほど正則化は弱い(C→∞C \to \infty でハードマージンに近づき、外れ値に引きずられやすくなる。正則化の強さ λ∝1/C\lambda \propto 1/C で指定するソフトウェアもあるので向きに注意)。ヒンジ損失は凸で、0-1 損失 1{t≤0}\mathbf{1}\lbrace t \leq 0 \rbrace 以上である。

定理 4.9(ソフトマージン SVM の双対問題)両方のラベルがあるとする。(PC)(\mathrm{P}_C) は最適解をもち、w∗w^{\ast} は一意である。双対問題は、0≤αi≤C0 \leq \alpha_i \leq C, ∑iαiyi=0\sum_i \alpha_iy_i = 0 のもとで (D) と同じ g(α)g(\alpha) を最大化する問題で、最適値は一致する。双対問題の任意の最適解 α∗\alpha^{\ast} について w∗=∑iαi∗yixiw^{\ast} = \sum_i \alpha_i^{\ast}y_ix_i であり、主問題の任意の最適解について mi=yi(w∗⊤xi+b∗)m_i = y_i(w^{\ast\top}x_i + b^{\ast}) とおくと

  • αi∗=0\alpha_i^{\ast} = 0 なら mi≥1m_i \geq 1、0<αi∗<C0 < \alpha_i^{\ast} < C なら mi=1m_i = 1、αi∗=C\alpha_i^{\ast} = C なら mi≤1m_i \leq 1 である。
  • したがって mi>1m_i > 1 なら αi∗=0\alpha_i^{\ast} = 0、mi<1m_i < 1 なら αi∗=C\alpha_i^{\ast} = C。0<αj∗<C0 < \alpha_j^{\ast} < C の jj があれば b∗=yj−w∗⊤xjb^{\ast} = y_j - w^{\ast\top}x_j。

証明. ヒンジ損失の形の目的関数は連続かつ強圧的(∥w∥→∞\lVert w \rVert \to \infty なら 12∥w∥2\frac{1}{2}\lVert w \rVert^2 が、ww が有界で ∣b∣→∞\lvert b \rvert \to \infty なら一方のラベルのヒンジ損失が発散する)なので最小値をもち(23-optimization 第1章 定理 1.11)、w∗w^{\ast} の一意性は命題 4.3 と同じ。ξi≥0\xi_i \geq 0 の乗数を μi≥0\mu_i \geq 0 とすると、ラグランジュ関数の ξi\xi_i の係数 C−αi−μiC - \alpha_i - \mu_i が 00 でなければ下限は −∞-\infty なので、双対関数が有限なのは μi=C−αi≥0\mu_i = C - \alpha_i \geq 0 のときで、値は g(α)g(\alpha)。残りは定理 4.4 と同様で、主・双対の最適解の組は相補性条件 αi∗(mi−1+ξi∗)=0\alpha_i^{\ast}(m_i - 1 + \xi_i^{\ast}) = 0, (C−αi∗)ξi∗=0(C - \alpha_i^{\ast})\xi_i^{\ast} = 0 を満たす(逆に KKT 条件を満たす組は最適)。αi∗<C\alpha_i^{\ast} < C なら ξi∗=0\xi_i^{\ast} = 0 で mi≥1m_i \geq 1、さらに αi∗>0\alpha_i^{\ast} > 0 なら mi=1m_i = 1。αi∗=C\alpha_i^{\ast} = C なら mi=1−ξi∗≤1m_i = 1 - \xi_i^{\ast} \leq 1。2 番目の項目の前半はこの対偶で、b∗b^{\ast} の式は mj=1m_j = 1 から従う。□\square

例 4.10(外れ値)例 4.7 のデータにラベル −1-1 の点 x7=(2,2)x_7 = (2, 2) を加える。x7x_7 は x1,x2x_1, x_2 の中点なので、f(x1),f(x2)>0f(x_1), f(x_2) > 0 となる 1 次式では f(x7)>0f(x_7) > 0 で、線形分離できない。C=2C = 2 では α∗=(3/2,3/2,0,1,0,0,2)\alpha^{\ast} = (3/2, 3/2, 0, 1, 0, 0, 2), w∗=(1,1)w^{\ast} = (1, 1), b∗=−3b^{\ast} = -3 が最適で(mi=1,1,3,1,3,3,−1m_i = 1, 1, 3, 1, 3, 3, -1 から KKT 条件を確かめられる)、例 4.7 と同じ分類器になり、外れ値は α7∗=C\alpha_7^{\ast} = C で誤分類される。C=1/4C = 1/4 では w∗=(1/3,1/3)w^{\ast} = (1/3, 1/3), b∗=−1b^{\ast} = -1, α∗=(1/4,1/4,1/36,1/4,1/36,0,1/4)\alpha^{\ast} = (1/4, 1/4, 1/36, 1/4, 1/36, 0, 1/4) で、マージンは 3 倍の 3/23/\sqrt{2} に広がり、x1,x2,x4,x7x_1, x_2, x_4, x_7 がマージンの内側(αi∗=C\alpha_i^{\ast} = C)、x3,x5x_3, x_5 が境界上(0<αi∗<C0 < \alpha_i^{\ast} < C)になる(x6x_6 も境界上だが α6∗=0\alpha_6^{\ast} = 0)。C=1/2C = 1/2 では αi∗\alpha_i^{\ast} がすべて 00 か CC で、b∗b^{\ast} が一意に定まらない(問題 4.3)。

4.4 カーネルトリック

双対問題と分類器 f(x)=∑iαi∗yixi⊤x+b∗f(x) = \sum_i \alpha_i^{\ast}y_ix_i^{\top}x + b^{\ast} には、データが内積 xi⊤xjx_i^{\top}x_j, xi⊤xx_i^{\top}x を通してしか現れない。そこで写像 φ\varphi で内積空間 H\mathcal{H}(特徴空間, feature space)へ写してから SVM を使えば、必要なのは k(x,z)=⟨φ(x),φ(z)⟩k(x, z) = \langle \varphi(x), \varphi(z) \rangle だけで、φ(x)\varphi(x) 自体は計算しなくてよい。双対問題の xi⊤xjx_i^{\top}x_j を k(xi,xj)k(x_i, x_j) に、分類器を f(x)=∑iαi∗yik(xi,x)+b∗f(x) = \sum_i \alpha_i^{\ast}y_ik(x_i, x) + b^{\ast} に置き換えればよい。これをカーネルトリック (kernel trick)、kk をカーネル (kernel) という。

例 4.11(多項式カーネル)d=2d = 2、x=(s,t)x = (s, t) で φ(x)=(s2,2st,t2,2cs,2ct,c)\varphi(x) = (s^2, \sqrt{2}st, t^2, \sqrt{2c}s, \sqrt{2c}t, c)(c≥0c \geq 0)なら ⟨φ(x),φ(x′)⟩=(x⊤x′+c)2\langle \varphi(x), \varphi(x') \rangle = (x^{\top}x' + c)^2。一般に (x⊤z+c)m(x^{\top}z + c)^m(c>0c > 0)は次数 mm 以下の単項式による (d+mm)\binom{d + m}{m} 次元の特徴写像に対応し(d=100d = 100, m=3m = 3 で 176851176851 次元)、計算は内積 1 回分ですむ。

例 4.12(XOR)ラベル +1+1 の (1,1),(−1,−1)(1, 1), (-1, -1) とラベル −1-1 の (1,−1),(−1,1)(1, -1), (-1, 1) は(どちらも中点が原点なので)線形分離できない。カーネル (1+x⊤x′)2(1 + x^{\top}x')^2 のハードマージン SVM では、グラム行列は対角成分 99、他の成分 11 で、すべての αi\alpha_i を aa とすると双対の目的関数は 4a−16a24a - 16a^2、最大は a=1/8a = 1/8。x=(s,t)x = (s, t) について 18∑iyi(1+xi⊤x)2=st\frac{1}{8}\sum_i y_i(1 + x_i^{\top}x)^2 = st なので、b=0b = 0 とすれば f(x)=stf(x) = st で全点が境界上にあり、特徴空間で定理 4.4 の 3 の条件が成り立つ。分類器は座標の積の符号である。

4.5 正定値カーネル

どんな関数でもカーネルになるわけではない。双対問題の目的関数が凹であるには、(yiyjk(xi,xj))(y_iy_jk(x_i, x_j)) が半正定値でなければならない。

定義 4.13(正定値カーネル)集合 X\mathcal{X} 上の対称な関数 k ⁣:X×X→Rk\colon \mathcal{X} \times \mathcal{X} \to \mathbb{R} が、任意の nn、x1,…,xn∈Xx_1, \dots, x_n \in \mathcal{X}、c∈Rnc \in \mathbb{R}^n について ∑i,jcicjk(xi,xj)≥0\sum_{i, j} c_ic_jk(x_i, x_j) \geq 0 を満たすとき、正定値カーネル (positive definite kernel) という。つまり、どの有限個の点でもグラム行列 K=(k(xi,xj))i,jK = (k(x_i, x_j))_{i, j} が半正定値である。

行列の用語では「半正定値」にあたるが、カーネルでは「正定値」と呼ぶのが標準である。相異なる点のグラム行列が常に正定値なら狭義正定値という。

命題 4.14 (1) 内積空間 H\mathcal{H} への写像 φ\varphi について、k(x,z)=⟨φ(x),φ(z)⟩k(x, z) = \langle \varphi(x), \varphi(z) \rangle は正定値カーネルである。(2) 正定値カーネルは k(x,x)≥0k(x, x) \geq 0, k(x,z)2≤k(x,x)k(z,z)k(x, z)^2 \leq k(x, x)k(z, z) を満たす。

証明. (1) ∑i,jcicj⟨φ(xi),φ(xj)⟩=∥∑iciφ(xi)∥2≥0\sum_{i, j} c_ic_j\langle \varphi(x_i), \varphi(x_j) \rangle = \lVert \sum_i c_i\varphi(x_i) \rVert^2 \geq 0。(2) 1 点と 2 点のグラム行列が半正定値で、後者の行列式(固有値の積)が 00 以上であることによる。□\square

定理 4.15(正定値カーネルの構成)k1,k2k_1, k_2 を X\mathcal{X} 上の正定値カーネルとする。次も正定値カーネルである。

  1. ak1+bk2ak_1 + bk_2(a,b≥0a, b \geq 0)と、定数 c0≥0c_0 \geq 0。
  2. 積 k1(x,z)k2(x,z)k_1(x, z)k_2(x, z)。
  3. 正定値カーネルの列 k(m)k^{(m)} がすべての (x,z)(x, z) で収束するときの極限 lim⁡mk(m)(x,z)\lim_m k^{(m)}(x, z)。
  4. 任意の関数 g ⁣:X→Rg\colon \mathcal{X} \to \mathbb{R} について g(x)k1(x,z)g(z)g(x)k_1(x, z)g(z)。
  5. am≥0a_m \geq 0 で ∑m≥0amk1(x,z)m\sum_{m \geq 0} a_mk_1(x, z)^m がすべての (x,z)(x, z) で収束するときの和。特に exp⁡(k1(x,z))\exp(k_1(x, z))。

証明. 点 x1,…,xnx_1, \dots, x_n と c∈Rnc \in \mathbb{R}^n を固定し、k1,k2k_1, k_2 のグラム行列を K1,K2K_1, K_2 とする。1:c⊤(aK1+bK2)c≥0c^{\top}(aK_1 + bK_2)c \geq 0。定数のグラム行列は c011⊤c_0\mathbf{1}\mathbf{1}^{\top} で、c0(∑ici)2≥0c_0(\sum_i c_i)^2 \geq 0。2(シューアの積定理):積のグラム行列は成分ごとの積 K1∘K2K_1 \circ K_2 である。K2=∑lλlvlvl⊤K_2 = \sum_l \lambda_lv_lv_l^{\top}(λl≥0\lambda_l \geq 0、02-linear-algebra 第7章 定理 7.32)と書き、ul=(ci(vl)i)iu_l = (c_i(v_l)_i)_i とおくと

c⊤(K1∘K2)c=∑i,jcicj(K1)ij∑lλl(vl)i(vl)j=∑lλlul⊤K1ul≥0c^{\top}(K_1 \circ K_2)c = \sum_{i, j} c_ic_j(K_1)_{ij}\sum_l \lambda_l(v_l)_i(v_l)_j = \sum_l \lambda_lu_l^{\top}K_1u_l \geq 0

3:有限和 ∑i,jcicjk(m)(xi,xj)≥0\sum_{i, j} c_ic_jk^{(m)}(x_i, x_j) \geq 0 の極限も 00 以上。4:ci′=cig(xi)c_i' = c_ig(x_i) とおけば k1k_1 の 2 次形式。5:1 と 2 より部分和 ∑m≤Mamk1m\sum_{m \leq M} a_mk_1^m は正定値(k10=1k_1^0 = 1)で、3 より和も正定値。exp⁡\exp は am=1/m!a_m = 1/m! の場合。□\square

系 4.16(ガウスカーネル)σ>0\sigma > 0 について、Rd\mathbb{R}^d 上のガウスカーネル k(x,z)=exp⁡(−∥x−z∥2/(2σ2))k(x, z) = \exp(-\lVert x - z \rVert^2/(2\sigma^2)) は正定値である。多項式カーネル (x⊤z+c)m(x^{\top}z + c)^m(c≥0c \geq 0, m∈Nm \in \mathbb{N})も正定値である。

証明. ∥x−z∥2=∥x∥2−2x⊤z+∥z∥2\lVert x - z \rVert^2 = \lVert x \rVert^2 - 2x^{\top}z + \lVert z \rVert^2 より k(x,z)=g(x)exp⁡(x⊤z/σ2)g(z)k(x, z) = g(x)\exp(x^{\top}z/\sigma^2)g(z)(g(x)=exp⁡(−∥x∥2/(2σ2))g(x) = \exp(-\lVert x \rVert^2/(2\sigma^2)))。x⊤z/σ2x^{\top}z/\sigma^2 は命題 4.14 (1)、その指数は定理 4.15 の 5、全体は 4 により正定値。多項式カーネルは 1 と 2 による。□\square

ガウスカーネルは狭義正定値でもあり(問題 4.7)、相異なる点の φ(x1),…,φ(xn)\varphi(x_1), \dots, \varphi(x_n) はどんな特徴写像でも一次独立になる(∥∑iciφ(xi)∥2=c⊤Kc\lVert \sum_i c_i\varphi(x_i) \rVert^2 = c^{\top}Kc)ので、特徴空間は無限次元である。

例 4.17(正定値でない例)k(x,z)=∥x−z∥2k(x, z) = \lVert x - z \rVert^2 では、相異なる 2 点のグラム行列は対角成分 00、非対角成分 a>0a > 0 で、固有値 −a-a をもつ。k(x,z)=tanh⁡(x⊤z−1)k(x, z) = \tanh(x^{\top}z - 1) は k(0,0)=tanh⁡(−1)<0k(0, 0) = \tanh(-1) < 0 で命題 4.14 (2) に反する(tanh⁡(κx⊤z+θ)\tanh(\kappa x^{\top}z + \theta) の形の「シグモイドカーネル」は一般に正定値でない)。数値で調べるときはグラム行列の最小固有値を見るが、半正定値でも丸め誤差で小さい負の値が出るので、最大固有値に比べて十分小さい負の値は 00 とみなす。

4.6 再生核ヒルベルト空間

正定値カーネルには、それを内積として実現する標準的な関数空間が付随する。

定義 4.18(再生核ヒルベルト空間)X\mathcal{X} 上の実数値関数からなるヒルベルト空間(完備な内積空間)H\mathcal{H} と k ⁣:X×X→Rk\colon \mathcal{X} \times \mathcal{X} \to \mathbb{R} が、(i) すべての xx で k(⋅,x)∈Hk(\cdot, x) \in \mathcal{H}、(ii) すべての f∈Hf \in \mathcal{H}, xx で f(x)=⟨f,k(⋅,x)⟩Hf(x) = \langle f, k(\cdot, x) \rangle_{\mathcal{H}}(再生性, reproducing property)を満たすとき、kk を H\mathcal{H} の再生核 (reproducing kernel)、H\mathcal{H} を再生核ヒルベルト空間 (reproducing kernel Hilbert space, RKHS) という。

(ii) で f=k(⋅,z)f = k(\cdot, z) とすると k(x,z)=⟨k(⋅,z),k(⋅,x)⟩Hk(x, z) = \langle k(\cdot, z), k(\cdot, x) \rangle_{\mathcal{H}} なので、再生核は特徴写像 φ(x)=k(⋅,x)\varphi(x) = k(\cdot, x) の内積で、正定値である(命題 4.14)。逆も成り立つ。

定理 4.19(ムーア–アロンシャインの定理, Moore–Aronszajn theorem)X\mathcal{X} 上の任意の正定値カーネル kk に対し、kk を再生核とする再生核ヒルベルト空間 Hk\mathcal{H}_k がただ一つ存在する。∑i=1maik(⋅,xi)\sum_{i=1}^m a_ik(\cdot, x_i) の形の関数全体は Hk\mathcal{H}_k で稠密で、その内積は ⟨∑iaik(⋅,xi),∑jbjk(⋅,zj)⟩=∑i,jaibjk(xi,zj)\bigl\langle \sum_i a_ik(\cdot, x_i), \sum_j b_jk(\cdot, z_j) \bigr\rangle = \sum_{i, j} a_ib_jk(x_i, z_j) で与えられる。

証明は省略する(福水『カーネル法入門』を参照)。再生性とコーシー–シュワルツの不等式から ∣f(x)−f(z)∣≤∥f∥Hk∥k(⋅,x)−k(⋅,z)∥Hk\lvert f(x) - f(z) \rvert \leq \lVert f \rVert_{\mathcal{H}_k}\lVert k(\cdot, x) - k(\cdot, z) \rVert_{\mathcal{H}_k} で、ガウスカーネルでは 1−e−u≤u1 - e^{-u} \leq u より右辺は ∥f∥Hk∥x−z∥/σ\lVert f \rVert_{\mathcal{H}_k}\lVert x - z \rVert/\sigma 以下になる。ノルムの小さい関数はゆるやかにしか変化せず、正則化項 ∥f∥Hk2\lVert f \rVert_{\mathcal{H}_k}^2 はなめらかさを測る。

例 4.20(線形カーネル)k(x,z)=x⊤zk(x, z) = x^{\top}z の RKHS は、1 次関数 fw(x)=w⊤xf_w(x) = w^{\top}x 全体に内積 ⟨fw,fv⟩=w⊤v\langle f_w, f_v \rangle = w^{\top}v を入れたものである(k(⋅,x)=fxk(\cdot, x) = f_x で ⟨fw,fx⟩=fw(x)\langle f_w, f_x \rangle = f_w(x))。∥fw∥=∥w∥\lVert f_w \rVert = \lVert w \rVert なので、一般のカーネルの SVM は 12∥f∥Hk2+C∑iℓhinge(yi(f(xi)+b))\frac{1}{2}\lVert f \rVert_{\mathcal{H}_k}^2 + C\sum_i \ell_{\mathrm{hinge}}(y_i(f(x_i) + b)) を f∈Hkf \in \mathcal{H}_k, b∈Rb \in \mathbb{R} について最小にする問題である。

4.7 表現定理

Hk\mathcal{H}_k は一般に無限次元だが、解は訓練データでのカーネルの 1 次結合から探せばよい。

定理 4.21(表現定理, representer theorem)kk を正定値カーネル、H\mathcal{H} をその RKHS、x1,…,xn∈Xx_1, \dots, x_n \in \mathcal{X} とし、V=span⁡(k(⋅,x1),…,k(⋅,xn))V = \operatorname{span}(k(\cdot, x_1), \dots, k(\cdot, x_n)) とする。関数 L ⁣:Rn→RL\colon \mathbb{R}^n \to \mathbb{R} と単調非減少な関数 Ω ⁣:[0,∞)→R\Omega\colon [0, \infty) \to \mathbb{R} について

J(f)=L(f(x1),…,f(xn))+Ω(∥f∥H)(f∈H)J(f) = L\bigl(f(x_1), \dots, f(x_n)\bigr) + \Omega(\lVert f \rVert_{\mathcal{H}}) \qquad (f \in \mathcal{H})

とする。任意の f∈Hf \in \mathcal{H} に対し J(fV)≤J(f)J(f_V) \leq J(f) となる fV∈Vf_V \in V がある。特に JJ が最小点をもてば VV の中にも最小点があり、Ω\Omega が狭義単調増加なら最小点はすべて VV に属する。LL が実数のパラメータ bb(SVM の切片)にも依存してよい。

証明. VV は有限次元なので f=fV+f⊥f = f_V + f_{\perp}(fV∈Vf_V \in V, f⊥⊥Vf_{\perp} \perp V)と分解できる(02-linear-algebra 第7章 定理 7.15。H\mathcal{H} が無限次元でも有限次元部分空間への分解は成り立つ)。再生性より f(xi)=⟨f,k(⋅,xi)⟩=⟨fV,k(⋅,xi)⟩=fV(xi)f(x_i) = \langle f, k(\cdot, x_i) \rangle = \langle f_V, k(\cdot, x_i) \rangle = f_V(x_i) で、ピタゴラスの定理より ∥fV∥2=∥f∥2−∥f⊥∥2≤∥f∥2\lVert f_V \rVert^2 = \lVert f \rVert^2 - \lVert f_{\perp} \rVert^2 \leq \lVert f \rVert^2。よって LL の値は変わらず Ω\Omega の値は増えない。Ω\Omega が狭義単調増加で f⊥≠0f_{\perp} \neq 0 なら J(fV)<J(f)J(f_V) < J(f) なので、ff は最小点でない。□\square

SVM の双対から得た f=∑iαi∗yik(⋅,xi)f = \sum_i \alpha_i^{\ast}y_ik(\cdot, x_i) と整合する。損失が訓練点での値だけに、正則化がノルムだけに依存することが本質である。

4.8 カーネルリッジ回帰

第2章のリッジ回帰を RKHS の中で行う。

定理 4.22(カーネルリッジ回帰)λ>0\lambda > 0、K=(k(xi,xj))i,jK = (k(x_i, x_j))_{i, j}、y=(y1,…,yn)⊤∈Rny = (y_1, \dots, y_n)^{\top} \in \mathbb{R}^n とする。J(f)=∑i=1n(yi−f(xi))2+λ∥f∥H2J(f) = \sum_{i=1}^n (y_i - f(x_i))^2 + \lambda\lVert f \rVert_{\mathcal{H}}^2 の H\mathcal{H} での最小点 f^\hat{f} はただ一つで、

f^=∑i=1nα^ik(⋅,xi),α^=(K+λIn)−1y,f^(x)=kx⊤(K+λIn)−1y\hat{f} = \sum_{i=1}^n \hat{\alpha}_ik(\cdot, x_i), \qquad \hat{\alpha} = (K + \lambda I_n)^{-1}y, \qquad \hat{f}(x) = k_x^{\top}(K + \lambda I_n)^{-1}y

である。ここで kx=(k(x1,x),…,k(xn,x))⊤k_x = (k(x_1, x), \dots, k(x_n, x))^{\top}。

証明. K+λInK + \lambda I_n は正定値なので正則。f=∑iαik(⋅,xi)f = \sum_i \alpha_ik(\cdot, x_i) なら再生性より f(xj)=(Kα)jf(x_j) = (K\alpha)_j, ∥f∥2=α⊤Kα\lVert f \rVert^2 = \alpha^{\top}K\alpha で、J(f)=Φ(α):=∥y−Kα∥2+λα⊤KαJ(f) = \Phi(\alpha) := \lVert y - K\alpha \rVert^2 + \lambda\alpha^{\top}K\alpha。Φ\Phi は凸な二次関数で ∇Φ(α)=2K((K+λIn)α−y)\nabla\Phi(\alpha) = 2K\bigl((K + \lambda I_n)\alpha - y\bigr) は α^\hat{\alpha} で 00 なので、α^\hat{\alpha} は Φ\Phi の最小点である(23-optimization 第2章 定理 2.19)。表現定理より任意の ff で J(f)≥J(fV)≥Φ(α^)=J(f^)J(f) \geq J(f_V) \geq \Phi(\hat{\alpha}) = J(\hat{f})。一意性:中線定理(02-linear-algebra 第7章 命題 7.4)より f≠gf \neq g なら ∥(f+g)/2∥2<(∥f∥2+∥g∥2)/2\lVert (f + g)/2 \rVert^2 < (\lVert f \rVert^2 + \lVert g \rVert^2)/2 で、二乗誤差は凸なので J((f+g)/2)<(J(f)+J(g))/2J((f + g)/2) < (J(f) + J(g))/2。よって最小点は 1 つである(KK が特異なら係数は一意でないが、関数 f^\hat{f} は一意)。□\square

注意 4.23(線形カーネルとリッジ回帰)線形カーネルでは K=XX⊤K = XX^{\top}(XX はデータ行列)で f^(x)=x⊤X⊤(XX⊤+λIn)−1y\hat{f}(x) = x^{\top}X^{\top}(XX^{\top} + \lambda I_n)^{-1}y。X⊤(XX⊤+λIn)=(X⊤X+λId)X⊤X^{\top}(XX^{\top} + \lambda I_n) = (X^{\top}X + \lambda I_d)X^{\top} より、これは第2章 定理 2.5 のリッジ回帰の解 (X⊤X+λId)−1X⊤y(X^{\top}X + \lambda I_d)^{-1}X^{\top}y と一致する。前者は nn 次、後者は dd 次の連立方程式で、n<dn < d なら前者が速い。特徴空間が無限次元なら前者しかない。

ガウスカーネルの幅 σ\sigma の影響を見る。σ→0\sigma \to 0 では(訓練点が相異なれば)K→InK \to I_n で、f^(xi)→yi/(1+λ)\hat{f}(x_i) \to y_i/(1 + \lambda)、離れた点では f^→0\hat{f} \to 0(暗記)。σ→∞\sigma \to \infty では KK の成分がすべて 11 に近づき、f^\hat{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\sigma = 0.03 は訓練誤差が最小だが真の関数から最も遠く(過学習)、σ=5\sigma = 5 は両方大きい(未学習)。

ヒント

実務では (1) ガウスカーネルは距離を使うので、特徴量を標準化してから使う。(2) CC(または λ\lambda)と σ\sigma は対数スケールの格子で、訓練データ内の交差検証で選ぶ(σ\sigma の目安に訓練点どうしの距離の中央値を使う経験則もある)。テストデータで選ぶと評価が楽観的になる(第1章 1.7 節)。(3) SVM の f(x)f(x) は確率ではない。必要なら検証データで f(x)f(x) にロジスティック関数を当てはめて較正する。(4) カーネル行列は n2n^2 個の成分をもち(n=105n = 10^5 なら倍精度で 80 GB)、カーネルリッジ回帰を直接解くと O(n3)O(n^3) かかる。大きなデータでは線形モデルや近似(ランダム特徴など)を使う。

まとめ

  • マージン最大化はハードマージン SVM(凸二次計画)で、解は一意である。双対問題では w∗=∑iαi∗yixiw^{\ast} = \sum_i \alpha_i^{\ast}y_ix_i となり、データは内積だけを通して現れる。
  • 相補性条件より、サポートベクトル(αi∗>0\alpha_i^{\ast} > 0)は境界上にあり、分類器はそれだけで決まる。
  • ソフトマージン SVM はヒンジ損失の正則化つき経験リスク最小化で、双対は 0≤αi≤C0 \leq \alpha_i \leq C の箱型制約になる。CC が大きいほど正則化は弱い。
  • カーネルトリック:内積を正定値カーネルに置き換えると、特徴空間の座標を計算せずに非線形な分類ができる。
  • 正定値カーネルは和・積・極限・指数で閉じ、ガウスカーネルは正定値である。距離の 2 乗や tanh⁡(x⊤z−1)\tanh(x^{\top}z - 1) は正定値でない。
  • 正定値カーネルには再生核ヒルベルト空間がただ一つ対応し(ムーア–アロンシャイン)、そのノルムはなめらかさを測る。
  • 表現定理により解は ∑iαik(⋅,xi)\sum_i \alpha_ik(\cdot, x_i) の形でよく、カーネルリッジ回帰の解は kx⊤(K+λI)−1yk_x^{\top}(K + \lambda I)^{-1}y である。計算量は nn の 3 乗で増える。

演習問題

問題 4.1 ★ ラベル +1+1 の点 (2,3),(4,0)(2, 3), (4, 0) とラベル −1-1 の点 (1,1)(1, 1) がある。(1) w=(3,4)w = (3, 4), b=−10b = -10 のマージンを求めよ。(2) w=(6/7,4/7)w = (6/7, 4/7), b=−17/7b = -17/7, α=(18/49,8/49,26/49)\alpha = (18/49, 8/49, 26/49) が定理 4.4 の 3 の条件を満たすことを確かめ、最大のマージンを求めよ。

解答

(1) yi(w⊤xi+b)y_i(w^{\top}x_i + b) は順に 8,2,38, 2, 3、∥w∥=5\lVert w \rVert = 5 なので γ=2/5\gamma = 2/5。(2) ∑iαiyi=(18+8−26)/49=0\sum_i \alpha_iy_i = (18 + 8 - 26)/49 = 0、∑iαiyixi=149(36+32−26,54−26)=w\sum_i \alpha_iy_ix_i = \frac{1}{49}(36 + 32 - 26, 54 - 26) = w。yif(xi)y_if(x_i) はすべて 11((12+12−17)/7(12 + 12 - 17)/7 など)で、実行可能かつ相補性条件も成り立つので最適。最大のマージンは 1/∥w∥=7/(213)≈0.9711/\lVert w \rVert = 7/(2\sqrt{13}) \approx 0.971。

問題 4.2 ★★ 線形分離可能で両方のラベルを含むデータで、各 ii について (xi,yi)(x_i, y_i) を除いて学習したハードマージン SVM で xix_i を分類する(一つ抜き交差検証)。サポートベクトルが ss 個なら誤分類率は s/ns/n 以下であることを示せ。

解答

αi∗=0\alpha_i^{\ast} = 0 の点を除いても、命題 4.6 より解は (w∗,b∗)(w^{\ast}, b^{\ast}) のままで、その点は yi(w∗⊤xi+b∗)≥1>0y_i(w^{\ast\top}x_i + b^{\ast}) \geq 1 > 0 より正しく分類される。よって誤分類は αi∗>0\alpha_i^{\ast} > 0 の ss 点でしか起こらない。

問題 4.3 ★★ (1) 線形分離可能なデータで、(D) の最適解 αh\alpha^{h} が max⁡iαih≤C\max_i \alpha_i^{h} \leq C を満たせば、ハードマージン SVM の解(と ξ=0\xi = 0)は (PC)(\mathrm{P}_C) の最適解でもあることを示せ。例 4.7 ではどの CC で成り立つか。(2) 例 4.10 のデータで C=1/2C = 1/2 とする。α=(1/2,1/2,0,1/2,0,0,1/2)\alpha = (1/2, 1/2, 0, 1/2, 0, 0, 1/2) と、w=(1/2,1/2)w = (1/2, 1/2), b∈[−2,−1]b \in [-2, -1] の値を比べ、bb が一意に定まらないことを示せ。

解答

(1) αh\alpha^{h} は (PC)(\mathrm{P}_C) の双対の実行可能解で値は g(αh)=12∥w∗∥2g(\alpha^{h}) = \frac{1}{2}\lVert w^{\ast} \rVert^2、(w∗,b∗,0)(w^{\ast}, b^{\ast}, 0) は (PC)(\mathrm{P}_C) の実行可能解で値は同じなので、弱双対性より両者は最適。例 4.7 では max⁡iαih=1\max_i \alpha_i^{h} = 1 なので C≥1C \geq 1(C=1/2C = 1/2 では w∗=(1/2,1/2)w^{\ast} = (1/2, 1/2), b∗=−1b^{\ast} = -1 になる)。(2) α\alpha は双対の実行可能解で、∑iαiyixi=12((1,3)+(3,1)−(1,1)−(2,2))=(1/2,1/2)\sum_i \alpha_iy_ix_i = \frac{1}{2}\bigl((1, 3) + (3, 1) - (1, 1) - (2, 2)\bigr) = (1/2, 1/2)、値は 2−14=742 - \frac{1}{4} = \frac{7}{4}。b∈[−2,−1]b \in [-2, -1] のヒンジ損失は x1,x2x_1, x_2 で −1−b-1 - b、x4x_4 で 2+b2 + b、x7x_7 で 3+b3 + b、他は 00 で和は 33、主問題の値は 14+32=74\frac{1}{4} + \frac{3}{2} = \frac{7}{4}。値が等しいので、すべての b∈[−2,−1]b \in [-2, -1] が最適である(0<αj<C0 < \alpha_j < C の点がない)。

問題 4.4 ★★ 次は正定値カーネルか。(1) [0,∞)[0, \infty) 上の min⁡(x,z)\min(x, z) (2) R\mathbb{R} 上の cos⁡(x−z)\cos(x - z) (3) (−1,1)(-1, 1) 上の 1/(1−xz)1/(1 - xz) (4) Rd\mathbb{R}^d 上の ∥x−z∥\lVert x - z \rVert

解答

(1) 正定値。点の正の値を t1<⋯<tmt_1 < \cdots < t_m、t0=0t_0 = 0 とし φl(x)=tl−tl−1 1{x≥tl}\varphi_l(x) = \sqrt{t_l - t_{l-1}}\ \mathbf{1}\lbrace x \geq t_l \rbrace とおくと、点 x,zx, z で ∑lφl(x)φl(z)=min⁡(x,z)\sum_l \varphi_l(x)\varphi_l(z) = \min(x, z) なので、グラム行列は ΦΦ⊤\Phi\Phi^{\top} の形。(2) 正定値。cos⁡xcos⁡z+sin⁡xsin⁡z\cos x\cos z + \sin x\sin z は φ(x)=(cos⁡x,sin⁡x)\varphi(x) = (\cos x, \sin x) の内積。(3) 正定値。∑m≥0(xz)m\sum_{m \geq 0} (xz)^m が収束するので定理 4.15 の 5 による。(4) 正定値でない。相異なる 2 点のグラム行列は対角成分 00、非対角成分が正で、負の固有値をもつ。

問題 4.5 ★★ 2 点 x1=0x_1 = 0, x2=1x_2 = 1(y=(1,−1)y = (1, -1))に、σ=1\sigma = 1 のガウスカーネルと λ=0.1\lambda = 0.1 でカーネルリッジ回帰を行う。ρ=e−1/2\rho = e^{-1/2} として f^(x)\hat{f}(x) を求め、f^(0)\hat{f}(0), f^(2)\hat{f}(2) と ∣x∣→∞\lvert x \rvert \to \infty での値を調べよ。実務上どんな注意につながるか。

解答

K(1,−1)⊤=(1−ρ)(1,−1)⊤K(1, -1)^{\top} = (1 - \rho)(1, -1)^{\top} なので α^=y/(1.1−ρ)\hat{\alpha} = y/(1.1 - \rho)、f^(x)=(e−x2/2−e−(x−1)2/2)/(1.1−ρ)\hat{f}(x) = (e^{-x^2/2} - e^{-(x - 1)^2/2})/(1.1 - \rho)。f^(0)≈0.797\hat{f}(0) \approx 0.797、f^(2)≈−0.955\hat{f}(2) \approx -0.955、∣x∣→∞\lvert x \rvert \to \infty で f^(x)→0\hat{f}(x) \to 0。データから離れると予測は 00 に戻るので、yy を中心化する(または定数項を加える)必要があり、外挿は信用できない。

問題 4.6 ★★ 次の分析の問題点を指摘せよ。「年収(円)と年齢(歳)から購入の有無を予測するため、特徴量をそのまま使って σ=1\sigma = 1 のガウスカーネル SVM を学習した。テストデータの正解率が最大になるように CC と σ\sigma を選び直し、その正解率 93% を報告した。f(x)f(x) の値は購入確率として営業部門に渡した。」

解答

(1) 標準化していない。顧客どうしの年収の差は数十万円以上になるのがふつうなので、σ=1\sigma = 1 では異なる顧客のカーネルの値がほぼ 00 でグラム行列はほぼ単位行列になり、訓練データを暗記するだけになる。(2) テストデータでハイパーパラメータを選ぶと正解率が楽観的になる(第1章 1.7 節)。訓練データ内の交差検証で選ぶ。(3) f(x)f(x) は確率ではない([0,1][0, 1] に入らず、較正されていない)。

問題 4.7 ★★★ ガウスカーネル(σ=1\sigma = 1)が狭義正定値であること、すなわち相異なる x1,…,xn∈Rdx_1, \dots, x_n \in \mathbb{R}^d と c≠0c \neq 0 について ∑j,lcjclexp⁡(−∥xj−xl∥2/2)>0\sum_{j, l} c_jc_l\exp(-\lVert x_j - x_l \rVert^2/2) > 0 を示せ。ヒント:Z∼N(0,Id)Z \sim N(0, I_d) について E[eit⊤Z]=e−∥t∥2/2E[e^{\mathrm{i}t^{\top}Z}] = e^{-\lVert t \rVert^2/2}(i\mathrm{i} は虚数単位。11-probability 第3章 例 3.15 の正規分布の特性関数と成分の独立性から)。

解答

ヒントより

∑j,lcjcle−∥xj−xl∥2/2=∑j,lcjclE[ei(xj−xl)⊤Z]=E[∣∑jcjeixj⊤Z∣2]≥0\sum_{j, l} c_jc_le^{-\lVert x_j - x_l \rVert^2/2} = \sum_{j, l} c_jc_lE\bigl[e^{\mathrm{i}(x_j - x_l)^{\top}Z}\bigr] = E\Bigl[\Bigl\lvert \sum_j c_je^{\mathrm{i}x_j^{\top}Z} \Bigr\rvert^2\Bigr] \geq 0

これが 00 なら、非負の連続関数 h(z)=∣∑jcjeixj⊤z∣2h(z) = \lvert \sum_j c_je^{\mathrm{i}x_j^{\top}z} \rvert^2 と正の密度の積の積分が 00 なので h≡0h \equiv 0。aj=u⊤xja_j = u^{\top}x_j が相異なる uu をとり(u⊤(xj−xl)=0u^{\top}(x_j - x_l) = 0 となる uu は有限個の超平面上にしかない)、z=suz = su とすると ∑jcjeiajs=0\sum_j c_je^{\mathrm{i}a_js} = 0(すべての ss)。s=0s = 0 で mm 回微分して ∑jcjajm=0\sum_j c_ja_j^m = 0(m=0,…,n−1m = 0, \dots, n - 1)で、ファンデルモンド行列は正則なので c=0c = 0、矛盾。

この章を読み終えたら

「読了」にすると、学習記録と地図に反映されます。

この章の誤りを報告GitHub で見る