线性回归问题就是利用一个线性的方程对已有的数据点进行拟合,目的是当拟合成功后,给你一个新的数据可以利用该线性方程得到较为准确的预测;
假设,我们现在又数据集 X = { x 1 , x 2 , . . . . . . , x m } X=\{x^{1}, x^{2},......,x^{m}\} X={x1,x2,......,xm},且其中的每一个数据 x i = ( x 1 i , x 2 i , . . . . . . x n i ) x^{i}=(x^{i}_1,x^{i}_2,......x^{i}_n) xi=(x1i,x2i,......xni)是 n n n维向量(即包含了 n n n个特征,比如身高、体重、视力等)。对应的标签 Y = { y 1 , y 2 , . . . . . . y m } Y=\{y^1,y^2,......y^m\} Y={y1,y2,......ym}。
现在,我们有一个线性方程
h θ ( x i ) = θ 0 + θ 1 x 1 i + θ 2 x 2 i + . . . . . . + θ n x n i = Θ T x i ^ (1) h_{\theta}(x^i)=\theta_0+\theta_1 x^i_1 + \theta_2 x^i_2+......+\theta_n x^i_n=\Theta^T \hat{x^i}\tag{1} hθ(xi)=θ0+θ1x1i+θ2x2i+......+θnxni=ΘTxi^(1)
其中 x i ^ : = ( 1 , x 1 i , x 2 i , . . . . . . x n i ) \hat{x^i}:=(1,x^{i}_1,x^{i}_2,......x^{i}_n) xi^:=(1,x1i,x2i,......xni),在后面我们直接用 x i x^i xi表示;
假如每次输入一个 x i x^i xi都能得到一个与 y i y^i yi非常接近的值,则此线性方程是拟合成功的。
我们假设预测值与准确值之间有误差 ε \varepsilon ε
y i = h θ ( x i ) + ε i (2) y^i=h_{\theta}(x^i)+\varepsilon^i\tag{2} yi=hθ(xi)+εi(2)
且,改误差服从高斯分布
ε ∼ N ( 0 , σ 2 ) (3) \varepsilon\sim N(0,\sigma^2)\tag{3} ε∼N(0,σ2)(3)
那么就有
p ( ε i ) = 1 2 π σ ⋅ exp ( − ( ε i ) 2 2 σ 2 ) (4) p(\varepsilon^i)=\frac{1}{\sqrt{2\pi}\sigma}\cdot\exp(-\frac{(\varepsilon^i)^2}{2\sigma^2})\tag{4} p(εi)=2πσ1⋅exp(−2σ2(εi)2)(4)
则似然函数为
L ( θ ∣ x ) = ∏ i = 1 m p ( ε i ) = ∏ i = 1 m p ( y i ∣ x i ; θ ) = ∏ i = 1 m 1 2 π σ ⋅ exp ( − ( y i − Θ T x i ) 2 2 σ 2 ) (5) L(\theta|x)=\prod_{i=1}^{m}p(\varepsilon^i)=\prod_{i=1}^{m}p(y^i|x^i;\theta)=\prod_{i=1}^{m} \frac{1}{\sqrt{2\pi}\sigma}\cdot\exp(-\frac{(y^i-\Theta^T x^i)^2}{2\sigma^2})\tag{5} L(θ∣x)=i=1∏mp(εi)=i=1∏mp(yi∣xi;θ)=i=1∏m2πσ1⋅exp(−2σ2(yi−ΘTxi)2)(5)
对数化
l ( θ ) = log L ( θ ∣ x ) = ∑ i = 1 m log p ( ε i ) = ∑ i = 1 m log ( 1 2 π σ ⋅ exp ( − ( y i − Θ T x i ) 2 2 σ 2 ) ) = m log 1 2 π σ − 1 2 σ 2 ∑ i = 1 m ( y i − Θ T x i ) 2 (6) l(\theta) = \log L(\theta|x) = \sum_{i=1}^{m}\log p(\varepsilon^i) = \sum_{i=1}^m\log(\frac{1}{\sqrt{2\pi}\sigma}\cdot\exp(-\frac{(y^i-\Theta^T x^i)^2}{2\sigma^2}))\\ =m\log\frac{1}{\sqrt{2\pi}\sigma}-\frac{1}{2\sigma^2}\sum_{i=1}^m(y^i-\Theta^T x^i)^2\tag{6} l(θ)=logL(θ∣x)=i=1∑mlogp(εi)=i=1∑mlog(2πσ1⋅exp(−2σ2(yi−ΘTxi)2))=mlog2πσ1−2σ21i=1∑m(yi−ΘTxi)2(6)
由极大似然估计可知,极大化 l ( θ ) l(\theta) l(θ)就是极小化 1 2 ∑ i = 1 m ( y i − Θ T x i ) 2 \frac{1}{2}\sum_{i=1}^m(y^i-\Theta^T x^i)^2 21∑i=1m(yi−ΘTxi)2
min θ J ( θ ) = 1 2 ∑ i = 1 m ( y i − h θ ( x i ) ) 2 \min_{\theta}J(\theta) = \frac{1}{2}\sum_{i=1}^m(y^i-h_{\theta}(x^i))^2 θminJ(θ)=21i=1∑m(yi−hθ(xi))2
对下式求导并令其为0
J ( θ ) = 1 2 ∑ i = 1 m ( y i − h θ ( x i ) ) 2 = 1 2 ( Y − X Θ ) T ( Y − X Θ ) J(\theta) = \frac{1}{2}\sum_{i=1}^m(y^i-h_{\theta}(x^i))^2 = \frac{1}{2}(Y-X\Theta)^T(Y-X\Theta) J(θ)=21i=1∑m(yi−hθ(xi))2=21(Y−XΘ)T(Y−XΘ)
▽ θ J ( θ ) = ▽ θ 1 2 ( ( Y T − Θ T X T ) ( Y − X Θ ) ) = ▽ θ 1 2 ( Y T Y − Y T X Θ − Θ T X T Y + Θ T X T X Θ ) = 1 2 ( − X T Y − X T Y + 2 X T X Θ ) = X T X Θ − X T Y \triangledown_{\theta}J(\theta) = \triangledown_{\theta}\frac{1}{2}((Y^T-\Theta^TX^T)(Y-X\Theta))\\ =\triangledown_{\theta}\frac{1}{2}(Y^TY-Y^TX\Theta-\Theta^TX^TY + \Theta^TX^TX\Theta)\\ =\frac{1}{2}(-X^TY-X^TY+2X^TX\Theta)\\ =X^TX\Theta-X^TY ▽θJ(θ)=▽θ21((YT−ΘTXT)(Y−XΘ))=▽θ21(YTY−YTXΘ−ΘTXTY+ΘTXTXΘ)=21(−XTY−XTY+2XTXΘ)=XTXΘ−XTY
最后求得
Θ = ( X T X ) − 1 X T Y \Theta = (X^TX)^{-1}X^TY Θ=(XTX)−1XTY