数据分析实战 45 讲
陈旸
清华大学计算机博士
123928 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 49 讲
第二模块:数据分析算法篇 (20讲)
第四模块:数据分析工作篇 (2讲)
数据分析实战 45 讲
15
15
1.0x
00:00/00:00
登录|注册

22丨SVM(上):如何用一根棍子将蓝红两色球分开?

SVM的主要思想
有监督学习和无监督学习
线性不可分情况下的非线性分类器
大部分线性可分情况下的线性分类器
完全线性可分情况下的线性分类器
一对一法
一对多法
核函数
非线性支持向量机
软间隔SVM
硬间隔支持向量机
最大间隔的优化模型
点到超平面的距离公式
支持向量
分类间隔
超平面
无监督学习
有监督的学习模型
回归分析
分类
模式识别
有监督的学习模型
Support Vector Machine
总结
用SVM如何解决多分类问题
硬间隔、软间隔和非线性SVM
SVM的工作原理
分类方法
SVM
SVM(上):如何用一根棍子将蓝红两色球分开?

该思维导图由 AI 生成,仅供参考

今天我来带你进行 SVM 的学习,SVM 的英文叫 Support Vector Machine,中文名为支持向量机。它是常见的一种分类方法,在机器学习中,SVM 是有监督的学习模型。
什么是有监督的学习模型呢?它指的是我们需要事先对数据打上分类标签,这样机器就知道这个数据属于哪个分类。同样无监督学习,就是数据没有被打上分类标签,这可能是因为我们不具备先验的知识,或者打标签的成本很高。所以我们需要机器代我们部分完成这个工作,比如将数据进行聚类,方便后续人工对每个类进行分析。SVM 作为有监督的学习模型,通常可以帮我们模式识别、分类以及回归分析。
听起来,是不是很高大上。我先带你做个小练习。
练习 1:桌子上我放了红色和蓝色两种球,请你用一根棍子将这两种颜色的球分开。
你可以很快想到解决方案,在红色和蓝色球之间画条直线就好了,如下图所示:
练习 2:这次难度升级,桌子上依然放着红色、蓝色两种球,但是它们的摆放不规律,如下图所示。如何用一根棍子把这两种颜色分开呢?
你可能想了想,认为一根棍子是分不开的。除非把棍子弯曲,像下面这样:
所以这里直线变成了曲线。如果在同一个平面上来看,红蓝两种颜色的球是很难分开的。那么有没有一种方式,可以让它们自然地分开呢?
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

SVM(支持向量机)是一种有监督学习模型,用于模式识别、分类和回归分析。它通过找到一个超平面来对数据进行分类,其中最优的超平面是指具有最大分类间隔的超平面。支持向量是离分类超平面最近的样本点,决定了分类间隔的大小。文章介绍了SVM的工作原理,包括分类间隔的概念和最大间隔的优化模型。此外,还介绍了硬间隔、软间隔和非线性SVM,以及核函数的作用。核函数可以将样本从原始空间映射到一个更高维的特征空间,使得样本在新的空间中线性可分。针对多分类问题,文章提出了一对多法和一对一法两种方法,将多个二分类器组合成一个多分类器。总的来说,SVM是一种强大的分类方法,可以处理线性可分和非线性可分的数据,并且具有较强的鲁棒性。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《数据分析实战 45 讲》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(28)

  • 最新
  • 精选
  • captain
    老师好,最近几期的算法课内容量比较大,麻烦推荐一些相关的理论或案例的书籍,谢谢

    编辑回复: 关于书籍: 《Python数据挖掘与机器学习实战》 因为我在代码中用到sklearn比较多,可以结合这个来看,里面有一些关于sklearn数据集的练习,我在专栏中也用到过,你可以对应起来看 《白话大数据与机器学习》这本书主要讲算法原理,没有太多实战。想要对原理更深入了解的话可以看看 《利用Python进行数据分析》 这本相对基础,没有太多算法部分,主要是关于Python的使用:数据结构,NumPy,Pandas,数据加载、存储、清洗、规整、可视化等。 《精益数据分析》 这本书是将业务场景的,里面没有算法的部分,所以如果你想对业务场景有更深刻的理解,可以看下这本 关于项目实战 可以配合 https://www.kaggle.com/ 比如你想做和SVM相关的,可以在kernels中搜索SVM https://www.kaggle.com/kernels?sortBy=relevance&group=everyone&search=SVM&page=1&pageSize=20

    2019-02-01
    59
  • third
    有监督学习,就是告诉他这个是红的那个是蓝的。你给我分出红蓝 无监督,自己学会认识红色和蓝色,然后再分类 硬间接,就是完美数据下的完美情况,分出完美类 软间隔,就是中间总有杂质,情况总是复杂,分类总是有一点错误 核函数,高纬度打低纬度,

    编辑回复: 这个解释比较通俗易懂,大家都可以看看。

    2019-02-18
    44
  • 李沛欣
    核函数,是一种格局更高的分类模式。通过它我们可以把原本混沌的一堆数据映射到高维,从上帝视角来对这些数据进行线性分类。 来,扔个二向箔🤣

    编辑回复: 对的,核函数就是从低维到高维的映射关系。如果从高维到低维进行维度压缩的话,可能就会变得混沌不可分。但是从低维到高维,属性维度增加了,可以在另一个空间中变得线性可分。

    2019-02-09
    3
    18
  • fancy
    1. 有监督学习and无监督学习 有监督学习,即在已有类别标签的情况下,将样本数据进行分类。 无监督学习,即在无类别标签的情况下,样本数据根据一定的方法进行分类,即聚类,分类好的类别需要进一步分析后,从而得知每个类别的特点。 2. 硬间隔、软间隔、核函数 使用SVM算法,是基于数据是线性分布的情况,这时使用硬间隔的方法分类数据即可。但实际情况下,大部分数据都不属于线性分布,即通过软间隔、核函数处理后,使得数据可以利用SVM算法进行分类。软间隔是通过允许数据有误差,不是绝对的线性分布;核函数是通过将非线性分布的数据映射为线性分布的数据。

    编辑回复: 解释的很清晰,大家可以看下。

    2019-02-27
    10
  • 霸蛮人
    核函数,是使用变换思维,当数据从一个角度无法进行分类,就变换一个角度来分。就比如,两个人的声音混在一起,要区分开来的话,从时域的角度去看,互相叠加,根本就无法区分,但通过傅里叶变换到频域之后,通过频率的不同就能轻松地区分开来了。在这里,傅里叶变换就相当于核函数的作用。面对不同的数据常见,需要使用不同的变换角度,也就是不同的核函数。

    作者回复: 总结的不错!!!

    2020-04-07
    2
    6
  • Python
    硬间隔,我认为就像线性回归一样,一条直线粗暴的画出边界,然后回答YES OR NO。 软间隔,我认为类似逻辑回归,会绕一下弯子,最后给出的答案是一个概率。 以上两种方式都是处理线性可分的数据,但碰到线性完全分布开的非线性数据的时候,就需要用到核函数,核函数主要是通过把低维的数据映射到高纬,产生一个落差,并给出一个超平面来划分。 不知道我理解的对不对,希望老师回答YES OR NO

    编辑回复: 是的,可以这么理解。核函数与硬间隔、软间隔 不是在同一个维度,是从低维到高维空间的映射,因为在同一个维度上已经无法线性可分。而硬间隔、软间隔主要对线性可分的容错率。硬间隔可以完美切分样本,但是软间隔就需要允许有一定的样本分类错误。

    2019-02-03
    5
  • 老师好,这一块的数学原理讲的有点少了吧,能不能讲讲拉格朗日对偶和kkt

    编辑回复: 这一块适当屏蔽了一些数学原理,关于拉格朗日对偶和kkt的推导就省略了,感兴趣的同学可以看下SVM原理中的这部分。

    2019-02-16
    3
  • 深白浅黑
    核心在于数据是否线性可分,以及容错能力强弱。 硬间隔和软间隔都是处理线性可分的情况,区别在于容错能力。 核函数用于处理线性不可分情况,将现有数据进行升维,达到线性可分,再进行类别划分处理。

    作者回复: 对的

    2019-02-15
    3
  • 一纸书
    那句"灵机一动,猛拍一下桌子"真的是神来一笔,哈哈哈哈哈哈

    作者回复: 哈哈 确实 很形象

    2019-11-13
    2
  • 告诉机器,给它一些数据,这部分数据一些是数据集合A,一部分是属于集合B,然后让机器去把数据往集合A和集合B里去划分,这是有监督学习;同样的数据给机器,只是告诉它去做划分和归类,这是无监督学习,类似于孩子的放养。 硬间隔:表示得到的分类间隔即超平面 能完美的划分数据,不存在划分错误的情况,即零误差 软间隔:表示得到的分类间隔,没有达到完美的程度,对数据划分存在一定的误差 核函数:在数据分布无法用线性函数来表示的时候,需要对数据进行划分的标准变成来非线性的,这个时候就需要用到一种函数名叫核函数,核函数要做的工作是将原来的映射关系在更高维度的空间重新映射,使得新的映射关系变得线性可分。

    作者回复: 对的 整理的不错 滢

    2019-04-18
    2
收起评论
显示
设置
留言
28
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部