SVM(支持向量机)

SVM(支持向量机)

引言

支持向量机(Support Vector Machine,SVM),可以用来解答二分类问题。支持向量(Support Vector):把划分数据的决策边界叫做超平面,点到超平面的距离叫做间隔。在SVM中,距离超平面最近的且满足一定条件的几个训练样本点被称为支持向量。
图中,被圈出来的就是支持向量。支持向量机是要使超平面和支持向量之间的间隔尽可能的大,这样才能使两类样本尽可能地分开。
在这里插入图片描述

间隔又分为硬间隔软间隔

  • 硬间隔
    在使用超平面进行分割数据时,严格地让所有实例都不在最大间隔之间,并且位于正确的一遍,就是硬间隔。
    在这里插入图片描述

硬间隔存在的问题:1.只在数据线性可分时有效 2.对异常值非常敏感。

  • 软间隔
    要避免硬间隔存在的问题,目标是尽可能在保持最大间隔宽阔和限制间隔违例之间找到良好平衡。
    在这里插入图片描述

SVM存在以下优点:

  1. 既可以用于二分类,也可以用于回归和异常检测
  2. 具有良好的鲁棒性,对未知数据拥有很强的泛化能力,特别是在数据量较小的情况下,相较其他传统机器学习算法具有更优的性能。
  3. 原理

SVM通过优化一个凸二次规划问题来求解最佳的超平面,其中包括最小化模型的复杂度,同时限制训练样本的误分类情况。
我们将支持向量机的判别面、支持面表示为:
w x + b = ± 1 w x + b = 0 wx+b= \pm 1\\ wx+b = 0 wx+b=±1wx+b=0
从而可以算得,支持面和判别面的距离为 d = 1 ∣ ∣ w ∣ ∣ d = \frac{1}{||w||} d=∣∣w∣∣1
在使用SVM模型时,由于SVM的支持面与判别面的距离为 d = 1 ∣ ∣ w ∣ ∣ d = \frac{1}{||w||} d=∣∣w∣∣1,所以两个支持面的距离为 2 d = 2 ∣ ∣ w ∣ ∣ 2d=\frac{2}{||w||} 2d=∣∣w∣∣2最大化两支持面之间的距离 2 ∣ ∣ w ∣ ∣ \frac{2}{||w||} ∣∣w∣∣2,等价于最小化 ∣ ∣ w ∣ ∣ 2 2 ( 给 ∣ ∣ w ∣ ∣ 加平方是为了去除根号 ) \frac{||w||^2}{2}(给{||w||}加平方是为了去除根号) 2∣∣w2(∣∣w∣∣加平方是为了去除根号)

  • 硬间隔SVM的损失函数

    硬间隔SVM最大化支持面之间的距离,并要求所有样本在支持面之外。因此,硬间隔的损失函数如下:

    目标函数:
    L ( w , b ) = 1 2 ∣ ∣ w ∣ ∣ 2 L(w,b)=\frac{1}{2}||w||^2 L(w,b)=21∣∣w2
    约束条件:
    y i ( w x i + b ) − 1 ≥ 0 , i = 1 , 2 , . . . . . , N y_i(wx_i+b)−1 \geq 0 , i=1,2,.....,N yi(wxi+b)10,i=1,2,.....,N

    正样本要在正支持面一侧,即 w x i + b ≥ 1 wx_i+b \geq 1 wxi+b1,此时 y i = 1 y_i = 1 yi=1,可得 y i ( w x i + b ) − 1 ≥ 0 y_i(wx_i + b)-1 \geq 0 yi(wxi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

czijin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值