机器学习之支持向量机

目录

一、数学知识(不重要,可直接结论)

1.1平面方程

1.2决策方程

1.3支持向量

1.4目标函数

1.5求解

二、核函数

2.1数学模型

2.2核函数

2.3常见核函数

线性核

多项式核

高斯核

拉普拉斯核

Sigmoid核

核函数的组合

2.4核方法

三、软间隔

常用替代损失函数

hinge损失

指数损失

对率损失

四、支持向量回归

五、Python中的函数


支持向量机的主要任务就是从样本空间中找到合适的划分超平面,将属于不同类别的样本分开。

我们希望找到的决策边界距离两个类别中位于边界上的点最远。

一、数学知识(不重要,可直接结论)

不重要,知道结果即可

1.1平面方程

样本空间中的划分超平面的线性方程可描述如下:

为法向量,决定平面方向

b为平面与原点的距离

划分超平面被记为(w,b)

样本空间中任意一点x到平面的距离为

1.2决策方程

其中,对于x,需要一定的数学处理。

对于样本空间中的,其中前者为样本的属性,后者为类别

当x为正例时,Y=+1

当x为负例时,Y=-1

定义分类对应的关系式如下

1.3支持向量

使得等号成立的是距离超平面最近的几个点,它们即为支持向量。

两个异类支持向量到平面的距离为

它被称为间隔。

我们的目标就是找到参数使得间隔最大。

1.4目标函数

因此,目标函数为

对于第二行中的"s.t."意思是"使得······(后面的式子)满足"

为什么要乘以yi,是为了将正负的两个式子整合在一起。

1.5求解

目标函数实际上是一个凸二次规划问题

运用拉格朗日乘子法进行求解

该问题的拉格朗日函数为

其中,

分别对w和b求偏导,并令偏导为0

消去上述拉格朗日函数中的w和b

得到目标函数的对偶问题

之后,对求极大值

最终,是对以下式子求解

其中,仍有约束条件

求出后,再去求w和b

为了解决过拟合,可以加入松弛因子

新的目标函数

C趋近很大的时候,要求严格

C趋近很小的时候,要求不严格

二、核函数

2.1数学模型

如果训练的样本线性不可分,那么可以将样本从原来的空间映射到一个更高维的空间,使得样本在高维空间线性可分。

设变换方法为

则划分超平面对应的模型为

求解的目标函数为

对应约束条件为

其中

表示样本映射到高维空间后的内积,可通过核函数计算

2.2核函数

k(xi,xj)就是核函数

引入核函数后,划分超平面对应的模型为

如果一个对称矩阵所对应的核矩阵半正定,它就可以核函数。

有如下定理:

为输入空间,为定义在上的对称函数,则k是核函数当且仅当对于任意数据,核矩阵K是正定的

每一个核函数都定义了一个称为"再生核希尔伯特空间"的特征空间。

2.3常见核函数

线性核

多项式核

d>=1为多项式的次数

高斯核

,为高斯核的带宽

拉普拉斯核

Sigmoid核

tanh为双曲正切函数

核函数的组合

核函数的组合也是核函数

线性组合结果是核函数

直积结果也是核函数

也是核函数

2.4核方法

基于核函数的学习方法

核化:引入核函数

核化使得线性学习器转为非线性学习器

三、软间隔

软间隔即允许对样本的划分出错

优化目标为

其中

是"0/1损失函数",非凸,非连续,可用"替代损失"函数进行代替

常用替代损失函数

hinge损失

指数损失

对率损失

四、支持向量回归

支持向量回归SVR

当f(x)与y之间的差别达到一定范围才计算损失。

即以f(x)为中心,构建一定宽度的隔离带,当样本落入隔离带,则被认为是正确的。

五、Python中的函数

都在sklearn.svm中

参考文献:周志华《机器学习》

相关推荐
jyyyx的算法博客几秒前
Leetcode 2337 -- 双指针 | 脑筋急转弯
算法·leetcode
3DVisionary3 分钟前
3D-DIC与机器学习协同模拟材料应力-应变本构行为研究
人工智能·机器学习·3d·3d-dic技术 机器学习·应力-应变本构行为·卷积神经网络(ecnn)·数字图像相关法(dic)
神经星星6 分钟前
无需预对齐即可消除批次效应,东京大学团队开发深度学习框架STAIG,揭示肿瘤微环境中的详细基因信息
人工智能·深度学习·机器学习
神经星星6 分钟前
【vLLM 学习】调试技巧
人工智能·机器学习·编程语言
呵呵哒( ̄▽ ̄)"6 分钟前
线性代数:同解(1)
python·线性代数·机器学习
SweetCode12 分钟前
裴蜀定理:整数解的奥秘
数据结构·python·线性代数·算法·机器学习
ゞ 正在缓冲99%…25 分钟前
leetcode76.最小覆盖子串
java·算法·leetcode·字符串·双指针·滑动窗口
xuanjiong26 分钟前
纯个人整理,蓝桥杯使用的算法模板day2(0-1背包问题),手打个人理解注释,超全面,且均已验证成功(附带详细手写“模拟流程图”,全网首个
算法·蓝桥杯·动态规划
惊鸿.Jh1 小时前
【滑动窗口】3254. 长度为 K 的子数组的能量值 I
数据结构·算法·leetcode
明灯L1 小时前
《函数基础与内存机制深度剖析:从 return 语句到各类经典编程题详解》
经验分享·python·算法·链表·经典例题