文章目录

  • 1.3 非线性SVM与核技巧
    • 1.3.1 核函数
    • 1.3.2 核技巧在支持向量机中的应用
    • 1.3.3 常用核函数
  • 1.4 其他问题
    • 1.4.1 是否存在一组参数使SVM训练误差为0:是
    • 1.4.2 训练误差为0的SVM分类器一定存在吗:是
    • 1.4.3 加入松弛变量的SVM的训练误差可以为0吗:不一定

1.3 非线性SVM与核技巧

  • 非线性问题往往不好求解,所以希望能用解线性分类问题的方法解决这个问题。所采取的方法是进行一个非线性变换,将非线性问题变换为线性问题,通过解变换后的线性问题的方法求解原来的非线性问题。
  • 用线性分类方法求解非线性分类问题分为两步:
    • 首先使用一个变换将原空间的数据映射到新空间;
    • 然后在新空间里用线性分类学习方法从训练数据中学习分类模型。

1.3.1 核函数

  • 通过一个非线性变换将输入空间X\mathcal XX(欧氏空间Rn\mathrm R^nRn的子集或离散集合)对应于一个特征空间(希尔伯特空间H\mathcal HH)。如果存在这样的映射
    ϕ(x):X→H\phi(x): \mathcal X \rightarrow \mathcal H ϕ(x):X→H
    使得对所有的x,z∈Xx,z\in\mathcal Xx,z∈X,函数KKK满足条件
    K(x,z)=ϕ(x)⋅ϕ(z)K(x,z)=\phi(x)\cdot\phi(z) K(x,z)=ϕ(x)⋅ϕ(z)
    则称K(x,z)K(x,z)K(x,z)为核函数,ϕ(x)\phi(x)ϕ(x)为映射函数,式中KKK为映射函数的的内积。
  • 核技巧的想法是,在学习与预测中只定义核函数K(x,z)K(x,z)K(x,z),而不显式地定义映射函数ϕ\phiϕ,因为前者直接计算相对更简单。学习是隐式地在特征空间进行的,不需要显式地定义特征空间和映射函数.
  • 给定核函数,即使对应同一高维特征空间,也可取不同的映射函数。即核函数和映射函数是一对多的关系。

1.3.2 核技巧在支持向量机中的应用

  • 在线性支持向量机的对偶问题中,无论是目标函数还是决策函数(分离超平面)都只涉及输入实例与实例之间的内积

    • 对偶问题的目标函数
      12∑i=1N∑j=1Nαiαjyiyj(xi⋅xj)−∑i=1Nαi=12∑i=1N∑j=1NαiαjyiyjK(xi,xj)−∑i=1Nαi\frac{1}{2} \sum_{i=1}^{N} \sum_{j=1}^{N} \alpha_{i} \alpha_{j} y_{i} y_{j}\left(x_{i} \cdot x_{j}\right)-\sum_{i=1}^{N} \alpha_{i} = \frac{1}{2} \sum_{i=1}^{N} \sum_{j=1}^{N} \alpha_{i} \alpha_{j} y_{i} y_{j}K(x_i,x_j)-\sum_{i=1}^{N} \alpha_{i} 21​i=1∑N​j=1∑N​αi​αj​yi​yj​(xi​⋅xj​)−i=1∑N​αi​=21​i=1∑N​j=1∑N​αi​αj​yi​yj​K(xi​,xj​)−i=1∑N​αi​
    • 分类决策函数
      f(x)=sign⁡(∑i=1Nαi∗yi(x⋅xi)+b∗)=sign⁡(∑i=1Nαi∗yiK(x,xi)+b∗)f(x)=\operatorname{sign}\left(\sum_{i=1}^{N} \alpha_{i}^{*} y_{i}\left(x \cdot x_{i}\right)+b^{*}\right) =\operatorname{sign}\left(\sum_{i=1}^{N} \alpha_{i}^{*} y_{i}K(x,x_i)+b^{*}\right) f(x)=sign(i=1∑N​αi∗​yi​(x⋅xi​)+b∗)=sign(i=1∑N​αi∗​yi​K(x,xi​)+b∗)

1.3.3 常用核函数

  • 多项式核函数(polynomial kernel function)
    K(x,z)=(x⋅z+1)pK(x,z)=(x\cdot z+1)^p K(x,z)=(x⋅z+1)p
    对应的支持向量机是一个p 次多项式分类器。分类决策函数成为
    f(x)=sign⁡(∑i=1Nαi∗yi(xi⋅x+1)p+b∗)f(x)=\operatorname{sign}\left(\sum_{i=1}^{N} \alpha_{i}^{*} y_{i}\left(x_{i} \cdot x+1\right)^{p}+b^{*}\right) f(x)=sign(i=1∑N​αi∗​yi​(xi​⋅x+1)p+b∗)
  • 高斯核函数(Gaussian kernel function)
    K(x,z)=exp⁡(−∣∣x−z∣∣22σ2)K(x,z)=\exp\left(-\frac{||x-z||^2}{2\sigma^2}\right) K(x,z)=exp(−2σ2∣∣x−z∣∣2​)
    对应的支持向量机是高斯径向基函数(radial basis function)分类器。
    分类决策函数成为
    f(x)=sign⁡(∑i=1Nαi∗yiexp⁡(−∥x−xi∥22σ2)+b∗)f(x)=\operatorname{sign}\left(\sum_{i=1}^{N} \alpha_{i}^{*} y_{i} \exp \left(-\frac{\left\|x-x_{i}\right\|^{2}}{2 \sigma^{2}}\right)+b^{*}\right)f(x)=sign(i=1∑N​αi∗​yi​exp(−2σ2∥x−xi​∥2​)+b∗)

1.4 其他问题

1.4.1 是否存在一组参数使SVM训练误差为0:是

分类决策函数为
f(x)=sign⁡(∑i=1Nαi∗yiK(x,xi)+b∗)f(x)=\operatorname{sign}\left(\sum_{i=1}^{N} \alpha_{i}^{*} y_{i} K(x,x_i)+b^{*}\right)f(x)=sign(i=1∑N​αi∗​yi​K(x,xi​)+b∗)
这里我们先只考虑不取sign之前的预测结果y^(x)=∑i=1Nαi∗yiK(x,xi)+b∗\hat y(x)=\sum_{i=1}^{N} \alpha_{i}^{*} y_{i} K(x,x_i)+b^{*}y^​(x)=∑i=1N​αi∗​yi​K(x,xi​)+b∗

使用高斯核的SVM,同时我们对任意iii,固定αi=1\alpha_i=1αi​=1以及b=0b=0b=0,只保留高斯分布的参数σ\sigmaσ,得到

y^(x)=∑i=1Nαi∗yiexp⁡(−∥x−xi∥22σ2)+b∗=∑i=1Nyiexp⁡(−∥x−xi∥22σ2)\hat y(x)=\sum_{i=1}^{N} \alpha_{i}^{*} y_{i} \exp \left(-\frac{\left\|x-x_{i}\right\|^{2}}{2 \sigma^{2}}\right)+b^{*} =\sum_{i=1}^{N} y_{i} \exp \left(-\frac{\left\|x-x_{i}\right\|^{2}}{2 \sigma^{2}}\right) y^​(x)=i=1∑N​αi∗​yi​exp(−2σ2∥x−xi​∥2​)+b∗=i=1∑N​yi​exp(−2σ2∥x−xi​∥2​)
对任意一个训练样本xjx_jxj​代入有
y^(xj)−yj=∑i=1Nsyiexp⁡(−∥xj−xi∥22σ2)−yj=∑i=1,i≠jNyiexp⁡(−∥xj−xi∥22σ2)\hat y(x_j)-y_j=\sum_{i=1}^{N_{s}} y_{i} \exp \left(-\frac{\left\|x_j-x_{i}\right\|^{2}}{2 \sigma^{2}}\right)-y_j =\sum_{i=1,i\not=j}^{N} y_{i} \exp \left(-\frac{\left\|x_j-x_{i}\right\|^{2}}{2 \sigma^{2}}\right) y^​(xj​)−yj​=i=1∑Ns​​yi​exp(−2σ2∥xj​−xi​∥2​)−yj​=i=1,i​=j∑N​yi​exp(−2σ2∥xj​−xi​∥2​)
∥y^(xj)−yj∥=∥∑i=1,i≠jNyiexp⁡(−∥xj−xi∥22σ2)∥≤∑i=1,i≠jN∥yiexp⁡(−∥xj−xi∥22σ2)∥=∑i=1,i≠jNexp⁡(−∥xj−xi∥22σ2)\begin{aligned} \|\hat y(x_j)-y_j\| &=\left\|\sum_{i=1,i\not=j}^{N} y_{i} \exp \left(-\frac{\left\|x_j-x_{i}\right\|^{2}}{2 \sigma^{2}}\right)\right\| \\ &\le\sum_{i=1,i\not=j}^{N} \left\|y_{i} \exp \left(-\frac{\left\|x_j-x_{i}\right\|^{2}}{2 \sigma^{2}}\right)\right\|\\ &=\sum_{i=1,i\not=j}^{N} \exp \left(-\frac{\left\|x_j-x_{i}\right\|^{2}}{2 \sigma^{2}}\right) \end{aligned} ∥y^​(xj​)−yj​∥​=∥∥∥∥∥∥​i=1,i​=j∑N​yi​exp(−2σ2∥xj​−xi​∥2​)∥∥∥∥∥∥​≤i=1,i​=j∑N​∥∥∥∥∥​yi​exp(−2σ2∥xj​−xi​∥2​)∥∥∥∥∥​=i=1,i​=j∑N​exp(−2σ2∥xj​−xi​∥2​)​
若给定训练集中不存在在同一位置的两个点,即我们可以认为∥xi−xj∥≥ϵ\|x_i-x_j\|\ge \epsilon∥xi​−xj​∥≥ϵ,其中ϵ\epsilonϵ是一个非0的数。
取ϵ22σ2=log⁡N⇒\frac{\epsilon^{2}}{2 \sigma^{2}}=\log N \Rightarrow2σ2ϵ2​=logN⇒
∑i=1,i≠jNexp⁡(−∥xj−xi∥22σ2)≤∑i=1,i≠jNexp⁡(−ϵ22σ2)=∑i=1,i≠jNexp⁡(−log⁡N)=∑i=1,i≠jN1N=N−1N<1\begin{aligned} \sum_{i=1,i\not=j}^{N} \exp \left(-\frac{\left\|x_j-x_{i}\right\|^{2}}{2 \sigma^{2}}\right) &\le \sum_{i=1,i\not=j}^{N} \exp \left(-\frac{\epsilon^{2}}{2 \sigma^{2}}\right)\\ &=\sum_{i=1,i\not=j}^{N} \exp \left(-\log N\right)\\ &=\sum_{i=1,i\not=j}^{N}\frac{1}{N}=\frac{N-1}{N}<1 \end{aligned} i=1,i​=j∑N​exp(−2σ2∥xj​−xi​∥2​)​≤i=1,i​=j∑N​exp(−2σ2ϵ2​)=i=1,i​=j∑N​exp(−logN)=i=1,i​=j∑N​N1​=NN−1​<1​
所以,对于任意一个样本xjx_jxj​,它的预测结果y^(xj)\hat y(x_j)y^​(xj​)和真实结果yjy_jyj​的距离小于1,即当真实标签yj=1y_j=1yj​=1,y^(xj)>0,sign⁡(y^(xj))=1\hat y(x_j)>0,\operatorname{sign}(\hat y(x_j))=1y^​(xj​)>0,sign(y^​(xj​))=1,即预测正确。同理真实标签yj=−1y_j=-1yj​=−1也预测正确。
综上,我们可以找到这样一组αi,b,σ2\alpha_i,b,\sigma^2αi​,b,σ2得到训练误差为0.
但是这组参数不一定是SVM的解。

1.4.2 训练误差为0的SVM分类器一定存在吗:是

SVM的解要求yj⋅y^(xj)=yj(w⋅xj+b)≥1y_j\cdot\hat y(x_j)=y_j(w\cdot x_j +b)\ge1yj​⋅y^​(xj​)=yj​(w⋅xj​+b)≥1,这比前述的预测正确的条件更强。
我们仍然固定b=0b=0b=0
yj⋅y^(xj)=yj∑i=1Nαi∗yiK(xj,xi)=∑i=1,i≠jNαi∗yjyiK(xj,xi)+αj∗yjyjK(xj,xj)=∑i=1,i≠jNαi∗yjyiK(xj,xi)+αj\begin{aligned} y_j\cdot\hat y(x_j)&=y_j\sum_{i=1}^{N} \alpha_{i}^{*} y_{i} K(x_j,x_i)\\ &=\sum_{i=1,i\not=j}^{N} \alpha_{i}^{*}y_j y_{i} K(x_j,x_i)+\alpha_{j}^{*}y_j y_{j} K(x_j,x_j)\\ &=\sum_{i=1,i\not=j}^{N} \alpha_{i}^{*}y_j y_{i} K(x_j,x_i)+\alpha_{j} \end{aligned} yj​⋅y^​(xj​)​=yj​i=1∑N​αi∗​yi​K(xj​,xi​)=i=1,i​=j∑N​αi∗​yj​yi​K(xj​,xi​)+αj∗​yj​yj​K(xj​,xj​)=i=1,i​=j∑N​αi∗​yj​yi​K(xj​,xi​)+αj​​
取很大的αj\alpha_jαj​,同时很小的σ\sigmaσ是的核映射项很小,则很大的、占主导地位的项αj\alpha_jαj​一定大于1,满足SVM的解的约束。
因此,存在SVM最优解分类误差为0.

1.4.3 加入松弛变量的SVM的训练误差可以为0吗:不一定

使用SMO算法训练的加入松弛变量的SVM不一定能得到训练误差为0的模型。
当松弛参数CCC选取较小的值,(正则项)12∥w∥2\frac{1}{2}\|w\|^221​∥w∥2将占据优化目标函数的较大比重。这样,一个带有训练误差、但参数较小的点将成为更优的结果。
一个简单的特例是,当C取0时,w也取0即可达到优化目标,但是显然此时我们的训练误差不一定能达到0。

百面机器学习 #3 经典算法:01-3 核函数支撑向量机SVM相关推荐

  1. 百面机器学习 #3 经典算法:02 逻辑回归

    参考: 百面机器学习 西瓜书 02 逻辑回归Logistic Regression(对数几率回归) 2.1 逻辑回归和线性回归 二者都使用极大似然法来对训练样本进行建模. 在求解超参数的过程中,都可以 ...

  2. 百面机器学习之经典算法

    1.逻辑回归相比于线性回归,有何异同?         首先,逻辑回归处理的是分类问题,线性回归处理的是回归问题,这是两者的最本质的区别.逻辑回归中,因变量取值是一个二元分布,模型学习得出的是 ,即给 ...

  3. 百面机器学习 #3 经典算法:01-2 不完全线性可分(软间隔)支撑向量机SVM

    文章目录 ①从原问题到对偶问题 ②对偶问题的解的形式化简 ③从对偶问题的解到原问题的解 ④从原问题的解到分离超平面.决策函数.支撑向量 假设训练数据集不是线性可分的.通常情况是,训练数据中有一些特异点 ...

  4. 百面机器学习 #3 经典算法:01-1 线性可分(硬间隔)支撑向量机SVM

    文章目录 ①从原始问题到对偶问题 ②对偶问题的解的形式化简 ③从对偶问题的解到原问题的解 ④从原问题的解到分离超平面和决策函数.支撑向量 参考李航统计学习方法第7章. 支持向量机学习的基本想法是求解能 ...

  5. 机器学习基础-经典算法总结

    机器学习基础-经典算法 逻辑回归 逻辑回归的原理,问题的假设 为什么逻辑回归也可称为对数几率回归 推导逻辑回归损失函数 逻辑回归损失函数求导 逻辑回归为什么使用交叉熵作为损失函数 LR是不是凸优化问题 ...

  6. 【机器学习】机器学习的经典算法

    [机器学习]机器学习的经典算法 https://www.cnblogs.com/DicksonJYL/p/9517025.html 本文为整篇文章第二部分,整篇文章主要目录如下: 1:一个故事说明什么 ...

  7. Matlab:基于Matlab实现人工智能算法应用的简介(SVM支撑向量机GA遗传算法PSO粒子群优化算法)、案例应用之详细攻略

    Matlab:基于Matlab实现人工智能算法应用的简介(SVM支撑向量机&GA遗传算法&PSO粒子群优化算法).案例应用之详细攻略 目录 1.SVM算法使用案例 1.1.Libsvm ...

  8. 百面机器学习03-经典算法

    01 支持向量机 支持向量机 (Support Vector Machine, SVM)是众多监督学习万法中十分出色的一种,几乎所有讲述经典机器学习万洼的教材都会介绍 . 关于 SVM,流传着一个关于 ...

  9. 《百面机器学习》---AI算法工程师求职必备“面经”

    [导读]今天给大家推荐一本人工智能算法工程师求职必备"面经" --百面机器学习(文末附pdf下载方式,限时领取哟!) 自2018年面世以来,该书现已成为机器学习算法工程师求职面试必 ...

最新文章

  1. 剑指offer_第7题_斐波那契数列
  2. 如何正确处理Android6.0+的运行时权限申请
  3. Django【进阶篇 】
  4. pycharm提示:Usually first parameter of a method is named 'self'
  5. 【软考-软件设计师】程序设计的基本成分
  6. QML基础类型之data
  7. 记录:SqlParamater要点小结
  8. [改善Java代码] 推荐使用序列化实现对象的拷贝
  9. 2021中国新物业服务发展白皮书
  10. 怎么学习前端开发?求推荐学习路线?
  11. 英特尔无人车!灯,等灯等灯!
  12. 计算机网络物理结构两大部分组成,计算机网络的组成部分 -华强电子网
  13. sketchup草图家具拆单软件 衣柜橱柜拆单 SU 全屋定制拆单 有屋软件 下料机
  14. 无需备份!!!动态磁盘转换为基本磁盘!!!绝对可用!!!
  15. HCIE Secuirty URPF技术 备考笔记(幕布)
  16. 10分钟接入腾讯验证码验证平台
  17. Excel如何删除指定区域中重复值只保留一个
  18. 抖音二面:计算机网络-应用层
  19. 基于vue和nodejs毕业设计电影购票微信小程序影院
  20. C语言中函数参数传递的方式:值传递,地址传递

热门文章

  1. Docker Weave 介绍 or 工作原理
  2. FFmpeg实现将图片转换为视频
  3. 每周进步要点(第50周12.4-12.11)
  4. C#之获取本地IP地址
  5. firfox post plugin test
  6. 献给那些正在“奋起”的90后
  7. CString 和 char * 的相互转换
  8. 彻底解决Eclipse的控制台console按钮非常小
  9. 小微型计算机2018北大核心,2018年全国北大中文核心期刊目录
  10. java sax解析复杂xml_SAX解析复杂的xml字符串