线性回归

线性回归

标签(空格分隔): 机器学习


基本形式:给定d个属性的示例 x = ( x 1 ; x 2 ; ⋯   ; x d ) x= (x_1 ; x_2 ; \cdots; x_d) x=(x1;x2;;xd),其中, x 1 x_1 x1 x x x在第个 i i i属性上的取值。
f ( x ) = ω 1 x 1 + ω 2 x 2 + ⋯ + ω n x n + b f(x) = \omega_1x_1 + \omega_2x_2 + \cdots + \omega_nx_n + b f(x)=ω1x1+ω2x2++ωnxn+b
f ( x ) = ω T x + b f(x) = \omega^Tx + b f(x)=ωTx+b
其中 ω = ( ω 1 ; ω 2 ; ⋯   ; ω d ) \omega = (\omega_1;\omega_2;\cdots;\omega_d) ω=(ω1;ω2;;ωd)

1. 最简单的线性回归
给定数据集 D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x m , y m ) } D =\{ (x_1,y_1),(x_2,y_2),\cdots,(x_m,y_m) \} D={(x1,y1),(x2,y2),,(xm,ym)},其中 x i = ( x i 1 ; x i 2 ; ⋯   ; x i d ) x_i = ({x_i}_1;{x_i}_2;\cdots;{x_i}_d) xi=(xi1;xi2;;xid), y i ∈ R y_i \in R yiR 。目标是学得模型预测输出,算法思路如下:
f ( i ) = ω x i + b f(_i)=\omega x_i + b f(i)=ωxi+b 使得 f ( x i ) ≃ y i f(x_i)\simeq y_i f(xi)yi

( ω ∗ , b ∗ ) = arg ⁡ min ⁡ ( ω , b ) ∑ i = 1 m ( f ( x i ) − y i ) 2 = arg ⁡ min ⁡ ( ω , b ) ∑ i = 1 m ( y i − ω x i − b ) 2 (\omega^* ,b^* ) = \underset{(\omega, b)}{\arg\min}\sum_{i=1}^m (f(x_i)-y_i)^2 \\ = \underset{(\omega, b)}{\arg\min}\sum_{i=1}^m(y_i-\omega x_i - b)^2 (ω,b)=(ω,b)argmini=1m(f(xi)yi)2=(ω,b)argmini=1m(yiωxib)2

   最小二乘法:上式(西瓜书54 公式(3.4)) 基于最小化均方误差作为目标函数进行求解模型。
解: E ( ω , b ) E_{(\omega, b)} E(ω,b) 分别对 ω \omega ω b b b 求偏导
∂ E ( ω , b ) ∂ ω = ∑ i = 1 m 2 ( y i − ω x i − b ) ( − x i ) = 2 ∑ i = 1 m ( ω x i 2 + ( y i − b ) ( − x i ) ) = 2 ( ω ∑ i = 1 m x i 2 − ∑ i = 1 m ( y i − b ) x i ) \frac{\partial E_(\omega, b)}{\partial \omega} = \sum_{i=1}^m 2 (y_i - \omega x_i - b)(-x_i) \\ =2 \sum_{i=1}^m (\omega x_i^2 + (y_i - b)(-x_i))\\ =2(\omega \sum_{i=1}^m x_i^2 - \sum_{i=1}^m (y_i - b) x_i) ωE(ω,b)=i=1m2(yiωxib)(xi)=2i=1m(ωxi2+(yib)(xi))=2(ωi=1mxi2i=1m(yib)xi)


∂ E ( ω , b ) ∂ b = ∑ i = 1 m 2 ( y i − ω x i − b ) ( − 1 ) = 2 ∑ i = 1 m ( b − ( y i − ω x i ) ) = 2 ( m b − ∑ i = 1 m ( y i − ω x i ) ) \frac{\partial E_(\omega, b)}{\partial b} = \sum_{i=1}^m 2 (y_i - \omega x_i - b)(-1) \\ =2 \sum_{i=1}^m (b - (y_i - \omega x_i))\\ =2(mb - \sum_{i=1}^m (y_i - \omega x_i)) bE(ω,b)=i=1m2(yiωxib)(1)=2i=1m(b(yiωxi))=2(mbi=1m(yiωxi))
  参数估计: 将目标函数分别对w 和 b 求偏导,然后令偏导数结果都为零(依据凸函数最优解的性质),可求出w和b 最优解的闭式解。

令上述两个偏导数为零可求得 ω \omega ω b b b 最优解的闭式解:
首先, E ( ω , b ) E_{(\omega, b)} E(ω,b) b b b 的偏导为零,得
b = 1 m ∑ i = 1 m ( y i − ω x i ) ) b = \frac{1}{m} \sum_{i=1}^m (y_i - \omega x_i)) b=m1i=1m(yiωxi))
然后, b b b 代入 E ( ω , b ) E_{(\omega, b)} E(ω,b) ω \omega ω 的偏导再求解:
∂ E ( ω , b ) ∂ ω = 0 \frac{\partial E_(\omega, b)}{\partial \omega} = 0 ωE(ω,b)=0
先展开 ω ∑ i = 1 m x i 2 − ∑ i = 1 m x i y i + ∑ i = 1 m b x i = 0 \omega \sum_{i=1}^m x_i^2 - \sum_{i=1}^m x_i y_i + \sum_{i=1}^m b x_i = 0 ωi=1mxi2i=1mxiyi+i=1mbxi=0
后代入b:
ω ∑ i = 1 m x i 2 − ∑ i = 1 m x i y i + ∑ i = 1 m ( 1 m ∑ i = 1 m ( y i − ω x i ) ) x i = 0 \omega \sum_{i=1}^m x_i^2 - \sum_{i=1}^m x_i y_i+\sum_{i=1}^m (\frac{1}{m} \sum_{i=1}^m(y_i - \omega x_i))x_i = 0 ωi=1mxi2i=1mxiyi+i=1m(m1i=1m(yiωxi))xi=0 ;
ω ∑ i = 1 m x i 2 − ∑ i = 1 m x i y i + 1 m ∑ i = 1 m x i ∑ i = 1 m ( y i − ω x i ) = 0 \omega \sum_{i=1}^m x_i^2 - \sum_{i=1}^m x_i y_i+ \frac{1}{m} \sum_{i=1}^m x_i \sum_{i=1}^m(y_i - \omega x_i) = 0 ωi=1mxi2i=1mxiyi+m1i=1mxii=1m(yiωxi)=0;
ω ∑ i = 1 m x i 2 − ∑ i = 1 m x i y i + ( 1 m ∑ i = 1 m x i ) ∑ i = 1 m y i − ( 1 m ∑ i = 1 m x i ) ω ∑ i = 1 m x i = 0 \omega \sum_{i=1}^m x_i^2 - \sum_{i=1}^m x_i y_i+ (\frac{1}{m} \sum_{i=1}^m x_i) \sum_{i=1}^m y_i - (\frac{1}{m} \sum_{i=1}^m x_i) \omega \sum_{i=1}^m x_i = 0 ωi=1mxi2i=1mxiyi+(m1i=1mxi)i=1myi(m1i=1mxi)ωi=1mxi=0;
ω = ∑ i = 1 m y i ( x i − x ˉ ) ∑ i = 1 m x i 2 − 1 m ∑ i = 1 m x i ∑ i = 1 m x i \omega = \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 \sum_{i=1}^m x_i} ω=i=1mxi2m1i=1mxii=1mxii=1myi(xixˉ)
= ∑ i = 1 m y i ( x i − x ˉ ) ∑ i = 1 m x i 2 − 1 m ( ∑ i = 1 m x i ) 2 = \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 } =i=1mxi2m1(i=1mxi)2i=1myi(xixˉ)

最后,代回原函数 f ( x ) = ω T x + b f(x) = \omega^Tx + b f(x)=ωTx+b 得到最简单的线性模型。


2. 多元线性回归
f ( x i ) = ω T x i + b f(x_i) = \omega^Tx_i + b f(xi)=ωTxi+b 使 $f(x_i)\simeq y_i $
数据集D的参数矩阵:
X = ( x 1 1 x 1 2 ⋯ x 1 d 1 x 2 1 x 2 2 ⋯ x 2 d 1 ⋮ ⋮ ⋱ ⋮ ⋮ x m 1 x m 2 ⋯ x m d 1 ) = ( x 1 T 1 x 2 T 1 ⋮ ⋮ x m T 1 ) X = \begin{pmatrix} {x_1}_1 & {x_1}_2 & \cdots & {x_1}_d & 1 \\ {x_2}_1 & {x_2}_2 & \cdots & {x_2}_d & 1 \\ \vdots & \vdots & \ddots & \vdots & \vdots \\ {x_m}_1 & {x_m}_2 & \cdots & {x_m}_d & 1 \\ \end{pmatrix} = \begin{pmatrix} {x_1}^T & 1 \\ {x_2}^T & 1 \\ \vdots & \vdots \\ {x_m}^T & 1 \\ \end{pmatrix} X=x11x21xm1x12x22xm2x1dx2dxmd111=x1Tx2TxmT111
参数向量:
ω ^ = ( x 1 T x 2 T ⋮ x m T b ) \hat \omega =\begin{pmatrix} {x_1}^T \\ {x_2}^T \\ \vdots \\ {x_m}^T \\ b \\ \end{pmatrix} ω^=x1Tx2TxmTb
输出向量:
y = ( y 1 y 2 ⋮ y m ) y = \begin{pmatrix} {y_1} \\ {y_2} \\ \vdots \\ {y_m} \\ \end{pmatrix} y=y1y2ym
最小二乘法估算 ω 和 b \omega 和 b ωb:
ω ^ ∗ = arg ⁡ min ⁡ ( w , b ) ( y − X ω ^ ) T ( y − X ω ^ ) \hat \omega^* = \mathop{\arg\min}_{(w,b)} (y - X\hat \omega)^T(y - X\hat \omega) ω^=argmin(w,b)(yXω^)T(yXω^)

                       (即相当于最小化 ∣ ∣ y − X ω ^ ∣ ∣ 2 ||y - X \hat \omega||^2 yXω^2
E ( ω ^ ) = ( y − X ω ^ ) T ( y − X ω ^ ) E_{(\hat\omega)} = (y - X\hat \omega)^T(y - X\hat \omega) E(ω^)=(yXω^)T(yXω^) ,对 ω ^ {\hat \omega} ω^ 求导得:

∂ E ω ^ ∂ ω ^ = 2 X T ( X ω ^ − y ) \frac{\partial E_{\hat\omega} }{\partial \hat \omega} = 2 X^T(X\hat\omega - y) ω^Eω^=2XT(Xω^y)

上式根据查表 或者 这篇blog 可以计算出偏导,但对于矩阵和向量求导还是不够熟练。

分类讨论:

  1. 如果 X T X X^TX XTX 为满秩矩阵或者正定矩阵时,令上式结果为零,得
    ω ^ ∗ = ( X T X ) − 1 X T y \hat\omega^* = (X^TX)^{-1}X^Ty ω^=(XTX)1XTy
    x ^ i = ( x i ; 1 ) ; ω ^ = ( ω ; b ) \hat x_i = (x_i; 1) ; \hat\omega = (\omega ; b) x^i=(xi;1);ω^=(ω;b) ,所求的线性回归模型为:
    f ( x ^ i ) = x ^ i T ( X T X ) − 1 X T y f(\hat x_i) = \hat x_i^T (X^TX)^{-1} X^T y f(x^i)=x^iT(XTX)1XTy
  2. 如果 X T X X^TX XTX 不是满秩矩阵时,这时主要由归纳偏好决定,常见的做法是引入正则化项(regularization)
    ( 此 处 不 懂 正 则 化 项 是 如 何 能 够 做 到 偏 好 归 纳 ? 懂 的 人 详 细 赐 教 ) \color {red}{(此处不懂正则化项是如何能够做到偏好归纳?懂的人 详细赐教)} ()
    …不再展开
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值