【机器学习基础】支持向量机

个人主页:为梦而生~ 关注我一起学习吧!
专栏:机器学习 欢迎订阅!相对完整的机器学习基础教学!
特别提醒:针对机器学习,特别开始专栏:机器学习python实战 欢迎订阅!本专栏针对机器学习基础专栏的理论知识,利用python代码进行实际展示,真正做到从基础到实战!
往期推荐
【机器学习基础】机器学习入门(1)
【机器学习基础】机器学习入门(2)
【机器学习基础】机器学习的基本术语
【机器学习基础】机器学习的模型评估(评估方法及性能度量原理及主要公式)
【机器学习基础】一元线性回归(适合初学者的保姆级文章)
【机器学习基础】多元线性回归(适合初学者的保姆级文章)
【机器学习基础】对数几率回归(logistic回归)
【机器学习基础】正则化
【机器学习基础】决策树(Decision Tree)
【机器学习基础】K-Means聚类算法
【机器学习基础】DBSCAN
本期内容:支持向量机(Support Vector Machine,SVM)是一种按监督学习方式对数据进行二元分类的广义线性分类器。其决策边界是对学习样本求解的最大边距超平面。SVM使用铰链损失函数计算经验风险并在求解系统中加入了正则化项以优化结构风险,是一个具有稀疏性和稳健性的分类器。SVM可以通过核方法进行非线性分类,是常见的核学习方法之一。


文章目录

  • 1 间隔与支持向量
    • 1.1 回顾线性模型
    • 1.2 超平面方程
  • 2 对偶问题
    • 2.1 最大间隔
    • 2.2 拉格朗日乘子法
    • 2.3 解的稀疏性
  • 3 核函数
    • 3.1 线性不可分
    • 3.2 核支持向量机
    • 3.3 核函数
  • 4 软间隔与正则化
  • 4.1 0/1损失函数
    • 4.2 软间隔支持向量机
    • 4.3 正则化
  • 5 支持向量回归
  • 6 核方法
    • 6.1 表示定理
    • 6.2 核线性判别分析
  • 7 成熟的SVM软件包


1 间隔与支持向量

1.1 回顾线性模型

  • 在样本空间中寻找一个超平面, 将不同类别的样本分开

【机器学习基础】支持向量机_第1张图片

  • 将训练样本分开的超平面可能有很多, 哪一个好呢?

【机器学习基础】支持向量机_第2张图片

  • 应选择”正中间”, 容忍性好, 鲁棒性高, 泛化能力最强

1.2 超平面方程

【机器学习基础】支持向量机_第3张图片

  • 为什么上述分类问题都可以表示成上图的形式呢?

任意超平面可以用下面这个线性方程来描述:
在这里插入图片描述
二维空间点 (, )到直线 + + = 0的距离公式是:
在这里插入图片描述
扩展到 维空间后,点 = (1, 2 … ) 到超平面 + = 0 的距离为在这里插入图片描述
其中
在这里插入图片描述

【机器学习基础】支持向量机_第4张图片
如图所示,根据支持向量的定义我们知道,支持向量到超平面的距离为 ,其他点到超平面的距离大于 。

每个支持向量到超平面的距离可以写为:
在这里插入图片描述


2 对偶问题

2.1 最大间隔

假设两个隔离边缘平面分别为
【机器学习基础】支持向量机_第5张图片

  • 最大间隔: 寻找参数 ω \omega ω b b b, 使得 γ \gamma γ最大.

【机器学习基础】支持向量机_第6张图片
这里可以思考一下它的几何意义是什么

2.2 拉格朗日乘子法

在支持向量机(SVM)中,拉格朗日乘子法主要用于解决约束优化问题。其基本思想是通过引入拉格朗日乘子,将含有n个变量和k个约束条件的约束优化问题转化为含有(n+k)个变量的无约束优化问题。

拉格朗日乘数背后的数学意义是约束方程梯度线性组合中每个向量的系数。具体来说,在SVM中,我们使用拉格朗日乘子法来解决优化问题。通过引入拉格朗日乘子,将原始问题转化为一个对偶问题,然后通过求解对偶问题得到原始问题的最优解。

  • 第一步:引入拉格朗日乘子 α i ≥ 0 \alpha_i\geq0 αi0得到拉格朗日函数
    【机器学习基础】支持向量机_第7张图片
  • 第二步:令 L ( ω , b , α ) L(\omega,b,\alpha) L(ω,b,α) ω \omega ω b b b的偏导为零可得
    【机器学习基础】支持向量机_第8张图片
  • 第三步:回代
    【机器学习基础】支持向量机_第9张图片

【机器学习基础】支持向量机_第10张图片
再把max问题转成min问题:

【机器学习基础】支持向量机_第11张图片
得到最优解【机器学习基础】支持向量机_第12张图片
解出后,代入超平面模型也就是:
在这里插入图片描述
以上为SVM对偶问题的对偶形式

2.3 解的稀疏性

最终模型
【机器学习基础】支持向量机_第13张图片
KKT条件:
【机器学习基础】支持向量机_第14张图片
支持向量机解的稀疏性: 训练完成后, 大部分的训练样本都不需保留, 最终模型仅与支持向量有关

  • 求解方法 - SMO

基本思路:不断执行如下两个步骤直至收敛

  1. 第一步:选取一对需更新的变量 α i \alpha_i αi α j \alpha_j αj.
  2. 第二步:固定 α i \alpha_i αi α j \alpha_j αj以外的参数, 求解对偶问题更新 α i \alpha_i αi α j \alpha_j αj.

仅考虑 α i \alpha_i αi α j \alpha_j αj时, 对偶问题的约束变为
在这里插入图片描述
用一个变量表示另一个变量, 回代入对偶问题可得一个单变量的二次规划, 该问题具有闭式解.

偏移项 :通过支持向量来确定 b b b


3 核函数

3.1 线性不可分

  • 不存在一个能正确划分两类样本的超平面, 怎么办?

【机器学习基础】支持向量机_第15张图片
:将样本从原始空间映射到一个更高维的特征空间, 使得样本在这个特征空间内线性可分.

  • 核技巧

在低维空间计算获得高维空间的计算结果,满足高维,才能在高维下线性可分。 我们需要引入一个新的概念:核函数。它可以将样本从原始空间映射到一个更高维的特质空间中,使得样本在新的空间中线性可分。这样我们就可以使用原来的推导来进行计算,只是所有的推导是在新的空间,而不是在原来的空间中进行,即用核函数来替换当中的内积。
【机器学习基础】支持向量机_第16张图片

  • 用核函数来替换原来的内积

【机器学习基础】支持向量机_第17张图片
通过一个非线性转换后的两个样本间的内积。具体地,(, )是一个核函数,或正定核,意味着存在一个从输入空间到特征空间的映射,对于任意空间输入的, 有:
在这里插入图片描述

3.2 核支持向量机

设样本 x x x映射后的向量为 ϕ ( x ) \phi(x) ϕ(x), 划分超平面为
在这里插入图片描述
原始问题
【机器学习基础】支持向量机_第18张图片
对偶问题
【机器学习基础】支持向量机_第19张图片
预测:
【机器学习基础】支持向量机_第20张图片

3.3 核函数

基本想法:不显式地设计核映射, 而是设计核函数
【机器学习基础】支持向量机_第21张图片
Mercer定理(充分非必要):只要一个对称函数所对应的核矩阵半正定, 则它就能作为核函数来使用

  • 常用核函数:
    【机器学习基础】支持向量机_第22张图片

4 软间隔与正则化

现实中, 很难确定合适的核函数使得训练样本在特征空间中线性可分; 同时一个线性可分的结果也很难断定是否是有过拟合造成的.

【机器学习基础】支持向量机_第23张图片

引入”软间隔”的概念, 允许支持向量机在一些样本上不满足约束

4.1 0/1损失函数

基本想法:最大化间隔的同时, 让不满足约束的样本应尽可能少
在这里插入图片描述
其中 l 0 / 1 l_{0/1} l0/1是”0/1损失函数”
【机器学习基础】支持向量机_第24张图片
存在的问题:0/1损失函数非凸、非连续, 不易优化!

替代损失
【机器学习基础】支持向量机_第25张图片
替代损失函数数学性质较好, 一般是0/1损失函数的上界

原始问题
在这里插入图片描述
对偶问题:
【机器学习基础】支持向量机_第26张图片
根据KKT条件可推得最终模型仅与支持向量有关, 也即hinge损失函数依然保持了支持向量机解的稀疏性.

4.2 软间隔支持向量机

若数据线性不可分,则可以引入松弛变量 ≥ 0 ,使函数间隔加上松弛变量大于等于1 ,
目标函数
在这里插入图片描述
对偶问题
【机器学习基础】支持向量机_第27张图片
为惩罚参数, 值越大 ,对分类的惩罚越大。跟线性可分求解的思路一致,同样这里先用拉格朗日乘子法得到拉格朗日函数,再求其对偶问题。
【机器学习基础】支持向量机_第28张图片

4.3 正则化

支持向量机学习模型的更一般形式:
【机器学习基础】支持向量机_第29张图片

通过替换上面两个部分, 可以得到许多其他学习模型

  • 对数几率回归(Logistic Regression)
  • 最小绝对收缩选择算子(LASSO)

5 支持向量回归

模型特点: 允许模型输出和实际输出间存在 2 ϵ 2\epsilon 2ϵ的偏差
【机器学习基础】支持向量机_第30张图片
损失函数
落入中间 2 ϵ 2\epsilon 2ϵ间隔带的样本不计算损失, 从而使得模型获得稀疏性.
【机器学习基础】支持向量机_第31张图片
原始问题:
【机器学习基础】支持向量机_第32张图片
对偶问题
【机器学习基础】支持向量机_第33张图片
预测:
在这里插入图片描述


6 核方法

6.1 表示定理

支持向量机:
在这里插入图片描述
支持向量回归
在这里插入图片描述

  • 结论:

无论是支持向量机还是支持向量回归, 学得的模型总可以表示成核函数的线性组合
更一般的结论(表示定理): 对于任意单调增函数 Ω \Omega Ω和任意非负损失函数 l l l, 优化问题
在这里插入图片描述
的解总可以写为:
【机器学习基础】支持向量机_第34张图片

6.2 核线性判别分析

通过表示定理可以得到很多线性模型的”核化”版本

  • 核LDA:

先将样本映射到高维特征空间, 然后在此特征空间中做线性判别分析
【机器学习基础】支持向量机_第35张图片


7 成熟的SVM软件包

LIBSVM
LIBLINEAR
SVMlight、SVMperf、SVMstruct

你可能感兴趣的:(机器学习,机器学习,支持向量机,人工智能,算法)