CS229 Lecture 8
课程要点:
kernels
soft margin
SMO algorithm
原始优化问题:
min w , b    1 2 ∣ ∣ w ∣ ∣ 2 \mathop {\min }\limits_{w,b}\,\,\frac{1}{2}||w||^{2} w,bmin21∣∣w∣∣2
s . t    y i ( w T x i + b ) ≥ 1 s.t\,\,y^{i}(w^Tx^{i}+b)\ge1 s.tyi(wTxi+b)≥1
其对偶优化问题:
max w , b ∑ i = 1 m α i − 1 2 ∑ i = 1 m ∑ j = 1 m y ( i ) y ( j ) α i α j x ( i ) T x j s . t      α i ≥ 0           ∑ i = 1 m y ( i ) α i = 0 \mathop {\max }\limits_{w,b} \sum_{i=1}^{m}\alpha_{i}-\frac{1}{2}\sum_{i=1}^{m}\sum_{j=1}^{m}y^{(i)}y^{(j)}\alpha^{i}\alpha^{j}x^{(i)T}x^{j} \\ s.t \,\,\,\,\alpha_{i}\ge0 \\ \,\,\,\,\,\,\,\,\,\sum_{i=1}^{m}y^{(i)}\alpha^{i}=0 w,bmaxi=1∑mαi−21i=1∑mj=1∑my(i)y(j)αiαjx(i)Txjs.tαi≥0i=1∑my(i)αi=0
求解出:
w = ∑ i = 1 m α i y ( i ) x ( i ) w=\sum_{i=1}^{m}\alpha_{i}y^{(i)}x^{(i)} w=∑i=1mαiy(i)x(i)
如果我们对一个新的输入 x x x进行预测时:
h w , b ( x ) = g ( w T x + b ) = g ( ∑ i = 1 m α i y ( i ) x ( i ) T x + b ) h_{w,b}(x)=g(w^Tx+b)=g(\sum_{i=1}^{m}\alpha_{i}y^{(i)}x^{(i)T}x+b) hw,b(x)=g(wTx+b)=g(∑i=1mαiy(i)x(i)Tx+b)
可以看到不论是求解最优化过程中,还是预测过程中,都会有许多向量内积操作。
Kernels
在前面线性回归的例子中,为了预测房子自否会在六个月内被买到,将房屋居住面积 x x x通过 ϕ \phi ϕ映射为 [ x x 2 x 3 x 4 ] \begin{bmatrix}x\\x^{2}\\x^{3}\\x^{4}\end{bmatrix} ⎣⎢⎢⎡xx2x3x4⎦⎥⎥⎤。同理,如果说数据在低维空间无法将数据分开,有种方法就是将其映射到高维空间,有可能可以将其分开。即通过映射函数实现 x ⟶ ϕ ϕ ( x ) x\stackrel{\phi}\longrightarrow\phi(x) x⟶ϕϕ(x)。这里的 ϕ ( x ) \phi(x) ϕ(x)的维度可能很高甚至无限维。
我们看到在前面的求解过程中有许多 x ( i ) , x ( j ) x^{(i)},x^{(j)} x(i),x(j)的内积,后面可能会将其映射到高维空间,那么 < x ( i ) , x ( j ) > ⟶ ϕ < ϕ ( x ( i ) ) , ϕ ( x ( j ) ) > <x^{(i)},x^{(j)}>\stackrel{\phi}\longrightarrow<\phi(x^{(i)}),\phi(x^{(j)})> <x(i),x(j)>⟶ϕ<ϕ(x(i)),ϕ(x(j))>。
我们定义 K ( x ( i ) , x ( j ) ) = < ϕ ( x ( i ) ) , ϕ ( x ( j ) ) > K(x^{(i)},x^{(j)})=<\phi(x^{(i)}),\phi(x^{(j)})> K(x(i),x(j))=<ϕ(x(i)),ϕ(x(j))>,看下面的一个例子:
x , z ∈ R n x,z\in R^{n} x,z∈Rn
K ( x , z ) = ( x T z ) 2 = ( ∑ i = 1 n x i z i ) ( ∑ i = j n x j z j ) = ∑ i = 1 n ∑ j = 1 n ( x i x j ) ( z i z j ) = ϕ ( x ) T ϕ ( z ) K(x,z)=(x^Tz)^{2}=(\sum_{i=1}^{n}x_iz_i)(\sum_{i=j}^{n}x_jz_j)=\\ \sum_{i=1}^{n}\sum_{j=1}^{n}(x_ix_j)(z_iz_j)=\phi(x)^T\phi(z) K(x,z)=(xTz)2=(i=1∑nxizi)(i=j∑nxjzj)=i=1∑nj=1∑n(xixj)(zizj)=ϕ(x)Tϕ(z)
假设上面的 n = 3 n=3 n=3,那么 ϕ ( x ) = [ x 1 x 1 x 1 x 2 x 1 x 3 x 2 x 1 x 2 x 2 x 2 x 3 x 3 x 1 x 3 x 2 x 3 x 3 ] \phi(x)=\begin{bmatrix} x_1x_1\\ x_1x_2\\ x_1x_3\\ x_2x_1\\ x_2x_2\\ x_2x_3\\ x_3x_1\\ x_3x_2\\ x_3x_3\\ \end{bmatrix} ϕ(x)=⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎡x