机器学习 之 SVM

SVM是纯粹的分类模型

支持向量机(support vector machines, SVM)是一种二分类模型,追求最大明显划分。

感知机 (perceptron):感知机是神经网络(深度学习)的起源算法,追求完全划分,先讲这个。

感知机是二分类的线性模型,
其输入是实例的特征向量,
输出的是事例的类别,分别是+1和-1,属于判别模型。
感知机学习的目标是求得一个能够将训练数据集正实例点和负实例点完全正确分开的分离超平面。如果是非线性可分的数据,则最后无法获得超平面。

假设超平面为 h = ( w 0 , w 1 . . . w m ) T ( 1 , x 1 . . . x m ) h=(w_0,w_1...w_m)^T(1,x_1...x_m) h=(w0,w1...wm)T(1,x1...xm),那么样本点p到超平面(一般比当下空间仅仅少一维)的距离如下:
d = x ⋅ w ∣ ∣ w ∣ ∣ d=\frac{\textbf x·\textbf w}{||\textbf w||} d=wxw

实际上这个公式也可以当作SVM分类函数,大于0就代表正,小于0就代表负。分子是普通的带入,分母是p2范数,就是 w 0 2 + w 1 2 + . . . + W m 2 \sqrt{w_0^2+w_1^2+...+W_m^2} w02+w12+...+Wm2 ,感知机就是不断缩小误分类点到超平面的距离,直到没有任何误分类点,整体就可以了。

如果不是超平面就不会收敛了。因为感知机学习算法最终的终止条件是所有的输入都被正确分类,即不存在误分类的点。因此忽略 1 ∣ ∣ w ∣ ∣ \frac{1}{||w||} w1(分母)也不会对感知机学习算法的执行过程产生任何影响。反而还能简化运算,提高算法执行效率(SVM运算特别困难)。为什么能丢掉分母呢?因为这里是“误分类驱动”原则,分母不影响误分类,实际上是说不太明白了,但总之没差。

因为只有误分类的M集合里面的样本才能参与损失函数的优化,因此 w , b w,b w,b取误差点距离和最小时的 w , b w,b w,b,损失函数也就是
L

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值