2018.1.16
给定训练集\(T={(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)}\),一共有N个样本点。

一、线性可分的支持向量机

假定训练集是线性可分的。学习的目标是在特征空间找到一个分离超平面\(wx+b=0\),能够将所有的样本正确划分为两类。学习的策略是间隔最大化。

1 目标函数

样本点\((x_i,y_i)\)到超平面\(wx+b=0\)的距离是
\[ d= \frac{|wx_i+b|}{\|w\|} \]
正例样本的\(y_i=+1\),负例样本的\(y_i=-1\),这样表示距离可以把绝对值符号去掉:
\[ d= \frac{y_i(wx_i+b)}{\|w\|} \]
\(y_i(wx_i+b)\)称为点\((x_i,y_i)\)到超平面\(wx+b=0\)的函数间隔
所有样本点中离分离超平面最近的那个样本点的距离是:
\[ \min \limits_{i} {\frac{y_i(wx_i+b)}{\|w\|}} \]
在所有超平面中能让这个最小距离最大的那个w,b就是我们要的结果:
\[ \max \limits_{w,b} \min \limits_i {\frac{y_i(wx_i+b)}{\|w\|}} \]
为了方便求解,做如下变换:
对于\(\min \limits_{i} {\frac{y_i(wx_i+b)}{\|w\|}}\)这部分,假设点\((x_m,y_m)\)取得最小距离为\(d_0\),也就是\(d_0 = {\frac{y_m(wx_m+b)}{\|w\|}}\),对分子分母同时乘以或除以一个数,使得分子=1,也就是函数间隔=1,这时分母也发生了相应变化,因为\(w\)表示超平面wx+b=0的法向量方向,按比例缩放后方向没有变化,我们将变化后的分母还记作\(\|w\|\)。通过令最小函数间隔=1,目标函数变为:
\[ \begin{aligned} &\max \limits_{w,b} {\frac{1}{\|w\|}}\\ s.t. \qquad & {y_i(wx_i+b)}\geq 1,\quad i=1,2,\cdots,N \end{aligned} \]
约束条件保证了所有点都能分类正确。
为方便求解,进一步变化为:
\[ \begin{aligned} &\min \limits_{w,b} \frac{1}{2}\|w\|^2\\ s.t. \qquad &{y_i(wx_i+b)} \geq 1, \quad i=1,2,\cdots,N \end{aligned} \]

2 拉格朗日乘子法求解

2.1 构造拉格朗日函数:
\[ L(w,b,\alpha)= \frac{1}{2}\|w\|^2-\sum_{i=1}^{N}\alpha_i[y_i(wx_i+b)-1] \]
其中\(\alpha = (\alpha_1,\alpha_2,\cdots,\alpha_N)^T\)是拉格朗日乘子,\(\alpha_i \geq 0\)
2.2 把w,b看作常数,构造一个函数 \(\theta\)定义为 \(L(w,b,\alpha)\) 关于 \(\alpha\) 求最大值
\[ \theta = \max \limits_{\alpha} L(w,b,\alpha) \]
因为 \(\alpha_i \geq 0\) 且 \({y_i(wx_i+b)} \geq 1\),所以
\[ \theta = \max \limits_{\alpha} L(w,b,\alpha) = \frac{1}{2}\|w\|^2 \]
2.3 原始问题 \(\min \limits_{w,b} \frac{1}{2}\|w\|^2\)等价于 $ \min \limits_{w,b} \max \limits_{\alpha} L(w,b,\alpha) \quad$。
根据拉格朗日对偶性,问题可变为 \(\max \limits_{\alpha} \min \limits_{w,b} L(w,b,\alpha)\)

(1) 求\(\min \limits_{w,b} L(w,b,\alpha)\)
\(\qquad\)对w,b分别求偏导数:
\[ \begin{aligned} \frac{\partial L}{\partial w} &= w - \sum_{i=1}^{N}\alpha_i y_i x_i \\ \frac{\partial L}{\partial b} &= -\sum_{i=1}^{N}\alpha_i y_i \end{aligned} \]
\(\qquad\)令偏导数=0得到:
\[ \begin{aligned} &w = \sum_{i=1}^{N}\alpha_i y_i x_i \\ & \sum_{i=1}^{N}\alpha_i y_i = 0 \end{aligned} \]
\(\qquad\)将这两个式子带回拉格朗日函数\(L(w,b,\alpha)\)得到:
\[ L(w,b,\alpha)= -\frac{1}{2} \sum_{i=1}^{N}\sum_{j=1}^{N} \alpha_i\alpha_j y_i y_j (x_i x_j) + \sum_{i=1}^{N} \alpha_i \]

(2) 求 \(\min \limits_{w,b} L(w,b,\alpha)\) 对\(\alpha\)的极大,$\max \limits_{\alpha} { {-\frac{1}{2} \sum_{i=1}^{N}\sum_{j=1}^{N} \alpha_i\alpha_j y_i y_j (x_i x_j) + \sum_{i=1}^{N} \alpha_i} } $ ,加负号得到:
\[ \begin{aligned} \min \limits_{\alpha} & {\frac{1}{2} \sum_{i=1}^{N}\sum_{j=1}^{N} \alpha_i\alpha_j y_i y_j (x_i x_j) - \sum_{i=1}^{N} \alpha_i} \\ s.t. \qquad & \sum_{i=1}^{N} {\alpha_i y_i}=0\\ &\alpha_i \geq 0, i=1,2,\cdots, N \end{aligned} \]

(3) 假设求出了(2)中 $\alpha $ 的最优解 \(\alpha^* =(\alpha_1^*,\alpha_2^*,\cdots,\alpha_N^*)^T\)
\(w\)的解为\(w^*=\sum_{i=1}^{N} \alpha_i^* y_i x_i\)
选择\(\alpha_i^*\)的一个正分量\(\alpha_i^*>0\),b的解为 \(b*=y_j -w^*x_j=y_j - \sum \alpha_i^* y_i (x_i x_j)\)

3 支持向量物理意义

在线性可分情况下,训练集的样本点中与分离超平面距离最近的样本点称为支持向量,即使得等式成立的样本点:\(y_i(wx_i+b)-1=0\).对正例点,支持向量在超平面\(H1:wx_i+b=1\);对负例点,支持向量在超平面\(H2:wx_i+b=-1\).支持向量就是落在超平面H1和H2上的点。H1和H2称为间隔边界。间隔带的宽度是\(\frac{2}{\|w\|}\)。联系目标函数最小化\(\|w\|\)也就是要间隔最宽。 支持向量决定了模型,移动支持向量以外的样本点不影响结果,所以SVM实际上只用到了少数的样本点。但距离超平面最近的点刚好是噪声点,那么模型就会有问题。

二、线性不可分的支持向量机

1 为什么加入松弛变量

不一定完全分类正确的超平面就是最好的,如下图。用第一部分的硬间隔最大化找出的分界面很可能如实线所示,实线可以将训练数据分为两类,但其泛化能力不如虚线。

少数特异点outlier造成训练数据不是线性可分的,如下图。用第一部分的硬间隔最大化不能找出一个分界面。如果能忽视outlier,就能较好分类。

上面两张图反映了硬间隔最大化存在一些问题,所以为每个样本点引入一个松弛变量,硬间隔修改为软间隔,这就是线性不可分的支持向量机。

2 目标函数和约束

\[ \begin{aligned} \min \limits_{w,b, \xi} \quad \frac{1}{2}\|w\|^2 & +C \sum_{i=1}^{N} \xi_i\\ s.t. \qquad {y_i(wx_i+b) + \xi_i} & \geq 1, \quad i=1,2,\cdots,N\\ \xi_i & \geq 0, \quad i=1,2,\cdots,N\\ \end{aligned} \]
约束条件:为每个样本点引入一个松弛变量\(\xi_i \geq 0\)使得函数间隔加上松弛\(\xi_i\)不小于1。如果样本点的函数间隔本身大于1,那么\(\xi_i=0\); 如果样本点的函数间隔<1,那么\(\xi_i=1-y_i(wx_i+b)>0\)。

目标函数:\(\sum_{i=1}^{N} \xi_i\)代表误差,误差越小越好;\(\|w\|\)和间隔有关,\(\|w\|\)越小,间隔越宽。C是超参数,用来调节两者关系;C取得越大,对误分类的惩罚越大,当C趋于无穷大,目标函数就退化为第一部分的硬间隔最大化的目标函数;一般C取得小一些,允许训练集的少数点被分类错,从而可以达到比较好的泛化能力。

3 拉格朗日乘子法求解

3.1 构造拉格朗日函数:
\[ L(w,b,\xi,\alpha,\mu)= \frac{1}{2}\|w\|^2 +C \sum_{i=1}^{N} \xi_i-\sum_{i=1}^{N}\alpha_i[y_i(wx_i+b)+\xi_i -1]-\sum_{i=1}^{N}\mu_i\xi_i \]
其中\(\alpha = (\alpha_1,\alpha_2,\cdots,\alpha_N)^T\)是拉格朗日乘子,\(\alpha_i \geq 0\); \(\mu = (\mu_1, \mu_2, \cdots, \mu_N)^T\)也是拉格朗日乘子,\(\mu_i \geq 0\)。
3.2 把w,b,\(\xi\)看作常数,构造一个函数 \(\theta\) 定义为\(L(w,b,\xi,\alpha,\mu)\)关于\(\alpha, \mu\)求最大值
\[ \theta = \max \limits_{\alpha,\mu} L(w,b,\xi,\alpha,\mu)=\frac{1}{2}\|w\|^2+C \sum_{i=1}^{N} \xi_i \]

3.3 原始问题 $ \quad \min \limits_{w,b} \frac{1}{2}|w|^2 +C \sum_{i=1}^{N}\xi_i \quad$等价于 $ \quad \min \limits_{w,b,\xi} \max \limits_{\alpha,\mu} L(w,b,\xi,\alpha,\mu) \quad$。
根据拉格朗日对偶性,问题可变为 $ \quad \max \limits_{\alpha,\mu} \min \limits_{w,b,\xi} L(w,b,\xi,\alpha,\mu) \quad$

(1) 求\(\min \limits_{w,b,\xi} L(w,b,\xi,\alpha,\mu) \quad\)
对w,b,\(\xi_i\)分别求偏导数:
\[ \begin{aligned} \frac{\partial L}{\partial w} &= w - \sum_{i=1}^{N}\alpha_i y_i x_i\\ \frac{\partial L}{\partial b} &= -\sum_{i=1}^{N}\alpha_i y_i\\ \frac{\partial L}{\partial \xi_i} &= C-\alpha_i - \mu_i \end{aligned} \]
\(\qquad\)令偏导数=0得到:
\[ \begin{aligned} &w = \sum_{i=1}^{N}\alpha_i y_i x_i\\ &\sum_{i=1}^{N}\alpha_i y_i = 0\\ &C-\alpha_i - \mu_i = 0\\ \end{aligned} \]
\(\qquad\)将这三个式子带回拉格朗日函数\(L(w,b,\xi,\alpha,\mu)\)得到:
\[ L(w,b,\xi,\alpha,\mu)= -\frac{1}{2} \sum_{i=1}^{N}\sum_{j=1}^{N} \alpha_i\alpha_j y_i y_j (x_i x_j) + \sum_{i=1}^{N} \alpha_i \]

(2) 求 \(\min \limits_{w,b,\xi} L(w,b,\xi,\alpha,\mu)\) 对 \(\alpha,\mu\) 的极大,\(\max \limits_{\alpha,\mu} \{-\frac{1}{2} \sum_{i=1}^{N}\sum_{j=1}^{N} \alpha_i\alpha_j y_i y_j (x_i x_j) + \sum_{i=1}^{N} \alpha_i\}\) ,加负号得到:
\[ \begin{aligned} \min \limits_{\alpha,\mu} & {\frac{1}{2} \sum_{i=1}^{N}\sum_{j=1}^{N} \alpha_i\alpha_j y_i y_j (x_i x_j) - \sum_{i=1}^{N} \alpha_i}\\ s.t. \qquad & \sum_{i=1}^{N} {\alpha_i y_i}=0\\ &C-\alpha_i - \mu_i =0 \\ & \alpha_i \geq 0,\\ & i=1,2,\cdots,N. \end{aligned} \]
消去\(\mu_i\),从而只剩下 \(\alpha_i\),得到:
\[ \begin{aligned} \min \limits_{\alpha} &{\frac{1}{2} \sum_{i=1}^{N}\sum_{j=1}^{N} \alpha_i\alpha_j y_i y_j (x_i x_j) - \sum_{i=1}^{N} \alpha_i}\\ s.t. \qquad &\sum_{i=1}^{N} {\alpha_i y_i}=0\\ &0 \leq \alpha_i \leq C,\\ &i=1,2,\cdots, N. \end{aligned} \]

(3) 假设求出了(2)中 \(\alpha\) 的最优解 \(\alpha^* =(\alpha_1^*,\alpha_2^*,\cdots,\alpha_N^*)^T\)
\(w\) 的解为 \(w^*=\sum_{i=1}^{N} \alpha_i^* y_i x_i\)
选择 $ \alpha_i^* $ 的一个正分量 $ 0<\alpha_i^*<C $ , b的解为 \(b*=y_j -w^*x_j=y_j - \sum \alpha_i^* y_i (x_i x_j)\)

4 支持向量物理意义

支持向量物理意义:
在线性不可分的情况下,支持向量不仅包括落在间隔边界上的样本点,还包括落在间隔带内的样本点以及误分类的点。落在间隔边界的点,\(\xi_i=0,\alpha_i<C\) .落在间隔带内的点或者误分类的点,\(\xi_i>0,\alpha_i=C\).
---
参数C和\(\gamma\)的影响直观理解:
http://blog.csdn.net/robin_xu_shuai/article/details/77051258
C越大,对错误分类的惩罚越大,容忍越小。

三、非线性的支持向量机

常用核函数:
多项式核函数
高斯核函数

转载于:https://www.cnblogs.com/min2day/p/8298606.html

机器学习-有监督-SVM相关推荐

  1. 西瓜书+实战+吴恩达机器学习(十六)半监督学习(半监督SVM、半监督k-means、协同训练算法)

    文章目录 0. 前言 1. 半监督SVM 2. 半监督k-means 2.1. 约束k-means 2.2. 约束种子k-means 3. 协同训练算法 如果这篇文章对你有一点小小的帮助,请给个关注, ...

  2. 【深度学习】半监督学习入门:伪标签学习和无监督SVM

    一.半监督学习 1-1.什么是半监督学习 让学习器不依赖外界交互.自动地利用未标记样本来提升学习性能,就是半监督学习(semi-supervised learning). 要利用未标记样本,必然要做一 ...

  3. 机器学习实战 支持向量机SVM 代码解析

    机器学习实战 支持向量机SVM 代码解析 <机器学习实战>用代码实现了算法,理解源代码更有助于我们掌握算法,但是比较适合有一定基础的小伙伴.svm这章代码看起来风轻云淡,实则对于新手来说有 ...

  4. 转载-机器学习实战之SVM

    出处:https://www.cnblogs.com/zy230530/p/6901277.html 机器学习实战之SVM 一引言: 支持向量机这部分确实很多,想要真正的去理解它,不仅仅知道理论,还要 ...

  5. 机器学习05:SVM支持向量机的学习和应用SVM解决猫狗图像分类问题

    机器学习05:SVM支持向量机的学习和应用SVM解决猫狗图像分类问题 文章目录 机器学习05:SVM支持向量机的学习和应用SVM解决猫狗图像分类问题 前言 1.从二维线性模型说起 2. 如何求解SVM ...

  6. 机器学习-----有监督,无监督,半监督学习的简单阐释

    来源: 机器学习算法盘点 - ranjiewen - 博客园 http://www.cnblogs.com/ranjiewen/p/6235388.html 为啥感觉完全是被圈粉了----好厉害啊-- ...

  7. 机器学习——支持向量机(SVM)

    在机器学习中,支持向量机(英语:Support Vector Machine,常简称为SVM,又名支持向量网络[1])是在分类与回归分析中分析数据的监督式学习模型与相关的学习算法.给定一组训练实例,每 ...

  8. 【opencv机器学习】基于SVM和神经网络的车牌识别

    基于SVM和神经网络的车牌识别 深入理解OpenCV:实用计算机视觉项目解析 本文用来学习的项目来自书籍<实用计算机视觉项目解析>第5章Number Plate Recognition 提 ...

  9. 机器学习算法-监督/无监督

    机器学习的主要任务: 分类:将实例数据划分到某一类别 回归:根据现有的数据特征预测数值型的数据 如何选择合适的算法 (1)确定算法的类型:监督[-预测目标变量的值-] / 无监督 (2)若是监督算法, ...

最新文章

  1. 三层交换机vlan间访问(第一种方式)
  2. 惠普鼠标g260_惠普g260鼠标怎么样 惠普鼠标怎么样?
  3. 任意长度的字典生成算法
  4. TypeError: 'module' object is not callable 原因分析(python模块导入注意事项)
  5. 没想到你是这样的直播研发骚年
  6. Educational Codeforces Round 1
  7. android 9格式吗,Android Studio中关于9-patch格式图片的编译错误
  8. JDK源码解析之java.util.AbstractCollection
  9. 3D视觉——基恩士LJ-X系列线激光
  10. 2022-2028全球及中国计算流体动力学软件和服务行业研究及十四五规划分析报告
  11. jq追加html点击事件,jq增加点击事件 Jquery为DIV添加点击事件
  12. html中表格table冻结行和列
  13. linux内核修改电流,为AM335x移植Linux内核主线代码(43)USB HUB和鼠标
  14. Mac系统升级,降级PHP出现的问题解决办法
  15. 【ODX介绍】-4.3-UDS诊断$3E服务在ODX-D诊断描述文件中如何描述
  16. 02.windows转mac日记——操作习惯
  17. SpringBoot-Rabbit MQ-设置手动确认ACK-Channel shutdown异常
  18. MyBatis批量插入几千条数据,慎用Foreach
  19. Linux为什么最多能分4个四个主分区
  20. 拍照怎么测量尺寸?这些方法可以了解一下

热门文章

  1. PHP中问号?和冒号: 的作用
  2. 通过shell例子来学习循环结构的语法
  3. 在MFC框架下使用osg报内存泄露的解决办法
  4. ajax跨域访问控制
  5. mybatis中的智能标签之二
  6. 【CSS3】CSS——链接
  7. 【helpdesk】启明星helpdesk7.0版本里,实现邮件提交功能介绍和原理
  8. Tomcat无法启动,报错java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory
  9. ERROR 1045 (28000): Access denied for user'root'@'localhost'(using password:YES)
  10. c#操作word表格