支持向量机1-线性可分支持向量机
线性可分支持向量机
- 一.理论基础
- 一.支持向量机分类
- 二.函数间隔与几何间隔
- 三.支持向量
- 四.线性可分支持向量机
- 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∣∣2w⋅xi+∣∣w∣∣2b)
定义超平面(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∣∣21,两个支持向量之间的距离为 2 ∣ ∣ w ∣ ∣ 2 \frac{2}{||w||_2} ∣∣w∣∣22
四.线性可分支持向量机
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∣∣2w⋅xi+∣∣w∣∣2b)≥γ 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∣∣21和最小化 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,bmin21∣∣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,bminai≥0maxL(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≥0maxw,bminL(w,b,α)
对对偶问题求解详细步骤
最终转换成了求解对偶最优化问题, 求解 α \alpha α
4.2 .2 对偶最优化问题的解与原问题的解的关系
4.3 线性可分支持向量机学习总结
参考
1.李航 统计学方法
2.支持向量机原理(一) 线性支持向量机
3.约束优化方法之拉格朗日乘子法与KKT条件
支持向量机1-线性可分支持向量机相关推荐
- 线性支持向量机、线性可分支持向量机、非线性支持向量机是怎么区分的?
SVM(Support Vector Machine)是一种二类分类模型. 它的基本模型是定义在特征空间上的间隔最大的线性分类器. 支持向量就是最大间隔或者分割超平面上的那几个临界点,具体入下图所示: ...
- 支持向量机专题——线性可分支持向量机
原文 支持向量机(support vector machine, SVM)是一种经典的分类器,其主要思想是学习一个在特征空间上使间隔最大的分类器.支持向量机的学习可以看成是一个求解凸二次规划问题的过程 ...
- 支持向量机之线性可分支持向量机(一)
简介 支持向量机(support vector machines,SVM)是一种二分类分类模型.它的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使得它有别于感知机:支持向量机还包括核技巧 ...
- 统计学习方法笔记(五)-线性可分支持向量机原理及python实现
支持向量机 支持向量机 线性可分支持向量机 最大间隔法 代码实现 案例地址 支持向量机 支持向量机(support vector machines,SVM)是一种二分类模型,它的基本类型是定义在特征空 ...
- 线性可分支持向量机、线性支持向量机、非线性支持向量机的区别
线性可分支持向量机: 线性可分支持向量机处理的是严格线性可分的数据集. 其分类超平面为: 相应的决策函数为:或者 其学习的优化问题为: 线性支持向量机: 线性支持向量机处理的是线性不可分的数据集.对于 ...
- 支持向量机(SVM):超平面及最大间隔化、支持向量机的数学模型、软间隔与硬间隔、线性可分支持向量机、线性支持向量机、非线性支持向量机、核函数、核函数选择、SMO算法、SVM vs LR、优缺点
支持向量机(SVM):超平面及最大间隔化.支持向量机的数学模型.软间隔与硬间隔.线性可分支持向量机.线性支持向量机.非线性支持向量机.核函数.核函数选择.SMO算法.SVM vs LR.优缺点 目录
- 【统计学习方法】线性可分支持向量机对鸢尾花(iris)数据集进行二分类
本文摘要 · 理论来源:[统计学习方法]第七章 SVM · 技术支持:pandas(读csv).numpy.sklearn.svm.svm思想.matplotlib.pyplot(绘图) · 代码目的 ...
- 【机器学习基础】数学推导+纯Python实现机器学习算法8-9:线性可分支持向量机和线性支持向量机...
Python机器学习算法实现 Author:louwill 前面两讲我们对感知机和神经网络进行了介绍.感知机作为一种线性分类模型,很难处理非线性问题.为了处理非线性的情况,在感知机模型的基础上有了两个 ...
- 支持向量机——线性可分支持向量机
文章目录 1 线性可分支持向量机 2 函数间隔和几何间隔 3 间隔最大化 4 学习的对偶算法 GitHub 简书 CSDN 1 线性可分支持向量机 支持向量机(Support vector machi ...
最新文章
- Python OOP知识积累
- 深度学习核心技术精讲100篇(六十五)-万字长文从ReLU到GELU通讲神经网络激活函数
- “噪声对比估计”杂谈:曲径通幽之妙
- php 图片上传 水印,PHP - 图片上传并添加水印
- CodeSmith实用技巧(八):生成的代码输出到文件中
- YFI与Curve合作项目初始支持6种算法稳定币
- mysql数据表中取几列_MySQL查询数据表中数据记录(包括多表查询)
- 电话拦截以及电话拦截后的提示音
- java entitybuilder_Java MultipartEntityBuilder.setContentType方法代码示例
- linux 启动u盘引导,U盘启动引导安装linux
- 【梦幻童年win7热门主题】
- 公司与公司保密协议范本
- Chrome浏览器下载zoom录像
- linux 取消u盘写保护,如何关闭u盘写保护?u盘写保护怎么去掉?
- nginx: [emerg] events directive is not allowed here in /opt/myapi/nginx.conf:XX
- Halide教程Part01:build、语法、调度、流水线
- 1-1 MySQL数据库的基本操作 【增删改查】
- 跨考计算机复试自我介绍,跨考生复试自我介绍
- 第五章 区块链在非金融行业的应用
- 2014中国CRM与商业IT展览会(上交会专题)
热门文章
- 普通用户使用su无法切到root用户的解决方法
- java web项目——MySQL中文乱码问题解决
- 【deep_thoughts】30_PyTorch LSTM和LSTMP的原理及其手写复现
- 远程连接服务器突然失败
- shell kill 掉指定app
- Java学生信息管理系统——管理员登录模块(简单易上手)
- ipad iphone开发_如何在iPhone或iPad上“不信任”计算机
- 遇到100万行的 Excel,还没打开,电脑和我都崩溃了,该怎么办?
- JavaScript中节点获取,节点的属性,如何操作节点
- 深入浅出DDR系列(一)--DDR原理篇