支持向量机

机器学习实战 第三周打卡
**

支持向量机

**
一、支持向量机的初步了解
支持向量机(Support Vector Machines),是用于分类的一种算法。
1.支持向量(支撑向量)
支持起超平面的样本点即为支持向量。
2.核函数
本质上为一种非线性映射函数,日的是将输入空间映射到高维特征空间,从而将在低维线性不可分的模式转换为高维线性可分的模式,同时核函数将m维高维空间的内积运算转化为n维低维输入空间的核函数计算,从而避免了”维数灾难”,大大简化了计算。
常见的核函数有:
在这里插入图片描述
二、进行建模和求解
1.”决策面”方程
从二维空间到超平面的公式推导得
在这里插入图片描述
在这里插入图片描述
即为超平面方程(推导过程见博客和视频,我这里不做赘述)
2.”分类间隔”方程
由高中学过的直线距离公式得
在这里插入图片描述
d就是”分类间隔”。其中||w||表示w的二范数,求所有元素的平方和,然后再开方。
3.约束条件
优化的变量d的取值范围受到了限制和约束,我们不得不想办法找到它并对它进行以数学语言或程序语言的形式来展示出来。就像各种数学模型,除了有它的目标函数,还得有它的约束条件我们才可以来求解最优值。
首先对每个样本点xi加上一个类别标签yi,
在这里插入图片描述
对于所有分类标签为1的样本点,它们到直线的距离都大于等于d(支持向量上的样本点到超平面的距离)。对于所有分类标签为-1的样本点,它们到直线的距离都小于等于d。公式两边都除以d,就可以得到:
在这里插入图片描述
在这里插入图片描述
标签为1和-1,才方便我们将约束条件变成一个约束方程,从而方便我们的计算
在这里插入图片描述
三、SMO算法
SM表示序列最小化(Sequential Minimal Optimizaion),SMO算法是将大优化问题分解为多个小优化问题来求解,SMO算法的目标是求出一系列alpha和b,一旦求出了这些alpha,就很容易计算出权重向量w并得到分隔超平面。

步骤1:计算误差:
在这里插入图片描述

步骤2:计算上下界L和H:
在这里插入图片描述

步骤3:计算η:
在这里插入图片描述

步骤4:更新αj:

在这里插入图片描述
步骤5:根据取值范围修剪αj:

在这里插入图片描述
步骤6:更新αi:

在这里插入图片描述
步骤7:更新b1和b2:
在这里插入图片描述

步骤8:根据b1和b2更新b:
在这里插入图片描述

注:以上步骤参考博客,具体内容可通过最后链接进行进一步的学习
四、编程求解线性SVM
程序例子同样见博客,可尝试模仿进行试求解。
参考链接
https://blog.csdn.net/c406495762/article/details/78072313
https://www.bilibili.com/video/av36993857
https://github.com/apachecn/AiLearning/tree/master/docs/ml

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值