线性svm:“核心问题是怎么选分界直线”
线性svm的核心问题是怎么选分界直线,其关键在于分界线要离所有样本都尽量远。
间隔距离最大平行线之间的中心线,就是所想要的你那个分界线!
关键:分界线距离两个类别都远,因为有两个类别,如果直接找距离对于两个类别分界会非常复杂,所以找到两个类别最近的平行线,让这个平行线的间隔最大化。
其中找间隔有两种找发:
hard margin(完全可分的间隔)
soft margin (线性不可分的间隔)
最后的问题就在于最大化 Margin,的1/2取名为d
欧式距离计算公式:
所以这三条线的直线方程为:
有约束条件:
导致最后的结果就是
soft margin是可以允许犯错的点的间隔
所以将函数的位置放宽:
最后就是这样
展开:
在这个求和函数中。max(0,...),的意思就是取大于等于零得数
所以就是 yi*w*xi<1 指的就是已在平行线以内
hard margin:严格限定,距离分界线的距离必须大于1
soft margin:所有距离分界线小于1得点,距离标准平行线越远犯错错程度越大甚至会出现,红色得样本点跨过分界线,跑到蓝色区域,也是允许的
hard margin:要么符合距离大于1,要么不符合约束条件
soft margin:把不符合约束条件得进行了量化,允许犯错
最后是C这个参数:
C越小容错越大(允许在分界线以内的点更多)
反之则最后用的就是离得最近的点(得到分界线用的样本点少)。
还记得之前的knn是怎么区分的嘛,通过距离,线性svm也是,不过又不太一样
一个是通过精确调节样本点个数,另一个是调节线对点的距离,而且线性svm出来的线是直线。