摘要:本文主要向大家介绍了机器学习入门之【机器学习基础】核逻辑回归,通过具体的内容向大家展现,希望对大家学习机器学习入门有所帮助。
本文主要向大家介绍了机器学习入门之【机器学习基础】核逻辑回归,通过具体的内容向大家展现,希望对大家学习机器学习入门有所帮助。
将软间隔支持向量机看做正则化模型
上一小节中我们介绍了软间隔支持向量机,该模型允许有错分类数据的存在,从而使模型对数据有更好的适应性,有效避免过拟合的问题。
现在我们回顾一下松弛变量ξ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 *β可以看做是β和β的乘积,也相当于一种正则项。
这样核逻辑回归就可以看做是β的线性模型,作用于使用核函数转换之后的数据和一个核正则项。
$(function () {
$(‘pre.prettyprint code‘).each(function () {
var lines = $(this).text().split(‘\n‘).length;
var $numbering = $(‘
‘).addClass(‘pre-numbering‘).hide();
$(this).addClass(‘has-numbering‘).parent().append($numbering);
for (i = 1; i <= lines; i++) {
$numbering.append($(‘
‘).text(i));
};
$numbering.fadeIn(1700);
});
});
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标人工智能机器学习频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号