机器学习 线性回归

更多推导参见:https://blog.csdn.net/sinat_37965706/article/details/69204397

一.线性回归
1.概念:

"线性回归"(Linear Regression)是指找到自变量与因变量之间的线性关系.相应的模型为"线性回归模型"(Linear Regression Model),
该模型假设因变量y服从正态分布

2.分类
(1)简单线性回归:

简单线性回归(Simple Linear Regression)是指找到1个自变量与1个因变量间的线性关系.简单线性回归模型(Simple Linear Regression Model)为 y = β 0 + β 1 x + ε ( 1 ) y=β_0+β_1x+ε\qquad(1) y=β0​+β1​x+ε(1)其中 x , y x,y x,y分别为自变量和因变量; β 0 , β 1 β_0,β_1 β0​,β1​为参数; ε ε ε为1个随机变量,满足下述条件: ① 为 满 足 正 态 分 布 的 独 立 随 机 变 量 ② 均 值 为 0 , 方 差 与 x 相 同 ①为满足正态分布的独立随机变量\\②均值为0,方差与x相同 ①为满足正态分布的独立随机变量②均值为0,方差与x相同而简单线性回归方程(Simple Linear Regression Equation)为 E ( y ) = β 0 + β 1 x ( 2 ) E(y)=β_0+β_1x\qquad(2) E(y)=β0​+β1​x(2)其中 β 0 β_0 β0​称为截距(Intercept)或偏置(Bias), β 1 β_1 β1​称为权重(Weight),统称回归系数(Regression Coefficient).该方程是通过对 ( 1 ) (1) (1)式两侧同时求期望得到的,对应的图像是1条直线,称为回归线
机器学习 线性回归
相应的估计简单线性回归方程(Estimated Simple Linear Regression Equation)为 y ^ = b 0 + b 1 x ( 3 ) \hat{y}=b_0+b_1x\qquad(3) y^​=b0​+b1​x(3)其中 b 0 , b 1 b_0,b_1 b0​,b1​为参数, x x x为自变量, y ^ \hat{y} y^​为因变量 y y y的估计值
机器学习 线性回归
( 3 ) (3) (3)式需要满足 min ⁡   1 2 ∑ i = 1 n ( y i − y ^ i ) 2 \min\:{\frac{1}{2}\displaystyle\sum_{i=1}^n(y_i-\hat{y}_i)^2} min21​i=1∑n​(yi​−y^​i​)2其中 ( x i , y i ) (x_i,y_i) (xi​,yi​)为所有数据点, y ^ i \hat{y}_i y^​i​为 ( 3 ) (3) (3)式在 x i x_i xi​处的值.这是1个最小二乘问题,通过正规方程可解得 b 1 = ∑ i = 1 n ( x i − x ˉ ) ( y i − y ˉ ) ∑ i = 1 n ( x i − x ˉ ) 2 b 0 = y ˉ − b 1 x ˉ b_1=\frac{\displaystyle\sum_{i=1}^n(x_i-\bar{x})(y_i-\bar{y})}{\displaystyle\sum_{i=1}^n(x_i-\bar{x})^2}\\b_0=\bar{y}-b_1\bar{x} b1​=i=1∑n​(xi​−xˉ)2i=1∑n​(xi​−xˉ)(yi​−yˉ​)​b0​=yˉ​−b1​xˉ也可使用梯度下降求解

(2)多元线性回归:

多元线性回归(Multiple Linear Regression)则是指找到多个自变量与1个因变量间的线性关系.多元线性回归模型(Multiple Linear Regression Model)为 y = β 0 + β 1 x 1 + β 2 x 2 + . . . + β p x p + ε ( 4 ) y=β_0+β_1x_1+β_2x_2+...+β_px_p+ε\qquad(4) y=β0​+β1​x1​+β2​x2​+...+βp​xp​+ε(4)其中 x , y x,y x,y分别为自变量;因变量; β 0 , β 1 β_0,β_1 β0​,β1​为参数; ε ε ε为1个随机变量,需要满足的条件与简单线性回归模型中的 ε ε ε相同.而多元线性回归方程(Multiple Linear Regression Equation)为 E ( y ) = β 0 + β 1 x 1 + β 2 x 2 + . . . + β p x p = ∑ i = 0 p β i x i      = β T x    ( 5 ) E(y)=β_0+β_1x_1+β_2x_2+...+β_px_p\\=\displaystyle\sum_{i=0}^pβ_ix_i\qquad\qquad\qquad\:\:\:\,\\=β^Tx\qquad\qquad\quad\:\:\qquad(5) E(y)=β0​+β1​x1​+β2​x2​+...+βp​xp​=i=0∑p​βi​xi​=βTx(5)其中 x 0 = 1 x_0=1 x0​=1; β 0 β_0 β0​称为截距或偏置; β 1 , β 2 . . . β p β_1,β_2...β_p β1​,β2​...βp​称为权重,统称回归系数.相应的估计多元线性回归方程(Estimated Multiple Linear Regression Equation)为 y ^ = b 0 + b 1 x 1 + b 2 x 2 + . . . + b p x p ( 6 ) \hat{y}=b_0+b_1x_1+b_2x_2+...+b_px_p\qquad(6) y^​=b0​+b1​x1​+b2​x2​+...+bp​xp​(6) ( 6 ) (6) (6)式需要满足 min ⁡   1 2 ∑ i = 1 n ( y i − y ^ i ) 2 \min\:{\frac{1}{2}\displaystyle\sum_{i=1}^n(y_i-\hat{y}_i)^2} min21​i=1∑n​(yi​−y^​i​)2其中 ( x i 1 , x i 2 . . . x i p , y i ) (x_{i1},x_{i2}...x_{ip},y_i) (xi1​,xi2​...xip​,yi​)为所有数据点, y ^ i \hat{y}_i y^​i​为 ( 6 ) (6) (6)式在 ( x i 1 , x i 2 . . . x i p ) (x_{i1},x_{i2}...x_{ip}) (xi1​,xi2​...xip​)处的值.这是1个最小二乘问题,将全部样本特征记为 X X X(每行为1个样本),全部样本目标记为 y y y,通过正规方程可解得 β = { ( X T X ) − 1 X T y    i f   ∃ ( X T X ) − 1 ( X T X + λ I ) − 1 X T y    o t h e r w i s e β=\begin{cases}(X^TX)^{-1}X^Ty\:\:if\:∃(X^TX)^{-1}\\(X^TX+λI)^{-1}X^Ty\:\:otherwise\end{cases} β={(XTX)−1XTyif∃(XTX)−1(XTX+λI)−1XTyotherwise​其中 λ λ λ需要使用验证集确定,使在验证集上的误差最小.也可使用梯度下降求解,尤其是在 X X X的阶数较高,因而难以求逆时

(3)多项式回归:

线性回归模型经过变量替换可得到多项式回归(Polynomial Regression) y = θ 0 + ∑ i = 1 p ∑ j = 1 m β i j x i j y=θ_0+\displaystyle\sum_{i=1}^p\displaystyle\sum_{j=1}^mβ_{ij}x^{j}_i y=θ0​+i=1∑p​j=1∑m​βij​xij​此时模型关于参数 θ i θ_i θi​仍是线性的.对多项式回归模型来说,特征缩放十分重要

3.局部加权线性回归:

每次使用局部加权线性回归(Local Weighted Linear Regression)预测指定点(称为测试点)处的目标值时,都需要重新计算权重,使其满足 min ⁡   1 2 ∑ i = 1 n w i ( y i − y ^ i ) 2 \min\:{\frac{1}{2}\displaystyle\sum_{i=1}^nw_i(y_i-\hat{y}_i)^2} min21​i=1∑n​wi​(yi​−y^​i​)2其中的权重(Weight)有多种确定方法,如使用高斯核函数确定 w i = e − ∣ ∣ x i − x ∣ ∣ 2 2 τ 2 w_i=e^{-\frac{||x_i-x||^2}{2τ^2}} wi​=e−2τ2∣∣xi​−x∣∣2​其中 x x x为测试点; τ τ τ称为带宽(Band Width),用于控制样本权重随(其到测试点的)距离衰减的速度.普通线性回归是全局线性回归,使用全部样本计算回归系数;而局部加权线性回归,通过引入权值(核函数),只使用测试点附近的样本计算回归系数

二.广义线性回归
1.概述
(1)概念:

"广义线性回归"(Generalized Linear Regression)是对线性回归的扩展.其通过"联系函数"(Link Function)建立数值型目标与数值型
特征的线性组合之间的关系

(2)一般形式:

广义线性回归模型(Generalized Linear Regression Model)的一般形式为 y = g − 1 ( β T x + ε ) y=g^{-1}(β^Tx+ε) y=g−1(βTx+ε)其中 g g g称为联系函数(Link Function),用于将非线性关系转换为线性关系.例如 y = ∑ i = 1 m [ ∑ j = 1 n w i j δ i ( t ) x i j + b i ] y=\displaystyle\sum_{i=1}^m[\displaystyle\sum_{j=1}^nw_{ij}δ_{i}(t)x_{ij}+b_i] y=i=1∑m​[j=1∑n​wij​δi​(t)xij​+bi​]其中 δ i = { 1   i f   t = t i 0   e l s e δ_{i}=\begin{cases}1\:if\:t=t_i\\0\:else\end{cases} δi​={1ift=ti​0else​

2.常见广义线性回归
(1)对数线性回归:

若 g ( y ) = ln ⁡ y g(y)=\ln{y} g(y)=lny,就得到了对数线性回归模型(Log-Linear Regression Model): ln ⁡ y = β T x + ε \ln{y}=β^Tx+ε lny=βTx+ε或表示为 y = e β T x + ε y=e^{β^Tx+ε} y=eβTx+ε而对数线性回归方程(Log-Linear Regression Equation)为 E ( ln ⁡ y ) = β T x E(\ln{y})=β^Tx E(lny)=βTx相应的估计的对数线性回归方程(Estimated Log-Linear Regression Equation)为 ln ⁡ y ^ = β T x \hat{\ln{y}}=β^Tx lny^​=βTx

(2)泊松回归:

参见:https://www.zhihu.com/question/53242918

泊松回归模型(Poisson Regression Model)为 y = e β T x + ε y=e^{β^Tx}+ε y=eβTx+ε而泊松回归方程(Poisson Regression Equation)为 ln ⁡ E ( y ) = β T x \ln{E(y)}=β^Tx lnE(y)=βTx或表示为 E ( y ) = e β T x E(y)=e^{β^Tx} E(y)=eβTx相应的估计的泊松回归方程(Estimated Poisson Regression Equation)为 y ^ = e β T x \hat{y}=e^{β^Tx} y^​=eβTx泊松回归模型常用于因变量是计数变量(Count Variable)的情况,如生育数据.这类变量只能取非负整数,还可能包含不能取对数的0值,难以使用对数线性模型

3.逻辑回归模型
(1)概念:

"逻辑回归"/"对数几率回归"(Logistic Regression/Logit Regression)是指找到1个Sigmoid函数来拟合自变量和因变量间的关系.这里
的因变量表示某事件发生的"可能性"(Probablity):若可能性超过阈值,分给类别1(y=1);否则,分给类别0(y=0).要注意的是,这里的可能性并
非数学上的概率.可以看出:逻辑回归实际上是1种分类模型,用于解决二分类问题;且逻辑回归是1种广义线性回归.相应的模型为"逻辑回归模型"(
Logistic Regression Model),该模型假设因变量y服从伯努利分布
  • 关于函数的选择:
实际上,使用"单位阶跃函数"(Unit-Step Function)进行分类会更理想.但这种函数不连续,不能直接作为联系函数,因此使用"对数几率函数"(
Sigmoid函数;Logistic Function)进行近似

(2)模型:

假设测试数据 x = ( x 0 , x 1 . . . x n ) T x=(x_0,x_1...x_n)^T x=(x0​,x1​...xn​)T,参数 θ = ( θ 0 , θ 1 . . . θ n ) T θ=(θ_0,θ_1...θ_n)^T θ=(θ0​,θ1​...θn​)T,并设 Z = θ T x Z=θ^Tx Z=θTx.为了处理二值数据问题,引入Sigmoid函数来获得平滑的曲线 g ( Z ) = 1 1 + e − Z g(Z)=\frac{1}{1+e^{-Z}} g(Z)=1+e−Z1​
机器学习 线性回归
从而得到预测函数 h θ ( x ) = 1 1 + e − θ T x ( 7 ) h_θ(x)=\frac{1}{1+e^{-θ^Tx}}\qquad(7) hθ​(x)=1+e−θTx1​(7)也可以将 h θ ( x ) h_θ(x) hθ​(x)表示为概率的形式 h θ ( x ) = P ( y = 1   ∣   x ; θ ) 1 − h θ ( x ) = P ( y = 0   ∣   x ; θ ) h_θ(x)=P(y=1\,|\,x;θ)\\1-h_θ(x)=P(y=0\,|\,x;θ) hθ​(x)=P(y=1∣x;θ)1−hθ​(x)=P(y=0∣x;θ)二者的比值称为几率(Odds),反映了 x x x作为正例的相对可能性.取对数后得到对数几率(Log Odds/Logit) O d d s = h θ ( x ) 1 − h θ ( x ) L o g i t = ln ⁡ h θ ( x ) 1 − h θ ( x ) Odds=\frac{h_θ(x)}{1-h_θ(x)}\\Logit=\ln{\frac{h_θ(x)}{1-h_θ(x)}} Odds=1−hθ​(x)hθ​(x)​Logit=ln1−hθ​(x)hθ​(x)​ ( 7 ) (7) (7)式应满足(修改代价函数是为了保证 J J J为凸函数) C o s t ( h θ ( x ) , y ) = { − log ⁡ h θ ( x )   , y = 1 − log ⁡ ( 1 − h θ ( x ) )   , y = 0 m i n   J ( θ ) = 1 m ∑ i = 1 m C o s t ( h θ ( x ( i ) ) , y ( i ) ) = − 1 m ∑ i = 1 m ( y ( i ) log ⁡ h θ ( x ( i ) ) + ( 1 − y ( i ) ) log ⁡ ( 1 − h θ ( x ( i ) ) ) ) Cost(h_θ(x),y)=\begin{cases}-\log{h_θ(x)}\,,y=1\\-\log{(1-h_θ(x))}\,,y=0\end{cases}\\min\:{J(θ)=\frac{1}{m}\displaystyle\sum_{i=1}^mCost(h_θ(x^{(i)}),y^{(i)})}=-\frac{1}{m}\displaystyle\sum_{i=1}^m(y^{(i)}\log{h_θ(x^{(i)})}+(1-y^{(i)})\log{(1-h_θ(x^{(i)}))}) Cost(hθ​(x),y)={−loghθ​(x),y=1−log(1−hθ​(x)),y=0​minJ(θ)=m1​i=1∑m​Cost(hθ​(x(i)),y(i))=−m1​i=1∑m​(y(i)loghθ​(x(i))+(1−y(i))log(1−hθ​(x(i))))其中 x ( i ) , y ( i ) x^{(i)},y^{(i)} x(i),y(i)分别为第 i i i个数据点的 x , y x,y x,y值   ( 2 \,(2 (2个类别的数据的 y y y值分别为 0 , 1 ) 0,1) 0,1).通过梯度下降等方法解出 θ θ θ,然后选定1个阈值 T T T.如果现在有1个未知类别的数据点 X X X,则其类别 Y Y Y为 Y = { 1 , h θ ( X ) > T 0 , e l s e Y=\begin{cases}1,h_θ(X)>T\\0,else\end{cases} Y={1,hθ​(X)>T0,else​

(3)优点:

①直接对分类可能性进行建模,无需事先假设数据分布,避免了假设分布不准确带来的问题
②可得到近似概率预测,这对许多需利用概率辅助决策的任务很有用
③Sigmoid函数是任意阶可导的凸函数,有很好的数学性质.现有的许多数值优化算法都可直接用于求取其最优解

(4))变量替换:

逻辑回归模型也可以进行各种变量替换

上一篇:nRF24L01的发送性能优化


下一篇:C++基本类的两种c++11写法