多元线性回归推导 — Multi-Variable Linear Regression Derivation
2017-11-30 11:21
465 查看
多元线性回归通式定义如下:
⎧⎩⎨⎪⎪ŷ i=f(x)=θ0+∑j=1nθjxjiyi=ŷ i+ϵi
其中θ0为偏置项,xji为第i条数据的第j项特征值,θj为第j项特征的权重,ŷ i为第i条数据xi的预测值,yi为第i条数据xi对应的实际值,ϵi为预测值ŷ i与实际值yi之间的残差。
令 x0i=1,ŷ i=θ0+∑j=1nθjxji可被改写成ŷ i=θTxi。
假设每条数据xi相互独立且同分布,残差项ϵi符合标准正态分布。残差项的概率密度函数如下:
p(ϵi)=12π‾‾‾√σexp(−ϵ2i2σ2)=12π‾‾‾√σexp(−(yi−θTxi)22σ2)
我们的目的是最小化|ϵi|,而p(ϵi)在ϵi值趋近μ=0时取得最大值,如上图。因此,已知xi和yi,我们可以使用最大似然估计来得到θ:
L(θ)=∏i=1mp(yi|xi;θ)=∏i=1m12π‾‾‾√σexp(−(yi−θTxi)22σ2)
将L(θ)取对数,得到logL(θ),连乘变成了累加,消掉了指数幂,减少了函数的复杂度。并且,L(θ)与logL(θ)具有相同的变化趋势。因此,求L(θ)取得最大值时θ的取值等同于求logL(θ)取得最大值时θ的取值。
logL(θ)=∑i=1mlog(12π‾‾‾√σexp(−(yi−θTxi)22σ2))=∑i=1m(log12π‾‾‾√σ−(yi−θTxi)22σ2)=∑i=1mlog12π‾‾‾√σ−∑i=1m(yi−θTxi)22σ2
由于∑i=1mlog12π√σ和2σ2是常量, ∑i=1m(yi−θTxi)2取得最小值时,logL(θ)取得最大值。
于是,我们得到了最小二乘法函数:
J(θ)=∑i=1m(yi−θTxi)2
J(θ)在其偏微分取值为零时取得最小值。因此,我们对J(θ)偏微分,求其取值为零时θ的值。
Jθ=∂J∂θ=[∂J∂θ0∂J∂θ1…∂J∂θn]T=0
我们以∂J∂θ0为例:
∂J∂θ0=∂∂θ0∑i=1m(yi−θTxi)2=∂∂θ0[(y1−θTx1)2+(y2−θTx2)2+⋯+(ym−θTxm)2]=∂∂θ0[(y1−∑j=1nθjxj1)2+(y2−∑j=1nθjxj2)2+⋯+(ym−∑j=1nθjxjm)2]=2(y1−∑j=1nθjxj1)(−x01)+2(y2−∑j=1nθjxj2)(−x02)+⋯+2(ym−∑j=1nθjxjm)(−x0m)=−2[y1−∑j=1nθjxj1y2−∑j=1nθjxj2…ym−∑j=1nθjxjm][x01x02…x0m]T=−2[y1−θTx1y2−θTx2…ym−θTxm][x01x02…x0m]T
同理,我们可以求得∂J∂θ1至∂J∂θn的偏微分:
∂J∂θ0=−2[y1−θTx1y2−θTx2…ym−θTxm][x01x02…x0m]T∂J∂θ1=−2[y1−θTx1y2−θTx2…ym−θTxm][x11x12…x1m]T⋮∂J∂θn=−2[y1−θTx1y2−θTx2…ym−θTxm][xn1xn2…xnm]T
将其改写成矩阵的形式:
Jθ=∂J∂θ=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢∂J∂θ0∂J∂θ1⋮∂J∂θn⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥=−2[yi−θTx1y2−θTx2…ym−θTxm]⎡⎣⎢⎢⎢⎢⎢x01x02⋮x0mx11x12x1m………xn1xn2xnm⎤⎦⎥⎥⎥⎥⎥=−2([y1y2…ym]−[θTx1θTx2…θTxm])X=−2(YT−θT[x1x2…xm])X=−2(YT−θTXT)X
令Jθ=−2(YT−θTXT)X=0,得到:
YTX=θTXTXθT=YTX(XTX)−1=YTXX−1(XT)−1=YT(XT)−1=YT(X−1)Tθ=(θT)T=X−1Y
因此,当θ=X−1Y时,ŷ i=θTxi能最好地描述X与Y之间的线形相关性。
然而,现实中的数据并非都能通过求偏导来求极值。例如:z=y2−x2。如下图,当∂z∂y=0;∂z∂x=0时,y=0;x=0(鞍点)却非极值点。因此,实际中多采用梯度下降法或牛顿法来求得目标函数极值的近似解。通过线性回归得到回归参数后,可以通过计算判定系数R2来评估回归函数的拟合优度。
⎧⎩⎨⎪⎪ŷ i=f(x)=θ0+∑j=1nθjxjiyi=ŷ i+ϵi
其中θ0为偏置项,xji为第i条数据的第j项特征值,θj为第j项特征的权重,ŷ i为第i条数据xi的预测值,yi为第i条数据xi对应的实际值,ϵi为预测值ŷ i与实际值yi之间的残差。
令 x0i=1,ŷ i=θ0+∑j=1nθjxji可被改写成ŷ i=θTxi。
假设每条数据xi相互独立且同分布,残差项ϵi符合标准正态分布。残差项的概率密度函数如下:
p(ϵi)=12π‾‾‾√σexp(−ϵ2i2σ2)=12π‾‾‾√σexp(−(yi−θTxi)22σ2)
我们的目的是最小化|ϵi|,而p(ϵi)在ϵi值趋近μ=0时取得最大值,如上图。因此,已知xi和yi,我们可以使用最大似然估计来得到θ:
L(θ)=∏i=1mp(yi|xi;θ)=∏i=1m12π‾‾‾√σexp(−(yi−θTxi)22σ2)
将L(θ)取对数,得到logL(θ),连乘变成了累加,消掉了指数幂,减少了函数的复杂度。并且,L(θ)与logL(θ)具有相同的变化趋势。因此,求L(θ)取得最大值时θ的取值等同于求logL(θ)取得最大值时θ的取值。
logL(θ)=∑i=1mlog(12π‾‾‾√σexp(−(yi−θTxi)22σ2))=∑i=1m(log12π‾‾‾√σ−(yi−θTxi)22σ2)=∑i=1mlog12π‾‾‾√σ−∑i=1m(yi−θTxi)22σ2
由于∑i=1mlog12π√σ和2σ2是常量, ∑i=1m(yi−θTxi)2取得最小值时,logL(θ)取得最大值。
于是,我们得到了最小二乘法函数:
J(θ)=∑i=1m(yi−θTxi)2
J(θ)在其偏微分取值为零时取得最小值。因此,我们对J(θ)偏微分,求其取值为零时θ的值。
Jθ=∂J∂θ=[∂J∂θ0∂J∂θ1…∂J∂θn]T=0
我们以∂J∂θ0为例:
∂J∂θ0=∂∂θ0∑i=1m(yi−θTxi)2=∂∂θ0[(y1−θTx1)2+(y2−θTx2)2+⋯+(ym−θTxm)2]=∂∂θ0[(y1−∑j=1nθjxj1)2+(y2−∑j=1nθjxj2)2+⋯+(ym−∑j=1nθjxjm)2]=2(y1−∑j=1nθjxj1)(−x01)+2(y2−∑j=1nθjxj2)(−x02)+⋯+2(ym−∑j=1nθjxjm)(−x0m)=−2[y1−∑j=1nθjxj1y2−∑j=1nθjxj2…ym−∑j=1nθjxjm][x01x02…x0m]T=−2[y1−θTx1y2−θTx2…ym−θTxm][x01x02…x0m]T
同理,我们可以求得∂J∂θ1至∂J∂θn的偏微分:
∂J∂θ0=−2[y1−θTx1y2−θTx2…ym−θTxm][x01x02…x0m]T∂J∂θ1=−2[y1−θTx1y2−θTx2…ym−θTxm][x11x12…x1m]T⋮∂J∂θn=−2[y1−θTx1y2−θTx2…ym−θTxm][xn1xn2…xnm]T
将其改写成矩阵的形式:
Jθ=∂J∂θ=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢∂J∂θ0∂J∂θ1⋮∂J∂θn⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥=−2[yi−θTx1y2−θTx2…ym−θTxm]⎡⎣⎢⎢⎢⎢⎢x01x02⋮x0mx11x12x1m………xn1xn2xnm⎤⎦⎥⎥⎥⎥⎥=−2([y1y2…ym]−[θTx1θTx2…θTxm])X=−2(YT−θT[x1x2…xm])X=−2(YT−θTXT)X
令Jθ=−2(YT−θTXT)X=0,得到:
YTX=θTXTXθT=YTX(XTX)−1=YTXX−1(XT)−1=YT(XT)−1=YT(X−1)Tθ=(θT)T=X−1Y
因此,当θ=X−1Y时,ŷ i=θTxi能最好地描述X与Y之间的线形相关性。
然而,现实中的数据并非都能通过求偏导来求极值。例如:z=y2−x2。如下图,当∂z∂y=0;∂z∂x=0时,y=0;x=0(鞍点)却非极值点。因此,实际中多采用梯度下降法或牛顿法来求得目标函数极值的近似解。通过线性回归得到回归参数后,可以通过计算判定系数R2来评估回归函数的拟合优度。
相关文章推荐
- 多元线性回归multivariable linear regression
- 线性回归与梯度下降(linear regression and gradient descent)
- Locally Weighted Linear Regression 局部加权线性回归-R实现
- Stanford机器学习---第二讲. 多变量线性回归Linear Regression with multiple variables
- Gradient Descent for Linear Regression,线性回归的梯度下降算法
- 算法导论 Algorithms 01 - 线性回归 Simple linear regression
- 机器学习(3)线性回归sklearn.linear_model.LinearRegression
- R语言--线性回归分析(1)--simple linear regression
- 线性回归正则化 regularized linear regression
- Locally weighted linear regression局部加权线性回归
- Machine Learing by Andrew Ng笔记 (二):Linear Regression with One Variable部分二+部分线性代数
- 多元线性回归----Java简单实现
- 机器学习 —— 基础整理(五)线性回归;二项Logistic回归;Softmax回归及其梯度推导;广义线性模型
- scikit-learn linearRegression 1.1.9 贝叶斯回归
- Coursera Machine Learning 第一周 quiz Linear Regression with One Variable 习题答案
- Matlab实现线性回归和逻辑回归: Linear Regression & Logistic Regression
- 斯坦福大学ML(2)单变量线性回归(Linear Regression with One Variable)
- 线性回归推导和总结
- 多元线性回归方程的建立
- 机器学习推导笔记1--机器学习的任务、步骤、线性回归、误差、梯度下降