线性回归(Linear Regression)

基础不牢,地动山摇。

首先,我认为我们需要先明确一下回归(Regression)分类(Classification)的区别,这二者都是监督学习的核心问题,它们之间的区别总结如下:

① 回归问题通常是用来预测一个数值,比如预测房价,预测工程耗时等。如果一个产品的实际价格为500元,通过回归分析预测结果为499元,我们认为这是一个比较好的回归分析。回归是对真实值的一种逼近预测

② 分类问题通常用于预测样本的标签,比如判断一张图片上的动物是一只猫还是一只狗。分类问题没有逼近的概念,最终输出的结果只有一个,“是”或者“否”。

1. 单一属性线性回归

让我们先考虑一种最简单的情形:每个样本只有一个输入属性(只有一维特征)。假设我们有\small m个样本,每个样本有1维特征和1个结果输出,那么训练数据的形式可以如下表达(x_{i}代表第i个样本的输入特征,y_{i}代表第i个样本的真实结果):

(x_{1},y_{1}),(x_{2},y_{2}),(x_{3},y_{3}),\cdots ,(x_{m},y_{m})

单一属性线性回归的模型如下

f(x_{i})=wx_{i}+b

显而易见,单一属性线性回归的目标就是确定合适的wb,使得f(x_{i})\simeq y_{i}(即让模型输出结果尽可能逼近真实结果)。想实现这个目标,关键在于如何最小化模型输出结果f(x_{i})和真实结果y_{i}的之间的差别。在这里,我们用均方误差来量化这种差别(均方误差也是回归任务中最常用的性能度量),均方误差表示为:

E(w,b)=\frac{1}{m}\sum_{i=1}^{m}(f(x_{i})-y_{i})^2=\frac{1}{m}\sum_{i=1}^{m}(y_{i}-wx_{i}-b)^2

为了寻找使均方误差E(w,b)最小的wb,我们将E(w,b)分别对wb求导,得到:

\frac{\partial E(w,b)}{\partial w}=\frac{2}{m}(w\sum_{i=1}^{m}x_{i}^2-\sum_{i=1}^{m}(y_{i}-b)x_{i})

\frac{\partial E(w,b)}{\partial b}=\frac{2}{m}(mb-\sum_{i=1}^{m}(y_{i}-wx_{i}))

另上面两式都为0即可得到参数wb的最优解(其中\small \bar{x}\small x的均值):

w=\frac{\sum_{i=1}^{m}y_{i}(x_{i}-\bar{x})}{\sum_{i=1}^{m}x_{i}^2-\frac{1}{m}(\sum_{i=1}^{m}x_{i})^2}

b=\frac{1}{m}\sum_{i=1}^{m}(y_{i}-wx_{i})

计算过程如下图: 

2. 多元线性回归

我们通过刚才的推导对单一属性线性回归的参数估计方法有了一定的了解,下面让我们推广到更一般、更复杂的情况。在一般情况下,样本的属性(特征)不会只有一维,而是会有多维。现在让我们假设我们有\small m个样本,每个样本都有\small d维特征和1个结果输出,那么训练数据的形式可以如下表达(x_{ij}代表第i个样本的第j维特征,y_{i}代表第i个样本的真实结果):

(x_{11},x_{12},\cdots,x_{1d},y_{1}),(x_{21},x_{22},\cdots,x_{2d},y_{2}),\cdots (x_{m1},x_{m2},\cdots,x_{md},y_{m})

多元线性回归的模型如下

f(x_{i1},x_{i2},\cdots,x_{id})=w_{1}x_{i1}+w_{2}x_{i2}+\cdots +w_{d}x_{id}+b

为了便于描述,将权重和属性(特征)改写成向量形式:

\boldsymbol{w}=\begin{pmatrix} w_{1}\\ w_{2}\\ \cdots \\ w_{d}\end{pmatrix}\boldsymbol{x_{i}}=\begin{pmatrix} x_{i1}\\ x_{i2}\\ \cdots \\ x_{id}\end{pmatrix}

则多元线性回归的模型可以改写成:

f(\boldsymbol{x_{i}})=\boldsymbol{w}^{T}\boldsymbol{x_{i}}+b

显然,多元线性回归的目标是确合适的向量\boldsymbol{w}和常数b,使得f(\boldsymbol{x_{i}})\simeq y_{i}(即让模型输出结果尽可能逼近真实结果)。与单一属性线性回归类似,我们可以最小化均方误差来对\boldsymbol{w}b进行估计。

为了便于描述,我们将所有样本写成一个m\times(d+1)大小的矩阵\boldsymbol{X},其中每行对应于一个样本,该行前d个元素对应于样本的d个属性值(特征),最后一个元素恒为1,即

\boldsymbol{X}=\begin{pmatrix} x_{11} & x_{12}& \cdots & x_{1d}& 1\\ x_{21}& x_{22}& \cdots& x_{2d}& 1\\ \vdots & \vdots & \ddots & \vdots & \vdots \\ x_{m1}& x_{m2}& \cdots& x_{md}& 1\end{pmatrix}=\begin{pmatrix} \boldsymbol{x_{1}}^T & 1\\ \boldsymbol{x_{2}}^T& 1\\ \vdots & \vdots \\ \boldsymbol{x_{m}}^T& 1\end{pmatrix}

此外,我们将参数\boldsymbol{w}b写到一个向量\boldsymbol{\widehat{w}}中,并且把所有m个样本的真实标记值写入一个向量\boldsymbol{y}中,如下:

\boldsymbol{\widehat{w}}=\begin{pmatrix} \boldsymbol{w}\\ b\end{pmatrix}=\begin{pmatrix} w_{1}\\ w_{2}\\ \cdots \\ w_{d}\\ b\end{pmatrix}\boldsymbol{y}=\begin{pmatrix} y_{1}\\ y_{2}\\y_{3}\\ \cdots \\ y_{m}\end{pmatrix}

则,真实标记与模型输出的偏差可以表示为:

\begin{pmatrix} y_{1}\\ y_{2}\\ \cdots\\ y_{m}\end{pmatrix}-\begin{pmatrix} f(\boldsymbol{x_{1}})\\ f(\boldsymbol{x_{2}})\\ \cdots\\ f(\boldsymbol{x_{m}})\end{pmatrix}=\begin{pmatrix} y_{1}-f(\boldsymbol{x_{1}})\\ y_{2}-f(\boldsymbol{x_{2}})\\ \cdots\\ y_{m}-f(\boldsymbol{x_{m}})\end{pmatrix}=\boldsymbol{y}-\boldsymbol{X}\boldsymbol{\widehat{w}}

多元线性回归的均方误差可表示为:

E(\boldsymbol{w},b)=E(\boldsymbol{\widehat{w}})=\frac{1}{m}\sum_{i=1}^{m}(y_{i}-f(\boldsymbol{x_{i}}))^2=\frac{1}{m}(\boldsymbol{y}-\boldsymbol{X}\boldsymbol{\widehat{w}})^T(\boldsymbol{y}-\boldsymbol{X}\boldsymbol{\widehat{w}})

将均方误差对\boldsymbol{\widehat{w}}求偏导,得到:

\frac{\partial E(\boldsymbol{\widehat{w}})}{\partial \boldsymbol{\widehat{w}}}=\frac{2}{m}\boldsymbol{X}^T(\boldsymbol{X\widehat{w}}-\boldsymbol{y})

令上式为0可以求得最优的参数\boldsymbol{\widehat{w}},但是由于涉及矩阵的运算,比单一属性的情况要复杂一些,简单讨论一下:

① 若\boldsymbol{X}^T\boldsymbol{X}为满秩矩阵或正定矩阵,令上式为0可得:

\boldsymbol{\widehat{w}}^*=(\boldsymbol{X}^T\boldsymbol{X})^{-1}\boldsymbol{X}^T\boldsymbol{y}

其中,(\boldsymbol{X}^T\boldsymbol{X})^{-1}\boldsymbol{X}^T\boldsymbol{X}的逆矩阵。

若令:\boldsymbol{\hat{x_{i}}}=\begin{pmatrix} \boldsymbol{x_{i}}\\ 1\end{pmatrix},则原多元线性回归模型f(\boldsymbol{x_{i}})=\boldsymbol{w}^{T}\boldsymbol{x_{i}}+b可表示为f(\boldsymbol{\hat{x_{i}}})=\boldsymbol{\hat{x_{i}}}^T\boldsymbol{\hat{w}}

将上面求得的\boldsymbol{\widehat{w}}^*代入f(\boldsymbol{\hat{x_{i}}})=\boldsymbol{\hat{x_{i}}}^T\boldsymbol{\hat{w}},可以得到最终学到的线性回归模型:

{\color{Red} f(\boldsymbol{\hat{x_{i}}})=\boldsymbol{\hat{x_{i}}}^T(\boldsymbol{X}^T\boldsymbol{X})^{-1}\boldsymbol{X}^T\boldsymbol{y}}

② 然而,现实任务中\boldsymbol{X}^T\boldsymbol{X}往往不是满秩矩阵,例如在许多任务中,样本有大量的特征,特征数甚至超过样本数,导致\boldsymbol{X}的列数多于行数,\boldsymbol{X}^T\boldsymbol{X}显然不满秩,此时可解出多个\boldsymbol{\widehat{w}},它们都能使均方误差最小化,选择哪一个解作为输出,将由学习算法的归纳偏好决定(比如算法更加“信任”某个属性,则会选择该属性上权值较重的\boldsymbol{\widehat{w}})。

3. 广义线性回归

在上面讲到的单一属性线性回归和多元线性回归中,都是标记值与属性(特征)呈线性关系,我们可以记为:

y=\boldsymbol{w}^T\boldsymbol{x}+b

现在让我们扩展一下这样的线性关系,假设现在标记值与属性不呈线性关系了,取而代之的是,标记值的自然对数与属性呈线性关系,即:

\ln y=\boldsymbol{w}^T\boldsymbol{x}+b

这就是对数线性回归,它实际上是在试图让e^{\boldsymbol{w}^T\boldsymbol{x}+b}去逼近\boldsymbol{y},虽然在形式上依然是线性回归,但是本质上已经是在求取输入空间到输出空间的非线性映射,如下图所示,这里对数函数起到了将线性回归模型的预测值与真实值联系在一起的作用。

更一般地,考虑单调可微函数g(\cdot ),令

y=g^{-1}(\boldsymbol{w}^T\boldsymbol{x}+b)

这样得到的模型称为广义线性模型,其中函数g(\cdot )称为联系函数,显然,对数线性回归是广义线性模型在g(\cdot )=\ln (\cdot)时的特例。

参考:

《机器学习》西瓜书,周志华著
https://blog.csdn.net/monk1992/article/details/82346375
https://www.cnblogs.com/huangyc/p/9782821.html

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SongGu1996

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值