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