介绍

线性回归的假设是在输入X1,…,Xp与回归方程E(Y|X)的关系是线性的。

对于输入向量XT=(X1,X2,...,Xp)X^T =(X_1, X_2,..., X_p), 线性回归模型公式为:

f(X)=β0+j=1p(Xjβj).f(X) = β_0 + \sum_{j=1}^p(X_jβ_j).

其中参数β是需要训练集数据(x1,y1),(xN,yN)(x_1, y_1), …(x_N, y_N)进行估计(estimate)的参数, β=(β0,β1,,βp)Tβ = (β_0, β_1, …, β_p)^T

优化策略

优化策略指的是按照什么样的准则学习或选择最优模型,所以在优化之前需引入一个函数在评判模型的拟合或预测的程度,即损失函数,记为L(β)。
通常线性回归采用最小二乘法来优化模型,即:
L(β)=12i=1N(yif(xi;β))2=12i=1N(yiβ0j=1Nxijβj)2L(β) =\frac{1}{2} \sum_{i=1}^N(y_i - f(x_i;β))^2 = \frac{1}{2}\sum_{i=1}^N(y_i - β_0 - \sum_{j=1}^Nx_{ij} β_j)^2

如何最小化RSS呢?
方法一:矩阵求解

L(β)可以用矩阵形式表述:L(β)=12(yXβ)T(yXβ)L(β) = \frac{1}{2}(y − Xβ)^T (y − Xβ)

对β进行求偏导:

L(β)β=XT(yXβ)\frac{∂L(β)}{∂β} = −X^T (y − Xβ)

假设X为满列秩矩阵,且XTXX^T X为正定矩阵,令一阶导数为0,即可求得唯一解:

XT(yXβ)=0X^T (y − X β) = 0

β^=(XTX)1XTy\hat{β} = (X_T X)^{−1}X^T y

训练输入的拟合值则可以写成:

y^=Xβ^=X(XTX)1XTy\hat{y} = X\hat{β} = X(X^T X)^{−1}X^T y

方法二:梯度下降法
随机初始化β,通过不断迭代,使得损失函数L最小:
βj:=βjαL(β)βjβ_j:= β_j - \alpha\frac{∂L(β)}{∂β_j}

L(β)βj=i=1N(yif(xi;β))βj(yif(xi;β))\frac{∂L(β)}{∂β_j} = \sum_{i=1}^N(y_i - f(x_i;β))*\frac{∂}{∂β_j}(y_i - f(x_i;β))
=i=1N(yif(xi;β))xij = \sum_{i=1}^N(y_i - f(x_i;β))x_{ij}
其中对于j = 0时,xi=1x_{i} = 1
用向量表示为:
β:=βα(yif(xi;β))xiβ:= β - \alpha(y_i - f(x_i;β))x_{i}
其中,α\alpha是学习率,α\alpha为线性模型的超参(HyperParameter)。α\alpha不宜设置多大,否则会出现梯度爆炸的风险,也不宜设置过小,否则导致梯度下降速度过慢。
当L(β)为凸函数时,梯度下降法相当于让参数ββ不断向J的最小值位置移动,否则有可能找到的并非全局最优值,而是局部最优值。

正则化

以下就是过拟合、欠拟合和拟合平衡的例子(摘自黄海广博士的统计学习方法代码实现,https://github.com/fengdu78/lihang-code)

线性回归笔记线性回归笔记
线性回归笔记
为了避免模型过于复杂陷于过拟合,通常在模型优化时候引入正则化。
min1Ni=1NL(yi,f(xi))+λJ(f)min\frac{1}{N}\sum_{i=1}^NL(y_i,f(x_i)) + \lambda J(f)
其中第1项为损失函数,第2项为正则化项,系数λ\lambda 为调整两者之间关系的系数,且λ>=0\lambda >= 0
在线性回归中正则化可以写成J(f)=βpJ(f) = ||β||^p
当p=1,β1||β||_1是参数β的L1范数,这时候线性回归为经典的Lasso回归;
当p=2时,β2||β||^2是参数β的L2范数,此时线性回归为经典的Ridge回归;
如果J(f)=αβ1+(1α)β2J(f) = \alpha||β||_1 + (1 - \alpha)||β||^2, 其中α(0,1)\alpha ∈(0, 1) ,此时线性回归为经典的Elastic回归

参考
李航 统计学习方法 第二版
https://github.com/fengdu78/lihang-code
https://github.com/datawhalechina/team-learning/blob/master/机器学习算法基础/Task1%20Linear_regression.ipynb

相关文章:

  • 2021-10-08
  • 2021-04-30
  • 2021-04-05
  • 2021-10-11
  • 2021-06-05
  • 2022-12-23
  • 2021-08-15
  • 2022-12-23
猜你喜欢
  • 2021-12-22
  • 2021-09-15
相关资源
相似解决方案