SVM要点分析

本文详细介绍了机器学习中逻辑回归、支持向量机(SVM)和神经网络的区别与联系,通过Coursera课程内容进行梳理与小结,深入探讨了SVM的大间隔分类、C参数的影响、核函数的应用,以及与逻辑回归、神经网络的比较分析。

内容来自coursera 的machine learning课程:https://www.coursera.org/course/ml,对其中的讲解进行了一些梳理和小结,包含了其中optional的large margin classification的总结以及C值取值的分析。

1.假设 hypothesis:

 

2.代价函数 cost function :

与logistic regression不太一样,由下图中曲线所代表的logistic regression的cost function可以看出,无论是任何情况下,代价始终存在而非0。

在svm中,当y=1时,我们希望theta^T*x(其中theta^T表示theta的转置)远远大于0,故可使用cost1(Z)作为代价函数,当Z>=1时,cost1(Z)=0;

当y=0时,我们希望theta^T*x远远小于0,故可使用cost0(Z)作为代价函数,当Z<=-1时,cost0(Z)=0;

svm的代价函数与logistic regression中的相比,去掉了对结果无影响的m,并用C取代了λ,相当于整个式子除以了λ,C=1/λ;


3.Large margin classification:

与logistic regression相比,svm能够发现与样本有最大间距的判定边界,如下图所示,绿色和洋红色的线更接近于logistic regression得到的判定边界,黑线则更接近于svm。


当C非常非常大时,我们会特别的希望参数theta可以使代价函数中的第一项为0,此时优化问题就等价于:



C同时也扮演了类似于1/λ的角色,C对svm的影响如下图所示,其中左下角的红色样本看起来更像是异常值。

没有左下角的点时,不管C值如何结果均如黑线所示。

加上左下角的点后,当C较大时,如洋红色的线所示,对异常值较为敏感,高拟合,低偏差。当C较小时,如黑线所示,对异常值不敏感,低拟合,高偏差;


当C较小,且异常值不能用线性方法分类时,svm仍可做出正确的判断:


4.(optional)svm为什么是Large margin classifier?

由于标准内积的代数定义与几何定义等价,如下面两式所示:



所以,可以将theta与x的标准内积可以看成x在theta上的投影p与theta长度的乘积:


当C非常大时,svm的优化问题为:


下面说明为什么svm难以得到下图中绿色的判定边界。假设svm得到判定边界如绿色的线所示,由theta与判定边界垂直,则各样本在在theta上的投影p值都较小,为了使p||theta||>=1或者<=-1,theta值就要很大。而梯度下降的目的正是为了减小代价函数的值,因此梯度下降的过程中会减小||theta||,与theta值很大形成矛盾。

为了简便起见,将theta0设为0。(theta0不为零时分析方法类似,判定边界不过原点。)


正是这个原因,svm会更趋向于形成下图这样的large margin。


5.核函数(kernels)

可解决无法用直线分隔的分类问题:

采用新特征f代替x,

f可以根据需要自己确定。常用的高斯核函数(Gaussian Kernel)f由x和l的近似程度确定,其中l为预先选定的地标(landmarks)(如何选l?):


f1表示的x到l1的近似程度,其中similarity即为核函数:

,其中:

跟高斯函数类似,x与l越接近,f的值越接近于1,;x与l越远,f越接近于0;

σ值影响如下:



预测的例子,theta值如图中右下角所示,由下图公式可知洋红色点和绿色点的点预测值为1,青色点预测值为0:


l值的选择如下图所示。假设有m个训练样本,选择m个l值,每个l值对应一个x值。对于每个xi,并用核函数计算出与所有l值分别对应的值,构造出fi矩阵,由于xi=li,每个fi矩阵中第i项均为1。


6.C, delta参数的选择

可以分别从一组数据,如0.01, 0.03, 0.1,0.3, 1, 3, 10, 30中选取C和delta的值,并用交叉验证集找出预测成功率最大时对应的C和delta值。


7.逻辑回归,svm,神经网络的比较:






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值