感知机--SVM和神经网络的基础(统计学习方法)

感知机,这个名字真是一言难尽~

感知机是二类分类的线性分类模型,输入实例的特征向量,输出类别,正负1.感知机旨在求出将实例划分为正负两类的分离超平面。

模型:f(x)=sign(wx+b)  这里w和x都是向量  

分离超平面就是,wx+b=0   

怎么求出这个超平面?需要学习策略:这里用的是经验损失最小化。啥意思?就是,这个超平面分错的误差最小。

最直接想到的是,误分类的点数越少,就代表误差越小咯,但是,这个个数的函数并不是一个连续可导的,对w和b不好做优化。接下来就用到了,误分类点到平面的距离之和。

    分母上是L2范数 ,就是向量元素平方和再求根号。

误分类的点,(xi,yi),<0   那么距离就是

这里的分母可以不考虑,为啥?如果这个L2范数规定为1,就相当于对分离超平面这个方程进行了规范化,就好似3x+y=3,可以规范化为x+y/3-1=0,都是指的同一个平面,所以对要求的最小化没有影响。

  min L(w,b)  就是目标函数

接下来就是如何求解参数的问题啦,就是学习算法

这里用的是随机梯度下降法。

先给初值,然后随机选一个误分类点,进行w和b的更新,直到最后没有误分类点。

为啥用这么一个方法呢?


为啥叫原始形式,因为后面还会讲一个对偶形式。

课本上还证明了,这个算法是收敛的,啥意思?就是能通过有限次迭代,使得没有误分类的点,得到参数的解,当然了,给不同的初值,随机选择的误分类点不同,都会导致解的不同,也就是说,这个算法可以得到不止一个解。

SVM就是在感知机的基础上加了约束条件,使得最后的解只有一个。

接下来是对偶形式

其实很简单,因为下降的步长一直不变,我用一个来记录样本点(xi,yi)被误分类的次数(当步长为1时,若不为1,就是次数乘步长)然后,

w和b,可以表示成 

就是把迭代更新的每一步都加起来


这个对偶形式,可以发现,只需要计算样本点特征向量的内积。可以预先用矩阵存储,Gram矩阵。

OK很简单。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值