您的位置:首页 > 其它

周志华《机器学习》学习笔记——线性回归

2017-10-15 19:26 901 查看

前言

  回归方法是为了对连续性的数据做出预测,其中最简单的方法当然就是线性回归。顾名思义,线性回归就是用线性方程来对已知的线性方程进行拟合,用拟合出的线性方程对未知数据做出预测。线性回归的优点就是计算公式简单,计算结果容易理解;缺点就是对非线性的数据拟合程度不够好。例如用线性函数f(x)=wx+b去拟合二次函数f(x)=x2,效果都不是太好。为了解决这些问题,出现了局部加权线性回归(locally weighted linear regression)岭回归(ridge regression)LASSO前向逐步线性回归(forward stagewise linear regression)等等。

基本形式

  给定由d个属性描述的示例x=(x1,x2,...,xd),其中xi是x在第i个属性上的取值,线性回归试图学得一个通过属性的线性组合来进行预测的函数,即f(x)=w1x1+w2x2+...+wdxd+b

可写成向量形式f(x)=wTx+b

其中w=(w1,w2,...,wd),w和b学得之后,模型也就确定了。

  线性模型形式简单、易于建模,但是却蕴含了机器学习中一些重要的基本思想,许多功能强大的非线性模型就是在线性模型的基础上通过引入层级结构或高维映射得到的。此外,由于w直观表达了各属性在预测中的重要性,因此线性模型具有很好的可解释性,例如在西瓜问题中学得“f好瓜(x)=0.2⋅x色泽+0.5⋅x根蒂+0.3⋅x敲声+1”,则意味着可通过综合色泽、根蒂和敲声来判断瓜好不好,其中根蒂最为重要,而敲声比色泽重要一些。

模型求解

一元线性回归

  给定数据集D={(x1,y1),(x2,y2),...,(xm,ym)},其中xi=(xi1,xi2,...,xid),yi∈R。先考虑一种简单的情况:输入属性只有一个,即D={(xi,yi)}mi=1,其中xi∈R。

  线性回归试图学得f(xi)=wxi+b,使得f(xi)≃yi

   如何确定w和b呢,关键在于如何衡量f(x)与y之间的差别。均方误差是回归任务最常用的性能度量,均方误差也称平方损失(square loss),因此我们可试图让均方误差最小化,即(w∗,b∗)=argmin(w,b)∑i=1m(f(xi)−yi)2 =argmin(w,b)∑i=1m(yi−wxi−b)2

w∗,b∗表示w和b的解。均方误差有非常好的几何意义,它对应了常用的欧几里得距离或简称“欧式距离”。基于均方误差最小化来进行模型求解的方法称为“最小二乘法”(least square method)。在线性回归中,最小二乘法就是试图找到一条直线,使所有样本到直线上的欧式距离最小。

   求解w和b使E(w,b)=∑mi=1(yi−wxi−b)2最小化的过程,称为线性回归模型的最小二乘“参数估计”。将E(w,b)分别对w和b求导,得到∂E(w,b)∂w=2(w∑i=1mx2i−∑i=1m(yi−b)xi)∂E(w,b)∂b=2(mb−∑i=1m(yi−wxi))

令导数等于零可得到w和b最优解的闭式解也称为解析解w=∑mi=1yi(xi−x¯)∑mi=1x2i−1m(∑mi=1)2b=1m∑i=1m(yi−wxi)

其中x¯=1m∑mi=1xi为x的均值。

多元线性回归

   更一般的情形是数据集中的数据是高维的。此时我们试图学得f(xi)=wTxi+b,使得f(xi)≃yi

其中w,xi∈Rd。这称为“多元线性回归”。

   类似的,可利用最小二乘法来对w和b进行估计。为便于讨论,我们把w和b放进向量形式wˆ=(w,b),相应的,把数据集D表示为一个m×(d+1)大小的矩阵X,其中每一行对应于一个示例,该行前d的元素对应于示例的d个属性值,最后一个元素恒置为1,即X=⎡⎣⎢⎢⎢x11x21...xm1x12x22...xm2............x1dx2d...xmd11...1⎤⎦⎥⎥⎥=⎡⎣⎢⎢⎢⎢xT1xT2...xTm11...1⎤⎦⎥⎥⎥⎥把类别标签也写成向量形式y=(y1,y2,...,ym),由均方误差最小化准则,我们得到wˆ∗=argminwˆ(y−Xwˆ)T(y−Xwˆ)

令Ewˆ=(y−Xwˆ)T(y−Xwˆ),对wˆ求导得到∂Ewˆ∂wˆ=2XT(Xwˆ−y)具体的求导过程,可参考这篇文章

  令上式为零可得到wˆ最优解的闭式解,但是由于涉及到矩阵逆的计算,比一元情形要复杂一些。下面我们做一些简单的讨论。

   当XTX为满秩矩阵或正定矩阵时wˆ∗=(XTX)−1XTy

其中(XTX)−1是矩阵(XTX)的逆矩阵。令xˆi=(xi,1),则最终学得的线性回归模型为f(xˆi)=xˆTi(XTX)−1XTy

   然而,现实任务中XTX往往不是满秩的。例如我们在实际场景中,经常会遇到这样的数据集,数据的属性超过样例数,导致X的列数大于行数,XTX显然不满秩。此时可解出多个wˆ,他们都能使均方误差最小化。这是,通常的做法是引入正则化项,求解出最优解wˆ。也可以这样理解,当数据属性远多于样例数时,更容易出现过拟合,通过引入正则化项,得到稀疏解,降低过拟合的风险。

推广

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: