码迷,mamicode.com
首页 > 其他好文 > 详细

【机器学习基础】核逻辑回归

时间:2015-04-23 02:08:58      阅读:250      评论:0      收藏:0      [点我收藏+]

标签:

将软间隔支持向量机看做正则化模型

上一小节中我们介绍了软间隔支持向量机,该模型允许有错分类数据的存在,从而使模型对数据有更好的适应性,有效避免过拟合的问题。
现在我们回顾一下松弛变量ξn,我们用ξn来记录违反分类边界的数据到边界的距离。
技术分享
我们可以从另外一个角度,考虑一下ξn的计算:
对于任何一个点,如果该点违反了边界,那么ξn记录了其到边界的距离;如果没有违反,ξn为0。
技术分享
所以我们可以用下面这个式子来表示:
技术分享

与正则化模型的比较

在正则化中,我们用w的长度来控制复杂度,并且我们希望某个误差度量最小。所以对于软间隔支持向量机来说,你可以把它看成是这种正则化的一种形式。
技术分享
那么我们为什么不从正则化的角度来介绍SVM呢?

原因:
首先如果以正则化的角度看待SVM,那么这就不能使用二次规划的方式来求解,这样就不能使用核技巧来解决对偶问题
其次,max(·,0)这个误差函数可能没有办法进行微分,比较难以求解

SVM和正则化

正则化做的事情是,其想让Ein变小,但是在其上使用w的长度作为控制的条件。
而硬间隔SVM是在把Ein当做是条件,要求模型一定要将数据正确的分开,并且希望w的长度越小越好。
如果看一般的L2正则化,则是如下的形式:
技术分享

所以,最大间隔就是一个正则化的实现形式,它代表了可以找到较少的超平面。
参数C比较大的时候,对应比较小的λ,就代表了越小的正则化。
技术分享

小结

我们已经介绍完了SVM,但是我们想将SVM延伸到其他问题上,比如逻辑回归的问题上,那么我们需要知道SVM和其他问题的关系,这样才能将它灵活的运用。

使用SVM来求解逻辑回归问题

第一步:比较SVM中误差函数和逻辑回归的交叉熵误差

下面我们将SVM中误差函数、逻辑回归的交叉熵误差和0/1误差画在同一图像中:
技术分享
我们可以看出SVM中误差函数和逻辑回归的交叉熵误差都是0/1误差的上限函数,而且SVM的误差函数还是一个凸上限函数。
我们可以发现SVM中误差函数和逻辑回归的交叉熵误差是很相像的。
下面是这两个误差函数的比较:
技术分享
于是,我们可以猜想,SVM相当于做L2正则化的逻辑回归问题。

第二步:用SVM做二元软分类来得到类别概率

技术分享
根据上面的式子,我们首先使用SVM计算一个分数,得到w。然后再加上两个自由度,将这个分数乘上放缩因子A,加上平移因子B,这样比较符合逻辑回归中最大似然的需求。从几何意义上来讲,我们通过SVM计算得到分割线的法向量,然后再进行一些平移和放缩的微调,使之能更加吻合最大似然的要求。这是一个融合SVM和逻辑回归的方式。
如果SVM做的足够好的话,A的值应该大于0,而B的值应该很接近0。
技术分享
下面是新的逻辑回归的式子:

技术分享
这个式子第一阶段用SVM得到的一个分数,这个分数也可以看做是做完SVM后得到的一个特别的转换,相当于从多维转到一维的转换。
在第二阶段相当于求解的是单一维度的逻辑回归问题。

这个算法流程叙述如下:
技术分享
这个方法是使用核SVM得到Z空间中的逻辑回归的近似解。

核逻辑回归

在SVM中,我们要解的是一个二次规划问题,然后可以到处对偶的式子,我们使用核技巧来求解高维向量的内积。
然而,在逻辑回归中,压根就不存在二次规划问题,那么我们该怎么去使用核技巧呢?
我们在计算中用到了w和z的内积,如果w可以表示成z的线性组合,当w和z求内积的时候,我们就可以用核技巧来计算z和z的内积了。
技术分享

表示定理(Representer Theorem)

如果你求解的是L2-regularized的问题,那么一定有一个最好的w可以表示成z的线性组合:
技术分享

如何来证明这件事情呢?
我们将w分成两个部分,分别为w的平行部分(由zn展开的那个空间的向量来构成)和w的垂直部分(与zn展开表示的向量垂直的向量)。
我们希望最后完全没有w的垂直部分。
将最优的那个w与zn相乘其实和w的平行部分和zn相乘得到的结果是一样的,因为w的垂直部分与zn相乘为0,所以得到的err是一样的。
对于最佳解wTw,其包含w的平行部分的平方和w的垂直部分的平方,如果使用反证法,假设w的垂直部分不是0,那么,wTw必将大于w的平行部分的平方,但是最小解wTw却比w的平行部分的平方还大,这与我们的假设是矛盾的,所以就证明了w的垂直部分为0。
这样就证明了w的最佳解可以被z线性表达。
技术分享
通过上面的证明,我们知道只要是求解L2的线性模型,就可以使用核技巧。

将核技巧用于L2正则化的逻辑回归

技术分享
我们先得到要求解的表达式,然后用zn和βn的线性组合的方式表示最佳的w,代入到原始的式子中,就可以通过求βn代替求w了。
技术分享
这就得到了一个没有约束条件的最佳化问题,我们可以通过梯度下降的方法来求解βn。这就是核逻辑回归问题。

核逻辑回归的另一种解释

在之前的介绍中,我们将核逻辑回归看做是w的线性模型,这个w的线性模型作用于使用核技巧进行的转换之中的数据,还使用了L2正则项。
而另一种视角是,我们可以将K(xm,xn)当做是一种数据的转换,在转换后的数据(K(x1,xn),K(x2,xn),…,K(xN,xn))加以β的权重。
将前面一项写作矩阵形式βT* K *β可以看做是β和β的乘积,也相当于一种正则项。
这样核逻辑回归就可以看做是β的线性模型,作用于使用核函数转换之后的数据和一个核正则项。
技术分享

转载请注明作者Jason Ding及其出处
GitCafe博客主页(http://jasonding1354.gitcafe.io/)
Github博客主页(http://jasonding1354.github.io/)
CSDN博客(http://blog.csdn.net/jasonding1354)
简书主页(http://www.jianshu.com/users/2bd9b48f6ea8/latest_articles)
百度搜索jasonding1354进入我的博客主页

【机器学习基础】核逻辑回归

标签:

原文地址:http://blog.csdn.net/jasonding1354/article/details/45207023

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!