目录

  • 预备的数学知识

    • 约束优化问题
  • 分类
  • 线性可分支持向量机
    • hard-margin SVM: 最大间隔SVM
    • 第一宝 间隔
    • 第二宝 对偶
      • 原问题和对偶问题有相同解的充要条件
  • soft-marign 软间隔
    • 优化目标
    • 一些损失函数
  • 核方法
    • 核函数的定义

预备的数学知识

约束优化问题

原问题,带等式约束,也带不等式约束的一般约束问题
\[ \begin{cases} \min_{x}f(x)\\ s.t \begin{cases} m_i(x)>=0, i=1,..,m\\ n_j(x)=0,j=1,..,m\\ \end{cases} \end{cases}\tag{1} \]
构造lagrange乘子法
\[ L(x,\lambda_i,\eta_j)= f(x)-\sum_{i=1}^{m}\lambda_im_i(x)-\sum_{j=1}^{n}\eta_j \tag{2} \]

\[ \begin{cases} \min_{x} max_{\lambda_i,\eta_j} L(R^p)\\ s.t \lambda_i>=0 \end{cases} \]

上述两个问题的等价性证明

如果x不满足约束\(m_i(x)\),则\(\lambda_i>=0\),同时\(m_i(x)<\),则\(L(R^{p},\lambda,\eta)\)趋近无穷,反之,则存在最大值
\[ min_{x} max_{\lambda,\eta}=min_{x}(max f满足条件,max f不满足约束)\\=min_{x} max_{\lambda,\eta}{f满足条件} \]
对偶问题: 关于\(\lambda,\eta\)的最大化问题

\[max min L(x,\lambda,\eta)\\ s.t \lambda_i>=0\]

弱对偶问题:对偶问题<=原问题

证明: \(max_{x} min(\lambda \eta ) L<=min_{\eta,\lambda } max_{x} L\)
\[ \underbrace{\min_{x}L(x,\lambda,\eta)}_{A(\lambda,\eta)}<=L(x,\lambda,\eta)<=\underbrace{\max_{\lambda,\eta} L(x,\lambda,\eta)}_{B(x)} \]

分类

hard-margin SVM、 soft-margin SVM 、kernel SVM

线性可分支持向量机

对于A子图,可以用一个超平面(\(w^Tx+b\))去分类两类数据,建立如下的数学模型

\[ f(w,b)=sign(w^Tx+b)\]

B,C,D子图提供了超平面都可以分类,显然B,C图的超平面的鲁棒性不如D图。SVM就是找到最好的一个超平面,怎么衡量好呢?找到平面离样本点的距离最大

hard-margin SVM: 最大间隔SVM

第一宝 间隔

首先,看下margin的定义

\[ margin(w,b) = min(\frac{|w^Tx_i+b|}{||w||})\]

接下来

数学模型:

\[\begin{cases} \max margin(w,b)\\ st. y_i(w^Tx_i+b)>0\end{cases}\]

\[\Longrightarrow\begin{cases} max \frac{1}{||w||}min(y_i(w^Tx_i+b))\\ st. y_i(w^Tx_i+b)>0\end{cases}\]

注意,\(y_i(w^Tx_i+b)>0\),所以\(\exists r>0, min(y_i(w^Tx_i+b))=r\),可令\(r=1\),这是对超平面范数的固定作用,因为\(y=w^Tx+b\)和\(y=2w^T+2b\)是同一个超平面,总能找到缩放\(w,b\)使得,可以将\(r\)缩放到1

\[\Longrightarrow\begin{cases} max \frac{1}{||w||}\\ st. y_i(w^Tx_i+b)>=1\end{cases}\]

\[\Longrightarrow\begin{cases} \min \frac{1}{2}w^Tw\\ st. y_i(w^Tx_i+b)>=1\end{cases}\]

这是一个土二次规划问题

第二宝 对偶

利用lagrange乘子法得出对偶问题

带约束

\[\begin{cases} \min \frac{1}{2}w^Tw\\ st. y_i(w^Tx_i+b)-1>=0\end{cases}\]

\[ \Longrightarrow L(w,b,\lambda)=\frac{1}{2}w^Tw-\sum_{i=1}^{N}\lambda_i(1-y_i(w^Tx_i+b)\]

无约束

\[ \begin{cases}min_{w,b} max_{\lambda}L(w,b,\lambda) \\ s.t \lambda_i>=0\end{cases}\]

此时关于\(w,b\)无约束的。

对\((L(w,b,\lambda))\) 对\(w\),\(b\)求偏导
\[ \frac{\partial L}{\partial w}=w+\sum_{i=1}^{N}y_ix_i\lambda_i=0 \Longrightarrow w=-\sum_{i=1}^{N}y_ix_i\lambda_i\\ \frac{\partial L}{\partial b}=-\sum_{i=1}^{N}\lambda_iy_i=0 \]
带回\(L(w,b,\lambda)\),可得对偶问题

\[ \begin{cases} max_{\lambda}L(w,b,\lambda ) =-\frac{1}{2}\sum_i^N\sum_j^N\lambda_i \lambda_jy_iy_jx_i^Tx_j +\sum_i^N\lambda_i \\ s .t. \sum_{i=1}^N\lambda_iy_i,\lambda_i>=0\end{cases} \Longrightarrow\\\begin{cases} min_{\lambda}L(w,b,\lambda ) =\frac{1}{2}\sum_i^N\sum_j^N\lambda_i \lambda_jy_iy_jx_i^Tx_j -\sum_i^N\lambda_i \\ s .t. \sum_{i=1}^N\lambda_iy_i,\lambda_i>=0\end{cases}\]

原问题和对偶问题有相同解的充要条件

满足 KKT
\[ \begin{cases} \frac{\partial L}{\partial w}=0,\frac{\partial L}{\partial b}=0,\frac{\partial L}{\partial \lambda}=0\\ \lambda_i(y_i(w^Tx_i+b)-1)=0\\ \lambda_i>=0\\ y_i(w^Tx_i+b)-1>=0 \end{cases} \]
如果存在\((x_k,y_k)=+1or -1\)使得​\(y_i(w^Tx_i+b)-1=0\)即可求解\(b=y_k-\sum_{i=0}^{N}\lambda_ix_i^Tx_k\)

代入模型

\[ f(x)=sign(\sum_i^Na_iy_ix_i^Tx+y_k-\sum_{i=0}^{N}\lambda_ix_i^Tx_k)\]

注意,对于任意的训练样本,总有\(\lambda_i=0\)或者\(y_if(x_i)=1\),如果\(\lambda_i>0\),说明样本点落在最大间隔的边界上,这些点就是支持向量,这条边界\(w^Tx+b=1or-1\)

soft-marign 软间隔

想法:允许一部分样本可以不被正确分类

优化目标

\[ \min_{w,b} \frac{1}{2}w^Tw+loss \]

一些损失函数

  1. 0-1损失 个数

    \[loss=\sum_{i=1}^NI\{y_i(w^Tx+b)<1\}\]

    数学性质不好,不连续

  2. 0-1损失 距离 hinge loss
    \[ loss = \begin{cases} 0 , y_i(w^Tx_i+b)>=0,\\ 1-y_i(w^tx_i+b), y_i(w^Tx_i+b)<1\\ \end{cases} \]

    \[ loss_{max} = max(0,1-y_i(w^Tx_i+b)=1-z) \]

    此时优化问题,令\(\xi_i=1-y_i(w^Tx_i+b)\)
    \[ \min \frac{1}{2}w^Tw+\sum_{i=1}^{N}\xi_i\\ s.t \begin{cases} y_i(w^Tx_i+b)>=1-\xi_i\\ \xi_i>=0 \end{cases} \]

  3. 指数损失(exponential loss )
    \[ l_{exp}(z)=exp(-z) \]

  4. 对率损失logistic loss
    \[ l_{log}(z)=log(1+exp(-z)) \]

核方法

核函数的定义

设 \(\chi\)为输入空间(Input Space), \(\mathrm{H}\)为特征空间(Feature Space,一定是希尔伯特空间),存在一个映射
\[ \varphi : \chi \rightarrow \mathrm{H} \]
对任意的 \(x, y \in \mathrm{X}\),函数 \(K(x, y)\),满足
\[ K(x, y)=<\varphi(x), \varphi(y)> \]
则称 \(K(x, y)\)为核函数。可以看出,我们并不需要知道输入空间和特征空间满足的映射关系 ,只需要知道核函数就可以算出,输入空间中任意两点映射到特征空间的内积。

转载于:https://www.cnblogs.com/xiemaycherry/p/10560865.html

支持向量机的基本原理相关推荐

  1. 支持向量机(SVM)基本原理

    SVM 看了很多关于SVM的博客,但是常常只能保存书签之后看,有时候有的博客就突然没了,这里就作为搬运工总结一下之后自己看吧.主要内容来自于: 支持向量机通俗导论(理解SVM的三层境界) 分类标准的起 ...

  2. 支持向量机算法基本原理分析

    支持向量机(SVM)是一种监督学习算法,可用于分类和回归问题.支持向量机是最常用也是大家最熟悉的算法,你可能不懂其算法原理,但你绝对听说过这种算法.今天算法研习第三节就来说说关于向量机的基本思想,具体 ...

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

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

  4. 【线性分类器】(四)万字长文解释拉格朗日乘子与支持向量机

    [线性分类器](一)线性判别 [线性判别器](二)"深度学习"的鼻祖--感知器 [线性分类器](三)线性分类器的松弛求解: LEMS 算法,H-K 算法 文章目录 拉格朗日乘子与支 ...

  5. Scikit-learn_分类算法_支持向量机分类

    一.描述 支持向量机的基本原理是找到一个将所有数据样本分隔成两部分的超平面,使所有样本到这个超平面的累计距离最短. 超平面是指n维线性空间中维度为n-1的子空间.例如,在二维平面中,一维的直线可以将二 ...

  6. 机器学习三人行(系列七)----支持向量机实践指南(附代码)

    原文链接:阅读原文 欢迎大家关注微信公众号"智能算法",我们一起学习,共同进步. 如需前面系列文章,请在公众号回复" 机器学习 "进行查看! 通过对系列六的学习 ...

  7. 支持向量机算法的实现和应用(Python3超详细的源码实现+图介绍)

    支持向量机算法的实现和应用,因为自己推到过SVM,建议自己推到一遍, 这里不对SVM原理做详细的说明. 原理公式推到推荐看:https://blog.csdn.net/jcjx0315/article ...

  8. Matlab实现支持向量机算法(附上完整仿真源码)

    支持向量机是一种常见的机器学习算法,它可以用于分类和回归问题.在Matlab中使用支持向量机,可以方便地构建和训练模型,并进行预测和评估.本文将介绍Matlab支持向量机的基本原理以及一个简单的分类案 ...

  9. 【模式识别/机器学习】支持向量机SVM浅析

    支持向量机(Support Vector Machines,SVM)是1995年Cortes喝Vapnik首先提出的,它在解决小样本.非线性以及高位模式识别问题中表现出了许多特有的优势,并且可以推广应 ...

最新文章

  1. 力扣(LeetCode)刷题,简单题(第8期)
  2. 数据库“新解”,看这里,get!
  3. 录制声音并且播放录取的声音
  4. android 默认打开服务器地址,Android开发实现任意切换服务器地址
  5. appcompat_v7\res\values-v21\themes_base.xml:158: error: Error: No resource
  6. angular父组件通过@ViewChild 主动获取子组 件的数据和方法
  7. JavaWEB后端支付银联,支付宝,微信对接
  8. 支付宝(即时到账批量退款业务错误码)
  9. 在移动端a、input、label等标签点击后会出现背景阴影问题
  10. leetcode —— 337. 打家劫舍 III
  11. 字体渲染 渲染引擎
  12. 趣味集算:八皇后问题
  13. NLP-文本挖掘-综述
  14. linux物理服务器搬迁后,更换了路由器,ping不同外网
  15. 三菱q系列plc 和电脑socket_三菱Q系列Socket通讯(套接字通讯)讲解
  16. 使用原生js写一个简单的注册登录页面
  17. ionic自定义图标心得分享
  18. vmware虚拟机中的Linux桥接模式上网
  19. 在Windows 10、8、7或Vista上将任何键映射到任何键
  20. 使用 Fastlane 上传 App 到蒲公英

热门文章

  1. Linux使用ntpdate和ntpd进行时间同步
  2. 阿里云云中沙箱自助实验-从Gitlab数据库被删看数据备份的重要性!
  3. ubuntu 关闭IPv6
  4. 空格在Html中的表示方法(nbsp含义)
  5. Java 异常丢失及finally子句
  6. 【Android】不依赖焦点和选中的TextView跑马灯
  7. [导入]在vs2005中调用远程WebService(幻想曲)
  8. python 下载csv文件保存到 redis
  9. [Java] 蓝桥杯ADV-185 算法提高 五次方数
  10. rbf神经网络原理_【新书推荐】【2012.12】智能优化算法原理与应用(李士勇)...