介绍
线性回归的假设是在输入X1,…,Xp与回归方程E(Y|X)的关系是线性的。
对于输入向量XT=(X1,X2,...,Xp), 线性回归模型公式为:
f(X)=β0+j=1∑p(Xjβj).
其中参数β是需要训练集数据(x1,y1),…(xN,yN)进行估计(estimate)的参数, β=(β0,β1,…,βp)T
优化策略
优化策略指的是按照什么样的准则学习或选择最优模型,所以在优化之前需引入一个函数在评判模型的拟合或预测的程度,即损失函数,记为L(β)。
通常线性回归采用最小二乘法来优化模型,即:
L(β)=21i=1∑N(yi−f(xi;β))2=21i=1∑N(yi−β0−j=1∑Nxijβj)2
如何最小化RSS呢?
方法一:矩阵求解
L(β)可以用矩阵形式表述:L(β)=21(y−Xβ)T(y−Xβ)
对β进行求偏导:
∂β∂L(β)=−XT(y−Xβ)
假设X为满列秩矩阵,且XTX为正定矩阵,令一阶导数为0,即可求得唯一解:
XT(y−Xβ)=0
β^=(XTX)−1XTy
训练输入的拟合值则可以写成:
y^=Xβ^=X(XTX)−1XTy
方法二:梯度下降法
随机初始化β,通过不断迭代,使得损失函数L最小:
βj:=βj−α∂βj∂L(β)
∂βj∂L(β)=i=1∑N(yi−f(xi;β))∗∂βj∂(yi−f(xi;β))
=i=1∑N(yi−f(xi;β))xij
其中对于j = 0时,xi=1
用向量表示为:
β:=β−α(yi−f(xi;β))xi
其中,α是学习率,α为线性模型的超参(HyperParameter)。α不宜设置多大,否则会出现梯度爆炸的风险,也不宜设置过小,否则导致梯度下降速度过慢。
当L(β)为凸函数时,梯度下降法相当于让参数β不断向J的最小值位置移动,否则有可能找到的并非全局最优值,而是局部最优值。
正则化
以下就是过拟合、欠拟合和拟合平衡的例子(摘自黄海广博士的统计学习方法代码实现,https://github.com/fengdu78/lihang-code)



为了避免模型过于复杂陷于过拟合,通常在模型优化时候引入正则化。
minN1i=1∑NL(yi,f(xi))+λJ(f)
其中第1项为损失函数,第2项为正则化项,系数λ 为调整两者之间关系的系数,且λ>=0
在线性回归中正则化可以写成J(f)=∣∣β∣∣p,
当p=1,∣∣β∣∣1是参数β的L1范数,这时候线性回归为经典的Lasso回归;
当p=2时,∣∣β∣∣2是参数β的L2范数,此时线性回归为经典的Ridge回归;
如果J(f)=α∣∣β∣∣1+(1−α)∣∣β∣∣2, 其中α∈(0,1) ,此时线性回归为经典的Elastic回归
参考
李航 统计学习方法 第二版
https://github.com/fengdu78/lihang-code
https://github.com/datawhalechina/team-learning/blob/master/机器学习算法基础/Task1%20Linear_regression.ipynb