优化目标
从logistic回归引发SVM
logistic回归:
模型:
若y=1,我们希望,即
若y=0,我们希望,即
单个样本对损失函数的贡献:
当y=1时(我们希望),下图黑色的曲线。现在对logistic回归的代价函数(红色方框部分)做一点修改,将其中的曲线(黑色)改为两段直线(紫色),新的部分在大于等于1时,贡献为0,在小于1时大于0(不用太关注下图斜线的斜率)。
当y=0时(我们希望),下图黑色的曲线。现在对logistic回归的代价函数(红色方框部分)做一点修改,将其中的曲线(黑色)改为两段直线(紫色),新的部分在小于-1时,贡献为0,在大于-1时大于等于0(不用太关注下图斜线的斜率)。
logistic回归损失函数如下:
过渡到SVM损失函数:
依据SVM的惯用写法,将上式改为
还有一点与logitsic区别的是,原本的SVM不输出概率,直接输出分类结果:
直观上对大间隔的理解
若y=1,我们期待,而不是仅仅
若y=1,我们期待,而不是仅仅
这就相当于在SVM构建了一个安全因子,一个安全间距。
当C很大的时候,第一部分要尽可能小(接近于0),损失函数才会小,当对于任意一个正样本(y=1)都恒有,当对于任意一个负样本(y=0)都恒有,则我们的优化目标就变为(大间隔分类器,C很大)。
当C很大的时候,该算法对异常点很敏感。
大间隔分类器的数学原理
下面我们来感受一下是个啥,我们忽略,即假设,若是二维向量,如下图:
,其中是向量在向量上的投影,可正可负。
则,优化目标可转化成,从中我们也可以看出支撑向量的概念,因为该方法不像之前的logistic回归一样,损失函数是对整个样本进行求和的,此处只针对参数的平方和(带约束条件),的模要最小且还要保证满足约束条件,故在参数给定的情况下,模的最小值由距离决策边界最近的样本(支撑向量)决定(因为只要最近的都满足约束条件,则所有的均满足):
其中依旧是向量在向量上的投影,且设(,则决策边界必过原点)。我们来感受一下SVM决策边界的选择,即为啥会选择右图:
若选左图:决策边界是绿色的线,其法向量是 向量,则正样本在在上的投影就会非常小,同理负样本的的绝对值也会非常小,这样要保证每一个样本都满足约束条件,则必须相对较大,而我们目标是冲着最小化的二范数去的,故矛盾。
若选右图:决策边界是绿色的线,其法向量是 向量,则正样本在在上的投影就会相对较大,同理负样本的的绝对值也会相对较大,这样要保证每一个样本都满足约束条件,则相对而言可以小,且我们目标是冲着最小化的二范数去的,完美。