矩阵微分布局

【注】参考邱锡鹏《神经网络与深度学习》。

1. 简介

在数学中, 矩阵微积分是多元微积分的一种特殊表达,尤其是在矩阵空间上进行讨论的时候。它把单个函数对多个变量或者多元函数对单个变量的偏导数写成向量和矩阵的形式,使其可以被当成一个整体被处理。

2. 偏导数

矩阵微积分的表示通常有两种符号约定:

  • 分子布局( Numerator Layout)
  • 分母布局( Denominator Layout)

两者的区别是一个标量关于一个向量的导数是写成行向量还是列向量。

【注】向量一般未特殊说明都是用列向量表示。

2.1 标量关于向量的偏导数

对于 M 维向量 \boldsymbol{x} \in \mathbb{R}^M 和函数 y = f(\boldsymbol{x } ) \in \mathbb{R },则 y 关于 \boldsymbol{x } 的偏导数为:

  • 分母布局:\frac{\partial y}{\partial \boldsymbol{x } } = [ \frac{\partial y}{\partial x_1 }, \cdots, \frac{\partial y }{\partial x_M } ]^T \in \mathbb{R }^{M \times 1 }

  • 分子布局:\frac{\partial y}{\partial \boldsymbol{x } } = [ \frac{\partial y}{\partial x_1 }, \cdots, \frac{\partial y}{\partial x_M } ] \in \mathbb{R}^{1 \times M }

在分母布局中,\frac{\partial y }{\partial \boldsymbol{x } } 为列向量;而在分子布局中,\frac{\partial y }{\partial \boldsymbol{x } } 为行向量。

2.2 向量关于标量的偏导数

对于标量 x \in \mathbb{R } 和函数 \boldsymbol{y } = f(x) \in \mathbb{R }^N,则 \boldsymbol{y } 关于 x 的偏导数为:

  • 分母布局:\frac{\partial{\boldsymbol{y} } }{\partial x } = [ \frac{\partial y_1 }{\partial x }, \cdots, \frac{\partial y_N }{\partial x } ] \in \mathbb{R }^{1 \times N }

  • 分子布局:\frac{\partial{\boldsymbol{y } } }{\partial x } = [ \frac{\partial y_1 }{\partial x }, \cdots, \frac{\partial y_N }{\partial x } ]^T \in \mathbb{R }^{N \times 1 }

在分母布局中,\frac{\partial \boldsymbol{y } }{\partial x } 为行向量;而在分子布局中,\frac{\partial \boldsymbol{y } }{\partial x } 为列向量。

2.3 向量关于向量的偏导数

对于 M 维向量 \boldsymbol{x } \in \mathbb{R }^M 和函数 \boldsymbol{y } = f(\boldsymbol{x }) \in \mathbb{R }^N,则 f(\boldsymbol{x }) 关于 \boldsymbol{x } 的偏导数为:

  • 分母布局:\frac{\partial{f(\boldsymbol{x }) } }{\partial \boldsymbol{x } } = \left[ \begin{matrix} \frac{\partial y_1 }{\partial x_1 } & \cdots & \frac{\partial y_N }{\partial x_1 } \\ \vdots & \ddots & \vdots \\ \frac{\partial y_1 }{\partial x_M } & \cdots & \frac{\partial y_N }{\partial x_M } \end{matrix} \right] = \boldsymbol{J }(f(\boldsymbol{x }))^T \in \mathbb{R }^{M \times N }

  • 分子布局:\frac{\partial{f(\boldsymbol{x }) } }{\partial \boldsymbol{x } } = \left[ \begin{matrix} \frac{\partial y_1 }{\partial x_1 } & \cdots & \frac{\partial y_1 }{\partial x_M } \\ \vdots & \ddots & \vdots \\ \frac{\partial y_N }{\partial x_1 } & \cdots & \frac{\partial y_N }{\partial x_M } \end{matrix} \right] = \boldsymbol{J }(f(\boldsymbol{x })) \in \mathbb{R }^{N \times M }

对于 M 维向量 \boldsymbol{x } \in \mathbb{R }^M 和函数 y = f(\boldsymbol{x }) \in \mathbb{R },则 f(\boldsymbol{x }) 关于 \boldsymbol{x } 的二阶偏导数为:

  • 分母布局 = 分子布局:\frac{\partial^2 f(\boldsymbol{x }) }{\partial \boldsymbol{x }^2 } = \left[ \begin{matrix} \frac{\partial^2 y }{\partial x_1^2 } & \cdots & \frac{\partial^2 y }{\partial x_1 \partial x_M } \\ \vdots & \ddots & \vdots \\ \frac{\partial^2 y }{\partial x_M \partial x_1 } & \cdots & \frac{\partial^2 y }{\partial x_M^2 } \end{matrix} \right] = \boldsymbol{H }(f(\boldsymbol{x })) \in \mathbb{R }^{M \times M }

【注】\boldsymbol{J }\boldsymbol{H } 分别为 Jacobian 矩阵和 Hessian 矩阵。

3. 偏导数法则

以下偏导数法则仅以分母布局为例:

3.1 加减法则

\boldsymbol{x } \in \mathbb{R }^M, \boldsymbol{y } = f(\boldsymbol{x }) \in \mathbb{R }^N, \boldsymbol{z } = g(\boldsymbol{x }) \in \mathbb{R }^N,则 \frac{\partial (\boldsymbol{y }+\boldsymbol{z }) }{\partial \boldsymbol{x } } = \frac{\partial \boldsymbol{y} }{\partial \boldsymbol{x} } + \frac{\partial \boldsymbol{z } }{\partial \boldsymbol{x } } \in \mathbb{R }^{M \times N }

3.2 乘法法则

  • \boldsymbol{x } \in \mathbb{R }^M, \boldsymbol{y } = f(\boldsymbol{x }) \in \mathbb{R }^N, \boldsymbol{z } = g(\boldsymbol{x }) \in \mathbb{R }^N,则 \frac{\partial \boldsymbol{y }^T \boldsymbol{z } }{\partial \boldsymbol{x } } = \frac{\partial \boldsymbol{y } }{\partial \boldsymbol{x } } \boldsymbol{z } + \frac{\partial \boldsymbol{z } }{\partial \boldsymbol{x } } \boldsymbol{y } \in \mathbb{R }^M

  • \boldsymbol{x } \in \mathbb{R }^M, \boldsymbol{y } = f(\boldsymbol{x }) \in \mathbb{R }^S, \boldsymbol{z } = g(\boldsymbol{x }) \in \mathbb{R }^T, A \in \mathbb{R }^{S \times T }\boldsymbol{x } 无关,则 \frac{\partial \boldsymbol{y }^T \boldsymbol{Az } }{\partial \boldsymbol{x } } = \frac{\partial \boldsymbol{y } }{\partial \boldsymbol{x } } \boldsymbol{A } \boldsymbol{z } + \frac{\partial \boldsymbol{z } }{\partial \boldsymbol{x } } \boldsymbol{A }^T \boldsymbol{y } \in \mathbb{R }^M

  • \boldsymbol{x } \in \mathbb{R }^M, y = f(\boldsymbol{x }) \in \mathbb{R }, \boldsymbol{z } = g(\boldsymbol{x }) \in \mathbb{R }^N,则 \frac{\partial y \boldsymbol{z } }{\partial \boldsymbol{x } } = y \frac{\partial \boldsymbol{z} }{\partial \boldsymbol{x} } + \frac{\partial y }{\partial \boldsymbol{x} } \boldsymbol{z }^T \in \mathbb{R }^{M \times N }

3.3 链式法则

  • x \in \mathbb{R }, \boldsymbol{y } = g(x) \in \mathbb{R }^M, \boldsymbol{z } = f(\boldsymbol{y }) \in \mathbb{R }^N,则 \frac{\partial \boldsymbol{z } }{\partial x } = \frac{\partial \boldsymbol{y } }{\partial x } \frac{\partial \boldsymbol{z } }{\partial \boldsymbol{y } } \in \mathbb{R }^{1 \times N }

  • \boldsymbol{x } \in \mathbb{R }^M, \boldsymbol{y } = g(\boldsymbol{x }) \in \mathbb{R }^K, \boldsymbol{z } = f(\boldsymbol{y }) \in \mathbb{R }^N,则 \frac{\partial \boldsymbol{z } }{\partial \boldsymbol{x } } = \frac{\partial \boldsymbol{y } }{\partial \boldsymbol{x } } \frac{\partial \boldsymbol{z } }{\partial \boldsymbol{y } } \in \mathbb{R }^{M \times N }

  • \boldsymbol{X } \in \mathbb{R }^{M \times N } 为矩阵,\boldsymbol{y } = g(\boldsymbol{X }) \in \mathbb{R }^K, z = f(\boldsymbol{y }),则 \frac{\partial z }{\partial x_{ij } } = \frac{\partial \boldsymbol{y } }{\partial x_{ij } } \frac{\partial z }{\partial \boldsymbol{y } } \in \mathbb{R }

4. 附录

4.1 记忆小技巧:

  • 可以把「标量对向量」和「向量对标量」求导中的标量看作是一维的行向量,而向量则为一般理解的列向量,则分母/分子布局就表示求导后的向量的布局是跟求导式的分母还是分子保持一致。
  1. 「标量对向量」求导:分母布局结果为列向量,分子布局结果为行向量。
  2. 「向量对标量」求导:分母布局结果为行向量,分子布局结果为列向量。
  • 对于「向量对向量」求导:既可以看作是分子向量中的每个标量元素对分母向量求导,也可以看作是分母向量对分子向量中的每个标量元素求导,然后便可以使用上一条记忆方法。最终将每个求导的结果向量拼接成一个矩阵,即得到最终的分母/分子布局结果。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,928评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,192评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,468评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,186评论 1 286
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,295评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,374评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,403评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,186评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,610评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,906评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,075评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,755评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,393评论 3 320
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,079评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,313评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,934评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,963评论 2 351

推荐阅读更多精彩内容