支持向量机SVM

2019-11-01  本文已影响0人  陈文瑜

概述(Support Vector Machines)

分类问题,聚类问题 (SVC),在输入空间做一个映射,映射到一个更高维的空间去做分类。

L_2范数

点到超平面 g(x) = w\cdot x +b 的距离为 M= \frac {|g(x)|}{||w||},则圆点到超平面距离为\frac{|b|}{||w||}

评估分类好坏

margin,边际,能平移的距离,目标是最大化margin。

+1 , -1代表两类问题。则有 g(x)>=1,g(x)<=-1两类,则M=\frac {2}{||w||}

则有 y_i(wx_i+b)-1\geq 0

也就是 max M = \frac {2}{||w||} \Rightarrow min \frac{1}{2} w^Tw

在条件 y_i(w\cdot x_i +b) \geq 1下,最小化 \Phi(x) = \frac12 w^Tw

有:L_p = \frac12 ||w||^2 - \sum _{i=1}^l a_iy_i(w\cdot x_i +b) + \sum_{i=1}^l a_i
对w和b求导后有:
\frac {\partial L_p}{\partial w} = 0 \quad \Rightarrow \quad w= \sum_{i=1}^l a_iy_ix_i
\frac {\partial L_p}{\partial b} = 0 \quad \Rightarrow \quad \sum_{i=1}^l a_iy_i = 0
将上式带入到 L_p中,可以得到其对偶函数:
L_D = \sum_i a_i - \frac12 \sum_{i,j}a_ia_jy_iy_jx_i \cdot x_j = \sum_i a_i - \frac12 \alpha^T H\alpha \quad where \quad H_{ij} = y_iy_jx_i \cdot x_j
前提是: \sum_i \alpha_i y_i =0 \quad \& \quad \alpha_i \geq 0

g(x) = \sum_i^l \alpha_iy_ix_i \cdot x +b,向量做内积,是svm设计最精妙的地方

-求b 取x_s s表示上面求得的不为0的支持向量

y_s (x_s \cdot w +b)=1
y_s (\sum _{m \in S} \alpha _my_mx_m \cdot x_s +b)=1
可以求得b,不写了,累死。


以上前提条件是将点分对

为解决 分不对情况,加入soft margin概念

y_i(wx_i+b)-1 + \xi \geq 0

处理线性不可分的问题

K(a,b) = (a \cdot b +1)^2 = \Phi(\alpha)\cdot \Phi(b)这种高维空间的操作等价于低维空间的操作

这就是所谓的 Kernel Trick

Pllynomial : K(x_i,x_j) = (x_i \cdot x_j +1)^d
Gaussian: K(x_i,x_j) = exp(- \frac {||x_i-x_j||^2}{2\sigma^2})

上一篇下一篇

猜你喜欢

热点阅读