22丨SVM(上):如何用一根棍子将蓝红两色球分开?
22丨SVM(上):如何用一根棍子将蓝红两色球分开?
讲述:陈旸
时长11:44大小10.75M
SVM 的工作原理
硬间隔、软间隔和非线性 SVM
用 SVM 如何解决多分类问题
总结
赞 14
提建议
精选留言(28)
- captain2019-02-01老师好,最近几期的算法课内容量比较大,麻烦推荐一些相关的理论或案例的书籍,谢谢
编辑回复: 关于书籍: 《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
54 - third2019-02-18有监督学习,就是告诉他这个是红的那个是蓝的。你给我分出红蓝 无监督,自己学会认识红色和蓝色,然后再分类 硬间接,就是完美数据下的完美情况,分出完美类 软间隔,就是中间总有杂质,情况总是复杂,分类总是有一点错误 核函数,高纬度打低纬度,展开
编辑回复: 这个解释比较通俗易懂,大家都可以看看。
42 - 李沛欣2019-02-09核函数,是一种格局更高的分类模式。通过它我们可以把原本混沌的一堆数据映射到高维,从上帝视角来对这些数据进行线性分类。 来,扔个二向箔🤣
编辑回复: 对的,核函数就是从低维到高维的映射关系。如果从高维到低维进行维度压缩的话,可能就会变得混沌不可分。但是从低维到高维,属性维度增加了,可以在另一个空间中变得线性可分。
共 3 条评论15 - fancy2019-02-271. 有监督学习and无监督学习 有监督学习,即在已有类别标签的情况下,将样本数据进行分类。 无监督学习,即在无类别标签的情况下,样本数据根据一定的方法进行分类,即聚类,分类好的类别需要进一步分析后,从而得知每个类别的特点。 2. 硬间隔、软间隔、核函数 使用SVM算法,是基于数据是线性分布的情况,这时使用硬间隔的方法分类数据即可。但实际情况下,大部分数据都不属于线性分布,即通过软间隔、核函数处理后,使得数据可以利用SVM算法进行分类。软间隔是通过允许数据有误差,不是绝对的线性分布;核函数是通过将非线性分布的数据映射为线性分布的数据。展开
编辑回复: 解释的很清晰,大家可以看下。
9 - Python2019-02-03硬间隔,我认为就像线性回归一样,一条直线粗暴的画出边界,然后回答YES OR NO。 软间隔,我认为类似逻辑回归,会绕一下弯子,最后给出的答案是一个概率。 以上两种方式都是处理线性可分的数据,但碰到线性完全分布开的非线性数据的时候,就需要用到核函数,核函数主要是通过把低维的数据映射到高纬,产生一个落差,并给出一个超平面来划分。 不知道我理解的对不对,希望老师回答YES OR NO展开
编辑回复: 是的,可以这么理解。核函数与硬间隔、软间隔 不是在同一个维度,是从低维到高维空间的映射,因为在同一个维度上已经无法线性可分。而硬间隔、软间隔主要对线性可分的容错率。硬间隔可以完美切分样本,但是软间隔就需要允许有一定的样本分类错误。
5 - 霸蛮人2020-04-07核函数,是使用变换思维,当数据从一个角度无法进行分类,就变换一个角度来分。就比如,两个人的声音混在一起,要区分开来的话,从时域的角度去看,互相叠加,根本就无法区分,但通过傅里叶变换到频域之后,通过频率的不同就能轻松地区分开来了。在这里,傅里叶变换就相当于核函数的作用。面对不同的数据常见,需要使用不同的变换角度,也就是不同的核函数。
作者回复: 总结的不错!!!
共 2 条评论5 - 林2019-02-16老师好,这一块的数学原理讲的有点少了吧,能不能讲讲拉格朗日对偶和kkt
编辑回复: 这一块适当屏蔽了一些数学原理,关于拉格朗日对偶和kkt的推导就省略了,感兴趣的同学可以看下SVM原理中的这部分。
3 - 深白浅黑2019-02-15核心在于数据是否线性可分,以及容错能力强弱。 硬间隔和软间隔都是处理线性可分的情况,区别在于容错能力。 核函数用于处理线性不可分情况,将现有数据进行升维,达到线性可分,再进行类别划分处理。
作者回复: 对的
3 - 一纸书2019-11-13那句"灵机一动,猛拍一下桌子"真的是神来一笔,哈哈哈哈哈哈
作者回复: 哈哈 确实 很形象
2 - 滢2019-04-18告诉机器,给它一些数据,这部分数据一些是数据集合A,一部分是属于集合B,然后让机器去把数据往集合A和集合B里去划分,这是有监督学习;同样的数据给机器,只是告诉它去做划分和归类,这是无监督学习,类似于孩子的放养。 硬间隔:表示得到的分类间隔即超平面 能完美的划分数据,不存在划分错误的情况,即零误差 软间隔:表示得到的分类间隔,没有达到完美的程度,对数据划分存在一定的误差 核函数:在数据分布无法用线性函数来表示的时候,需要对数据进行划分的标准变成来非线性的,这个时候就需要用到一种函数名叫核函数,核函数要做的工作是将原来的映射关系在更高维度的空间重新映射,使得新的映射关系变得线性可分。展开
作者回复: 对的 整理的不错 滢
2 - 滨滨2019-03-29有监督学习和无监督学习的根本区别,就是训练数据中是否有标签。监督学习的数据既有特征又有标签,而非监督学习的数据中只有特征而没有标签。 监督学习是通过训练让机器自己找到特征和标签之间的联系,在以后面对只有特征而没有标签的数据时可以自己判别出标签。 非监督学习由于训练数据中只有特征没有标签,所以就需要自己对数据进行聚类分析,然后就可以通过聚类的方式从数据中提取一个特殊的结构。 2、硬间隔、软间隔和核函数 硬间隔指的就是完全分类准确,不能存在分类错误的情况。软间隔,就是允许一定量的样本分类错误。 线性不可分的情况下,可以使用核函数将样本从原始空间映射到一个更高维的特质空间中,使得样本在新的空间中线性可分。展开
作者回复: 总结的不错
2 - 王彬成2019-02-211、有监督学习和无监督学习的理解 有监督学习和无监督学习的根本区别,就是训练数据中是否有标签。监督学习的数据既有特征又有标签,而非监督学习的数据中只有特征而没有标签。 监督学习是通过训练让机器自己找到特征和标签之间的联系,在以后面对只有特征而没有标签的数据时可以自己判别出标签。 非监督学习由于训练数据中只有特征没有标签,所以就需要自己对数据进行聚类分析,然后就可以通过聚类的方式从数据中提取一个特殊的结构。 2、硬间隔、软间隔和核函数 硬间隔指的就是完全分类准确,不能存在分类错误的情况。软间隔,就是允许一定量的样本分类错误。 它可以将样本从原始空间映射到一个更高维的特质空间中,使得样本在新的空间中线性可分。展开
作者回复: 很好的总结
2 - Daniel的爹2019-04-12有监督学习就是在训练组中已知数据的结果,可以对模型的训练进行Supervise监督。无监督就是拿到手的训练集并不知道分类情况,要根据算法来区分并生成对应的结果。 硬间隔是理想化的世界,非红即白,不允许出错。软间隔有容错率更现实点,包容性强,更有普适性。核函数可以在原本训练集中多加一维,让分类更容易。1
- Python2019-02-02老师,多分类器用的是集成法吗?1
- 忙了你个狗2022-04-04核函数的作用我可以理解就是一拍桌子球弹了起来这个时候可以找到一个平面把球分开的过程吗
- McKee Chen2020-12-161.有监督的学习模型和无监督的学习模型 有监督的学习模型:事先对数据打上分类标签,机器知道数据的分类 无监督的学习模型:没有对数据打上分类标签,机器不知道数据的分类 2.硬间隔、软间隔、核函数 硬间隔:对数据进行分类,不存在分类错误的情况 软间隔:允许存在一定数据分类错误的情况 核函数:对于非线性数据,通过核函数让原始的样本空间投射到一个高位的空间,使数据变得线性可分展开
作者回复: 总结的不错,继续努力
- 小强2020-09-14其中||w||为超平面的范数,di 的公式可以用解析几何知识进行推导,这里不做解释。这是能否学下去的精神支柱,被老师放弃讲解了
- Prometheus2020-04-30有监督学习和无监督学习的根本区别,由这个知识点,我想起了统计学基础中,K聚类与判别聚类的知识点。不知道是否想歪了?求教老师,与各位同学。谢谢。
作者回复: 同学没有想歪,聚类分析事先没有类别,而判别分析事先已经有类别。
- timeng272020-04-04svm “超平面”将样本分为两份。它是二分类器,最大化最小距离。硬间隔,将两个完全分开;软间隔,可以存在误差;非线性可分的,就需要使用到核函数,可以理解为将坐标转换,比如直角坐标转成极坐标,或者理解为投影到某个平面。 如果要多分类,可以1对多,过1对1。
- William~Zhang2020-03-08老师 有个问题 关于文中最大间隔 指的其中分界线c 距离左侧点的最大距离还是右侧点?共 1 条评论