机器学习笔记之线性回归

机器学习笔记之线性回归

已知数据集Data:

( x 1 , y 1 ) , ( x 2 , y 2 ) , ( x 3 , y 3 ) , … … , ( x N − 2 , y N − 2 ) , ( x N − 1 , y N − 1 ) , ( x N , y N ) (x_1,y_1),(x_2,y_2),(x_3,y_3),……,(x_{N-2},y_{N-2}),(x_{N-1},y_{N-1}),(x_N,y_N) (x1,y1)(x2,y2)(x3,y3)(xN2yN2)(xN1yN1)xN,yN)

其中 x i ∈ x_ i\in xi R p R^p Rp, y i ∈ R y_i\in R yiR i = 1 , 2 , 3 , … … , N i=1,2,3,……,N i=1,2,3,N
在这里插入图片描述
X = ( x 1 , x 2 , … … , x N − 1 , x N ) T = [ x 11 x 12 ⋯ x 1 p x 21 x 22 ⋯ x 2 p ⋮ ⋮ ⋱ ⋮ x N 1 x N 2 , ⋯ x N p ] N × P X=(x_1,x_2,……,x_{N-1},x_N)^T=\begin{bmatrix} x_{11}&x_{12} & \cdots & x_{1p}\\ x_{21}&x_{22} & \cdots & x_{2p}\\ \vdots & \vdots & \ddots & \vdots\\ x_{N1}&x_{N2}, & \cdots & x_{Np} \end{bmatrix}_{N{\times}P} X=(x1,x2,xN1xN)T=x11x21xN1x12x22xN2,x1px2pxNpN×P

Y= ( y 1 , y 2 , … … , y N − 1 , y N ) T (y_1,y_2,……,y_{N-1},y_N)^T (y1,y2yN1yN)T

给定有 p p p个属性描述的输入 x \textbf{x} x=( x 1 , x 2 , ⋯ , x p x_{1},x_2,\cdots,x_p x1,x2,xp),其中 x i x_i xi x \textbf{x} x在第 i i i个属性上的取值,线性模型(linear model)就是通过学习一个属性之间的线性组合来进行预测的函数,即
f ( x ) = w 1 x 1 + w 2 x 2 + ⋯ + w p x p + b f(x)=w_1x_1+w_2x_2+\cdots+w_px_p+b f(x)=w1x1+w2x2++wpxp+b
一般写成向量形式
f ( x ) = w T x + b f(x)=w^Tx+b f(x)=wTx+b
其中 w w w p p p维的行向量,即 w = ( w 1 , w 2 , ⋯   , w p ) w=(w_1,w_2,\cdots,w_p) w=(w1,w2,,wp).线性回归的目的是使得
f ( x i ) = w T x i + b ≃ 真 实 值 y i f(x_i)=w^Tx_i+b\simeq真实值y_i f(xi)=wTxi+byi
如何确定 w T 和 b w^T和b wTb的值呢?因此,就需要一个衡量预测值 f ( x i ) f(x_i) f(xi)和真实值 y i y_i yi之间差异的函数。最常用的则是均方误差函数(通常叫做损失函数),即
在这里插入图片描述

图片来自于https://github.com/ws13685555932/machine_learning_derivation/blob/master/3%20%E7%BA%BF%E6%80%A7%E5%9B%9E%E5%BD%92.pdf
详见请点击此链接

( w ∗ , b ∗ ) = arg ⁡ min ⁡ ( w , b ) ∑ i = 1 N ( w T x i − y i ) 2 (w^*,b^*)=\arg{\mathop{\min}\limits_{(w,b)}}\sum_{i=1}^N(w^Tx_i-y_i)^2 (w,b)=argw,bmini=1N(wTxiyi)2
几何意义:均方误差对应了欧几里得距离(欧氏距离)。求解方法使用最小二乘法(least square method)。在线性回归中,最小二乘法就是试图找到一条直线,使得所有样本到直线上的欧式距离之和最小。为了便于求解,可以将 b b b设为 0 0 0。下面是求解过程:

线性回归求解
L ( w ) = ∑ i = 1 N ∥ w T x i − y i ∥ = ∑ i = 1 N ( w T x i − y i ) 2 = ( w T x 1 − y 1 , w T x 2 − y 2 , ⋯   , w T x N y N ) ( w T x 1 − y 1 w T x 2 − y 2 , ⋮ w T x N − y N ) = ( ( w T x 1 , w T x 2 , ⋯   , w T x N ) − ( y 1 , y 2 , ⋯   , y N ) ) ( w T x 1 − y 1 w T x 2 − y 2 ⋮ w T x N − y N ) = w T ( ( x 1 , x 2 , ⋯   , x N ) − ( y 1 , y 2 , ⋯   , y N ) ) ⎵ W T X T − Y T ( w T x 1 − y 1 w T x 2 − y 2 ⋮ w T x N − y N ) ⎵ W X − Y \begin{aligned}L(w)&=\sum_{i=1}^N \|w^Tx_i-y_i\|=\sum_{i=1}^N (w^Tx_i-y_i)^2\\&=\begin{pmatrix}w^Tx_1-y_1,w^Tx_2-y_2,\cdots,w^Tx_Ny_N\end{pmatrix}\begin{pmatrix}w^Tx_1-y_1 \\ w^Tx_2-y_2, \\ \vdots\\w^Tx_N-y_N\end{pmatrix}\\&=\Biggl(\begin{pmatrix}w^Tx_1,w^Tx_2,\cdots,w^Tx_N\end{pmatrix}-\begin{pmatrix}y_1,y_2,\cdots,y_N\end{pmatrix}\Biggr)\begin{pmatrix}w^Tx_1-y_1\\w^Tx_2-y_2\\ \vdots\\w^Tx_N-y_N\end{pmatrix}\\&=\underbrace{w^T\Biggl(\begin{pmatrix}x_1,x_2,\cdots,x_N\end{pmatrix}-\begin{pmatrix}y_1,y_2,\cdots,y_N\end{pmatrix}\Biggr)}_{W^TX^T-Y^T} \underbrace{\begin{pmatrix}w^Tx_1-y_1\\w^Tx_2-y_2\\ \vdots\\w^Tx_N-y_N\end{pmatrix}}_{WX-Y} \end{aligned} L(w)=i=1NwTxiyi=i=1N(wTxiyi)2=(wTx1y1,wTx2y2,,wTxNyN)wTx1y1wTx2y2,wTxNyN=((wTx1,wTx2,,wTxN)(y1,y2,,yN))wTx1y1wTx2y2wTxNyN=WTXTYT wT((x1,x2,,xN)(y1,y2,,yN))WXY wTx1y1wTx2y2wTxNyN
即: L ( W ) = ( W T X T − Y T ) ( X W − Y ) L(W)=(W^TX^T-Y^T)(XW-Y) L(W)=(WTXTYT)(XWY)

展开可得:
L ( W ) = W T X T X W − W T X T Y − Y T X W + Y T Y L(W)=W^TX^TXW-W^TX^TY-Y^TXW+Y^TY L(W)=WTXTXWWTXTYYTXW+YTY
因为 W T X T Y W^TX^TY WTXTY是对称矩阵,所以 L ( W ) = W T X T X W − 2 W T X T Y + Y T Y L(W)=W^TX^TXW-2W^TX^TY+Y^TY L(W)=WTXTXW2WTXTY+YTY

w ^ = arg ⁡ min ⁡ L ( W ) \hat{w}=\arg{\min}L(W) w^=argminL(W)

L ( w ) L(w) L(w)求关于 w w w的偏导得: ∂ L ( w ) ∂ w = 2 X T X W − 2 X T Y \frac{\partial{L(w)}}{\partial{w}}=2X^TXW-2X^TY wL(w)=2XTXW2XTY

令偏导的等于零,则$XTXW=XTY\Rightarrow W=(XTX){-1}X^TY $

其中 ( X T X ) − 1 (X^TX)^{-1} (XTX)1是矩阵 ( X T X ) (X^TX) (XTX)的逆矩阵。然而,现实任务中 X T X X^TX XTX往往不是满秩矩阵。例如有时在许多任务中我们会遇到大量的变量,其数目超过样例数,导致 X X X的例数多于行数, X T X X^TX XTX显然不满秩,但此时可以求伪逆。此时可以求出多个,它们都能使均方差最小化。至于选哪一个作为输出,将由学习算法的归纳偏好决定,常见的做法是引入正则化项(regularization)。

从几何角度来解释: p p p个属性可以理解为 p p p维子空间, f ( β ) f(\beta) f(β) y y y p p p维子空间的投影,在 p p p维子空间找一向量 β \beta β使得 f ( β ) f(\beta) f(β) y y y的距离最小,则满足 y − f ( w ) y-f(w) yf(w) p p p维子空间的基向量垂直。即
图片来自于网络

图片来自于https://github.com/ws13685555932/machine_learning_derivation/blob/master/3%20%E7%BA%BF%E6%80%A7%E5%9B%9E%E5%BD%92.pdf
详见请点击此链接

f ( w ) = w T x = x T β f(w)=w^Tx=x^T\beta f(w)=wTx=xTβ
X T ( Y − f ( w ) ) = 0 ⇒ X T ( Y − X β ) = 0 ⇒ X T Y = X T X β ⇒ β = ( X T X ) − 1 X T Y \begin{aligned} X^T(Y-f(w))&=0\Rightarrow X^T(Y-X\beta)=0\Rightarrow X^TY=X^TX\beta\Rightarrow\beta=(X^TX)^{-1}X^TY \end{aligned} XT(Yf(w))=0XT(YXβ)=0XTY=XTXββ=(XTX)1XTY

从概率角度来解释:设数据集的噪声 ε ∼ N ( 0 , σ 2 ) \varepsilon\sim N(0,\sigma^2) εN(0,σ2), x i ∈ R p x_i\in R^p xiRp, y i ∈ R y_i\in R yiR
y = f ( w ) + ε f ( w ) = w T x } ⇒ y = w T x + ε ⇒ y ∣ x ; w ∼ ( w T x , σ 2 ) ⇒ P ( y i ∣ x i ; w ) = 1 2 π σ e x p ( ( y i − w T x i ) 2 2 σ 2 ) \begin{aligned} \left.\begin{matrix}y=f(w)+\varepsilon\\ f(w)=w^Tx\end{matrix} \right \}&\Rightarrow y=w^Tx+\varepsilon \Rightarrow y|x;w\sim(w^Tx,\sigma^2)\\&\Rightarrow P(y_i|x_i;w)=\frac{1}{\sqrt{2\pi}\sigma}exp(\frac{(y_i-w^Tx_i)^2}{2 \sigma^2}) \end{aligned} y=f(w)+εf(w)=wTx}y=wTx+εyx;w(wTx,σ2)P(yixi;w)=2π σ1exp(2σ2(yiwTxi)2)
使用最大似然估计法( m a x i m u m l i k e l i h o o d e s t i m a t i o n , M L E maximum\quad likelihood \quad estimation,MLE maximumlikelihoodestimation,MLE) 求解,即:
L ( w ) = log ⁡ P ( Y ∣ X ; w ) = log ⁡ ∏ i = 1 N P ( y i ∣ x i ; w ) = ∑ i = 1 N log ⁡ P ( y i ∣ x i ; w ) = ∑ i = 1 N ( log ⁡ 1 2 π σ + log ⁡ e x p ( − ( y i − w T x i ) 2 2 σ 2 ) ) = ∑ i = 1 N ( log ⁡ 1 2 π σ − 1 2 σ 2 ( y i − w T x i ) 2 ) \begin{aligned} L(w)&=\log P(Y|X;w)=\log \prod_{i=1}^NP(y_i|x_i;w)=\sum_{i=1}^N \log P(y_i|x_i;w)\\ &=\sum_{i=1}^N (\log \frac{1}{\sqrt{2\pi}\sigma}+\log exp(-\frac{(y_i-w^Tx_i)^2}{2\sigma^2}))\\ &=\sum_{i=1}^N(\log \frac{1}{\sqrt{2\pi}\sigma}-\frac{1}{2\sigma^2(y_i-w^Tx_i)^2}) \end{aligned} L(w)=logP(YX;w)=logi=1NP(yixi;w)=i=1NlogP(yixi;w)=i=1N(log2π σ1+logexp(2σ2(yiwTxi)2))=i=1N(log2π σ12σ2(yiwTxi)21)
即求 w ^ = arg ⁡ max ⁡ w L ( w ) = arg ⁡ max ⁡ w ( − 1 2 σ 2 ( y i − w T x i ) ) \hat{w}=\arg \max\limits_{w}L(w)=\arg \max \limits_{w}(\frac{-1}{2\sigma^2}(y_i-w^Tx_i)) w^=argwmaxL(w)=argwmax(2σ21(yiwTxi))

⇒ w ^ = arg ⁡ min ⁡ w ( y i − w T x i ) 2 \Rightarrow \hat{w}=\arg \min \limits_{w}(y_i-w^Tx_i)^2 w^=argwmin(yiwTxi)2 ⟺ \Longleftrightarrow 损失函数 L ( w ) = ∑ i = 1 N ∥ w T x i − y i ∥ L(w)= \sum_{i=1}^N \|w^Tx_i-y_i \| L(w)=i=1NwTxiyi

因此,最小二乘估计法等价于噪声服从正态分布的极大似然估计。LSE ⟺ \Longleftrightarrow MLE
正则化:简单来说,当数据集(样本容量)很少时,最小均方差函数未必可以取得很好的效果,会产生所谓的过拟合现象(就是在训练数据上模型表现效果很好,但是测试数据上表现不好)。因此,为了防止这样的现象发生,常用的方法是有增加样本数据、特征选择(特征提取)如PCA、正则化。本次就介绍通过添加正则项来控制过拟合,在损失函数后面加上正则项,即:
L ( w ) = ∑ i = 1 N ∥ w T − y i ∥ 2 + λ p ( w ) L(w)=\sum_{i=1}^N\|w^T-y_i\|^2+\lambda p(w) Lw)=i=1NwTyi2+λp(w)
一般正则项形式如 λ ∣ w i ∣ q \lambda |w_i|^q λwiq,当 q = 1 q=1 q=1时,被称为lasso,如果 λ \lambda λ足够大时,某些系数 w i w_i wi会变成零,从而会产生一个稀疏(sparse)模型;当 q = 2 q=2 q=2时,被称为岭回归(ridge regression),这样的好处是可以求出解析解,在神经网络中,这种方法叫做权值衰减(weight decay)。

因此,损失函数就转化为: J ( w ) = ∑ i = 1 N ∥ w T x i − y i ∥ 2 + λ ∥ w ∥ 2 = ∑ i = 1 N ∥ w T x i − y i ∥ + λ w T w = ( W T X T − Y T ) ( X W − Y ) + λ W T W = W T X T X W − 2 W T X T Y + Y T Y + λ W T W = W T ( X T X + λ I ) W − 2 W T X T Y + Y T Y \begin{aligned}J(w)&=\sum_{i=1}^N\|w^Tx_i-y_i\|^2+\lambda \|w\|^2=\sum_{i=1}^N\|w^Tx_i-y_i\|+\lambda w^Tw\\&=(W^TX^T-Y^T)(XW-Y)+\lambda W^TW\\&=W^TX^TXW-2W^TX^TY+Y^TY+\lambda W^TW\\&=W^T(X^TX+\lambda I)W-2W^TX^TY+Y^TY \end{aligned} Jw=i=1NwTxiyi2+λw2=i=1NwTxiyi+λwTw=(WTXTYT)(XWY)+λWTW=WTXTXW2WTXTY+YTY+λWTW=WT(XTX+λI)W2WTXTY+YTY
W ^ = arg ⁡ min ⁡ W J ( W ) \hat W=\arg \min \limits_W J(W) W^=argWminJ(W)
求导可得: ∂ J ( W ) ∂ W = 2 ( X T X + λ I ) W − 2 X T Y \frac{\partial J(W)}{\partial W}=2(X^TX+\lambda I)W-2X^TY WJ(W)=2(XTX+λI)W2XTY
令上式等于零, ∂ J ( W ) ∂ W = 0 ⇒ W ^ = ( X T X + λ I ) − 1 X T Y \frac{\partial J(W)}{\partial W}=0 \Rightarrow \hat{W}=(X^TX+\lambda I)^{-1}X^TY WJ(W)=0W^=XTX+λI)1XTY
正则化的概率解释:数据落在模型的几率
在这里插入图片描述

图片来自于https://github.com/ws13685555932/machine_learning_derivation/blob/master/3%20%E7%BA%BF%E6%80%A7%E5%9B%9E%E5%BD%92.pdf
详见请点击此链接

贝叶斯角度:设 w ∼ N ( 0 , σ 0 2 ) w \sim N(0,\sigma_0^2) wN(0,σ02)
P ( w ) = 1 2 π σ 0 e x p { − ( y − w T x ) 2 σ 2 } P(w)=\frac{1}{\sqrt{2\pi}\sigma_0}exp\{-\frac{(y-w^Tx)}{2\sigma^2}\} P(w)=2π σ01exp{2σ2(ywTx)} P ( y ∣ w ) = 1 2 π σ e x p { − y − w T x 2 σ 2 } P(y|w)=\frac{1}{\sqrt{2\pi}\sigma}exp\{-\frac{y-w^Tx}{2\sigma^2}\} P(yw)=2π σ1exp{2σ2ywTx}
∵ P ( w ∣ y ) = P ( y ∣ w ) ⋅ P ( W ) P ( y ) \because P(w|y)=\frac{P(y|w) \cdot P(W)}{P(y)} P(wy)=P(y)P(yw)P(W)
∴ \therefore 最大后验概率( m a x i m u m a p o s t e r i o r i e s t i m a t i o n maximum\quad a \quad posteriori\quad estimation maximumaposterioriestimation)MAP
w ^ = arg ⁡ max ⁡ w P ( w ∣ y ) = arg ⁡ max ⁡ w P ( y ∣ w ) ⋅ P ( w ) = arg ⁡ max ⁡ w l o g [ P ( y ∣ w ) ⋅ P ( w ) ] = arg ⁡ max ⁡ w l o g ( 1 2 π σ ⋅ 1 2 π σ 0 ) + l o g exp ⁡ { − ( y − w T x ) 2 2 σ 2 − ∥ w ∥ 2 2 σ 2 } ⇒ arg ⁡ min ⁡ w ( y − w T x ) 2 2 σ 2 + ∥ w ∥ 2 2 σ 0 2 ⇒ arg ⁡ min ⁡ w ( y − w T x ) 2 + σ 2 σ 0 2 ∥ w ∥ 2 \begin{aligned}\hat{w}&=\arg \max \limits_{w}P(w|y)=\arg \max \limits_{w}P(y|w)\cdot P(w)\\&=\arg \max \limits_{w}log[P(y|w)\cdot P(w)]\\&=\arg \max \limits_{w}log(\frac{1}{\sqrt{2\pi}\sigma} \cdot\frac{1}{\sqrt{2\pi}\sigma_0})+log \exp\{-\frac{(y-w^Tx)^2}{2\sigma^2}-\frac{\|w\|^2}{2\sigma^2}\}\\&\Rightarrow\arg \min \limits_w\frac{(y-w^Tx)^2}{2\sigma^2}+\frac{\|w\|^2}{2\sigma_0^2}\Rightarrow\arg \min \limits_w(y-w^Tx)^2+\frac{\sigma_2}{\sigma_0^2}\|w\|^2 \end{aligned} w^=argwmaxP(wy)=argwmaxP(yw)P(w)=argwmaxlog[P(yw)P(w)]=argwmaxlog(2π σ12π σ01)+logexp{2σ2(ywTx)22σ2w2}argwmin2σ2(ywTx)2+2σ02w2argwmin(ywTx)2+σ02σ2w2
上式最终优化等价于 w ^ M A P = arg ⁡ min ⁡ w ∑ i = 1 N ( y − w T x ) 2 + σ 2 σ 0 2 ∥ w ∥ 2 \hat{w}_{MAP}=\arg \min \limits_{w}\sum_{i=1}^N(y-w^Tx)^2+\frac{\sigma^2}{\sigma^2_0}\|w\|^2 w^MAP=argwmini=1N(ywTx)2+σ02σ2w2

与Ridge Regression J ( w ) = ∑ i = 1 N ( w T x i − y i ) 2 + λ w T w J(w)=\sum_{i=1}^N(w^Tx_i-y_i)^2+\lambda w^Tw J(w)=i=1N(wTxiyi)2+λwTw比较可得, λ = σ 2 σ 0 2 \lambda=\frac{\sigma^2}{\sigma_0^2} λ=σ02σ2

因此可以得出最小二乘估计LSE ⟺ \Longleftrightarrow 极大似然估计MLE(噪声为高斯分布),正则化最小二乘估计Regularized LSE ⟺ \Longleftrightarrow 最大后验概率估价MAP

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值