徐idealxuideal@163.com支持向量机•SVM概述•相关数学知识•硬间隔SVM•软间隔SVM•核函数•代码实战目录2•军事分界线目录3•SVM概述•直观理解•概述•意义•相关数学知识•硬间隔SVM•软间隔SVM•核函数•代码实战目录4•在很久以前的情人节,一位大侠要去救他的爱人,但天空中的魔鬼和他玩了一个游戏。•魔鬼在桌子上似乎有规律放了两种颜色的球,说:"你用一根棍分开它们?要求:尽量在放更多球之后,仍然适用。“•于是大侠这样放,干的不错?直观理解5•然后魔鬼,又在桌上放了更多的球,似乎有一个球站错了阵营。显然,大侠需要对棍做出调整。•SVM就是试图把棍放在最佳位置,好让在棍的两边有尽可能大的间隙。这个间隙就是球到棍的距离•现在好了,即使魔鬼放了更多的球,棍仍然是一个好的分界线直观理解6•魔鬼看到大侠已经学会了一个trick(方法、招式),•于是魔鬼给了大侠一个新的挑战•现在,大侠没有棍可以很好帮他分开两种球了,现在怎么办呢?当然像所有武侠片中一样大侠桌子一拍,球飞到空中。然后,凭借大侠的轻功,大侠抓起一张纸,插到了两种球的中间直观理解7•现在,从空中的魔鬼的角度看这些球,•这些球看起来像是被一条曲线分开了•再之后,无聊的大人们,把这些球叫做data,把棍子叫做classifier,找到最大间隙的trick叫做optimization,拍桌子叫做kernelling,那张纸叫做hyperplane直观理解8•支持向量机(SupportVecorMachine,SVM)本身是一个二元分类算法,是对感知器算法模型的一种扩展,现在的SVM算法支持线性分类和非线性分类的分类应用,并且也能够直接将SVM应用于回归应用中。我们也可以将SVM应用在多元分类领域中。在不考虑集成学习算法,不考虑特定的数据集的时候,在分类算法中SVM可以说是特别优秀的。概述9•线性可分(LinearlySeparable):在数据集中,如果可以找出一个超平面,将两组数据分开,那么这个数据集叫做线性可分数据。•线性不可分(LinearInseparable):在数据集中,没法找出一个超平面,能够将两组数据分开,那么这个数据集就叫做线性不可分数据。•分割超平面(SeparatingHyperplane):将数据集分割开来的直线/平面叫做分割超平面。•间隔(Margin):数据点到分割超平面的距离称为间隔。•支持向量(SupportVector):离分割超平面最近的那些点叫做支持向量概述10•SVM概述•相关数学知识•梯度下降法•拉格朗日乘子法•对偶问题•KKT条件•硬间隔SVM•软间隔SVM•核函数•代码实战目录11•梯度下降法...