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

作者: JasonDing | 来源:发表于2015-04-23 00:01 被阅读4089次

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

    上一小节中我们介绍了软间隔支持向量机,该模型允许有错分类数据的存在,从而使模型对数据有更好的适应性,有效避免过拟合的问题。
    现在我们回顾一下松弛变量ξ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进入我的博客主页

    相关文章

      网友评论

        本文标题:【机器学习基础】核逻辑回归

        本文链接:https://www.haomeiwen.com/subject/gxaufttx.html