线性回归(理论篇)
线性模型
线性模型(Linear Model)是机器学习中应用最广泛的模型,指通过样本特征的线性组合来进行预测的模型。给定一个n维样本
x=[x1,x2,⋅⋅⋅,xn]T
,其线性组合函数为:
hθ(x)=θ1x1+θ2x2+⋅⋅⋅+θnxn+b=(θ;b)T(x;1)
线性回归
给定数据集
D=(x1,y1),(x2,y2),⋅⋅⋅,(xN,yN)
,其中
x
是一个m维向量,
yi∈R
。 线性回归(linear regression)试图用一个线性模型以尽可能准确地预测实值输出值。
极大似然估计
用
yi^
表示第i样本的预测值,则估计误差:
εi=yi^−yi
根据中心极限定理,误差
εi
是独立同分布的,且符合均值为0方差为
σ2
的高斯分布。则:
p(εi)=12π−−√σexp(−ε2i2σ2)
p(yi|xi,θ)=12π−−√σexp(−(yi−θTxi)22σ2)
采用极大似然估计时,似然函数为:
L(y1,y2,⋅⋅⋅,yN|x1,x2,⋅⋅⋅,xN,θ)=∏Np(yi|xi,θ)=∏N12π−−√σexp(−(yi−θTxi)22σ2)
对数似然函数为:
l(y1,y2,⋅⋅⋅,yN|x1,x2,⋅⋅⋅,xN,θ)=logL(y1,y2,⋅⋅⋅,yN|x1,x2,⋅⋅⋅,xN,θ)=∑Nlog(12π−−√σexp(−(yi−θTxi)22σ2))=Nlog12π−−√σ−1σ212∑N(yi−θTxi)2
令
J(θ)=12∑N(θTxi−yi)2
则求
l(y1,y2,⋅⋅⋅,yN|x1,x2,⋅⋅⋅,xN,θ)
最大即求:
J(θ)
最小。
J(θ)
称为线性回归的目标函数。
参数解析解
对
J(θ)
求导得:
∇J(θj)θj=∑N(x2ijθj−xijyi)=(x1jx2j⋮xNj)⎛⎝⎜⎜⎜⎜⎜x1jx2j⋮xNj⎞⎠⎟⎟⎟⎟⎟θj−(x1jx2j⋅⋅⋅xNj)⎛⎝⎜⎜⎜⎜y1y2⋮yN⎞⎠⎟⎟⎟⎟
其中
j∈1,2,⋅⋅⋅,M
,
xij
表示第i个样本的第j维。令倒数等于0,并写出矩阵形式得:
⎛⎝⎜⎜⎜⎜x11x12⋮x1Nx21x22⋮x2N⋅⋅⋅⋅⋅⋅⋮⋅⋅⋅xN1xN2⋮xNN⎞⎠⎟⎟⎟⎟⎛⎝⎜⎜⎜⎜x11x21⋮xN1x12x22⋮xN2⋅⋅⋅⋅⋅⋅⋮⋅⋅⋅x1Nx2N⋮xNN⎞⎠⎟⎟⎟⎟⎛⎝⎜⎜⎜⎜θ1θ2⋮θN⎞⎠⎟⎟⎟⎟−⎛⎝⎜⎜⎜⎜x11x12⋮x1Nx21x22⋮x2N⋅⋅⋅⋅⋅⋅⋮⋅⋅⋅xN1xN2⋮xNN⎞⎠⎟⎟⎟⎟⎛⎝⎜⎜⎜y1y2⋅⋅⋅yN⎞⎠⎟⎟⎟=0
即:
XTXθ−XTY=0
使用最小二乘法得到解析解:
θ=(XTX)−1XTY
为了防止过拟合或者
XTX
不可逆,增加
λ
扰动:
θ=(XTX+λI)−1XTY
线性回归的复杂度惩罚因子
- 增加L1正则的目标函数为(lasso):
J(θ)=12∑N(θTxi−yi)2+λ∑M|θj|
通常L1正则求解出的参数是稀疏的。
- 增加L2正则的目标函数为(rige):
J(θ)=12∑N(θTxi−yi)2+λ∑Mθ2j
- L1与L2正则混合的目标函数为(ElasticNet):
J(θ)=12∑N(θTxi−yi)2+ρ∑M|θj|+(1−ρ)∑Mθ2j