线性可分支持向量机

  • 一.理论基础
  • 一.支持向量机分类
  • 二.函数间隔与几何间隔
  • 三.支持向量
  • 四.线性可分支持向量机
    • 4.1 线性可分支持向量机的优化函数
    • 4.2 线性可分支持向量机的最优化问题求解
      • 4.2 .1 线性可分支持向量机的最优化问题转化成对偶最优化问题
      • 4.2 .2 对偶最优化问题的解与原问题的解的关系
    • 4.3 线性可分支持向量机学习总结
  • 参考

一.理论基础

约束优化方法之拉格朗日乘子法与KKT条件
拉格朗日对偶

一.支持向量机分类

SVM 是一种二分类模型, 包含三种类型:线性可分支持向量机,线性支持向量机以及非线性支持向量机;

线性可分支持向量机:当训练数据可分时, 通过硬间隔最大化, 学习一个线性的分类器
线性支持向量机:当训练数据近似线性可分时,通过软间隔最大化,学习一个线性的分类器,即线性支持向量机,有又称为软间隔支持向量机
非线性支持向量机:当训练数据线性不可分时, 通过使用核技巧以及软件个最大化

二.函数间隔与几何间隔

函数间隔: 对于给定的训练数据集T和超平面(w,b),定义超平面(w,b)关于样本点 ( x i , y i ) (x_i,y_i) (xi​,yi​)的函数间隔为
γ ^ i = y i ( w ⋅ x i + b ) \hat{\gamma}_i = y_i(w\cdot{x_i} + b) γ^​i​=yi​(w⋅xi​+b)
定义超平面(w,b)关于训练集T的函数间隔所有样本点的函数间隔最小值,即: γ ^ = max ⁡ i = 1 , . . . . . , N γ ^ i \hat{\gamma}= \max \limits_{i=1,.....,N} \hat{\gamma}_i γ^​=i=1,.....,Nmax​γ^​i​

几何间隔:对于给定的训练数据集T和超平面(w,b),定义超平面(w,b)关于样本点 ( x i , y i ) (x_i,y_i) (xi​,yi​)的几何间隔为
γ i = y i ( w ∣ ∣ w ∣ ∣ 2 ⋅ x i + b ∣ ∣ w ∣ ∣ 2 ) \gamma_i = y_i(\frac{w}{||w||_2}\cdot{x_i} + \frac{b}{||w||_2}) γi​=yi​(∣∣w∣∣2​w​⋅xi​+∣∣w∣∣2​b​)

定义超平面(w,b)关于训练集T的几何间隔所有样本点的几何间隔最小值,即: γ = max ⁡ i = 1 , . . . . . , N γ i \gamma= \max \limits_{i=1,.....,N} \gamma_i γ=i=1,.....,Nmax​γi​

三.支持向量

如下图所示,分离超平面为wTx+b=0。和超平面平行的保持一定的函数距离的这两个超平面对应的向量,我们定义为支持向量,如下图虚线所示。支持向量到超平面的距离为 1 ∣ ∣ w ∣ ∣ 2 \frac{1}{||w||_2} ∣∣w∣∣2​1​,两个支持向量之间的距离为 2 ∣ ∣ w ∣ ∣ 2 \frac{2}{||w||_2} ∣∣w∣∣2​2​

四.线性可分支持向量机

4.1 线性可分支持向量机的优化函数

SVM 的模型 是让所有点到超平面的距离大于一定的距离,也就是所有的分类点要在各自类别的支持向量两边。这个可以表示为约束最优化问题:

max ⁡ w , b γ \max \limits_{w,b} \gamma w,bmax​γ
s . t . γ i = y i ( w ∣ ∣ w ∣ ∣ 2 ⋅ x i + b ∣ ∣ w ∣ ∣ 2 ) ≥ γ i = 1 , 2...... , N s.t.\ \ \ \gamma_i = y_i(\frac{w}{||w||_2}\cdot{x_i} + \frac{b}{||w||_2}) \geq \gamma \ \ i={1,2......,N} s.t.   γi​=yi​(∣∣w∣∣2​w​⋅xi​+∣∣w∣∣2​b​)≥γ  i=1,2......,N

考虑到几何间隔和函数间隔的关系,上面约束最优化问题可以表示成:
max ⁡ w , b γ ^ ∣ ∣ w ∣ ∣ 2 \max \limits_{w,b} \frac{\hat\gamma}{||w||_2} w,bmax​∣∣w∣∣2​γ^​​
s . t . γ ^ i = y i ( w ⋅ x i + b ) ≥ γ ^ i = 1 , 2...... , N s.t.\ \ \ \hat{\gamma}_i= y_i(w\cdot{x_i} + b) \geq \hat\gamma \ \ i={1,2......,N} s.t.   γ^​i​=yi​(w⋅xi​+b)≥γ^​  i=1,2......,N

通常这里取 γ ^ = 1 \hat\gamma=1 γ^​=1, 最大化 1 ∣ ∣ w ∣ ∣ 2 \frac{1}{||w||_2} ∣∣w∣∣2​1​和最小化 1 2 ∣ ∣ w ∣ ∣ 2 2 \frac{1}{2}||w||^{2}_2 21​∣∣w∣∣22​ 等价。

SVM的优化函数等价于

min ⁡ w , b 1 2 ∣ ∣ w ∣ ∣ 2 2 \min\limits_{w,b} \frac{1}{2}||w||^{2}_2 w,bmin​21​∣∣w∣∣22​
s . t . γ ^ i = y i ( w ⋅ x i + b ) − 1 ≥ 0 i = 1 , 2...... , N s.t.\ \ \ \hat{\gamma}_i= y_i(w\cdot{x_i} + b) - 1\geq 0 \ \ i={1,2......,N} s.t.   γ^​i​=yi​(w⋅xi​+b)−1≥0  i=1,2......,N

4.2 线性可分支持向量机的最优化问题求解

4.2 .1 线性可分支持向量机的最优化问题转化成对偶最优化问题

目标函数 1 2 ∣ ∣ w ∣ ∣ 2 2 \frac{1}{2}||w||^{2}_2 21​∣∣w∣∣22​为凸函数, 同时约束条件不等式是仿函数; 可以通过拉格朗日函数将目标函数转化成无约束的优化函数:

引入拉格朗日乘子后,我们的优化目标变成:
min ⁡ w , b max ⁡ a i ≥ 0 L ( w , b , α ) \min\limits_{w,b}\max\limits_{a_i \geq 0} L(w,b,\alpha) w,bmin​ai​≥0max​L(w,b,α)
其对偶问题为极大值极小值问题:
max ⁡ a i ≥ 0 min ⁡ w , b L ( w , b , α ) \max\limits_{a_i \geq 0} \min\limits_{w,b}L(w,b,\alpha) ai​≥0max​w,bmin​L(w,b,α)

对对偶问题求解详细步骤

最终转换成了求解对偶最优化问题, 求解 α \alpha α

4.2 .2 对偶最优化问题的解与原问题的解的关系


4.3 线性可分支持向量机学习总结

参考

1.李航 统计学方法
2.支持向量机原理(一) 线性支持向量机
3.约束优化方法之拉格朗日乘子法与KKT条件

支持向量机1-线性可分支持向量机相关推荐

  1. 线性支持向量机、线性可分支持向量机、非线性支持向量机是怎么区分的?

    SVM(Support Vector Machine)是一种二类分类模型. 它的基本模型是定义在特征空间上的间隔最大的线性分类器. 支持向量就是最大间隔或者分割超平面上的那几个临界点,具体入下图所示: ...

  2. 支持向量机专题——线性可分支持向量机

    原文 支持向量机(support vector machine, SVM)是一种经典的分类器,其主要思想是学习一个在特征空间上使间隔最大的分类器.支持向量机的学习可以看成是一个求解凸二次规划问题的过程 ...

  3. 支持向量机之线性可分支持向量机(一)

    简介 支持向量机(support vector machines,SVM)是一种二分类分类模型.它的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使得它有别于感知机:支持向量机还包括核技巧 ...

  4. 统计学习方法笔记(五)-线性可分支持向量机原理及python实现

    支持向量机 支持向量机 线性可分支持向量机 最大间隔法 代码实现 案例地址 支持向量机 支持向量机(support vector machines,SVM)是一种二分类模型,它的基本类型是定义在特征空 ...

  5. 线性可分支持向量机、线性支持向量机、非线性支持向量机的区别

    线性可分支持向量机: 线性可分支持向量机处理的是严格线性可分的数据集. 其分类超平面为: 相应的决策函数为:或者 其学习的优化问题为: 线性支持向量机: 线性支持向量机处理的是线性不可分的数据集.对于 ...

  6. 支持向量机(SVM):超平面及最大间隔化、支持向量机的数学模型、软间隔与硬间隔、线性可分支持向量机、线性支持向量机、非线性支持向量机、核函数、核函数选择、SMO算法、SVM vs LR、优缺点

    支持向量机(SVM):超平面及最大间隔化.支持向量机的数学模型.软间隔与硬间隔.线性可分支持向量机.线性支持向量机.非线性支持向量机.核函数.核函数选择.SMO算法.SVM vs LR.优缺点 目录

  7. 【统计学习方法】线性可分支持向量机对鸢尾花(iris)数据集进行二分类

    本文摘要 · 理论来源:[统计学习方法]第七章 SVM · 技术支持:pandas(读csv).numpy.sklearn.svm.svm思想.matplotlib.pyplot(绘图) · 代码目的 ...

  8. 【机器学习基础】数学推导+纯Python实现机器学习算法8-9:线性可分支持向量机和线性支持向量机...

    Python机器学习算法实现 Author:louwill 前面两讲我们对感知机和神经网络进行了介绍.感知机作为一种线性分类模型,很难处理非线性问题.为了处理非线性的情况,在感知机模型的基础上有了两个 ...

  9. 支持向量机——线性可分支持向量机

    文章目录 1 线性可分支持向量机 2 函数间隔和几何间隔 3 间隔最大化 4 学习的对偶算法 GitHub 简书 CSDN 1 线性可分支持向量机 支持向量机(Support vector machi ...

最新文章

  1. Python OOP知识积累
  2. 深度学习核心技术精讲100篇(六十五)-万字长文从ReLU到GELU通讲神经网络激活函数
  3. “噪声对比估计”杂谈:曲径通幽之妙
  4. php 图片上传 水印,PHP - 图片上传并添加水印
  5. CodeSmith实用技巧(八):生成的代码输出到文件中
  6. YFI与Curve合作项目初始支持6种算法稳定币
  7. mysql数据表中取几列_MySQL查询数据表中数据记录(包括多表查询)
  8. 电话拦截以及电话拦截后的提示音
  9. java entitybuilder_Java MultipartEntityBuilder.setContentType方法代码示例
  10. linux 启动u盘引导,U盘启动引导安装linux
  11. 【梦幻童年win7热门主题】
  12. 公司与公司保密协议范本
  13. Chrome浏览器下载zoom录像
  14. linux 取消u盘写保护,如何关闭u盘写保护?u盘写保护怎么去掉?
  15. nginx: [emerg] events directive is not allowed here in /opt/myapi/nginx.conf:XX
  16. Halide教程Part01:build、语法、调度、流水线
  17. 1-1 MySQL数据库的基本操作 【增删改查】
  18. 跨考计算机复试自我介绍,跨考生复试自我介绍
  19. 第五章 区块链在非金融行业的应用
  20. 2014中国CRM与商业IT展览会(上交会专题)

热门文章

  1. 普通用户使用su无法切到root用户的解决方法
  2. java web项目——MySQL中文乱码问题解决
  3. 【deep_thoughts】30_PyTorch LSTM和LSTMP的原理及其手写复现
  4. 远程连接服务器突然失败
  5. shell kill 掉指定app
  6. Java学生信息管理系统——管理员登录模块(简单易上手)
  7. ipad iphone开发_如何在iPhone或iPad上“不信任”计算机
  8. 遇到100万行的 Excel,还没打开,电脑和我都崩溃了,该怎么办?
  9. JavaScript中节点获取,节点的属性,如何操作节点
  10. 深入浅出DDR系列(一)--DDR原理篇