一维数据
间隔:margin;最大间隔:Maximal margin classifier
间隔与支持向量:
在样本空间中,划分超平面可通过如下线性方程来描述:
其中w = (w1;w2....;wd)为法向量,决定了超平面的方向;b为位移项,决定了超平面与原点之间的距离。显然,划分超平面可被法向量和
确定下面我们将其记为(
,
),样本空间中任意点
到超平面(
,
)的距离可写为
拉格朗日乘子法
L(,λ)即拉格朗日函数,λk是拉格朗日乘子。拉格朗日函数对x求偏导的结果为0时,几位最优解
构造拉格朗日函数:
其中,λk是为等式约束引入的拉格朗日乘子,是为不等式约束引入的松弛变量,也叫做KKT乘子,注意KKT乘子是大于0的。这样就将有约束的优化问题转换为无约束的优化了,求导即可,求出极值点。
注意:,
都是凸函数。
对偶问题
将上式分为两部分:1.可行解区域及内,原优化问题的约束条件都得到满足。因为,所以不管α怎么变化,必有
。
,且限定了
,则
最大值为0.综上,在可行解区域内:
2.可行解区域外,此时原优化问题的约束条件为满足。若,则最大化后为
。若
,则最大化后也为
。所以在可行解区域外:
综合上面两个论域,在可行解区域内最小化,等于
的最小化,而在可行解区域外,
无极值。这样当我们尝试对其进行最小化时也就相当于原优化问题了。
只有再KKT条件时,才有:d*=p*,此时,我们可以通过求解Dual问题来求解primal问题
SMO算法
重复直到收敛:选择下一步需要优化的和
(使用启发式的方式选择
和
使得向最大值进发更快)
保持其它的值不变,仅仅通过改变
和
来优化
使用KKT条件来判断是否收敛;
假设我们需要优化和
,根据约束条件
,可以推导
由于等式右边保持固定,可以使用常数代替,可以转化为
核函数
直接扩展到高维的问题: 增大量计算量;没有办法增加到无限维
计算量与数据量和每一条数据的维度正相关
核函数的充要条件:
Mercer定理-任何半正定对称函数都可作为核函数
核函数的充要条件是K矩阵是半正定的。将K特征值分解,有经特征映射将属性值映射到特征空间
,核函数
(
,
)对应于特征映射
的核函数=
常见的核函数:
多项式核(polynomial Kernel)
高斯核(RBF Kernel)
余弦相似性核(Consine Sinilarity Kernel)