【机器学习】【SVM】

支持向量机Support Vector Machine

缘由(与感知机的区别)

当train data线性可分时,存在多个分离超平面可以把两类数据正确分开,感知机利用的是误分类最小的策略,求得分离超平面。但是这是有无穷多个解,而线性svm利用了间隔最大化求分离超平面,解是唯一的,优点是不仅把正负样本点分开,还对最难分的点(即离超平面最近的点)也有足够大的确信度将它们分开

核心思想

希望用一个平面去划分类别,一侧为正一侧为负,vanilla svm就是一个简单的用几何方式完成的二分类监督学习算法.
在特征空间中寻找间隔最大的分离超平面使数据得到高效的二分类

有三种情况的svm:

  • 数据样本线性可分,通过硬间隔最大化,学习一个线性可分svm
  • 数据样本近似线性可分,引入松弛变量,通过软间隔最大化,学习一个线性可分svm
  • 数据样本不可分,使用核技巧与软间隔最大化,学习非线性svm

假设有训练数据集T:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

svm推导:

  1. w T ⋅ x + b w^T·x+b wTx+b表示点x与超平面的距离, w T ⋅ x + b w^T·x+b wTx+b的符号与标记类别的符号是否一致表示分类是否正确,所以采用 y ( w T ⋅ x + b ) y(w^T·x+b) y(wTx+b)来表示分类的正确性和确信度,这概念叫函数间隔

  2. 因为按比例改变w和b,超平面不会有变化,但函数间隔会变化,所以要对超平面的法向量w进行约束,使得间隔确定,变成几何间隔
    在这里插入图片描述
    函数间隔与几何间隔的关系:
    在这里插入图片描述

  3. 间隔最大化
    在这里插入图片描述
    约束条件为超平面 ( w , b ) (w,b) (w,b)对于每个样本点的几何间隔至少为 γ \color{red}\gamma γ
    根据几何间隔与函数间隔关系,转化为:
    在这里插入图片描述

  4. 不知道为啥:
    在这里插入图片描述
    所以就变成了这样:
    在这里插入图片描述

  5. 变成了凸二次规划问题

svm的目标(硬间隔)

  1. 使间隔最大化
  2. 使样本正确分类
    在这里插入图片描述
    w是超平面参数,目标一是从点到面的距离公式简化得到。
    目标二与感知机类似,就是把大于等于0进行缩放成大于等于1,便于推导

软间隔

放宽对样本的要求,允许少量样本分类错误
引入松弛变量 δ > = 0 \delta>=0 δ>=0
在这里插入图片描述

如何计算松弛变量?
0-1损失函数不好求,引入hinge loss(合页损失)
在这里插入图片描述

本来是 z = y i ( w T x i + b ) > = 1 z = y_i(w^Tx_i+b)>=1 z=yi(wTxi+b)>=1保证样本分类正确,现在是知道分类错误了,即z小于1,1就作为边界,用1-z来衡量错误的程度
在这里插入图片描述
但有要有控制因子去控制这个程度,引入C>0,惩罚参数:C越大,错误被放大得越大,即错误容忍度小,C无穷大,就是硬间隔。
实际应用时我们要合理选取C,C越小越容易欠拟合,C越大越容易过拟合。

软间隔目标函数:
在这里插入图片描述
在这里插入图片描述

SVM优缺点

优点:

  1. 凸优化问题,求解一定是全局最优而不是局部最优
  2. 可用核技巧适用于非线性问题
  3. 高维样本空间也能用,因为数据集复杂度取决于支持向量而不是数据集的维度

缺点:
二次规划问题求解设计m阶矩阵计算,svm不适用超大数据集

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值