矩阵求导简记
创始人
2024-04-03 17:38:39

很多机器学习算法都需要求解最值,比如最小二乘法求解样本空间相对拟合曲线的最短距离,最值的求解往往通过求导来计算,而机器学习中又常用矩阵来处理数据,所以很多时候会涉及到矩阵的求导。矩阵求导就像是线性代数和微积分的结合,但两者结合后规则又有些不同。

对于矩阵求导,基本的规则可以参照【手推机器学习】矩阵求导–合集,最需要注意的就是矩阵或者向量的shape以及求导结果的shape。

1. 公式一 dxTxdx=2∗xT\frac{d x^{T} x}{d x}=2 * x^{T}dxdxTx​=2∗xT

据视频介绍的规则, 假设 xxx 是一个列向量, 则 xTxx^{T} xxTx 是一个标量, 有dxTxdx=2∗xT\frac{d x^{T} x}{d x}=2 * x^{T}dxdxTx​=2∗xT,结果一定会是一个行向量, 所以结果是 xxx 的转置而不是 xxx。

2. 公式二 dxTadx=aT\frac{d x^{T} a}{d x}=a^{T}dxdxTa​=aT

下面会介绍另一个公式 dxTadx=aT\frac{d x^{T} a}{d x}=a^{T}dxdxTa​=aT (其中 aaa 可以是矩阵也可以是列向量), 如果 aaa 是一个列向量,则结果为行向量, 所以结果必然是带有转置的。

注意区分dxTadx=aT\frac{d x^{T} a}{d x}=a^{T}dxdxTa​=aT和dxTxdx=2∗xT\frac{d x^{T} x}{d x}=2 * x^{T}dxdxTx​=2∗xT。这两个公式的推导过程并不困难, 比较基础。

假设 x=[x1,x2,…,xn]T,a=[a1,a2,…an]Tx=\left[x_{1}, x_{2}, \ldots, x_{n}\right]^{T} , a=\left[a_{1}, a_{2}, \ldots a_{n}\right]^{T}x=[x1​,x2​,…,xn​]T,a=[a1​,a2​,…an​]T, 则 xTa=x1a1+x2a2+…+xnanx^{T} a=x_{1} a_{1}+x_{2} a_{2}+\ldots+x_{n} a_{n}xTa=x1​a1​+x2​a2​+…+xn​an​, 所以:
d(xTa)dx=[d(xTa)dx1,d(xTa)dx2,…,d(xTa)dxn]\frac{d\left(x^{T} a\right)}{d x}=\left[\frac{d\left(x^{T} a\right)}{d x_{1}}, \frac{d\left(x^{T} a\right)}{d x_{2}}, \ldots, \frac{d\left(x^{T} a\right)}{d x_{n}}\right] dxd(xTa)​=[dx1​d(xTa)​,dx2​d(xTa)​,…,dxn​d(xTa)​]

其中 d(xTa)dxi=ai\frac{d\left(x^{T} a\right)}{d x_{i}}=a_{i}dxi​d(xTa)​=ai​ , 所以上式为 d(xTa)dx=[a1,a2,…,an]=aT\frac{d\left(x^{T} a\right)}{d x}=\left[a_{1}, a_{2}, \ldots, a_{n}\right]=a^{T}dxd(xTa)​=[a1​,a2​,…,an​]=aT 对于 dxTxdx=2∗xT\frac{d x^{T} x}{d x}=2 * x^{T}dxdxTx​=2∗xT 推导过程相似。

3.链式求导规则

矩阵求导中也具有链式求导法则,下面是一个相关的例子,注意矩阵的形状变化:
dfd(s,t)=∂f∂x∂x∂(s,t)=[∂f∂x1∂f∂x2]⏟=∂f∂x[∂x1∂s∂x1∂t∂x2∂s∂x2∂t]⏟=∂x∂(s,t)其中x=[x1=x1(s,t)x2=x2(s,t)]\frac{\mathrm{d} f}{\mathrm{~d}(s, t)}=\frac{\partial f}{\partial \boldsymbol{x}} \frac{\partial \boldsymbol{x}}{\partial(s, t)}=\underbrace{\left[\begin{array}{ll} \frac{\partial f}{\partial x_{1}} & \frac{\partial f}{\partial x_{2}} \end{array}\right]}_{=\frac{\partial f}{\partial x}} \underbrace{\left[\begin{array}{cc} \frac{\partial x_{1}}{\partial s} & \frac{\partial x_{1}}{\partial t} \\ \frac{\partial x_{2}}{\partial s} & \frac{\partial x_{2}}{\partial t} \end{array}\right]}_{=\frac{\partial x}{\partial(s, t)}} \\ 其中 x=\left[\begin{array}{l}x_{1}=x_{1}(s, t) \\ x_{2}=x_{2}(s, t)\end{array}\right]  d(s,t)df​=∂x∂f​∂(s,t)∂x​==∂x∂f​[∂x1​∂f​​∂x2​∂f​​]​​=∂(s,t)∂x​[∂s∂x1​​∂s∂x2​​​∂t∂x1​​∂t∂x2​​​]​​其中x=[x1​=x1​(s,t)x2​=x2​(s,t)​]

4.常用求导公式

很多时候,为了使结果更简洁,求导的结果也会用矩阵来表示,下面是常用的求导公式:

最朴素的公式的推导过程就是带入具体的矩阵按照视频中介绍的方式逐步的推导,这个过程很繁琐,但它的结果可能很简洁,就像上面给出的这些求导公式那样。

5.求导实例

为了更好的理解这些公式,下面给出几个常用的公式的推导过程。

5.1 实例一∂xTA∂x=∂ATx∂x=A\frac{\partial x^{T} A}{\partial x} = \frac{\partial A^{T} x}{\partial x} = A∂x∂xTA​=∂x∂ATx​=A

第一个公式是∂xTA∂x=∂ATx∂x=A\frac{\partial x^{T} A}{\partial x} = \frac{\partial A^{T} x}{\partial x} = A∂x∂xTA​=∂x∂ATx​=A,推导过程如下:
∂xTA∂x=∂ATx∂x=[∂∑i=1mAixi∂x1∂∑i=1mAixi∂x2⋯∂∑i−1mAixi∂xm]=[A1A2⋯Am]=A\frac{\partial x^{T} A}{\partial x} = \frac{\partial A^{T} x}{\partial x} \qquad\qquad\qquad\qquad\qquad\qquad \\\\ \qquad\quad\space = {\left[\begin{array}{} \frac{\partial \sum_{i = 1}^{m} A_{i} x_{i}}{\partial x_{1}} \ \frac{\partial \sum_{i = 1}^{m} A_{i} x_{i}}{\partial x_{2}} \ \cdots \ \frac{\partial \sum_{i-1}^{m} A_{i} x_{i}}{\partial x_{m}} \end{array}\right] } \\\\ \qquad\qquad = \left[\begin{array}{c} A_{1} \ A_{2} \ \cdots \ A_{m} \end{array}\right] \qquad\quad\space\qquad\quad\space\qquad\space\space\space \\\\ \qquad = A\qquad\quad\space\qquad\quad\space\qquad\quad\space\qquad\quad\space ∂x∂xTA​=∂x∂ATx​ =[∂x1​∂∑i=1m​Ai​xi​​ ∂x2​∂∑i=1m​Ai​xi​​ ⋯ ∂xm​∂∑i−1m​Ai​xi​​​]=[A1​ A2​ ⋯ Am​​]     =A    

5.2 实例二∂xTBx∂x=(AT+A)x\frac{\partial x^{T} B x}{\partial x} = \left(A^{T}+A\right)x∂x∂xTBx​=(AT+A)x

第二个公式是∂xTBx∂x=(AT+A)x\frac{\partial x^{T} B x}{\partial x} = \left(A^{T}+A\right)x∂x∂xTBx​=(AT+A)x,推导过程如下:
∂xTAx∂x=[∂∑i=1m∑j−1mAijxixj∂x1∂∑i=1m∑j=1mAijxixj∂x2⋯∂∑i=1m∑j−1mAijxixj∂xm]=[∑i=1mAi1xi+∑j=1mA1jxj∑i=1mAi2xi+∑j=1mA2jxj⋯∑i=1mAimxi+∑j=1mAmjxj]=[∑i=1mAi1xi∑i=1mAi2xi⋯∑i=1mAimxi]+[∑j=1mA1jxj∑j=1mA2jxj⋯∑j=1mAmjxj]=[A11A21⋯Am1A12A22⋯Am2⋮⋮⋱⋮A1mA2m⋯Amm][x1x2⋮xm]+[A11A12⋯A1mA21A22⋯A2m⋮⋮⋱⋮Am1Am2⋯Amm][x1x2⋮xm]=(AT+A)x=(A+AT)x\frac{\partial x^{T} A x}{\partial x} = \left[\begin{array}{c} \frac{\partial \sum_{i = 1}^{m} \sum_{j-1}^{m} A_{i j} x_{i} x_{j}}{\partial x_{1}} \\\\ \frac{\partial \sum_{i = 1}^{m} \sum_{j = 1}^{m} A_{i j} x_{i} x_{j}}{\partial x_{2}} \\\\ \cdots \\ \\ \frac{\partial \sum_{i = 1}^{m} \sum_{j-1}^{m} A_{i j} x_{i} x_{j}}{\partial x_{m}} \end{array}\right] \qquad \qquad\qquad \qquad\\ \\ = \left[\begin{array}{c} \sum_{i = 1}^{m} A_{i 1} x_{i}+\sum_{j = 1}^{m} A_{1 j} x_{j} \\ \sum_{i = 1}^{m} A_{i 2} x_{i}+\sum_{j = 1}^{m} A_{2 j} x_{j} \\ \cdots \\ \sum_{i = 1}^{m} A_{i m} x_{i}+\sum_{j = 1}^{m} A_{m j} x_{j} \end{array}\right] \\ \\ \space\space\space\space = \left[\begin{array}{c} \sum_{i = 1}^{m} A_{i 1} x_{i} \\ \sum_{i = 1}^{m} A_{i 2} x_{i} \\ \cdots \\ \sum_{i = 1}^{m} A_{i m} x_{i} \end{array}\right]+\left[\begin{array}{c} \sum_{j = 1}^{m} A_{1 j} x_{j} \\ \sum_{j = 1}^{m} A_{2 j} x_{j} \\ \cdots \\ \sum_{j = 1}^{m} A_{m j} x_{j} \end{array}\right] \\\\ \qquad = \left[\begin{array}{cccc} A_{11} & A 21 & \cdots & A m 1 \\ A_{12} & A 22 & \cdots & A m 2 \\ \vdots & \vdots & \ddots & \vdots \\ A_{1 m} & A 2 m & \cdots & A m m \end{array}\right]\left[\begin{array}{c} x_{1} \\ x_{2} \\ \vdots \\ x_{m} \end{array}\right]\\ \\ \qquad +\left[\begin{array}{cccc} A_{11} & A 12 & \cdots & A 1 m \\ A_{21} & A 22 & \cdots & A 2 m \\ \vdots & \vdots & \ddots & \vdots \\ A_{m 1} & A m 2 & \cdots & A m m \end{array}\right]\left[\begin{array}{c} x_{1} \\ x_{2} \\ \vdots \\ x_{m} \end{array}\right]\\ \\ = \left(A^{T}+A\right) x = \left(A+A^{T}\right) x \qquad ∂x∂xTAx​=⎣⎡​∂x1​∂∑i=1m​∑j−1m​Aij​xi​xj​​∂x2​∂∑i=1m​∑j=1m​Aij​xi​xj​​⋯∂xm​∂∑i=1m​∑j−1m​Aij​xi​xj​​​⎦⎤​=⎣⎡​∑i=1m​Ai1​xi​+∑j=1m​A1j​xj​∑i=1m​Ai2​xi​+∑j=1m​A2j​xj​⋯∑i=1m​Aim​xi​+∑j=1m​Amj​xj​​⎦⎤​    =⎣⎡​∑i=1m​Ai1​xi​∑i=1m​Ai2​xi​⋯∑i=1m​Aim​xi​​⎦⎤​+⎣⎡​∑j=1m​A1j​xj​∑j=1m​A2j​xj​⋯∑j=1m​Amj​xj​​⎦⎤​=⎣⎡​A11​A12​⋮A1m​​A21A22⋮A2m​⋯⋯⋱⋯​Am1Am2⋮Amm​⎦⎤​⎣⎡​x1​x2​⋮xm​​⎦⎤​+⎣⎡​A11​A21​⋮Am1​​A12A22⋮Am2​⋯⋯⋱⋯​A1mA2m⋮Amm​⎦⎤​⎣⎡​x1​x2​⋮xm​​⎦⎤​=(AT+A)x=(A+AT)x

5.3 实例三dL(w)dw=d[(y−X∗w)T(y−X∗w)]dw−2XT∗y+2XT∗X∗w\frac{dL(w)}{dw} = \frac{ d[(y-X*w)^T(y-X*w)] } {dw}-2X^T*y+2X^T*X*wdwdL(w)​=dwd[(y−X∗w)T(y−X∗w)]​−2XT∗y+2XT∗X∗w

在常用公式的基础上,通过矩阵的分配律可以化简求导过程,例如最小二乘法中方差函数对参数的求导,这里给出两种方式:

方式一:
KaTeX parse error: Expected 'EOF', got '&' at position 2: &̲\frac{dL(w)}{dw…
其中wT∗XT∗yw^T*X^T*ywT∗XT∗y和yT∗X∗wy^T*X*wyT∗X∗w都是标量且互为转置,因而两者相等,有:
上式=−d(2yT∗X∗wdw+wT∗XT∗X∗wdw上式 = -\frac{d(2y^T*X*w}{dw} +\frac{w^T*X^T*X*w}{dw} 上式=−dwd(2yT∗X∗w​+dwwT∗XT∗X∗w​
结合上面的两个公式daTbda=bT\frac{da^Tb}{da} = b^TdadaTb​=bT和daTAada=ATa+A∗a=2A∗a\frac{da^TAa}{da} = A^Ta+A*a = 2A*adadaTAa​=ATa+A∗a=2A∗a(当AAA为对称阵),有:
上式=−2XT∗y+2XT∗X∗w\begin{matrix} 上式 = -2X^T*y+2X^T*X*w \end{matrix} 上式=−2XT∗y+2XT∗X∗w​
令上式为0,得w=(XT∗X)−1XT∗yw = (X^T*X)^{-1}X^T*yw=(XT∗X)−1XT∗y

方式二:

令e(w)=y−X∗we(w) = y-X*we(w)=y−X∗w,则L(e)=eTeL(e) = e^TeL(e)=eTe,由链式求导法则,有:
dLdw=dLdededw=2eT∗(−X)=−2(y−X∗w)T∗X=−2yT∗X+2wT∗XT∗X\frac{dL}{dw} = \frac{dL}{de}\frac{de}{dw} \\ = 2e^T*(-X) \\ = -2(y-X*w)^T*X \\ = -2y^T*X+2w^T*X^T*X dwdL​=dedL​dwde​=2eT∗(−X)=−2(y−X∗w)T∗X=−2yT∗X+2wT∗XT∗X
同样令上式为0,得wT=yT∗X∗(XT∗X)−1w^T = y^T*X*(X^T*X)^{-1}wT=yT∗X∗(XT∗X)−1,由XT∗XX^T*XXT∗X为对称矩阵有[(XT∗X)−1]T=(XT∗X)−1[(X^T*X)^{-1}]^T = (X^T*X)^{-1}[(XT∗X)−1]T=(XT∗X)−1,得w=(XT∗X)−1XT∗yw = (X^T*X)^{-1}X^T*yw=(XT∗X)−1XT∗y

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...