基础算法--支持向量机SVM(support vector machine)

本文详细介绍了支持向量机(SVM)的算法原理,包括决策函数推导、距离的定义、目标函数求解,以及支持向量的作用。还探讨了软间隔、核函数的应用,如高斯核函数,并分析了SVM的优缺点。此外,通过代码实战展示了SVM的API参数设置,以及可视化SVM算法如何影响超平面和软间隔。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SVM算法原理

SVM是什么

在这里插入图片描述

在这里插入图片描述
低维不可分时,转化为高维划分

在这里插入图片描述

SVM推导

决策函数的推导

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

距离的定义:确信度

上述推导中得到的超平面面只是可以有很多,那么哪个是最佳的超平面呢?
在这里插入图片描述

计算每个点到超平面的距离,选择到超平面最近的点,计算这个点到某个超平面A有最大距离,那么这个超平面A就是最佳超平面:
1、min:所有样本点中找到距离超平面最小的样本点
2、max:找到某个超平面A,使最小距离样本点到某个超平面A有最大距离,A就是最佳超平面

在这里插入图片描述

在这里插入图片描述
||ω||:L2范数

目标函数推导

在这里插入图片描述

增加yi,表示正负分类。

在这里插入图片描述

在这里插入图片描述

目标函数求解

在这里插入图片描述
目标函数是求最大值,约束条件是>=0,要用拉格朗日乘子法时,要转化为目标函数要转为为求最小值,约束条件转化为<=0。按下图修改目标函数和约束条件:

在这里插入图片描述

在这里插入图片描述
a的最大值和w、b最小值不好求,但拉格朗日有一个对偶性质,可以转化最大最小值,证明比较麻烦,这里不作证明。

在这里插入图片描述

将求导后的结果代入回L(w,b,a),得到下图:

在这里插入图片描述

φ(x)和y就是原始数据,b= y-ωx
ω在之前已经求得,
那么max(α)如何求呢

max(A-B) 可以转化为min(B-A)
在这里插入图片描述

SVM计算实例

举例求解α

坐标轴上有两类点:
正例点(黑色)–> x1,x2
负例点(红色)–> x3
φ(x)就是x,把数据点代入公式
(当i=j= 1,yi= yj = 1,当i=j=2的yi= yj = 2;xi·xj就是求矩阵内积)
(当i=2,j=1,yi =2,yj =1;当i=1,j=2,yi =1,yj=2,得到xi和xj的内积是一样的 )
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

认识支持向量的作用

在这里插入图片描述

推导和计算过程补充

答疑:为什么放缩后大于等于

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

答疑:为什么||ω||d的值不影响结果

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

软间隔:较少噪音影响,提高泛化能力

主要是针对噪音数据提出来的,如下图,显然黑色的超平面优于红色的。
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
惩罚因子C:
当C比较大时,ξ必须比较小,整体才能小;当C比较小,ξ可调节的范围就比较大

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

核函数

什么是核函数

在这里插入图片描述

使用核函数Φ(x)后,SVM求解结果不变。
在这里插入图片描述

举例说明核函数的映射和计算复杂度变化

在这里插入图片描述

多项式核函数的原理

一般都是使用高斯核函数:线性和多项式核函数一般只能映射到某一维
在这里插入图片描述
在这里插入图片描述

高斯核函数原理

在这里插入图片描述

γ反映了正态分布的胖瘦
在这里插入图片描述

SVM优缺点

优点

在这里插入图片描述

缺点

在这里插入图片描述

现在的数据处理量比较大,SVM基本被弃用,但是将低维映射到高维的思想很重要,并在低维运算出高维的结果。

代码实战

支持向量机的API参数

参数

svc—>support vector classification 支持向量分类
1)C :惩罚因子【浮点数,默认为1.】【软间隔】
(1)C越大,对误分类的惩罚增大,希望松弛变量接近0,趋向于对训练集全分对的情况,这样对训练集测试时准确率很高,但泛化能力弱;
(2)C值小,对误分类的惩罚减小,允许容错,将他们当成噪声点,泛化能力较强。
->>建议通过交叉验证来选择

2)kernel: 核函数【默认rbf(径向基核函数|高斯核函数)】
->>多数情况下选择rbf

3)degree:【整型,默认3维】
->>按

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值