周志华《机器学习》 学习笔记
最近开始学习机器学习,参考书籍西瓜书,做点笔记。
第六章 支持向量机
6.1 间隔与支持向量
在样本空间中找到一个超平面,将不同类别样本分开,超平面应选择尽量靠中间,容错率较好;
为超平面的线性方程,其中ω为平面法向量,b为位移项;
由点到面距离公式,可得到样本空间中任一点到超平面的距离:;
若yi=+1,则>0;若yi=-1,则
<0;
距离超平面最近的样本点称为支持向量;
两个不同类别支持向量到超平面的距离为:;
寻找超平面,即找到不同类别支持向量到超平面的距离最大,则:
要让距离最大化,则仅需把最小化即可,即:
其中1/2是为后面求偏导方便,平方是为了处理正负号问题;
6.2 对偶问题
求解大间隔划分超平面模型的参数,使用拉格朗日乘子法可得到其对偶问题;
上式则为拉格朗日乘子法得到的拉格朗日函数;
对ω,b求偏导,并等于0,得到:
将上两式代入拉格朗日函数,则得到的对偶问题:
解出α则原模型变为:
以上过程满足KKT条件:
由KKT条件,训练完成后,大部分的训练样本都不需要保留,最终模型仅与支持向量有关;
由SMO算法,固定αi外的所有参数,然后求αi上的极值,SMO每次选择两个变量,并固定其他参数,即:
1.选取一对需要更新的变量;
2.固定两个变量以外的参数,求解后获得新的两个变量;
直观看来KKT条件违背程度越大,则变量更新后可能导致目标函数值增幅越大;
由SMO可得到偏移量b的值:
6.3 核函数
在现实任务中,原始样本空间内不存在一个能正确划分两类的超平面,可将原始空间映射到一个更高维的空间中;
相应的映射后的模型为:;
则求解后得:;中间的推导过程与上面相似;
其中称为核函数;
常用核函数见书,核函数还可以通过函数组合得到;
6.4 软间隔与正则化
在实际中,很难找确定合适的核函数使训练样本线性可分,则引入软间隔概念;
软间隔则允许某些样本不满则约束,即在最大化间隔的同时,不满足约束的样本尽可能少;
优化目标写为:
其中l()为替代损失函数;
常用损失函数:hinge损失,指数损失,对率损失;
求解推到过程与之前类似,并且由KKT条件,软间隔支持向量机最终模型仅与支持向量有关,损失函数与保持了稀疏性;
6.5 支持向量回归
支持向量回归中引入偏差,只有在模型输出与真实值差值大于偏差时,才计算损失;
SVR形式:
推到求解过程与之前类似,约束条件稍有变化;
SVR:。
第六章支持向量机,大体上来讲需要在形成坐标图的思维,在图形上面理解要轻松很多,需要动手画图以及自己推导一遍公式。
我的笔记做的比较粗糙,还请见谅。