转置矩阵展开及矩阵的二项式展开

转置矩阵的展开过程是矩阵微积分和线性代数中最基础也最重要的基本功。很多教材直接给出结果,导致初学者在"为什么这两项能合并"以及"转置到底怎么操作"上卡壳。

下面我将像慢动作回放一样,把 \(J(w) = \frac{1}{2}(Xw-y)^T(Xw-y)\) 的展开拆解为 4 个步骤,每一步都注明依据。


第一步:处理转置 \((Xw - y)^T\)

根据矩阵转置的两个基本性质:

  1. 和差的转置\((A - B)^T = A^T - B^T\)
  2. 乘积的转置\((AB)^T = B^T A^T\)(注意顺序反转)

应用到 \((Xw - y)^T\)

\[(Xw - y)^T = (Xw)^T - y^T = w^T X^T - y^T \]

⚠️ 易错点\((Xw)^T\) 必须写成 \(w^T X^T\),绝不能写成 \(X^T w^T\)。因为 \(X\)\(m \times n\)\(w\)\(n \times 1\)\(Xw\)\(m \times 1\);转置后应为 \(1 \times m\),只有 \(w^T(1 \times n) \cdot X^T(n \times m)\) 维度才对得上。

此时目标函数变为:

\[J(w) = \frac{1}{2} \underbrace{(w^T X^T - y^T)}_{\text{行向量 } 1 \times m} \underbrace{(Xw - y)}_{\text{列向量 } m \times 1} \]


第二步:矩阵乘法分配律展开

这就是普通的"多项式乘法",但必须严格保持顺序(矩阵乘法不满足交换律)。

类比标量:\((a-b)(c-d) = ac - ad - bc + bd\)

对应到矩阵(注意每一项的顺序不能乱):

\[(w^T X^T - y^T)(Xw - y) = \underbrace{w^T X^T \cdot Xw}_{\text{项1}} - \underbrace{w^T X^T \cdot y}_{\text{项2}} - \underbrace{y^T \cdot Xw}_{\text{项3}} + \underbrace{y^T \cdot y}_{\text{项4}} \]

逐项检查维度,确保合法:

运算 维度链 结果维度
项1 \(w^T X^T X w\) \((1{\times}n)(n{\times}m)(m{\times}n)(n{\times}1)\) \(1 \times 1\)
项2 \(w^T X^T y\) \((1{\times}n)(n{\times}m)(m{\times}1)\) \(1 \times 1\)
项3 \(y^T X w\) \((1{\times}m)(m{\times}n)(n{\times}1)\) \(1 \times 1\)
项4 \(y^T y\) \((1{\times}m)(m{\times}1)\) \(1 \times 1\)

四项全是标量,这很重要——因为只有标量才能谈"转置等于自身"。


第三步:关键合并 —— 为什么项2和项3可以合并?

这是整个推导中最容易困惑的一步。我们有:

  • 项2:\(w^T X^T y\)
  • 项3:\(y^T X w\)

断言:这两项相等,因此 \(-\text{项2} - \text{项3} = -2w^T X^T y\)

证明:对项3取转置(标量的转置等于自身):

\[(y^T X w)^T = (y^T X w) \quad \text{(因为是标量)} \]

同时用乘积转置法则从内向外翻:

\[(y^T X w)^T = w^T X^T (y^T)^T = w^T X^T y \]

所以:

\[y^T X w = (y^T X w)^T = w^T X^T y \]

💡 直觉理解\(w^T X^T y\)\(y^T X w\) 本质上是同一个内积 \(\langle Xw, y \rangle\),只是书写方向不同。就像标量中 \(ab = ba\),但矩阵中你必须通过转置来"翻转"顺序,而标量值不变。


第四步:写出最终结果

将合并后的四项代回:

\[\begin{aligned} J(w) &= \frac{1}{2}\left( w^T X^T X w - w^T X^T y - y^T X w + y^T y \right) \\ &= \frac{1}{2}\left( w^T X^T X w - 2w^T X^T y + y^T y \right) \end{aligned} \]


📌 结构识别:二次型的标准形式

将结果与多元二次函数的标准形式对照:

\[J(w) = \underbrace{\frac{1}{2} w^T (X^T X) w}_{\text{二次项}} \;\; \underbrace{- \;(X^T y)^T w}_{\text{一次项}} \;\; + \;\; \underbrace{\frac{1}{2} y^T y}_{\text{常数项}} \]

部分 系数 类比标量 \(f(x)=\frac{1}{2}ax^2-bx+c\)
二次项 \(X^T X\)(对称半正定矩阵) \(a\)
一次项 \(-X^T y\)(向量) \(-b\)
常数项 \(\frac{1}{2}y^Ty\)(标量) \(c\)

这正是为什么后续求梯度得到 \(X^TXw - X^Ty\)、Hessian 得到 \(X^TX\) 的原因——它们分别对应二次函数的一阶导数 \(ax-b\) 和二阶导数 \(a\) 的矩阵版本。

自检清单:以后自己做这类展开时,按以下顺序验证:

  1. 转置是否正确翻转了乘积顺序?
  2. 展开后每一项维度是否都是 \(1\times1\)
  3. 需要合并的两项是否互为转置(且为标量)?
  4. 最终结果的二次项矩阵是否对称?(\(X^TX\) 天然对称)
posted @ 2026-09-17 11:14  立体风  阅读(7)  评论(0)    收藏  举报