机器学习入门|线性回归(二)

201 阅读6分钟
原文链接: click.aliyun.com

机器学习入门|线性回归(二)

kissjz 2018-01-30 02:04:50 浏览43 评论0

云栖社区 算法 机器学习 函数 线性回归 换装攻略 极大似然法

摘要: 回归函数可以选择的表示很多。但是根据奥卡姆剃刀原则,应该选择简单而又可行的回归函数。显然,如果可行,,线性函数是最简单的回归函数。

回归函数可以选择的表示很多。但是根据奥卡姆剃刀原则,应该选择简单而又可行的回归函数。显然,如果可行,,线性函数是最简单的回归函数。当回归函数F采用线性模型表示时 ,我们称该类模型为线性回归(linear regression)。线性模型简单,易于建模,由于omega直观的表达了个属性再预测中的重要性,因此线性模型有很好的可解释性(comprehensibility)。
对于样例(boldsymbol{x},y),当我们希望线性模型的预测值逼近真实标记y时,就得到了线性回归模型,我们把线性回归模型简写为:y=boldsymbolomegaTboldsymbolx+b.
其中系数 omega,b∈R称为回归系数(regression coefficient)。
求回归系数通常有两种方法,除了上文提到的基于最小二乘的normal equation,还有就是通过梯度下降来求解,关于梯度下降可以去看小威精的这篇从梯度下降说起。
这里不多说了(有空把线代再重学一学之后再来补充(/▽\)),网上搜了一个梯度下降和Normal equation的区别总结:
453ea79d82b94bdb53dcbd57810a650_1024x448_1_
线性回归模型,我们知道实际上是通过多个自变量对自变量进行曲线拟合。我们希望找到一条可以较好拟合的曲线,那我们如何判断一条曲线的拟合程度的好坏?上文在推到出来的结果J(θ)=m∑i=1(y(i)−θTx(i))2

中,我们知道的是最小二乘法(预测值和真实值得误差的平方和),原理是正态分布。

对数线性回归(log-linear regression)

lny=ωTx+b.(1)


它实际上是试图让e^{boldsymbol{omega}^Tboldsymbol{x}+b}逼近y,(1)式在形式上仍然式线性回归,但实质上是在求取输入空间到输出空间的非线性函数映射。如下图,这里的对数函数起到了将线性回归模型的预测值与真实标记联系起来的作用。
WeChat_Image_20180117111323_1_
更一般的,考虑单调可微函数 g(⋅),令y=g−1(boldsymbolomegaTboldsymbolx+b)
这样得到的模型称为“广义线性模型”(generalized linear model),其中函数g(⋅)称为“联系函数”(link function).显然,对数线性回归是广义线性模型在g(⋅)=ln(⋅)时的特例。

对数几率回归

如果要用线性模型解决分类任务,只需在广义线性模型中找一个单调可微函数将分类任务的真实标记y与线性模型的预测值联系起来。
举个例子,对于对于二分类任务,其输出标记y∈{0,1},将线性回归模型预测的连续值来转换为0和1。采用“单位阶跃函数”(nuit-step function)y=left{begin{matrix}0,&z<0\0.5,& z=0\ 1,& z>0end{matrix}right.


即预测值大于零就判断为正例,小于零则判断为反例,预测值为临界值零则可任意判别,如图:
45dfcf946d376ee476c2f1f9b7c18cb_1_
单位阶跃函数不连续,于是需要一个“替代函数”(surrogate function):y=11+e−z
对数几率函数是一种“Sigmoid函数”,它将z值转化为一个接近0或1的y值,并且其输出值在z=0附近变化很陡,将对数几率函数作为g^{-1}(⋅)带入(2)式,得:y=frac11+e−(boldsymbolomegaTboldsymbolx+b)(3)整理得:lnfracy1−y=boldsymbolomegaTboldsymbolx+b(4)
若将 y视为样本x作为正例的可能性,则1-y是其反例的可能性,两者的比值fracy1−y称为“几率”(odds),反应了 boldsymbol{x}作为正例的相对可能性。对几率取对数则可得到“对数几率”(log odds,亦称logit)lnfracy1−y由此可以看出,式(3)是在用线性回归模型的预测结果去逼近真实标记的“对数几率”(结合式(4)),因此,其对应的模型称为“对数几率回归”(logistics regression,亦称logit regression)。
对于“对数几率回归”,有几点需要注意:
名字虽然式回归,但实际确实一种分类学习方法
优点:直接对分类可能性进行建模,无需事先假设数据分布,这样就避免了假设分布不准确所带来的问题
不仅是预测出“类别”,而是可以得到近似概率预测,这对许多需要利用概率辅助决策的任务很有 用
对数函数是任意阶可导的凸函数,现有的许多数值优化算法都可直接用于求取最优解
下面来看看如何确定式(3)中的boldsymbol{omega}b。若将式(3)中的 y视为类后验概率估计p(y=1|boldsymbol{x},则式(4)可重写为lnfracp(y=1|boldsymbolx)p(y=0|boldsymbolx)=boldsymbolxTboldsymbolx+b
可以得到:p(y=1|x)=eωTx+b1+eωTx+b(7)p(y=0|x)=11+eωTx+b(8)
于是,我们可以通过“极大似然法”(maximum likelihood method)来估计omegab
注:极大似然估计可以看这篇博客[最大似然估计总结(转载)
](www.baishuidongcheng.com/994.html)给定数据集 \left \{ (\boldsymbol{x}_{i},y_{i}) \right \}_{i=1}^{m},对率回归模型:
似然函数: L(\boldsymbol{\omega},b)=\prod_{i=1}^{m}p(y_{i}|\boldsymbol{x}_{i};\boldsymbol{\omega},b).
对数似然: ι (boldsymbol{omega},b)=sum_{i=1}^{m}lnp(y_{i}|boldsymbol{x}_{i};boldsymbol{omega},b) (5)
“对数似然”最大化,即零每个样本属于其真实标记的概率越大越好。为了方便讨论,令 boldsymbol{beta}=(boldsymbol{omega};b),hat{boldsymbol{x}}=(boldsymbol{x};1)boldsymbol{omega}^{T}boldsymbol{x}+b可简写为boldsymbol{beta}^That{boldsymbol{x}}。再令p_{1}(hat{boldsymbol{x}};boldsymbol{beta})=p(y=1|hat{boldsymbol{x}};boldsymbol{beta}), p_{0}(hat{boldsymbol{x}};boldsymbol{beta})=p(y=0|hat{boldsymbol{x}};boldsymbol{beta})=1-p_{1}(hat{boldsymbol{x}};boldsymbol{beta}),则式(5)中的似然项可重写为p(yi|boldsymbolxi;boldsymbolomega,b)=yip1(hatboldsymbolx;boldsymbolbeta)+(1−yi)p0(hatboldsymbolx;boldsymbolbeta)(6)将式(6)带入式(5)中,并根据式(7)(8)可知,最大化式(5)等价于最小化(取相反数):imath(boldsymbolbeta)=summi=1(−yiboldsymbolbetaThatboldsymbolxi+ln(1+eboldsymbolbetaThatboldsymbolxi))上式是关于 boldsymbol{beta}的高阶可导连续凸函数,根据凸优化理论,经典的数值优化算法如梯度下降(gradient descent method)、牛顿法(Newton method)等都可求得其最优解。

线性回归也终于告一段落了,后文就是周志华《机器学习》的原文,写的实在式太精彩了,现在的水平没法补充什么,就厚颜无耻的“记”下来吧o(////▽////)q
版权声明:本文内容由互联网用户自发贡献,版权归作者所有,本社区不拥有所有权,也不承担相关法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:yqgroup@service.aliyun.com 进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。

用云栖社区APP,舒服~

【云栖快讯】新年大招!云栖社区为在读大学生/研究生准备了一份学(huan)习(zhuang)攻略,发布博文即有机会赢得iPad mini 4等大奖,学习换装两不误!欢迎报名参与~  详情请点击 评论文章 (0) (0) (0)

相关文章

网友评论