飞道的博客

线性回归模型求解

381人阅读  评论(0)

1.线性回归误差

1.1线性回归误差迭代

  • 在多数的预测中都会和真实值存在一定的误差
  • 在房价预测案例中,特征与目标之间的分布规律不是线性的,也可以用一条直线表示特征与目标之间的趋势
    • 保证直线距离所有的散点距离最近,则该直线可以在一定程度上表示非线性分布散点之间的分布规律,但是会存在误差
  • 回归算法的特性:
    • 回归算法是一个迭代算法,所谓的迭代就好比系统版本的迭代,迭代后的系统要比迭代前的版本更好
    • 当开始训练线性回归模型的时候,是逐步的将样本数据代入模型对去进行训练的
    • 训练开始先用部分的样本数据训练模型生成一组w和b,对应的直线和数据对应的误差比较大,通过不断的代入样本数据训练模型会逐步的迭代不好(误差较大的)的w和b,从而使的w和b值更加精准
  • 官方解释:迭代是重复反馈过程的活动,其目的通常是为了逼近所需目标或结果。每一次对过程的重复称为一次"迭代",而每次迭代得到的结果会作为下一次迭代的初始值
  • 误差处理方法
    • 使用回归算法,就是在不断的自身迭代减少误差来使得回归算法的预测结果可以越发的逼近真实结果

1.2 线性回归误差求 θ \theta θ

  • L2范式

    • 这个损失函数代表了向量yi-y^i的L2范式的平方的结果,L2范式的本质就是欧氏距离,即是两个向量上的每个点对应相减后的平方在开方,我们现在只实现了向量上每个点对应相减后的平方和,并没有开方,所以我们的损失函数是L2范式,即欧式距离的平方结果。
      d i s t ( X , Y ) = ∑ i = 1 m ( x i − y i ) 2 ( 欧 氏 距 离 ) = min ⁡ w ∣ ∣ y − X w ∣ ∣ 2 (L2范式)
      \begin{aligned} dist(X,Y) &=\sqrt{\sum_{i=1}^{m}(x^i-y^i)^2 } \qquad\qquad(欧氏距离) \\&=\min_w||y-Xw||_2 \tag{L2范式} \end{aligned}
      dist(X,Y)=i=1m(xiyi)2 ()=wminyXw2(L2)
    • 在这个平方结果下,我们的y和y^分别是我们的真实标签和预测值,这个损失函数实在计算我们的真实标 签和预测值之间的距离。这个损失函数衡量了我们构造的模型的预测结果和真实标签的差异,即差异越小越好。所以我们的求解目标就可以转化为
      min ⁡ w ∣ ∣ y − X w ∣ ∣ 2
      min w | | y X w | | 2
      wminyXw2
  • SSE&RSS

    • 其中右下角的2表示向量y-Xw的L2范式,即损失函数含义。在L2范式上开平方,就是我们的损失函数。这个式子称为SSE(Sum of Sqaured Error,误差平方和)或者RSS(Residual Sum of Squares 残差平方和)。

2.线性回归损失函数推导

2.1 相关函数

  • 线性回归函数
    y ( i ) = θ T X (1)
    \begin{aligned} y_{(i)} &= \theta^TX\tag{1} \end{aligned}
    y(i)=θTX(1)
  • 高斯分布
    f ( x ) = 1 2 π σ e − ( x − u ) 2 2 σ 2 (2)
    \begin{aligned} f{(x)} &= \frac{1}{\sqrt{2 \pi}\sigma}e^{-\frac{(x- u )^2}{2\sigma^2}}\tag{2} \end{aligned}
    f(x)=2π σ1e2σ2(xu)2(2)
  • 误差
    ϵ = ∣ y i − y ‾ i ∣ = ∣ y i − θ T X i ∣ (3)
    \begin{aligned} \epsilon &=|y^i - \overline{y}^i| \\&=|y^i - \theta^TX^i| \tag{3} \end{aligned}
    ϵ=yiyi=yiθTXi(3)
  • 联合概率密度
    • 如果两随机变量互相独立,则联合密度函数等于边缘分布函数的乘积
      P ( A B ) = P ( A ) ∗ P ( B ) (4)
      \begin{aligned} P{(AB)} &= P{(A)}*P{(B)}\tag{4} \end{aligned}
      P(AB)=P(A)P(B)(4)

2.2 推导线性回归损失函数MSE

  • 假设:线性回归误差 ϵ \epsilon ϵ服从均值为0,方差为 σ 2 \sigma^2 σ2的高斯分布
  • 最大似然估计,也称最大概率估计,是用来估计一个概率模型的参数的一种方法
    • 找出均值为0,方差为 σ 2 \sigma^2 σ2的高斯分布是哪一个高斯分布的最大可能性,即获取误差分布最大可能性分布的高斯分布
    • 高斯分布概率密度函数如下
      L θ { ϵ 1 , ϵ 2 , ϵ 3 . . . ϵ M } = f ( ϵ 1 , ϵ 2 , ϵ 3 . . . ϵ m ∣ u , σ 2 ) = f ( ϵ 1 ∣ u , σ 2 ) ∗ f ( ϵ 2 ∣ u , σ 2 ) … f ( ϵ m ∣ u , σ 2 ) = ∏ i = 1 m f ( ϵ i ∣ u , σ 2 ) = ∏ i = 1 m 1 2 π σ ∗ e − ( ϵ − 0 ) 2 2 σ 2 = ∏ i = 1 m 1 2 π σ ∗ e − ( y i − θ T X i ) 2 2 σ 2 ( 公 式 3 ) (公式2)
      \begin{aligned} L_\theta{ \{ \epsilon_1,\epsilon_2,\epsilon_3...\epsilon_M \}}&=f{(\epsilon_1,\epsilon_2,\epsilon_3...\epsilon_m|u,\sigma^2)} \\&=f{(\epsilon_1|u,\sigma^2)}*f{(\epsilon_2|u,\sigma^2)} \dots f{(\epsilon_m|u,\sigma^2)} \\&=\prod_{i=1}^{m}f{(\epsilon_i|u,\sigma^2)} \\&=\prod_{i=1}^{m} \frac{1}{\sqrt{2 \pi}\sigma}*e^{-\frac{(\epsilon-0)^2}{2\sigma^2}} \tag{公式2} \\&=\prod_{i=1}^{m} \frac{1}{\sqrt{2 \pi}\sigma}*e^{-\frac{(y^i-\theta^TX^i)^2}{2\sigma^2}}\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\quad(公式3) \end{aligned}
      Lθ{ ϵ1,ϵ2,ϵ3...ϵM}=f(ϵ1,ϵ2,ϵ3...ϵmu,σ2)=f(ϵ1u,σ2)f(ϵ2u,σ2)f(ϵmu,σ2)=i=1mf(ϵiu,σ2)=i=1m2π σ1e2σ2(ϵ0)2=i=1m2π σ1e2σ2(yiθTXi)2(3)(2)
  • 对公式取对数
      l o g e L θ { ϵ 1 , ϵ 2 , ϵ 3 . . . ϵ M } = log ⁡ e ∏ i = 1 m 1 2 π σ ∗ e − ( y i − θ T X i ) 2 2 σ 2 = ∑ i = 1 m log ⁡ e 1 2 π σ e − ( y i − θ T X i ) 2 2 σ 2 = ∑ i = 1 m log ⁡ e 1 2 π σ + ∑ i = 1 m log ⁡ e e − ( y i − θ T X i ) 2 2 σ 2 = m log ⁡ e 1 2 π σ − ∑ i = 1 m ( y i − θ T X i ) 2 2 σ 2
      l o g e L θ { ϵ 1 , ϵ 2 , ϵ 3 . . . ϵ M } = log e i = 1 m 1 2 π σ e ( y i θ T X i ) 2 2 σ 2 = i = 1 m log e 1 2 π σ e ( y i θ T X i ) 2 2 σ 2 = i = 1 m log e 1 2 π σ + i = 1 m log e e ( y i θ T X i ) 2 2 σ 2 = m log e 1 2 π σ i = 1 m ( y i θ T X i ) 2 2 σ 2
     logeLθ{ ϵ1,ϵ2,ϵ3...ϵM}=logei=1m2π σ1e2σ2(yiθTXi)2=i=1mloge2π σ1e2σ2(yiθTXi)2=i=1mloge2π σ1+i=1mlogee2σ2(yiθTXi)2=mloge2π σ1i=1m2σ2(yiθTXi)2
  • 即求总似然 L θ { ϵ 1 , ϵ 2 , ϵ 3 . . . ϵ M } L_\theta{ \{ \epsilon_1,\epsilon_2,\epsilon_3...\epsilon_M \}} Lθ{ ϵ1,ϵ2,ϵ3...ϵM}最大值,就是求 ( y i − θ T X i ) 2 2 σ 2 \frac{(y^i-\theta^T X^i)^2}{2\sigma^2} 2σ2(yiθTXi)2的最小值,就是求 ( y i − θ T X i ) 2 (y^i-\theta^TX^i)^2 (yiθTXi)2的最小值
    m log ⁡ e 1 2 π σ , − 1 2 σ 2 值 是 定 值 a r g m a x   l o g e L θ { ϵ 1 , ϵ 2 , ϵ 3 . . . ϵ M } = a r g m i n ∑ i = 1 m ( y i − θ T X i ) 2
    m log e 1 2 π σ , 1 2 σ 2 a r g m a x   l o g e L θ { ϵ 1 , ϵ 2 , ϵ 3 . . . ϵ M } = a r g m i n i = 1 m ( y i θ T X i ) 2
    mloge2π σ1,2σ21argmax logeLθ{ ϵ1,ϵ2,ϵ3...ϵM}=argmini=1m(yiθTXi)2

2.3 总结

  • 线性回归损失函数为【基于均方误差MSE】
    L o s s θ = 1 2 m ∑ i = 1 m ( θ T X i − y i ) 2 = 1 2 m ∑ i = 1 m ( θ T X i − y i ) ( θ T X i − y i ) = 1 2 ( θ T X − y ) T ( θ T X − y ) = 1 2 ( X θ − y ) T ( X θ − y ) = 1 2 ( θ T X T − y T ) ( X θ − y ) = 1 2 ( θ T X T X θ − θ T X T y − y T X θ + y T y )
    L o s s θ = 1 2 m i = 1 m ( θ T X i y i ) 2 = 1 2 m i = 1 m ( θ T X i y i ) ( θ T X i y i ) = 1 2 ( θ T X y ) T ( θ T X y ) = 1 2 ( X θ y ) T ( X θ y ) = 1 2 ( θ T X T y T ) ( X θ y ) = 1 2 ( θ T X T X θ θ T X T y y T X θ + y T y )
    Lossθ=2m1i=1m(θTXiyi)2=2m1i=1m(θTXiyi)(θTXiyi)=21(θTXy)T(θTXy)=21(Xθy)T(Xθy)=21(θTXTyT)(Xθy)=21(θTXTXθθTXTyyTXθ+yTy)

3.损失函数求解推导

3.1 矩阵运算法则

( K A ) T = K A T ( A + B ) T = A T + B T ( A B ) T = B T A T ( A T ) T = A ∂ θ T A θ ∂ θ = 2 A θ ∂ θ T A ∂ θ = A ∂ A θ ∂ θ = A T (KA)^T = KA^T \\ (A+B)^T = A^T+B^T \\(AB)^T = B^TA^T \\(A^T)^T = A \\ \frac{\partial \theta^TA\theta}{\partial \theta} =2 A\theta \\ \frac{\partial \theta^TA}{\partial \theta} =A \\ \frac{\partial A\theta}{\partial \theta} =A^T (KA)T=KAT(A+B)T=AT+BT(AB)T=BTAT(AT)T=AθθTAθ=2AθθθTA=AθAθ=AT

3.2 损失函数求解【求导】

  • 通过最小化真实值和预测值之间的RSS来求解参数的方法叫最小二乘法
  • 求解极值(最小值)的第一步往往是求解一阶导数让一阶导数为0,最小二乘法也是,即在残差平方和和RSS上对参数向量 θ \theta θ求导
    L o s s θ ∂ θ = 1 2 ( θ T X T X θ − θ T X T y − y T X θ + y T y ) ∂ θ = 1 2 ( 2 X T X θ − X T y − ( y T X ) T ) = 1 2 ( 2 X T X θ − X T y − X T y ) = X T X θ − X T y
    L o s s θ θ = 1 2 ( θ T X T X θ θ T X T y y T X θ + y T y ) θ = 1 2 ( 2 X T X θ X T y ( y T X ) T ) = 1 2 ( 2 X T X θ X T y X T y ) = X T X θ X T y
    θLossθ=θ21(θTXTXθθTXTyyTXθ+yTy)=21(2XTXθXTy(yTX)T)=21(2XTXθXTyXTy)=XTXθXTy
  • 令导数为0
    X T X θ − X T y = 0 θ = ( X T X ) − 1 X T y
    X T X θ X T y = 0 θ = ( X T X ) 1 X T y
    XTXθXTyθ=0=(XTX)1XTy
  • 根据参数 θ \theta θ调整损失函数,求最优解

转载:https://blog.csdn.net/m0_46926492/article/details/128099671
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场