在线性可分的情况下,优化问题是有解的;在线性不可分的情况下,优化问题是没有解的。即不存在满足N个限制条件(限制条件是在线性可分的情况下满足的);而对于线性不可分的情况,我们需要适当的放松限制条件,使得最优化问题变得有解。

放松限制条件的基本思路:

(1)对于每一个训练样本及标签,我们需要设置一个松弛变量(slack variable),这样可以把上边不等式的限制条件放松为;因为在线性不可分的情况下,我们没有可能让所有的,因此我们引入松弛变量作用到不等式的右边。可以看到只要取的足够大,那N个不等式的限制条件是一定可以成立的,而且我们还得加入一些新的限制,阻止每个无限的扩大,让他限定在一个合理的范围之内。

------最终改造后的支持向量机最优化的版本是如下:

可以看出不止限制条件发生了改变,目标函数也增加了所有的总和。因此我们不仅要越小越好,同时我们也要让所有的和越小越好。因此这里比例因子C起到了平衡两项的关键作用。此处的平衡两项的比例因子C是人为设定的;(把一个算法中需要事先人为设定的参数,叫做算法的超参数hyper parameter),一般在实际的应用中会不断的变化C的值,同时对于每一个C我们要测试算法的识别率,然后选取使识别率达到最大的此时对应的超参数C的值。所以一个算法的超参数越多,也就意味着算法需要手动调整的超参数越多,这样算法的自动性也会降低。(支持向量机已经是超参数很少的算法模型)

PS上述两种目标函数的形式都可以,可以看出他们都是凸优化的问题,都可以被求解。

如下图是在线性不可分的情况下,使用的目标函数,以及结果展示:

(即在线性不可分的情况下,应用支持向量机)

从图中可以看出,超平面和线性可分情况保持基本一致。可以看出这个分类面分开了大部分的圆圈和叉,但是并未达到要求解的目的;

此时你是否在想有了有了线性不可分情况下的支持向量机算法,我们似乎可以解决一切二分类的问题了;哈哈这只是你个人的错觉,如果SVM只是做到这样,那她就不会成为经典的算法了。

比如在上图中,所有的圆圈在里边,所有的叉叉包括在外边,这里支持向量机求出来的解,所有的参数和之前线性可分是一样的,虽然支持向量机求出来了一个超平面,但是这个解远远不能如意,他将将近一半的训练样本分错了,问题就在于我们的算法模型是线性的,也就是说我们假设分开两类的函数是直线或者超平面,我们是在一组直线和超平面中选择最适合分开这两类数据的直线或者超平面,但是线性模型的表现力是不够的,我们可以想象到能够分开这两类的是某种曲面,例如椭圆而不是直线,如果你非要坚持使用直线分开这两类,那么无论你怎么取这条直线结果都是不好的。所以我们只能选择扩大可选函数的范围,使它超越线性才有可能应对各种复杂的线性不可分的情况。

支持向量机如何扩大可选函数的范围呢?从而提高非线性可分处理的能力。

支持向量机如何扩大可选函数的范围呢?见链接:

PS:思考:上图中我们说了可以使用椭圆来分开圆圈和叉;另一个方面我们也可以对特征空间的两个维度做某种非线性变换,从而把本来线性不可分的训练样本集,变为线性可分。所以在这个例子当中能否设计出一个这样的非线性变换,将这个分类问题转化为线性可分?

答:我们是不是可以将这个二维的空间映射到高维度空间中呢。这样就能将圆圈和叉叉使用线性分类分开。(因为其他的算法,如人工神经络、决策树等等采用的是直接产生更多可选函数的方式,例如在人工神经网络中通过多层非线性函数的组合,能够产生类似于椭圆这样的曲线,从而分开上一节图中的圆圈和叉。但是支持向量机而不是直接产生这样的函数,而是通过将特征空间由低维映射到高维,然后在高维的特征空间中仍然用线性超平面对数据进行分类。PS:所以支持向量机最终使用的还是线性分类器。)

机器学习中的算法(4.3):SVM----针对线性不可分问题理解相关推荐

  1. 机器学习中的算法(2)-支持向量机(SVM)基础

    版权声明: 本文由LeftNotEasy发布于http://leftnoteasy.cnblogs.com, 本文可以被全部的转载或者部分使用,但请注明出处,如果有问题,请联系wheeleast@gm ...

  2. 机器学习中的算法:支持向量机(SVM)基础

    前言: 最近一段时间看了看关于SVM(Support Vector Machine)的文章,觉得SVM是一个非常有趣,而且自成一派的方向,所以今天准备写一篇关于关于SVM的文章. 关于SVM的论文.书 ...

  3. 机器学习中的算法-支持向量机(SVM)基础

    机器学习中的算法-支持向量机(SVM)基础 版权声明: 本文由LeftNotEasy发布于http://leftnoteasy.cnblogs.com, 本文可以被全部的转载或者部分使用,但请注明出处 ...

  4. AI:人工智能概念之机器学习中常用算法的思维导图集合(非常经典、建议收藏)之详细攻略

    AI:人工智能概念之机器学习中常用算法的思维导图集合(非常经典.建议收藏)之详细攻略 目录 机器学习算法的思维导图集合 1.ML算法思维图 2.ML算法思维导图 相关文章:ML/DL:关于算法模型的选 ...

  5. 机器学习中分类算法的优缺点

    决策树 一.  决策树优点 1.决策树易于理解和解释,可以可视化分析,容易提取出规则. 2.可以同时处理标称型和数值型数据. 3.测试数据集时,运行速度比较快. 4.决策树可以很好的扩展到大型数据库中 ...

  6. 机器学习中的算法:决策树模型组合之随机森林(Random Forest)

    基础知识 [关于决策树的基础知识参考:http://blog.csdn.net/holybin/article/details/22914417] 在机器学习中,随机森林由许多的决策树组成,因为这些决 ...

  7. 机器学习中的算法(4.2):SVM----针对线性可分问题理解

    支持向量机的算法分成两个步骤: (1)解决线性可分问题. (2)再将线性可分问题中获得的结论推广到线性不可分情况. 例子:是在二维特征空间中的二分类问题:有三条直线可以将两类样本进行分开,分别标记为1 ...

  8. SVM之线性不可分与核技巧

    跟我一起机器学习系列文章将首发于公众号:月来客栈,欢迎文末扫码关注! 在前面两篇文章中,笔者通过两个角度来介绍了什么是支持向量机.不过说一千道一万,还是不如动手来做做.在本篇文章中,笔者将首先介绍如何 ...

  9. OpenCV支持向量机SVM对线性不可分数据的处理

    支持向量机对线性不可分数据的处理 目标 本文档尝试解答如下问题: 在训练数据线性不可分时,如何定义此情形下支持向量机的最优化问题. 如何设置 CvSVMParams 中的参数来解决此类问题. 动机 为 ...

最新文章

  1. 用0到9十个数字,每个数字使用一次,构成两个五位数a和b,并且a+20295=b.求a,b
  2. 存储架构|Bitcask 引擎的设计,秒!
  3. SQL中varchar和nvarchar有什么区别?
  4. 手误【删库】 == 跑路,不存在的 ——删瓦辛格
  5. javascript学习系列(6):数组中的pop等方法
  6. Silverlight三维柱状图3D饼图的Silverlight图表组件案例
  7. 凡事想开,心情不坏~
  8. 印度软件开发人员_我如何辍学并在19岁时在印度找到了一份开发人员的工作
  9. c语言boon类型函数,函数式编程functional programming的特点
  10. jar包运行utf-8格式
  11. 大疆2018网申之机器学习算法工程师笔试题B卷
  12. 网络视频ts格式文件下载及将其合成单一视频文件
  13. 兜兜转转 - 2019开启CSDN博客的新篇章
  14. CATIA 安装Service Pack 时出错 检查完整性失败
  15. 知识图谱(KG)存储、可视化、公开数据集、图计算、图编程工具分享
  16. 诛仙哪里炼器服务器最稳定,诛仙炼器轻松+11最强攻略
  17. 明白这十个故事--你也就参悟了人生
  18. TCPMP的ARM编译器问题
  19. SVM算法面试问题汇总
  20. ssas脚本组织程序_SSAS中的MDX脚本

热门文章

  1. Android 手势—— GestureDetector 和 SimpleOnScaleGestureListener (手势缩放)
  2. android 白天和夜间模式切换时闪屏问题处理方法
  3. popWindow 出现点击上下空白区域消失点击左右空白区域不消失弹框的处理方法
  4. Failed to resolve:com.android.support:appcompat-v7:报错处理
  5. 二逼平衡树——树套树(线段树套Splay平衡树)
  6. 机器学习工程师 - Udacity 可视化 CNN
  7. spec 2016使用
  8. MySQL之pymysql模块
  9. Eclipse使用Tomcat发布项目时出现YadisException异常解决方案
  10. 把项目放到码云上,通过git 进行项目管理