基本型
用一个超平面去分割空间中的点,任意点x到超平面的距离可表示为:
[r = frac{| extbf{w}^T extbf{x}+b|}{|| extbf w||}
]
为了把正负样本分开,引入两个支持平面,使正负样本在两个支持平面两侧,定义线性映射后的表达式为
[egin{cases}
extbf{w}^T extbf{x}+b geq +1, & & y=+1 \
extbf{w}^T extbf{x}+b leq -1, & & y=-1 \
end{cases}
o
y( extbf{w}^T extbf{x}+b)geq1
]
表达式中,两支持平面之间的距离为
[gamma = frac{2}{|| extbf{w}||}
]
这样就能得到支持向量机的基本型
[max limits_{ extbf{w},b} frac{2}{|| extbf{w}||}
o
min limits_{ extbf{w},b} frac 12 {|| extbf{w}||}^2
\ s.t. y_i( extbf{w}^T extbf{x}_i+b) geq 1
, i= 1,2,...m
]
拉格朗日乘子法-不等式约束
给定如下不等式,并使用拉格朗日乘子
[min limits_{x} f(x), s. t. g(x) leq0 \
]
现在考虑
- 如果解在 g(x)=0 边界上,那么约束有效果
- 如果解在 g(x)<0 内部,那么这个约束没有任何作用
- f(x) 梯度与 g(x) 梯度是反向
因此,如论如何,都有
[lambda g(x)=0, lambda geq 0
]
于是可用等式约束的方法
[L = f(x)+lambda g(x)
]
对偶问题
使用拉格朗日乘子法,得到
[L = frac 12 {|| extbf{w}||}^2
+sum_{i=1}^m alpha_i(1-y_i( extbf{w}^T extbf{x}_i+b))\
frac{partial L}{partial extbf{w}} = 0
o extbf{w}=sum_{i=1}^malpha_iy_i extbf{x}_i \
frac{partial L}{partial b} = 0
o sum_{i=1}^malpha_iy_i = 0
]
消去参数w和b,转换成对偶问题
[max limits_{alpha} sum_{i=1}^malpha_i-frac 12
sum_{i=1}^msum_{j=1}^malpha_ialpha_jy_iy_j extbf{x}_i^T extbf{x}_j\
s.t. sum_{i=1}^malpha_iy_i = 0 \
f( extbf{x}) = extbf{w}^T extbf{x}+b=
sum_{i=1}^malpha_iy_i extbf{x}_i^T extbf{x}+b\
]
需要满足的条件(KKT)
[egin{cases}
alpha_i geq 0 \
y_i f(x_i)-1 geq 0 \
alpha_i(y_if(x_i)-1)=0
end{cases}
]
SMO优化
可以选择一个a_i然后固定其它并优化a_i,但是由于约束条件限制,因此每次选择a_i和a_j固定其它并优化它们。
- 选择违背KKT的条件最大的为第一个变量(如果全部满足条件即收敛)
- 选择与第一个变量差别最大的为第二个变量
由约束条件可消去一个变量
[alpha_iy_i+alpha_jy_j=-sum_{k
eq i,j} alpha_ky_k, alpha_{i,j} geq0
]
确定偏移项
对于任意支持向量,满足
[y_i( extbf{w}^T extbf{x}_i+b)=1
]
因此,用所有支持向量的平均情况计算偏移
[b=frac 1{|S|}sum_{sin S}(frac 1{y_s}-sum_{iin S}alpha_iy_i extbf{x}^T_i extbf{x}_s)
]
软间隔
由于无法保证所用要本满足约束
[y_i( extbf{w}^T extbf{x}_i+b) geq1
]
因此会使用一个单调递减且恒非负的映射函数l(x)加到损失函数中
[min limits_{ extbf{w},b} frac 12 {|| extbf{w}||}^2
o
min limits_{ extbf{w},b} frac 12 {|| extbf{w}||}^2
+Csum_{i=1}^ml(y_i( extbf{w}^T extbf{x}_i+b)-1), Cgeq0
]
当C为无限大时,迫使样本满足约束,否则允许一些不满足约束,一般l(x)取hinge损失
[min limits_{ extbf{w},b} frac 12 {|| extbf{w}||}^2
+Csum_{i=1}^mmax(0, 1-y_i( extbf{w}^T extbf{x}_i+b)), Cgeq0
]
如果引入松弛变量,则又可以表示为以下形式
[min limits_{ extbf{w},b,xi} frac 12 {|| extbf{w}||}^2
+Csum_{i=1}^mxi_i \
s.t. y_i( extbf{w}^T extbf{x}_i+b) geq1-xi_i, xi_igeq0
]
每一个样本对应一个松弛变量,应用拉格朗日乘子
[L = frac 12 {|| extbf{w}||}^2+Csum_{i=1}^mxi_i
+sum_{i=1}^m alpha_i(1-xi_i-y_i( extbf{w}^T extbf{x}_i+b))-
sum_{i=1}^mmu_ixi_i \
frac{partial L}{partial extbf{w}} = 0
o extbf{w}=sum_{i=1}^malpha_iy_i extbf{x}_i \
frac{partial L}{partial b} = 0
o sum_{i=1}^malpha_iy_i = 0 \
frac{partial L}{partial xi_i} = 0
o C = alpha_i+mu_i
]
转化成对偶问题
[max limits_{alpha} sum_{i=1}^malpha_i-frac 12
sum_{i=1}^msum_{j=1}^malpha_ialpha_jy_iy_j extbf{x}_i^T extbf{x}_j\
s.t. sum_{i=1}^malpha_iy_i = 0, 0leq alpha_ileq C \
f( extbf{x}) = extbf{w}^T extbf{x}+b=
sum_{i=1}^malpha_iy_i extbf{x}_i^T extbf{x}+b\
]
软间隔KKT条件
[egin{cases}
alpha_i geq 0, mu_i geq0 \
y_i f(x_i)-1+xi_i geq 0 \
alpha_i(y_if(x_i)-1+xi_i)=0 \
xi_igeq0, mu_ixi_i=0
end{cases}
]
核函数
为了解决非线性分类问题,使用核函数映射样本空间
[max limits_{alpha} sum_{i=1}^malpha_i-frac 12
sum_{i=1}^msum_{j=1}^malpha_ialpha_jy_iy_jphi( extbf{x}_i)^Tphi( extbf{x}_j)\
s.t. sum_{i=1}^malpha_iy_i = 0, 0leq alpha_ileq C \
]
其中核函数有
[phi(x_i)^Tphi(x_j) = k(x_i, x_j) =
egin{cases}
x_i^Tx_j, 线性核 \
(x_i^Tx_j)^d, 多项式核 \
e^{-frac{||x_i-x_j||^2}{2sigma^2}}, 高斯核 \
e^{-frac{||x_i-x_j||}{sigma}}, 拉普拉斯核 \
end{cases}
]