线性回归损失函数的最优解推导

前言

我的上一篇文章给大家分析了线性回归的损失函数为什么是最小二乘,那么接下来给大家一下简单的演绎一下线性回归损失函数的最优解的推导过程。

场景

假设我们有由 M M M N N N 维样本组成的矩阵 X X X ,其中X的每一行对应一个样本,共 M M M 个样本,每一列对应样本的一个维度,共 N N N 维,还有额外的一维常数项,全为 1 1 1 (这个地方是为了拟合回归方程中的偏置项,不再详细解释)。

解析式推导

上一篇文章得到的线性回归的损失函数为:
J ( θ ) = 1 2 ∑ i = 1 m ( h θ ( x ( i ) ) − y ^ ( i ) ) 2 J(θ) = \frac{1}{2}\sum_{i=1}^m (h_θ(x^{(i)}) - \hat{y}^{(i)})^2 J(θ)=21i=1m(hθ(x(i))y^(i))2
这里我们写成矩阵的形式:
J ( θ ) = 1 2 ( X θ − y ) T ( X θ − y ) J(θ) = \frac{1}{2}(Xθ - y)^T(Xθ - y) J(θ)=21(Xθy)T(Xθy)
求梯度
∇ θ J ( θ ) = ∇ θ ( 1 2 ( X θ − y ) T ( X θ − y ) ) \nabla_{θ}J(θ) = \nabla_{θ}(\frac{1}{2}(Xθ - y)^T(Xθ - y)) θJ(θ)=θ(21(Xθy)T(Xθy))
= ∇ θ ( 1 2 ( θ T X T − y T ) ( X θ − y ) ) = \nabla_{θ}(\frac{1}{2}(θ^TX^T - y^T)(Xθ - y)) =θ(21(θTXTyT)(Xθy))
= ∇ θ ( 1 2 ( θ T X T X θ − θ T X T y − y T X θ + y T y ) ) = \nabla_{θ}(\frac{1}{2}(θ^TX^TXθ - θ^TX^Ty - y^TXθ + y^Ty)) =θ(21(θTXTXθθTXTyyTXθ+yTy))
= 1 2 ( X T X θ + X T X θ − X T y − X T y ) = \frac{1}{2}(X^TXθ + X^TXθ - X^Ty - X^Ty) =21(XTXθ+XTXθXTyXTy)
= X T X θ − X T y = X^TXθ - X^Ty =XTXθXTy

找驻点,令 ∇ θ J ( θ ) = 0 \nabla_{θ}J(θ) = 0 θJ(θ)=0 可得:
X T X θ − X T y = 0 X^TXθ - X^Ty = 0 XTXθXTy=0
⇒ X T X θ = X T y \Rightarrow X^TXθ = X^Ty XTXθ=XTy
⇒ ( X T X ) − 1 X T X θ = ( X T X ) − 1 X T y \Rightarrow (X^TX)^{-1}X^TXθ = (X^TX)^{-1}X^Ty (XTX)1XTXθ=(XTX)1XTy
⇒ ( X T X ) − 1 ( X T X ) θ = ( X T X ) − 1 X T y \Rightarrow (X^TX)^{-1}(X^TX)θ = (X^TX)^{-1}X^Ty (XTX)1(XTX)θ=(XTX)1XTy
⇒ I ⋅ θ = ( X T X ) − 1 X T y \Rightarrow I \cdot θ = (X^TX)^{-1}X^Ty Iθ=(XTX)1XTy
⇒ θ = ( X T X ) − 1 X T y \Rightarrow θ = (X^TX)^{-1}X^Ty θ=(XTX)1XTy
这就是我们求得的参数 θ θ θ 最优解的解析式。

适用性

实际上上述求得的参数 θ θ θ 最优解的解析式又叫做正规方程(Normal Equation),适用场景有限,特别是以下两种情况:

① 样本的特征维度较大( 1 0 4 10^4 104 以上),此时的计算量巨大。
X T X X^TX XTX 不可逆,此时我们求得的参数 θ θ θ 最优解的解析式无意义。

第一种情况,我们从正规方程的解析式就可以看出来,特征矩阵的维度越大,对于矩阵的乘法和求逆这个运算量是十分庞大的。

第二种情况,事实上我们可以证明矩阵 X T X X^TX XTX 是一个半正定矩阵:
对于任意 n n n 维非零向量 u ⃗ \vec{u} u 来说:
u ⃗ T X T X u ⃗ ⇒ ( X u ⃗ ) T ( X u ⃗ ) \vec{u}^TX^TX\vec{u} \Rightarrow (X\vec{u})^T(X\vec{u}) u TXTXu (Xu )T(Xu )
v ⃗ = X u ⃗ \vec{v} = X\vec{u} v =Xu :
( X u ⃗ ) T ( X u ⃗ ) ⇒ v ⃗ T v ⃗ ≥ 0 (X\vec{u})^T(X\vec{u}) \Rightarrow \vec{v}^T\vec{v} ≥ 0 (Xu )T(Xu )v Tv 0
所以矩阵 X T X X^TX XTX 不可逆的情况是存在的!
那么这种情况下我们在原先的正规方程中加入了 λ \lambda λ 扰动,使得:
θ = ( X T X + λ I ) − 1 X T y θ = (X^TX + \lambda I)^{-1}X^Ty θ=(XTX+λI)1XTy
而矩阵 ( X T X + λ I ) (X^TX + \lambda I) (XTX+λI) 被证明是正定的,即它也是可逆的,这里不再赘述。
通过这个改良后的解析式,我们可以很容易就得到带有正则化项的损失函数:
L 2 − N o r m ⇒ J ( θ ) = 1 2 ∑ i = 1 m ( θ i x i − y ^ i ) 2 + λ θ i 2 L2-Norm \Rightarrow J(θ) = \frac{1}{2}\sum_{i=1}^m (θ_ix_i - \hat{y}_i)^2 + \lambda θ_i^2 L2NormJ(θ)=21i=1m(θixiy^i)2+λθi2
L 1 − N o r m ⇒ J ( θ ) = 1 2 ∑ i = 1 m ( θ i x i − y ^ i ) 2 + λ ∣ θ i ∣ L1-Norm \Rightarrow J(θ) = \frac{1}{2}\sum_{i=1}^m (θ_ix_i - \hat{y}_i)^2 + \lambda |θ_i| L1NormJ(θ)=21i=1m(θixiy^i)2+λθi
对于以上两种情况我们可以都使用梯度下降法(Gradient Descent)或者牛顿法去求解最优解。

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
线性回归损失函数通常采用最小二乘法,即将所有样本的预测值与真实值之差的平方和最小化。假设有 $m$ 个样本,每个样本有 $n$ 个特征,$x^{(i)}$ 表示第 $i$ 个样本的特征向量,$y^{(i)}$ 表示第 $i$ 个样本的真实值,$w$ 表示模型的参数向量,$b$ 表示模型的截距,则线性回归的模型可以表示为: $$ \hat{y}^{(i)} = w^Tx^{(i)} + b $$ 其中 $\hat{y}^{(i)}$ 表示第 $i$ 个样本的预测值。对于所有的样本,我们可以定义损失函数 $J(w,b)$ 为: $$ J(w,b) = \frac{1}{2m}\sum_{i=1}^{m}(\hat{y}^{(i)} - y^{(i)})^2 $$ 其中 $\frac{1}{2}$ 是为了方便后续求导,$m$ 是样本数量。我们的目标是最小化损失函数 $J(w,b)$,即: $$ \min_{w,b} J(w,b) $$ 为了求解最小化问题,我们需要对 $J(w,b)$ 分别对 $w$ 和 $b$ 求偏导数,并令其为 $0$,得到 $w$ 和 $b$ 的最优解。具体地,对 $w$ 求偏导数有: $$ \begin{aligned} \frac{\partial J(w,b)}{\partial w} &= \frac{1}{m}\sum_{i=1}^{m}(\hat{y}^{(i)} - y^{(i)})x^{(i)} \\ &= \frac{1}{m}\sum_{i=1}^{m}(w^Tx^{(i)} + b - y^{(i)})x^{(i)} \end{aligned} $$ 对 $b$ 求偏导数有: $$ \begin{aligned} \frac{\partial J(w,b)}{\partial b} &= \frac{1}{m}\sum_{i=1}^{m}(\hat{y}^{(i)} - y^{(i)}) \\ &= \frac{1}{m}\sum_{i=1}^{m}(w^Tx^{(i)} + b - y^{(i)}) \end{aligned} $$ 令上述偏导数为 $0$,解得 $w$ 和 $b$ 的最优解为: $$ \begin{aligned} w &= (X^TX)^{-1}X^Ty \\ b &= \frac{1}{m}\sum_{i=1}^{m}(y^{(i)} - w^Tx^{(i)}) \end{aligned} $$ 其中 $X$ 是 $m \times n$ 的矩阵,每行表示一个样本的特征向量,$y$ 是 $m$ 维向量,表示所有样本的真实值。上述公式可以通过矩阵运算一次性求解,这就是线性回归的闭式解。如果样本数量很大,矩阵 $X^TX$ 可能不可逆,此时可以使用梯度下降等迭代算法求解。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值