我们知道,soft-SVM的一般形式是:
这里我们把松弛变量ξn写成下面的形式(这里其实就是松弛变量的定义,如果这个点不违反硬条件,则它的松弛变量为0,否则的话,松弛变量的值就是它到底违反了多少,即yn(w*xn + b)与1的差值):
这样写之后,原问题的约束条件已经被包含进来了。因此原问题变为下面的无约束形式:
2 soft-SVM与逻辑回归的联系
我们用另一种方式看待上面的无约束形式:第一项是正则项,第二项是替代01错误的一个errhat。我们把01错误和这个errhat画在图上,可以发现:
这个errhat是01错误的上界,所以我们只要做好这个errhat,也就间接做好了01错误。
我们再把逻辑回归的errhat加进来:
黄色的线是逻辑回归的err。可以发现,它和svm的err是很接近的!
结论:
加L2正则的逻辑回归,很近似的相当于soft-SVM。
3 用SVM来输出概率值
由于SVM和逻辑回归的相似性,因此我们可以用如下两层学习的方式,先学一个SVM模型,然后把这个模型的打分用最大似然的原则的微调:
得到的混合模型就可以用来输出概率。
4 核型逻辑回归KLR
加L2正则的逻辑回归,可以用核函数来做。下面我们做一番推导。
首先介绍一个定理,Representer Theorem:
即:对于加了L2正则,并且err是wz的函数的问题,最优的w一定是z的线性组合。
证明如下:
因此,对于加L2正则的逻辑回归来说,就有:
代入最优的w形式,并把z的乘积用核函数表示:
5 另一个视角看KLR
我们的KLR既可以看作是z空间上的一个线性模型,也可以看作是核函数对原始特征变换后产生新特征的一个线性模型。
KLR的形式是:
经核函数变换得到的新特征是:
右边这一项就是在新特征上的一个线性模型,左边这一项可以看作一个正则项:
因此KLR既可以看作是w的一个线性模型,也可以看作是β的一个线性模型:
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:《机器学习技法》—核型逻辑回归 - Python技术站