一、核心概念:布局约定 (Layout Convention)
矩阵求导的核心在于将导数结果的元素进行有序排列,形成一个新的向量或矩阵。排列的方式被称为布局。不同的布局会得到互为转置的求导结果。理解布局是正确进行矩阵求导的基础。
1. 分母布局 (Denominator Layout)
分母布局是指求导结果的维度与分母的维度保持一致。这是工程和机器学习领域中较为常见的约定。
- 标量对向量求导:结果是一个列向量(与分母的向量形状相同)。
- 向量对向量求导:如果分子是 向量,分母是 向量,结果是一个 的矩阵。
本笔记将主要采用分母布局进行讲解和推导。
2. 分子布局 (Numerator Layout)
分子布局是指求导结果的维度与分子的维度保持一致。
- 标量对向量求导:结果是一个行向量。
- 分子布局和分母布局得到的结果互为转置。
二、基本求导法则 (基于分母布局)
1. 标量对向量求导 (Scalar-by-Vector)
设函数 是一个标量,而 是一个 的列向量:
那么, 对 的导数定义为一个 的列向量:
2. 向量对向量求导 (Vector-by-Vector)
设 是一个 的向量函数, 是一个 的列向量:
那么, 对 的导数(也称为雅可比矩阵)定义为一个 的矩阵。其构建方式是先按分母展开为列,再按分子展开为行:
注意:该矩阵的第 行、第 列的元素是 。
三、重要求导公式及证明
1. 线性变换:
公式:
若 为 矩阵, 为 向量,则:
证明:
令 。 是一个 的向量,其第 个元素为:
根据向量对向量的求导定义,我们需要计算一个 的矩阵。该矩阵的第 行、第 列的元素是 。
因此,求导结果矩阵的 元是原矩阵 的 元。这正是矩阵转置的定义。所以:
2. 二次型:
公式:
若 为 矩阵, 为 向量,则 为标量。其导数为:
特别地,如果 是对称矩阵(),则:
证明:
二次型 是一个标量,可以写成求和形式:
根据标量对向量的求导定义,结果是一个列向量,其第 个元素为 。我们来计算这个偏导数:
利用求导的线性性质,可以将 移入求和号内:
利用乘法求导法则 :
由于 (克罗内克 δ,当 时为1,否则为0),上式变为:
这个求和可以拆成两部分:
- 第一部分: 。这正是矩阵向量乘积 的第 个元素,即 。
- 第二部分: 。这可以写成 ,这正是矩阵向量乘积 的第 个元素,即 。
将两部分合并,得到导数向量的第 个元素:
将所有 的元素组合成列向量,即得最终结果:
证明完毕。
四、矩阵导数的链式法则 (Chain Rule)
1. 基础:标量函数的链式法则
我们首先回顾标量函数的链式法则。假设有函数 ,那么标量 对标量 的导数可以表示为:
2. 一个简单的例子
为了将法则推广到向量,我们分析一个简单的例子。
问题设定:
- 定义一个标量函数 。
- 其中,向量 是一个 2x1 的向量,并且是向量 的函数:。
- 向量 是一个 3x1 的向量:。
推导过程:
我们的目标是求解 ,它是一个 3x1 的向量。我们可以通过分析它的每一个分量入手。
- 对于第一个分量 ,由于 通过 和 与 关联,我们应用标量函数的链式法则:
- 同理,对于第二个和第三个分量:
矩阵形式:
将上述三个分量的表达式组合在一起,就可以写成一个矩阵和向量的乘积形式。
3. 结论:标量对向量求导的链式法则
通用形式:
- 对于一个标量函数 。对于一个标量函数 。
- 其中 是一个 的向量, 是一个 的向量。其中 是一个 的向量, 是一个 的向量。
- 链式法则的最终形式可以表示为:链式法则的最终形式可以表示为:
核心要点:
- 和标量函数的链式法则相比,矩阵形式的法则在本质上是相同的,只是对乘法顺序有要求。和标量函数的链式法则相比,矩阵形式的法则在本质上是相同的,只是对乘法顺序有要求。
- 补充: 在运用此公式时,必须时刻注意每个矩阵(或向量)的维度,确保矩阵乘法是成立的。上式中 ,维度匹配。
五、应用:线性回归 (Linear Regression)
1. 问题背景与目标
线性回归是一种用于预测连续值变量的常用方法。以身高与体重的关系为例:
- 自变量 (Feature): 体重 (kg)
- 因变量 (Target): 身高 (cm)
我们的目标是找到一个线性的数学模型来描述这两者之间的关系。
- 线性模型:
- 其中, 是我们对身高的预测值, 和 是模型的参数(截距和斜率)。
- 成本函数 (Cost Function):
为了衡量模型预测的好坏,我们使用最小二乘法,即最小化所有样本的预测误差的平方和。这个函数也称为成本函数 。
- 核心目标: 找到最优的参数 和 ,使得成本函数 最小。
2. 求解方法
思路一:解方程组
这是一种传统的微积分方法。通过将成本函数 分别对参数 和 求偏导数,并令其等于零,来求解参数。
- 方程组:
- 解这个方程组可以得到 和 的值。
- 缺点: 当模型变量(特征)增多时,求解这个方程组会变得非常困难和复杂。
思路二:矩阵化求解 (更常用)
将问题转化为矩阵运算,可以大大简化计算过程。
- 定义矩阵和向量:
- 参数向量 (2x1):
- 设计矩阵 (Nx2),其中第一列全为1是为了匹配参数 :
- 真实值向量 (Nx1) 和 预测值向量 (Nx1)。
- 模型和成本函数的矩阵形式:
- 线性模型:
- 成本函数:
- 求解过程:
- 展开成本函数:
- 由于 是一个标量(1x1矩阵),其转置等于自身,即 。因此,成本函数可以简化为:
- 对参数向量 求导: 利用矩阵求导法则,对 求关于 的导数:
- 令导数为零:
- 最终解 (正规方程 Normal Equation):
这个公式直接给出了线性回归问题的最优参数解。