1 支持向量机的特点:
- 泛化错误率较低,计算开销不大,结果容易解释;
- 对于参数和核函数选择敏感
- 可以适用于标称型数据和数值型数据
2 SVM解释如下:
- 对于二分类问题,寻找其线性可分的可能性。如果能够实现分割,则称为分割超平面。具体的,对于N维数据,需要构建一个(N-1)维的超平面。
- 由于超平面的构建的多样性,可以引入支持向量的概念,来量化分割超平面的好坏,从而定义超平面两侧的点到超平面的最小垂直距离
- 将超平面两侧点到超频面的最小垂直距离称为间隔,希望间隔越小越好,这样能够实现较高的数据容差,保证了分类器的稳健。而支持向量就是离分隔超平面最近的点。
3 如何求解点到分割超平面的距离?
- 为了研究分割超平面,首先需要给出其数学形式,最简单的N维数据分割超平面形式为 w⃗ Tx⃗ +b=0 w → T x → + b = 0 ,其中 w⃗ w → 为
N*1向量, x⃗ x → 为N*1向量,而b为标量。 - 对于任意一点A,坐标记为 (x1,x2,...,xN) ( x 1 , x 2 , . . . , x N ) ,距离上述分割超平面的距离为 |w⃗ TA⃗ +b|||w⃗ || | w → T A → + b | | | w → | | 。数学证明可以采用向量方式,初等数学即可。
4 如何评价分类情况的好坏
- 对于计算得到的超平面方程,可以将测试点带入,这样可以得到一个数据,具体来说,代入点 u⃗ u → ,计算 y=w⃗ Tu⃗ +b y = w → T u → + b 。然后将结果输入到一个二分类的非线性函数中,得到映射后的分类情况。
- 支持向量机使用的非线性函数是采用label=+-1映射的情况,因此可以使用 label(w⃗ Tu⃗ +b) l a b e l ( w → T u → + b ) ,这样当结果较大时,则表明点u在离超平面很远的地方,间距较大。当然,如果分类错误,则会产生一个负数,负数越大,证明分类的误差越大。
5 如何定义优化的目标函数
- 根据上述分析,可以定义出一个优化问题: 存在参数(向量w和标量b),需要步骤4的表达式,也就是 label(w⃗ Tu⃗ +b) l a b e l ( w → T u → + b ) 尽量大。由于存在多个u,则可以定义评价函数。
- 问题表述为(较难求解)
argmaxw⃗ ,b{ min(label∗(w⃗ Tu⃗ +b)||w⃗ ||)} arg max w → , b { min ( l a b e l ∗ ( w → T u → + b ) | | w → | | ) }
6 标准形式的推导
- 上式较难求解,可以采用等效变换的方式。首先,向量 w⃗ w → 和标量 b b 可以同时放大或者缩小k倍,这并不会影响上述求解值(向量平移性质有关)。因此,可以利用该条件,定义 ,其中支持向量能够使得等式成立。如果满足该条件,那么原问题也成立。当然,这是假设分类均正确
- 接下来,对于分数形式的优化,可以采用最小化分子项和最大化分母项来进行,分子项最小为1,因此该式可以转换为如下的优化问题:
argminw⃗ ,b1||w⃗ || arg min w → , b 1 | | w → | | - 为了能够求解上一个优化问题,结合二次规划算法,可以最终将等式转化如下:
argminw⃗ ,b12||w⃗ ||2,st.yi(w⃗ Txi→+b)>=1 arg min w → , b 1 2 | | w → | | 2 , s t . y i ( w → T x i → + b ) >= 1 - 对于上述问题,可以利用凸二次优化方法进行求解。QP方法 quadratic programming
7 对偶形式推导
7.1 拉格朗日乘子法: 将带约束的情况转换为无约束情况。
- 对于等式约束的拉格朗日乘子法,其原理为(可能的一种理解方法):
- 对于 minf(x⃗ ),st.wi→Tx⃗ +bi=0,i=1...N min f ( x → ) , s t . w i → T x → + b i = 0 , i = 1... N ,可以转换为无约束的等式 L(x⃗ ,αi)=f(x⃗ )+∑i=1 to Nαi(wi→Tx⃗ +bi) L ( x → , α i ) = f ( x → ) + ∑ i = 1 t o N α i ( w i → T x → + b i ) ;
- 对于上式L,求解对于x的偏导项,则可以得到x关于 αi α i 的表示,x项从 ∂f/∂x ∂ f / ∂ x 产生,而 αi α i 从后面的项产生;
- 将x关于 αi α i 的表示带入约束等式中,可以得到 αi α i 的值,该值能够保证约束等式成立,也就是说, L(x,αi)=