机器学习-线性回归


1、Linear Regression

可以说基本上是机器学习中最简单的模型了,但是实际上其地位很重要(计算简单、效果不错,在很多其他算法中也可以看到用LR作为一部分)。

先来看一个小例子,给一个“线性回归是什么”的概念。图来自[2]。

这里写图片描述这里写图片描述
假设有一个房屋销售的数据如下:
面积(m^2) 销售价钱(万元)
123 250
150 320
87 160
102 220
… …

当我们有很多组这样的数据,这些就是训练数据,我们希望学习一个模型,当新来一个面积数据时,可以自动预测出销售价格(也就是上右图中的绿线);这样的模型必然有很多,其中最简单最朴素的方法就是线性回归,也就是我们希望学习到一个线性模型(上右图中的红线)。不过说是线性回归,学出来的不一定是一条直线,只有在变量x是一维的时候才是直线,高维的时候是超平面。

线性回归的目标是用预测结果尽可能地拟合目标label,用最常见的Least square作为loss function:

J(w)=1ni=1n(yif(xi))2=1nyXw2


定义一下一些符号表达,我们通常习惯用X=(x1,x2,...,xn)TRn×p表示数据矩阵,其中xiRp表示一个p维度长的数据样本;y=(y1,y2,...,yn)TRn

表示数据的label,这里只考虑每个样本一类的情况。

线性回归的模型是这样的,对于一个样本xi

,它的输出值是其特征的线性组合:

f(xi)=m=1pwmxim+w0=wTxi

其中,w0称为截距,或者bias,上式中通过增加xi0=1w0也吸收到向量表达中了,简化了形式,因此实际上xip+1维度。

从下图来直观理解一下线性回归优化的目标——图中线段距离(平方)的平均值,也就是最小化到分割面的距离和。
这里写图片描述

也就是很多中文教材中提到的最小二乘;线性回归是convex的目标函数,并且有解析解:

w^=(XTX)1XTy

线性回归到这里就训练完成了,对每一个样本点的预测值是 f(xi)=yi^=w^Txi。所以:
y^=Xw^=X(XTX)1XTy

接下来看一下我们寻找到的预测值的一个几何解释:从上面的解析解w^=(XTX)1XTy

可以得到 XT(y^y)=0(垂直的向量相乘=0),因此实际上 y^y在平面 X(由列向量 x1x2

张成,假设只有两维)上的投影。
预测值的直观解释

ok,一般介绍线性回归的文章到这里也就结束了,因为实际使用中基本就是用到上面的结果,解析解计算简单而且是最优解;当然如果求逆不好求的话就可以不用解析解,而是通过梯度下降等优化方法来求最优解,梯度下降的内容不在本篇中,后面讲逻辑回归会说到。也可以看我前面写的今天开始学PRML第5章中有写到,或者直接翻阅wikipedia:gradient descent

不过在这里我再稍微提几个相关的分析,可以参考ESL[3]的第3章中的内容。前面我们对数据本身的分布是没有任何假设的,本节下面一小段我们假设观察值yi

都是不相关的,并且方差都是 σ2

,并且样本点是已知(且是中心化过了的,均值为0)的。于是我们可以推出协方差矩阵

Var(β^)=(XTX)1σ2

证明:

Var(β^)=(XTX)1XTyytX(XTX)1=(XTX)1σ2

要估计方差σ2

,可以用

σ^2=1np1i=1n(yiy^i)2

这里和一般的方差的形式看起来不同,分母是 np1而不是 n,是因为这样的估计才是 σ2的无偏估计。
证明:
E(σ^2)=E(1np1ni=1(yiy^i)2)=E(1np1[yX(XTX)1XTy]T[yX(XTX)1XTy]=E(1np1yT[InX(XTX)1XT]y=nσ2np11np1tr(X(XTX)1XTyyT)=nσ2np1σ2np1tr(X(XTX)1XT)=nσ2np1(p+1)σ2np1=σ2

好,第一篇就写到这里。这个系列是从0开始的基础复习记录,力求清晰易懂。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值