6.支持向量机

6.1间隔与支持向量

对于给定的训练集D={(x1,y1),(x2,y2),…,(xm,ym)},yi∈{-1,+1},分类学习的初衷就是基于训练集在样本空间中找到一个可以有效划分样本的超平面。可能存在很多可将样本分开的超平面,选择分类结果最鲁棒、泛化能力最强的超平面便是支持向量机模型的重点。

通过二维样本点分布的图示看,最直观上,找到两类样本正中间的超平面是最佳的。如此,在样本空间中,划分超平面通过线性方程描述为:wTx+b=0,其中,w={w1;w2;…;wd}为法向量,决定了超平面的方向;d为位移项,决定了超平面与原点之间的距离。

6.2对偶问题

对于其上定义的支持向量机数学原型,要得到最大间隔划分超平面f(x)= w Tx+b,就要训练出模型参数w和b;而SVM模型本身是一个凸二次规划(convexquadratic programming)问题,可以直接用优化计算得出,如内点法、有效集法、共轭梯度法等,此处用更为高效的拉格朗日乘子法并得到其对偶问题(dual problem)。

6.3核函数

对于训练样本是线性可分的,存在一个超平面能将训练样本正确划分,但在现实任务中,原始样本空间是线性不可分的,就可能不存在一个可正确划分的超平面。对于线性不可分样本的划分问题,可将样本从原始空间映射到一个更高维的特征空间,使得样本在这个特征空间内线性可分。如果原始空间是有限维,即属性数目是有限,那一定存在一个高维特征空间使样本可分。

特征空间从低维映射到高维,在高维空间内寻找线性可分的超平面,这个是实在的几何抽象。从高维形态去理解其映射成低维的形态,或从低维的形态去理解其映射成高维的形态,都是相当抽象的。当然最基础还是从二维和三维来理解。推荐一个链接https://zhuanlan.zhihu.com/p/19763358,关于傅里叶变换介绍,有助于理解时空抽象。

要将样本在特征空间内线性可分,特征空间的好坏对支持向量机的性能至关重要,选择合适的高维特征空间来映射就很重要;在不知道特征映射的形式时,也就不知道什么样的核函数是合适的,核函数也只是隐式定义了特征空间;如此,核函数的选择称为支持向量机的最核心,好的支持向量机就是选对了核函数来训练。若核函数选择不合适,则意味着将样本映射到了一个不合适的特征空间,可能导致支持向量机泛化性能不佳。

常用的核函数如下:

6.4软间隔与正则化

应用支持向量机模型来学习的前提是假定训练样本在样本空间或特征空间中是线性可分的,即存在一个超平面能将不同类的样本完全划分开。自然,在现实任务中,未必就能确定合适的核函数使得训练样本在特征空间中线性可分;即便找到某个核函数使训练集在特征空间中线性可分,也很难断定这个线性可分的结果不是由于过拟合所造成的。这就要说了,能不能找到核函数可以正确划分训练集,即使找到了核函数来训练,是否也只是可将训练集线性可分,不具备泛化能力。

6.5支持向量回归

给定的训练集D={(x 1,y 1),(x 2,y 2),…,(x m,y m)},y i∈R,要学得f(x)=w Tx+b模型,使得f(x)与y尽可能接近,w和b是待确定的模型参数。对样本(x,y)来说,传统回归模型一般直接基于模型输出f(x)和真实输出y之间的差别来计算损失,当且仅当f(x)和y完全相同时,损失才为零。

6.6核方法

机器学习笔记(六)支持向量机相关推荐

  1. [吴恩达机器学习笔记]12支持向量机3SVM大间距分类的数学解释

    12.支持向量机 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考资料 斯坦福大学 2014 机器学习教程中文笔记 by 黄海广 12.3 大间距分类背后的数学原理- Mathematic ...

  2. [吴恩达机器学习笔记]12支持向量机2 SVM的正则化参数和决策间距

    12.支持向量机 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考资料 斯坦福大学 2014 机器学习教程中文笔记 by 黄海广 12.2 大间距的直观理解- Large Margin I ...

  3. 白板机器学习笔记 P28-P35 支持向量机

    视频地址:https://www.bilibili.com/video/BV1aE411o7qd?p=28 笔记地址:https://www.yuque.com/books/share/f4031f6 ...

  4. 机器学习笔记六——特征工程之数据预处理

    特征工程之数据预处理 1. 处理缺失值 2. 处理异常值 2.1 异常值检测 2.2异常值处理 3.离散特征的连续化处理 4.连续特征的离散化处理 5. 处理类别不平衡问题 6. 图片数据扩充 数据预 ...

  5. 李宏毅机器学习笔记六——Gradient Descent

    视频来源: 李宏毅机器学习(2017)_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili https://www.bilibili.com/video/av10590361/?p=6 使用GD的注意 ...

  6. 机器学习笔记六:K-Means聚类,层次聚类,谱聚类

    前面的笔记搞了那么多的数学,这篇来一点轻松的,提前适应一下除了监督问题以外的非监督学习.这篇笔记有没有前面那么多的数学了,要讲的聚类算是无监督的学习方式. 一.一般问题 聚类分析的目标是,创建满足于同 ...

  7. 机器学习笔记(六)数据分类

    如果有看不懂一定要评论或者私聊,因为很多时候我感觉一些东西可有可无,这些笔记基本上是为了考研啊,很多教材也都是好几遍刷的,有代码就是我做某个项目正好用到.有很多人初学就看一些博客的很烦,我也是这么走来 ...

  8. 机器学习笔记:支持向量机(SVM)详细推导以及sklearn.svm.SVC的简单简介

    线性可分支持向量机: 举一个简单的例子: 我们需要将下面的圆圈和叉分开 这里存在无数多条线可以将圆圈和叉分开,因此,我们要规定一个性能指标,对于每一条线,都有对应的一个性能指标. 我们将每一条可以分开 ...

  9. 机器学习笔记六之神经网络的学习

    本节目录: 代价函数 反向传播算法 把矩阵展开成向量 梯度检验 随机初始化 1 代价函数 假设神经网络的训练样本有

最新文章

  1. java arraylist 当参数_关于java:为什么修改了ArrayList参数,但没有修改String参数?...
  2. sqlserver定时差异备份_一分钟看懂完全备份、差异备份以及增量备份
  3. 谷歌扔下芯片核弹:开源全球首个可制造的PDK,免费帮有缘人实现造芯梦想
  4. 苏黎世大学 AI 新研究:仅用少量样本生成高质量光声图像
  5. T-SQL查询——数据集之间的运算
  6. 04-Servlet入门+http协议
  7. linux服务器su之后变成bash-4.1#
  8. Java实现结构体,让字节流封送简单起来
  9. BestCoder Round #86 1003 HDU 5806——NanoApe Loves Sequence Ⅱ
  10. 内网穿透工具 FRP Linux 环境搭建安装
  11. 解决 vs2003 无法启动调试 没有正确安装调试器
  12. 2022年自考专业考试(计算机应用)软件工程练习题
  13. 辞职文案火了,程序员的辞职理由要命不要钱。
  14. 微信会员卡自定义code模式--从创建到激活
  15. 总体规划计算机制图标准,国土空间规划计算机辅助制图标准来了
  16. 初步了解Linux以及RHCE认证
  17. python小练习(杂七杂八)
  18. python英汉互译 谷歌翻译 免费实现调用
  19. ntohs和htons区别?
  20. MySQL如何配置环境

热门文章

  1. java软件网络工程师面试题_170道Java工程师面试题,你敢挑战吗?
  2. python怎么避免浅拷贝_深度解读Python深拷贝与浅拷贝问题
  3. 上如何刻字_校园石阶上被人刻了1700多个字?!这次网友却说好
  4. Swiper使用心得
  5. 为窗体添加防机器人的验证机制
  6. JS实现图片的不间断连续滚动
  7. Python Requests快速入门
  8. 织梦cms技巧:织梦登录后台显示空白页的解决办法
  9. JAVA共通関数--文字列に空白を追加する
  10. SD卡驱动分析(一)