数据分析实战45讲
陈旸
清华大学计算机博士
立即订阅
17314 人已学习
课程目录
已完结 48 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词 | 你为什么需要数据分析能力?
免费
第一模块:数据分析基础篇 (16讲)
01丨数据分析全景图及修炼指南
02丨学习数据挖掘的最佳路径是什么?
03丨Python基础语法:开始你的Python之旅
04丨Python科学计算:用NumPy快速处理数据
05丨Python科学计算:Pandas
06 | 学数据分析要掌握哪些基本概念?
07 | 用户画像:标签化就是数据的抽象能力
08 | 数据采集:如何自动化采集数据?
09丨数据采集:如何用八爪鱼采集微博上的“D&G”评论
10丨Python爬虫:如何自动化下载王祖贤海报?
11 | 数据科学家80%时间都花费在了这些清洗任务上?
免费
12 | 数据集成:这些大号一共20亿粉丝?
13 | 数据变换:考试成绩要求正态分布合理么?
14丨数据可视化:掌握数据领域的万金油技能
15丨一次学会Python数据可视化的10种技能
16丨数据分析基础篇答疑
第二模块:数据分析算法篇 (20讲)
17 丨决策树(上):要不要去打篮球?决策树来告诉你
18丨决策树(中):CART,一棵是回归树,另一棵是分类树
19丨决策树(下):泰坦尼克乘客生存预测
20丨朴素贝叶斯分类(上):如何让机器判断男女?
21丨朴素贝叶斯分类(下):如何对文档进行分类?
22丨SVM(上):如何用一根棍子将蓝红两色球分开?
23丨SVM(下):如何进行乳腺癌检测?
24丨KNN(上):如何根据打斗和接吻次数来划分电影类型?
25丨KNN(下):如何对手写数字进行识别?
26丨K-Means(上):如何给20支亚洲球队做聚类?
27丨K-Means(下):如何使用K-Means对图像进行分割?
28丨EM聚类(上):如何将一份菜等分给两个人?
29丨EM聚类(下):用EM算法对王者荣耀英雄进行划分
30丨关联规则挖掘(上):如何用Apriori发现用户购物规则?
31丨关联规则挖掘(下):导演如何选择演员?
32丨PageRank(上):搞懂Google的PageRank算法
33丨PageRank(下):分析希拉里邮件中的人物关系
34丨AdaBoost(上):如何使用AdaBoost提升分类器性能?
35丨AdaBoost(下):如何使用AdaBoost对房价进行预测?
36丨数据分析算法篇答疑
第三模块:数据分析实战篇 (7讲)
37丨数据采集实战:如何自动化运营微博?
38丨数据可视化实战:如何给毛不易的歌曲做词云展示?
39丨数据挖掘实战(1):信用卡违约率分析
40丨数据挖掘实战(2):信用卡诈骗分析
41丨数据挖掘实战(3):如何对比特币走势进行预测?
42丨当我们谈深度学习的时候,我们都在谈什么?
43丨深度学习(下):如何用Keras搭建深度学习网络做手写数字识别?
第四模块:数据分析工作篇 (2讲)
44丨如何培养你的数据分析思维?
45丨求职简历中没有相关项目经验,怎么办?
加餐 (1讲)
加餐丨在社交网络上刷粉刷量,技术上是如何实现的?
结束语 (1讲)
结束语丨当大家都在讲知识和工具的时候,我更希望你重视思维和实战
数据分析实战45讲
登录|注册

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

陈旸 2019-02-01
今天我来带你进行 SVM 的学习,SVM 的英文叫 Support Vector Machine,中文名为支持向量机。它是常见的一种分类方法,在机器学习中,SVM 是有监督的学习模型。
什么是有监督的学习模型呢?它指的是我们需要事先对数据打上分类标签,这样机器就知道这个数据属于哪个分类。同样无监督学习,就是数据没有被打上分类标签,这可能是因为我们不具备先验的知识,或者打标签的成本很高。所以我们需要机器代我们部分完成这个工作,比如将数据进行聚类,方便后续人工对每个类进行分析。SVM 作为有监督的学习模型,通常可以帮我们模式识别、分类以及回归分析。
听起来,是不是很高大上。我先带你做个小练习。
练习 1:桌子上我放了红色和蓝色两种球,请你用一根棍子将这两种颜色的球分开。
你可以很快想到解决方案,在红色和蓝色球之间画条直线就好了,如下图所示:
练习 2:这次难度升级,桌子上依然放着红色、蓝色两种球,但是它们的摆放不规律,如下图所示。如何用一根棍子把这两种颜色分开呢?
你可能想了想,认为一根棍子是分不开的。除非把棍子弯曲,像下面这样:
所以这里直线变成了曲线。如果在同一个平面上来看,红蓝两种颜色的球是很难分开的。那么有没有一种方式,可以让它们自然地分开呢?
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《数据分析实战45讲》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(21)

  • 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
    23
  • third
    有监督学习,就是告诉他这个是红的那个是蓝的。你给我分出红蓝
    无监督,自己学会认识红色和蓝色,然后再分类

    硬间接,就是完美数据下的完美情况,分出完美类
    软间隔,就是中间总有杂质,情况总是复杂,分类总是有一点错误
    核函数,高纬度打低纬度,

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

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

    来,扔个二向箔🤣

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

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

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

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

    不知道我理解的对不对,希望老师回答YES OR NO

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

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

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

    2019-02-16
    1
  • Python
    老师,多分类器用的是集成法吗?
    2019-02-02
    1
  • 一纸书
    那句"灵机一动,猛拍一下桌子"真的是神来一笔,哈哈哈哈哈哈

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

    2019-11-13
  • Ronnyz
    硬间隔:需要完全分开
    软间隔:允许有个别点分类错误
    核函数:转换到更高维度来达到分类效果
    还有想问下为什么说落在超平面上的点就是支持向量?
    2019-11-13
  • 明翼
    老师,这里面用二分类算法实现多分类怎么用,比如一对多分类,一个测试样本分别用这几个训练模型去匹配,的到的结果难道是百分比吗?哪个大属于哪个分类?
    2019-11-08
  • 姜泮昌
    老师,能不能讲讲这些分类算法的区别?尤其是二分类算法,在使用时怎样进行选择呢?谢谢
    2019-06-06
  • 张晓辉
    监督学习适用于打标签的数据。无监督学习适于用没有标签的数据。
    SVM的硬间隔是指线性分类器完全线性可分,软间隔是指允许线性分类器有一定的分类错误。核函数是针对非线性可分的情况提出来的,可以利用核函数把样本空间投射到高维空间,然后再利用线性分类器进行分类。
    2019-05-17
  • 告诉机器,给它一些数据,这部分数据一些是数据集合A,一部分是属于集合B,然后让机器去把数据往集合A和集合B里去划分,这是有监督学习;同样的数据给机器,只是告诉它去做划分和归类,这是无监督学习,类似于孩子的放养。
    硬间隔:表示得到的分类间隔即超平面 能完美的划分数据,不存在划分错误的情况,即零误差
    软间隔:表示得到的分类间隔,没有达到完美的程度,对数据划分存在一定的误差
    核函数:在数据分布无法用线性函数来表示的时候,需要对数据进行划分的标准变成来非线性的,这个时候就需要用到一种函数名叫核函数,核函数要做的工作是将原来的映射关系在更高维度的空间重新映射,使得新的映射关系变得线性可分。
    2019-04-18
  • Daniel的爹
    有监督学习就是在训练组中已知数据的结果,可以对模型的训练进行Supervise监督。无监督就是拿到手的训练集并不知道分类情况,要根据算法来区分并生成对应的结果。
    硬间隔是理想化的世界,非红即白,不允许出错。软间隔有容错率更现实点,包容性强,更有普适性。核函数可以在原本训练集中多加一维,让分类更容易。
    2019-04-12
  • 滨滨
    有监督学习和无监督学习的根本区别,就是训练数据中是否有标签。监督学习的数据既有特征又有标签,而非监督学习的数据中只有特征而没有标签。
    监督学习是通过训练让机器自己找到特征和标签之间的联系,在以后面对只有特征而没有标签的数据时可以自己判别出标签。
    非监督学习由于训练数据中只有特征没有标签,所以就需要自己对数据进行聚类分析,然后就可以通过聚类的方式从数据中提取一个特殊的结构。
    2、硬间隔、软间隔和核函数
    硬间隔指的就是完全分类准确,不能存在分类错误的情况。软间隔,就是允许一定量的样本分类错误。
    线性不可分的情况下,可以使用核函数将样本从原始空间映射到一个更高维的特质空间中,使得样本在新的空间中线性可分。
    2019-03-29
  • 行者
    有点烧脑了,慢慢消化,感觉一篇文章要花几个小时才能消化。
    2019-03-26
  • Geek_dancer
    SVM如何与回归应用联系起来?
    2019-03-16
  • Wei_强
    能讲解一下什么叫做“线性不可分”么?对这个知识点不是很了解,结果导致文章后面的知识点没有怎么理解
    2019-02-28
  • 王彬成
    1、有监督学习和无监督学习的理解
    有监督学习和无监督学习的根本区别,就是训练数据中是否有标签。监督学习的数据既有特征又有标签,而非监督学习的数据中只有特征而没有标签。
    监督学习是通过训练让机器自己找到特征和标签之间的联系,在以后面对只有特征而没有标签的数据时可以自己判别出标签。
    非监督学习由于训练数据中只有特征没有标签,所以就需要自己对数据进行聚类分析,然后就可以通过聚类的方式从数据中提取一个特殊的结构。
    2、硬间隔、软间隔和核函数
    硬间隔指的就是完全分类准确,不能存在分类错误的情况。软间隔,就是允许一定量的样本分类错误。
    它可以将样本从原始空间映射到一个更高维的特质空间中,使得样本在新的空间中线性可分。
    2019-02-21
  • 深白浅黑
    核心在于数据是否线性可分,以及容错能力强弱。
    硬间隔和软间隔都是处理线性可分的情况,区别在于容错能力。
    核函数用于处理线性不可分情况,将现有数据进行升维,达到线性可分,再进行类别划分处理。
    2019-02-15
收起评论
21
返回
顶部