线性回归
机器学习
1. 假设函数
h(x)=∑i=0nθixi=θTx
其中,θ为权重,x为样本,xi为特征,x0=1。
2. 最小二乘损失函数
J(θ)=12∑i=1m(hθ(x(i))−y(i))2
目标:寻找θ,使理论值hθ(x(i))接近于观测值y。
3. 求解
将损失函数改写成矩阵形式:
J(θ)=12(Xθ−y⃗)T(Xθ−y⃗)
当导数为0时,取到极小值:
∇θJ(θ)=∇θ12(Xθ−y⃗)T(Xθ−y⃗)=12∇θ(θTXTXθ−θTXy⃗−y⃗TXθ+y⃗Ty⃗)=12(XTXθ+XTXθ−2XTy⃗)=XTXθ−XTy⃗
令∇θJ(θ)=0,可得:θ=(XTX)−1XTy⃗
- 当X为非奇异矩阵时:θ=X−1y⃗
- 当X为奇异矩阵或长方阵时:θ=X+y⃗
4. 用极大似然估计解释为什么选择最小二乘
y(i)=θTx(i)+ε(i)
其中,y(i)为观测值,h(x)=θTx(i)为理论值,ε(i)为预测误差。
ε(i)∼N(0,σ2),即:
p(ε(i))=12π−−√σexp(−(ε(i))22σ2)
则y(i)∼N(θTx(i),σ2),即:
p(y(i)|x(i);θ)=12π−−√σexp⎛⎝⎜⎜−(y(i)−θTx(i))22σ2⎞⎠⎟⎟
p(y(i)|x(i);θ)表示给定x(i)和θ后,y(i)的分布。
极大似然估计:
L(θ)=∏i=1mp(y(i)|x(i);θ)=∏i=1m12π−−√σexp⎛⎝⎜⎜−(y(i)−θTx(i))22σ2⎞⎠⎟⎟
maxL(θ)等价于maxlogL(θ)
l(θ)=logL(θ)=log∏i=1m12π−−√σexp(−(y(i)−θTx(i))22σ2)=∑i=1mlog12π−−√σexp(−(y(i)−θTx(i))22σ2)=mlog12π−−√σ−1σ2(12∑i=1m(y(i)−θTx(i))2)
∴maxl(θ)等价于:
min12∑i=1m(y(i)−θTx(i))2
即最小二乘损失函数。
5. 正则化
J(θ)=12m⎡⎣∑i=1m(hθ(x(i))−y(i))2+λ∑j=1nθ2j⎤⎦
注意:θ0为偏置,不加正则。
梯度下降
j=0时,即偏置:
θ0:=θ0−α1m∑i=1m(hθ(x(i))−y(i))x(i)0
j>0时,即权重:
θj:=θj(1−αλm)−α1m∑i=1m(hθ(x(i))−y(i))x(i)j
其中,
αλm略小于1,每次更新后会削减权重。
6. 扩展
- Ridge 回归=线性回归+L2正则
- LASSO 回归=线性回归+L1正则