写过一篇 发表于 2025-4-8 01:27:23

深入明白矩阵乘积的导数:以线性回归丧失函数为例

深入明白矩阵乘积的导数:以线性回归丧失函数为例

在机器学习和数据分析领域,矩阵微积分扮演着至关紧张的角色。特别是当我们涉及到优化标题,如最小化丧失函数时,对矩阵表达式求导变得必不可少。本文将通过一个详细的例子——线性回归中的均方偏差丧失函数,来详细解释怎样使用分配律(FOIL,First, Outer, Inner, Last)来展开矩阵乘积,并盘算其导数。
线性回归与均方偏差

线性回归是预测连续数值型响应变量的一种统计方法。在简单线性回归中,我们实验找到一条直线,最好地拟合输入变量 (X) 和输出变量 (y) 之间的关系。模型可以表示为:
                                       y                            =                            X                            w                            +                            b                                  y = Xw + b                     y=Xw+b
其中,(X) 是设计矩阵,(w) 是权重向量,(b) 是偏置项。在多元线性回归中,模型扩展为:
                                       y                            =                            X                            w                            +                            ϵ                                  y = Xw + \epsilon                     y=Xw+ϵ
这里,(\epsilon) 表示偏差项。
均方偏差丧失函数

为了训练模型,我们需要定义一个丧失函数来衡量模型预测值与实际值之间的差异。均方偏差(MSE)是常用的丧失函数之一,定义为:
                                       L                            (                            w                            )                            =                            (                            y                            −                            X                            w                                       )                               T                                    (                            y                            −                            X                            w                            )                                  L(w) = (y - Xw)^T(y - Xw)                     L(w)=(y−Xw)T(y−Xw)
这个函数衡量了预测值 (Xw) 与真实值 (y) 之间的平方差。
展开丧失函数

为了找到最小化丧失函数的 (w) 值,我们需要对 (L(w)) 求导。起首,我们展开 (L(w)):
                                       L                            (                            w                            )                            =                            (                                       y                               T                                    −                                       w                               T                                                 X                               T                                    )                            (                            y                            −                            X                            w                            )                                  L(w) = (y^T - w^T X^T)(y - Xw)                     L(w)=(yT−wTXT)(y−Xw)
应用分配律(FOIL)展开这个乘积:

[*]First: (y^T y)
[*]Outer: (-y^T Xw)
[*]Inner: (-w^T X^T y)
[*]Last: (w^T X^T Xw)
将这些项组合起来,我们得到:
                                       L                            (                            w                            )                            =                                       y                               T                                    y                            −                                       y                               T                                    X                            w                            −                                       w                               T                                                 X                               T                                    y                            +                                       w                               T                                                 X                               T                                    X                            w                                  L(w) = y^T y - y^T Xw - w^T X^T y + w^T X^T Xw                     L(w)=yTy−yTXw−wTXTy+wTXTXw
求导数

接下来,我们对 (L(w)) 关于 (w) 求导。留意到 (y^T y) 是常数项,其导数为0。对于其他项,我们有:


[*](-y^T Xw) 的导数是 (-X^T y)。
[*](-w^T X^T y) 的导数是 (-X y)。
[*](w^T X^T Xw) 的导数需要使用矩阵微积分的链式法则,结果为 (2X^T Xw)。
因此,(L(w)) 的导数为:
                                                                ∂                                  L                                                      ∂                                  w                                                 =                            −                                       X                               T                                    y                            −                            X                            y                            +                            2                                       X                               T                                    X                            w                                  \frac{\partial L}{\partial w} = -X^T y - X y + 2X^T Xw                     ∂w∂L​=−XTy−Xy+2XTXw
简化后得到:
                                                                ∂                                  L                                                      ∂                                  w                                                 =                            2                                       X                               T                                    X                            w                            −                                       X                               T                                    y                            −                            X                            y                                  \frac{\partial L}{\partial w} = 2X^T Xw - X^T y - X y                     ∂w∂L​=2XTXw−XTy−Xy
结论

通过展开丧失函数并盘算其导数,我们得到了一个关键的梯度表达式,它将用于梯度下降算法中更新权重 (w)。这个过程展示了矩阵微积分在机器学习中的紧张性,特别是在处理线性模型和优化标题时。明白怎样正确地展开和求导矩阵表达式是进行有用模型训练的根本。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 深入明白矩阵乘积的导数:以线性回归丧失函数为例