线性回归学习总结(未完待续) 您所在的位置:网站首页 stata线性回归分析心得体会 线性回归学习总结(未完待续)

线性回归学习总结(未完待续)

2024-05-26 14:20| 来源: 网络整理| 查看: 265

线性回归学习总结

邹博《机器学习》视频课程学习笔记

回归定义.目标函数. θ θ 的解析式求解过程正则项与防止过拟合 θ θ 的SVD求解法梯度下降算法评估标准局部加权线性回归

相关知识参考: 1. 最大似然估计 2. 最小二乘法 3. 中心极限定理 4. 高斯分布 5. 向量的导数 6. 标量对向量的导数 7. 正定矩阵、正交矩阵、逆矩阵、对称阵、转置矩阵 9. SVD S V D 奇异值分解

相应扩展

logistic回归softmax回归 1、定义

对于结果为连续型变量的问题建模过程称为解决回归问题。 对于结果为离散变量的问题建模过程称为解决分类问题。 最简单的线性回归模型函数: y=ax+b y = a x + b 。 如果 x x 为多维向量,则有模型函数:

hθ(x)=∑i=0nθixi=θTxhθ(x)=∑i=0nθixi=θTx 关于线性与非线性的问题,请参见https://blog.csdn.net/lipengcn/article/details/80724088 2、目标函数

观测值计算公式为:

y(i)=θTx(i)+ε(i) y ( i ) = θ T x ( i ) + ε ( i ) 其中 θ θ 和 x x 是n维向量;y(i)y(i)为第 i i 个实际观测值;θTx(i)θTx(i)是根据模型得到的第 i i 个估计值,ε(i)ε(i)是实际值与估计值的误差。 由于误差项是好多好多相互独立的因素影响的综合影响,根据中心极限定理,我们有理由假设其服从高斯分布。又由于可以自己适配 θ θ ,使的误差项的高斯分布均值为0。所以有误差 ε(i)(1≤i≤m,m是样本个数) ε ( i ) ( 1 ≤ i ≤ m , m 是 样 本 个 数 ) 是独立同分布的,服从均值为0,方差为某定值 σ2 σ 2 的高斯分布。 则根据正态分布的 最大似然估计得出似然函数为: L(θ)=∏i=1m12π−−√σexp(−(y(i)−θTx(i))22σ2) L ( θ ) = ∏ i = 1 m 1 2 π σ e x p ( − ( y ( i ) − θ T x ( i ) ) 2 2 σ 2 ) 对似然函数取对数并整理得其损失函数为: J(θ)=12∑i=1m(hθ(x(i))−y(i))2=12(Xθ−y)T(Xθ−y) J ( θ ) = 1 2 ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 = 1 2 ( X θ − y ) T ( X θ − y ) 求出 θ θ 取何值时 J(θ) J ( θ ) 取得最小值,即有 L(θ) L ( θ ) 取得最大值。 这种求系数 θ θ 的方法,称为最小二乘法。 即,最小二乘法就是当假设样本独立,且误差服从高斯分布时的最大似然估计推导而来的。

3、 θ θ 的解析式求解过程

J(θ)=12(Xθ−y)T(Xθ−y)=12(θTXT−yT)(Xθ−y)=12(θTXTXθ−θTXTy−yTXθ−yTy)(6)(7)(8) (6) J ( θ ) = 1 2 ( X θ − y ) T ( X θ − y ) (7) = 1 2 ( θ T X T − y T ) ( X θ − y ) (8) = 1 2 ( θ T X T X θ − θ T X T y − y T X θ − y T y ) 对 θ θ 求偏导得: ∂J(θ)∂θ=12(2XTXθ−2XTy)=(XTXθ−XTy)(9)(10) (9) ∂ J ( θ ) ∂ θ = 1 2 ( 2 X T X θ − 2 X T y ) (10) = ( X T X θ − X T y ) 令其等于0求驻点得: θ=(XTX)−1XTy(11) (11) θ = ( X T X ) − 1 X T y θ=(XTX)−1XTy θ = ( X T X ) − 1 X T y 时 J(θ) J ( θ ) 取得最小值, L(θ) L ( θ ) 取得最大值。 注: 如果 XTX X T X 不可逆,或为防止过拟合,可增加 λ λ 扰动因子,则有: θ=(XTX+λI)−1XTy(12) (12) θ = ( X T X + λ I ) − 1 X T y ——下一节4、正则项与防止过拟合中,对加入复杂度惩罚因子的目标函数求驻点,即可得出该 θ θ 的计算公式

XTX+λI X T X + λ I 一定是可逆矩阵: 因为 XTX>0 X T X > 0 ,为半正定矩阵,在矩阵的正对角线加上很小的值,即 XTX+λI X T X + λ I ( λI λ I 取很小的正数),则有 XTX+λI>0 X T X + λ I > 0 ,为正定阵,即为可逆矩阵。

4、正则项与防止过拟合

为防止线性回归过拟合( θ θ 取值过大),为目标函数增加复杂度惩罚因子。

L1−norm L 1 − n o r m 正则项复杂度惩罚因子回归:LASSO J(θ)=12∑i=1m(hθ(x(i))−y(i))2+λ∑j=1n|θj| J ( θ ) = 1 2 ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 + λ ∑ j = 1 n | θ j | 注: 惩罚因子 λ∑nj=1|θj| λ ∑ j = 1 n | θ j | 会导致某些 θj θ j 更偏向于取近似于0的数时才有最优解。因此,可以用 θj θ j 的值代表第j个特征的重要性,认为 θj θ j 越大,特征j越重要。以此来进行特征选择。 L2−norm L 2 − n o r m 正则项复杂度惩罚因子回归:Ridge J(θ)=12∑i=1m(hθ(x(i))−y(i))2+λ∑j=1nθ2j J ( θ ) = 1 2 ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 + λ ∑ j = 1 n θ j 2 混合复杂度惩罚因子回归:Elastic Net J(θ)=12∑i=1m(hθ(x(i))−y(i))2+λ(ρ∑j=1n|θj|+(1−ρ)∑j=1nθ2j) J ( θ ) = 1 2 ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 + λ ( ρ ∑ j = 1 n | θ j | + ( 1 − ρ ) ∑ j = 1 n θ j 2 ) 其中, λ>0 λ > 0 , ρ∈[0,1] ρ ∈ [ 0 , 1 ] 5、 θ θ 的SVD求解法

某些回归算法包实现中,求 θ θ 的同时会顺带做SVD,原因如下: (1)伪拟:若A为非奇异矩阵,则线性方程组 Ax=b A x = b 的解为 x=(ATA)−1ATb x = ( A T A ) − 1 A T b 。从方程解的直观意义上可以定义 A+=(ATA)−1AT A + = ( A T A ) − 1 A T 。 当A为矩阵(非方阵)时, A+ A + 为伪逆(广义逆);如果A为可逆方阵,则 A+=A−1 A + = A − 1 (2)在求解回归方程时, Xθ=y⇒θ=X+y X θ = y ⇒ θ = X + y 。对于当 X X 为m×nm×n 的矩阵A,若它的SVD分解为 A=UΣVT A = U Σ V T ,则有 A+=VΣ−1UT A + = V Σ − 1 U T ,则有

θ=VΣ−1UTy θ = V Σ − 1 U T y 也就是说,参数 θ θ 可以通过SVD分解结果转化得到。

6、梯度下降算法

参数的维度不大时,可以使用第3小节的解析法或者第5小节的SVD分解法求取。但当维度很大的时候,使用解析解就不适用了。需要使用梯度下降算法进行求解。 对于目标函数

J(θ)=12∑i=1m(hθ(x(i))−y(i))2 J ( θ ) = 1 2 ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 随机初始化 θ θ 沿着负梯度方向迭代,更新后的 θ θ 使 J(θ) J ( θ ) 更小 θ=θ−α∂J(θ)∂θ θ = θ − α ∂ J ( θ ) ∂ θ 其中, α α 为学习率/步长 一个参数的偏导: ∂J(θ)∂θj=∂∂θj12(hθ(x)−y)2 ∂ J ( θ ) ∂ θ j = ∂ ∂ θ j 1 2 ( h θ ( x ) − y ) 2 =2∗12(hθ(x)−y)∂∂θj(hθ(x)−y) = 2 ∗ 1 2 ( h θ ( x ) − y ) ∂ ∂ θ j ( h θ ( x ) − y ) =(hθ(x)−y)∂∂θj(∑i=1nθixi−y) = ( h θ ( x ) − y ) ∂ ∂ θ j ( ∑ i = 1 n θ i x i − y ) =(hθ(x)−y)xj = ( h θ ( x ) − y ) x j

批量梯度下降 batch-GD 用所有m个样本批量进行梯度下降: θj:=θj+α∑i=1m(y(i)−hθ(x(i)))x(i)j θ j := θ j + α ∑ i = 1 m ( y ( i ) − h θ ( x ( i ) ) ) x j ( i ) 随机梯度下降 SGD 速度最快 Loop{fori=1tom,{ L o o p { f o r i = 1 t o m , { θj:=θj+α(y(i)−hθ(x(i)))x(i)j θ j := θ j + α ( y ( i ) − h θ ( x ( i ) ) ) x j ( i ) } } } } mini-batch梯度下降 实践中通常将此方法简称为SGD,是上两种方法的组合折衷。 原理就是,拿到部分样本,就(再)用来计算调整 θj θ j ,不是每拿到一个样本就进行调整,也不是拿到所有样本才调整。

鉴于其可以拿到一个样本就进行迭代学习,所以随机梯度下降可以用于在线学习。 又,使用最小二乘法作为目标函数进行线性回归时,目标函数为凸函数,梯度下降可以找到全局最优解。

7、评估标准

回归的评估使用Coefficient of Determination(判定系数) 对于m个样本 (x1,y1),(x2,y2),......,(xm,ym) ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . . . . , ( x m , y m ) ,其中, xi(1≤i≤m) x i ( 1 ≤ i ≤ m ) 是n维向量 某个模型的估计值为 (x1,y1^),(x2,y2^),......,(xm,ym^) ( x 1 , y 1 ^ ) , ( x 2 , y 2 ^ ) , . . . . . . , ( x m , y m ^ ) 则有: (1)样本总平方和TSS(Total Sum of Squares)

TSS=∑i=1m(yi−y¯)2 T S S = ∑ i = 1 m ( y i − y ¯ ) 2 其中, y¯ y ¯ 是 y y 的平均值 (2)残差平方和RSS(Residual Sum of Squares): RSS=∑i=1m(yi^−yi)2RSS=∑i=1m(yi^−yi)2 即误差平方和SSE(Sum of Squares for Error) (3)定义 R2=1−RSS/TSS R 2 = 1 − R S S / T S S ,则有 R2 R 2 越大,拟合效果越好。若预测值恒为样本期望,则 R2 R 2 为0。 注: R2 R 2 的最优值为1;若模型预测伪随机值, R2 R 2 可能为负。 (4)ESS/回归平方和SSR ESS=∑i=1m(yi^−yi)2 E S S = ∑ i = 1 m ( y i ^ − y i ) 2 有: TSS≥ESS+RSS T S S ≥ E S S + R S S ,当估计为无偏估计时,等号成立

8、局部加权线性回归

将求最小化

∑i=1m(y(i)−θTx(i))2 ∑ i = 1 m ( y ( i ) − θ T x ( i ) ) 2 改为求最小化 ∑i=1mw(i)(y(i)−θTx(i))2 ∑ i = 1 m w ( i ) ( y ( i ) − θ T x ( i ) ) 2 的 θ θ w w w可以选择高斯核函数或多项式核函数等,将在SVM算法时详细介绍。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有