机器学习(7)——支持向量机(一):从感知机到线性可分支持向量机

前言

支持向量机(support vector machine)本来是最早接触的机器学习算法,最初自己写的的机器视觉论文也用到了SVM,但和神经网络一样,一直觉得它是比较复杂的机器学习方法,需要深入的学习和研究。因此先是系统推导了李航的《机器学习》,之后学习Andrew Ng的机器学习课程,并看了julypluskid等人的技术博客。也不能说自己完全懂了,只能算是学习笔记,总结一些自己能掌握的东西。
我在接触SVM之初,深度学习已经比较火了,之所以还是运用SVM,一方面是因为SVM本身是现成比较成熟的分类算法,另一方面是之前很多论文都说了SVM的可靠性,在各方面表现都不错,而且有很多现成的资源(代表性有台湾林智仁团队的libsvmliblinear)。为了快速应用机器学习,就选择了SVM。最终发现里面真的是博大精深,包含有太多不同的模型,涉及了大量的数学知识,而且至今仍是很多科研人员的研究方向。

感知机(回顾)

在之前总结感知机(perceptron)时介绍了感知机是神经网络(Neural Networks)和支持向量机(support vector machine, SVM)的基础。首先,我们来看感知机由输入空间到输出空间的映射函数,这与支持向量机是一样的:

f(x)=sign(wTx+b)

其中sign函数的定义为:
sign(x)={ +1,1,x0x<0

wTx+b0 时, f(x)=1 ;而当 wTx+b<0 时, f(x)=1
现在我们假设有如下图所示的两组数据,红色表示正样本+1,绿色表示负样本-1,点所在位置为样本特征值 x 。对于二分类问题就是找到如图所示的一条直线(高维对应超平面)能够准确将两类样本进行分类。
对于上面定义的感知机,正样本(红点)在直线上面,则 wTx+b0 ,对应感知机输出结果 f(x)=1 ,即分类为正样本。同理,当样本点在直线下面时, wTx+b<0 ,对应感知机输出结果 f(x)=1 ,即负样本。由此我们可以看出,在二维平面的直线 wTx+b=0 就能够将图中的正负样本正确分类。
这里写图片描述
当样本被错误分类时,样本真实类别 yi wTx+b 总是异号,则对错分样本 yi(wTx+b)<0 。因此对于感知机来说,定义的损失函数为:
L(w,b)=(xi,
  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值