矩阵的导数运算(理解分子布局、分母布局)

矩阵的导数运算(理解分子布局、分母布局)

1、分子布局和分母布局

请思考这样一个问题,一个维度为m的向量y对一个标量x的求导,那么结果也是一个m维的向量,那么这个结果向量是行向量,还是列向量呢?

答案是:行向量或者列向量皆可! 求导的本质只是把标量求导的结果排列起来,至于是按行排列还是按列排列都是可以的。但是这样也有问题,在我们机器学习算法优化过程中,如果行向量或者列向量随便写,那么结果就不唯一,乱套了。

为了解决矩阵向量求导的结果不唯一,我们引入求导布局。最基本的求导布局有两个:分子布局(numerator layout)和分母布局(denominator layout )。

  • 对于分子布局来说,我们求导结果的维度以分子为主

  • 对于分母布局来说,我们求导结果的维度以分母为主

2、标量方程对向量的导数

标量方程中的未知量是标量,而不是矢量或矩阵。

通常情况下,标量方程可以是各种类型的代数方程,包括线性方程、二次方程、多项式方程等。这些方程中的未知量都是标量,通常表示为一个变量,例如 x、y、z 等。
已知标量方程 f ( y ) = f ( y 1 , y 2 , . . . , y m ) ,我们求解标量方程 f ( y ) 对向量 y → = ( y 1 y 2 ⋮ y m ) 的导数 已知标量方程f(y) = f(y_1,y_2,...,y_m),我们求解标量方程f(y) 对向量\overrightarrow{y}=\left( \begin{matrix} y_{1} \\ y_{2} \\ \vdots \\ y_{m} \\ \end{matrix} \right)的导数 \\ 已知标量方程f(y)=f(y1,y2,...,ym),我们求解标量方程f(y)对向量y = y1y2ym 的导数
在这里插入图片描述

分母为向量y,维度为m×1,求导结果的行数和分母相同,都为m,因此为分母布局。

分子为标量,维度为1×1,求导结果的行数和分子相同,都为1,因此为分子布局。

具体案例如下:
已知标量方程 f ( y ) = y 1 2 + y 2 2 ,我们求解标量方程 f ( y ) 对向量 y → = ( y 1 y 2 ) 的导数 按照分母布局 ( 行数和分母相同 ) ,则 ∂ f ( y → ) ∂ y → = ( ∂ f ( y → ) ∂ y 1 ∂ f ( y → ) ∂ y 2 ) = ( 2 y 1 2 y 2 ) 按照分子布局 ( 行数和分子相同 ) ,则 ∂ f ( y → ) ∂ y → = ( ∂ f ( y → ) ∂ y 1 , ∂ f ( y → ) ∂ y 2 ) = ( 2 y 1 , 2 y 2 ) 已知标量方程f(y) = y_1^2 + y_2^2,我们求解标量方程f(y) 对向量\overrightarrow{y}=\left( \begin{matrix} y_{1} \\ y_{2} \\ \end{matrix} \right)的导数 \\ 按照分母布局(行数和分母相同),则\frac{\partial{f(\overrightarrow{y})}}{\partial{\overrightarrow{y}}}=\left( \begin{matrix} \frac{\partial{f(\overrightarrow{y})}}{\partial{y_1}} \\ \frac{\partial{f(\overrightarrow{y})}}{\partial{y_2}} \\ \end{matrix} \right)=\left( \begin{matrix} 2y_1 \\ 2y_2 \\ \end{matrix} \right)\\ 按照分子布局(行数和分子相同),则\frac{\partial{f(\overrightarrow{y})}}{\partial{\overrightarrow{y}}}=(\frac{\partial{f(\overrightarrow{y})}}{\partial{y_1}},\frac{\partial{f(\overrightarrow{y})}}{\partial{y_2}})=(2y_1, 2y_2) 已知标量方程f(y)=y12+y22,我们求解标量方程f(y)对向量y =(y1y2)的导数按照分母布局(行数和分母相同),则y f(y )=(y1f(y )y2f(y ))=(2y12y2)按照分子布局(行数和分子相同),则y f(y )=(y1f(y ),y2f(y ))=(2y1,2y2)
注意:分子布局结果和分母布局结果互为转置。

3、向量方程对向量的导数

3.1 公式

已知 y → = ( y 1 y 2 ⋮ y m ) ,求向量方程 f → ( y → ) = ( f 1 ( y → ) f 2 ( y → ) ⋮ f n ( y → ) ) 对 y → 的导数 已知\overrightarrow{y}=\left( \begin{matrix} y_{1} \\ y_{2} \\ \vdots \\ y_{m} \\ \end{matrix} \right),求向量方程\overrightarrow{f}(\overrightarrow{y})=\left( \begin{matrix} f_1(\overrightarrow{y}) \\ f_2(\overrightarrow{y}) \\ \vdots \\ f_n(\overrightarrow{y}) \\ \end{matrix} \right)对\overrightarrow{y}的导数\\ 已知y = y1y2ym ,求向量方程f (y )= f1(y )f2(y )fn(y ) y 的导数

利用分母布局:
∂ f → ( y → ) ∂ y → = ( ∂ f ( y → ) ∂ y 1 ∂ f ( y → ) ∂ y 2 ⋮ ∂ f ( y → ) ∂ y m ) = ( ∂ f 1 ( y → ) ∂ y 1 ∂ f 2 ( y → ) ∂ y 1 ⋯ ∂ f n ( y → ) ∂ y 1 ∂ f 1 ( y → ) ∂ y 2 ∂ f 2 ( y → ) ∂ y 2 ⋯ ∂ f n ( y → ) ∂ y 2 ⋮ ⋮ ⋱ ⋮ ∂ f 1 ( y → ) ∂ y m ∂ f 2 ( y → ) ∂ y m ⋯ ∂ f n ( y → ) ∂ y m ) \frac{\partial{\overrightarrow{f}(\overrightarrow{y})}}{\partial\overrightarrow{y}}=\left( \begin{matrix} \frac{\partial{f(\overrightarrow{y})}}{\partial{y_1}} \\ \frac{\partial{f(\overrightarrow{y})}}{\partial{y_2}} \\ \vdots \\ \frac{\partial{f(\overrightarrow{y})}}{\partial{y_m}} \\ \end{matrix} \right)=\left( \begin{matrix} \frac{\partial{f_1(\overrightarrow{y})}}{\partial{y_1}} & \frac{\partial{f_2(\overrightarrow{y})}}{\partial{y_1}} & \cdots &\frac{\partial{f_n(\overrightarrow{y})}}{\partial{y_1}}\\ \frac{\partial{f_1(\overrightarrow{y})}}{\partial{y_2}} & \frac{\partial{f_2(\overrightarrow{y})}}{\partial{y_2}} &\cdots& \frac{\partial{f_n(\overrightarrow{y})}}{\partial{y_2}} \\ \vdots & \vdots & \ddots & \vdots \\ \frac{\partial{f_1(\overrightarrow{y})}}{\partial{y_m}} & \frac{\partial{f_2(\overrightarrow{y})}}{\partial{y_m}} &\cdots& \frac{\partial{f_n(\overrightarrow{y})}}{\partial{y_m}} \\ \end{matrix} \right)\\ y f (y )= y1f(y )y2f(y )ymf(y ) = y1f1(y )y2f1(y )ymf1(y )y1f2(y )y2f2(y )ymf2(y )y1fn(y )y2fn(y )ymfn(y )
利用分子布局:

∂ f → ( y → ) ∂ y → = ( ∂ f 1 ( y → ) ∂ y → ∂ f 2 ( y → ) ∂ y → ⋮ ∂ f n ( y → ) ∂ y → ) = ( ∂ f 1 ( y → ) ∂ y 1 ∂ f 1 ( y → ) ∂ y 2 ⋯ ∂ f 1 ( y → ) ∂ y m ∂ f 2 ( y → ) ∂ y 1 ∂ f 2 ( y → ) ∂ y 2 ⋯ ∂ f 2 ( y → ) ∂ y m ⋮ ⋮ ⋱ ⋮ ∂ f n ( y → ) ∂ y 1 ∂ f n ( y → ) ∂ y 2 ⋯ ∂ f n ( y → ) ∂ y m ) \frac{\partial{\overrightarrow{f}(\overrightarrow{y})}}{\partial\overrightarrow{y}}=\left( \begin{matrix} \frac{\partial{f_1(\overrightarrow{y})}}{\partial{\overrightarrow{y}}} \\ \frac{\partial{f_2(\overrightarrow{y})}}{\partial{\overrightarrow{y}}} \\ \vdots \\ \frac{\partial{f_n(\overrightarrow{y})}}{\partial{\overrightarrow{y}}} \\ \end{matrix} \right)=\left( \begin{matrix} \frac{\partial{f_1(\overrightarrow{y})}}{\partial{y_1}} & \frac{\partial{f_1(\overrightarrow{y})}}{\partial{y_2}} & \cdots &\frac{\partial{f_1(\overrightarrow{y})}}{\partial{y_m}}\\ \frac{\partial{f_2(\overrightarrow{y})}}{\partial{y_1}} & \frac{\partial{f_2(\overrightarrow{y})}}{\partial{y_2}} &\cdots& \frac{\partial{f_2(\overrightarrow{y})}}{\partial{y_m}} \\ \vdots & \vdots & \ddots & \vdots \\ \frac{\partial{f_n(\overrightarrow{y})}}{\partial{y_1}} & \frac{\partial{f_n(\overrightarrow{y})}}{\partial{y_2}} &\cdots& \frac{\partial{f_n(\overrightarrow{y})}}{\partial{y_m}} \\ \end{matrix} \right) y f (y )= y f1(y )y f2(y )y fn(y ) = y1f1(y )y1f2(y )y1fn(y )y2f1(y )y2f2(y )y2fn(y )ymf1(y )ymf2(y )ymfn(y )

3.2 具体示例

已知 y → = ( y 1 y 2 y 3 ) ,求向量方程 f → ( y → ) = ( f 1 ( y → ) f 2 ( y → ) ) = ( y 1 2 + y 2 2 + y 3 y 3 2 + 2 y 1 ) 对 y → 的导数 已知\overrightarrow{y}=\left( \begin{matrix} y_{1} \\ y_{2} \\ y_{3} \\ \end{matrix} \right),求向量方程\overrightarrow{f}(\overrightarrow{y})=\left( \begin{matrix} f_1(\overrightarrow{y}) \\ f_2(\overrightarrow{y}) \\ \end{matrix} \right)=\left( \begin{matrix} y_1^2+y_2^2+y_3 \\ y_3^2+2y_1 \\ \end{matrix} \right) 对\overrightarrow{y}的导数\\ 已知y = y1y2y3 ,求向量方程f (y )=(f1(y )f2(y ))=(y12+y22+y3y32+2y1)y 的导数

我们按照分母布局来求(得到结果为m×n的矩阵,即3×2):
∂ f → ( y → ) ∂ y → = ( ∂ f ( y → ) ∂ y 1 ∂ f ( y → ) ∂ y 2 ∂ f ( y → ) ∂ y 3 ) = ( ∂ f 1 ( y → ) ∂ y 1 ∂ f 2 ( y → ) ∂ y 1 ∂ f 1 ( y → ) ∂ y 2 ∂ f 2 ( y → ) ∂ y 2 ∂ f 1 ( y → ) ∂ y 3 ∂ f 2 ( y → ) ∂ y 3 ) = ( 2 y 1 2 2 y 2 0 1 2 y 3 ) \frac{\partial{\overrightarrow{f}(\overrightarrow{y})}}{\partial\overrightarrow{y}}=\left( \begin{matrix} \frac{\partial{f(\overrightarrow{y})}}{\partial{y_1}} \\ \frac{\partial{f(\overrightarrow{y})}}{\partial{y_2}} \\ \frac{\partial{f(\overrightarrow{y})}}{\partial{y_3}} \\ \end{matrix} \right)=\left( \begin{matrix} \frac{\partial{f_1(\overrightarrow{y})}}{\partial{y_1}} & \frac{\partial{f_2(\overrightarrow{y})}}{\partial{y_1}} & \\ \frac{\partial{f_1(\overrightarrow{y})}}{\partial{y_2}} & \frac{\partial{f_2(\overrightarrow{y})}}{\partial{y_2}} & \\ \frac{\partial{f_1(\overrightarrow{y})}}{\partial{y_3}} & \frac{\partial{f_2(\overrightarrow{y})}}{\partial{y_3}} & \\ \end{matrix} \right)=\left( \begin{matrix} 2y_1 & 2 & \\ 2y_2 & 0 & \\ 1 & 2y_3 & \\ \end{matrix} \right)\\ y f (y )= y1f(y )y2f(y )y3f(y ) = y1f1(y )y2f1(y )y3f1(y )y1f2(y )y2f2(y )y3f2(y ) = 2y12y21202y3

3.3 常用特例

常用特例1:
已知 y → = ( y 1 y 2 ⋮ y m ) ,方阵 A = ( a 11 a 12 ⋯ a 1 m a 21 a 22 ⋯ a 2 m ⋮ ⋮ ⋱ ⋮ a m 1 a m 2 ⋯ a m m ) , 证明 ∂ A y → ∂ y → = A T , ∂ y T → A ∂ y → = A ( 分母布局 ) 已知\overrightarrow{y}=\left( \begin{matrix} y_{1} \\ y_{2} \\ \vdots \\ y_{m} \\ \end{matrix} \right),方阵A=\left( \begin{matrix} a_{11} & a_{12} & \cdots & a_{1m}\\ a_{21} & a_{22} & \cdots & a_{2m}\\ \vdots & \vdots & \ddots & \vdots \\ a_{m1} & a_{m2} & \cdots & a_{mm}\\ \end{matrix} \right),证明\frac{\partial{A\overrightarrow{y}}}{\partial\overrightarrow{y}}=A^T, \frac{\partial{\overrightarrow{y^T}}A}{\partial\overrightarrow{y}}=A(分母布局) 已知y = y1y2ym ,方阵A= a11a21am1a12a22am2a1ma2mamm ,证明y Ay =ATy yT A=A(分母布局)
我们使用分母布局来求
A y → = ( a 11 a 12 ⋯ a 1 m a 21 a 22 ⋯ a 2 m ⋮ ⋮ ⋱ ⋮ a m 1 a m 2 ⋯ a m m ) . ( y 1 y 2 ⋮ y m ) = ( a 11 y 1 + a 12 y 2 + ⋯ + a 1 m y m a 21 y 1 + a 22 y 2 + ⋯ + a 2 m y m ⋮ a m 1 y 1 + a m 2 y 2 + ⋯ + a m m y m ) 按照分母布局,我们可以得到: ∂ A y → ∂ y → = ( ∂ A y → ∂ y 1 ∂ A y → ∂ y 2 ⋮ ∂ A y → ∂ y m ) = ( a 11 y 1 + a 12 y 2 + ⋯ + a 1 m y m ∂ y 1 a 21 y 1 + a 22 y 2 + ⋯ + a 2 m y m ∂ y 1 ⋯ a m 1 y 1 + a m 2 y 2 + ⋯ + a m m y m ∂ y 1 a 11 y 1 + a 12 y 2 + ⋯ + a 1 m y m ∂ y 2 a 21 y 1 + a 22 y 2 + ⋯ + a 2 m y m ∂ y 2 ⋯ a m 1 y 1 + a m 2 y 2 + ⋯ + a m m y m ∂ y 2 ⋮ ⋮ ⋱ ⋮ a 11 y 1 + a 12 y 2 + ⋯ + a 1 m y m ∂ y m a 21 y 1 + a 22 y 2 + ⋯ + a 2 m y m ∂ y m ⋯ a m 1 y 1 + a m 2 y 2 + ⋯ + a m m y m ∂ y m ) = ( a 11 a 21 ⋯ a m 1 a 12 a 22 ⋯ a m 2 ⋮ ⋮ ⋱ ⋮ a 1 m a 2 m ⋯ a m m ) = A T A\overrightarrow{y}=\left( \begin{matrix} a_{11} & a_{12} & \cdots & a_{1m}\\ a_{21} & a_{22} & \cdots & a_{2m}\\ \vdots & \vdots & \ddots & \vdots \\ a_{m1} & a_{m2} & \cdots & a_{mm}\\ \end{matrix} \right). \left( \begin{matrix} y_{1} \\ y_{2} \\ \vdots \\ y_{m} \\ \end{matrix} \right)=\left( \begin{matrix} a_{11}y_1 + a_{12}y_2 + \cdots + a_{1m}y_m\\ a_{21}y_1 + a_{22}y_2 + \cdots + a_{2m}y_m\\ \vdots \\ a_{m1}y_1 + a_{m2}y_2 + \cdots + a_{mm}y_m\\ \end{matrix} \right)\\ 按照分母布局,我们可以得到:\\ \frac{\partial{A\overrightarrow{y}}}{\partial\overrightarrow{y}}=\left( \begin{matrix} \frac{\partial{A\overrightarrow{y}}}{\partial{y_1}} \\ \frac{\partial{A\overrightarrow{y}}}{\partial{y_2}} \\ \vdots \\ \frac{\partial{A\overrightarrow{y}}}{\partial{y_m}} \\ \end{matrix} \right)=\left( \begin{matrix} \frac{a_{11}y_1 + a_{12}y_2 + \cdots + a_{1m}y_m}{\partial{y_1}} & \frac{a_{21}y_1 + a_{22}y_2 + \cdots + a_{2m}y_m}{\partial{y_1}} & \cdots & \frac{a_{m1}y_1 + a_{m2}y_2 + \cdots + a_{mm}y_m}{\partial{y_1}} \\ \frac{a_{11}y_1 + a_{12}y_2 + \cdots + a_{1m}y_m}{\partial{y_2}} & \frac{a_{21}y_1 + a_{22}y_2 + \cdots + a_{2m}y_m}{\partial{y_2}} & \cdots & \frac{a_{m1}y_1 + a_{m2}y_2 + \cdots + a_{mm}y_m}{\partial{y_2}} \\ \vdots & \vdots & \ddots & \vdots \\ \frac{a_{11}y_1 + a_{12}y_2 + \cdots + a_{1m}y_m}{\partial{y_m}} & \frac{a_{21}y_1 + a_{22}y_2 + \cdots + a_{2m}y_m}{\partial{y_m}} & \cdots & \frac{a_{m1}y_1 + a_{m2}y_2 + \cdots + a_{mm}y_m}{\partial{y_m}} \\ \end{matrix} \right)\\ =\left( \begin{matrix} a_{11} & a_{21} & \cdots & a_{m1}\\ a_{12} & a_{22} & \cdots & a_{m2}\\ \vdots & \vdots & \ddots & \vdots \\ a_{1m} & a_{2m} & \cdots & a_{mm}\\ \end{matrix} \right)=A^T\\ Ay = a11a21am1a12a22am2a1ma2mamm . y1y2ym = a11y1+a12y2++a1myma21y1+a22y2++a2mymam1y1+am2y2++ammym 按照分母布局,我们可以得到:y Ay = y1Ay y2Ay ymAy = y1a11y1+a12y2++a1mymy2a11y1+a12y2++a1mymyma11y1+a12y2++a1mymy1a21y1+a22y2++a2mymy2a21y1+a22y2++a2mymyma21y1+a22y2++a2mymy1am1y1+am2y2++ammymy2am1y1+am2y2++ammymymam1y1+am2y2++ammym = a11a12a1ma21a22a2mam1am2amm =AT

同理,我们知道 y T → A = ( y 1 , y 2 , ⋯   , y m ) . ( a 11 a 12 ⋯ a 1 m a 21 a 22 ⋯ a 2 m ⋮ ⋮ ⋱ ⋮ a m 1 a m 2 ⋯ a m m ) = ( a 11 y 1 + a 21 y 2 + ⋯ + a m 1 y m a 12 y 1 + a 22 y 2 + ⋯ + a m 2 y m ⋮ a 1 m y 1 + a 2 m y 2 + ⋯ + a m m y m ) ∂ y T → A ∂ y → = ( a 11 y 1 + a 21 y 2 + ⋯ + a m 1 y m ∂ y 1 a 12 y 1 + a 22 y 2 + ⋯ + a m 2 y m ∂ y 1 ⋯ a 1 m y 1 + a 2 m y 2 + ⋯ + a m m y m ∂ y 1 a 11 y 1 + a 12 y 2 + ⋯ + a m 1 y m ∂ y 2 a 12 y 1 + a 22 y 2 + ⋯ + a m 2 y m ∂ y 2 ⋯ a 1 m y 1 + a 2 m y 2 + ⋯ + a m m y m ∂ y 2 ⋮ ⋮ ⋱ ⋮ a 11 y 1 + a 12 y 2 + ⋯ + a m 1 y m ∂ y m a 12 y 1 + a 22 y 2 + ⋯ + a m 2 y m ∂ y m ⋯ a 1 m y 1 + a 2 m y 2 + ⋯ + a m m y m ∂ y m ) = ( a 11 a 12 ⋯ a 1 m a 21 a 22 ⋯ a 2 m ⋮ ⋮ ⋱ ⋮ a m 1 a m 2 ⋯ a m m ) = A 同理,我们知道\overrightarrow{y^T}A=(y_1,y_2,\cdots,y_m).\left( \begin{matrix} a_{11} & a_{12} & \cdots & a_{1m}\\ a_{21} & a_{22} & \cdots & a_{2m}\\ \vdots & \vdots & \ddots & \vdots \\ a_{m1} & a_{m2} & \cdots & a_{mm}\\ \end{matrix} \right)=\left( \begin{matrix} a_{11}y_1 + a_{21}y_2 + \cdots + a_{m1}y_m\\ a_{12}y_1 + a_{22}y_2 + \cdots + a_{m2}y_m\\ \vdots \\ a_{1m}y_1 + a_{2m}y_2 + \cdots + a_{mm}y_m\\ \end{matrix} \right)\\ \frac{\partial{\overrightarrow{y^T}}A}{\partial\overrightarrow{y}}=\left( \begin{matrix} \frac{a_{11}y_1 + a_{21}y_2 + \cdots + a_{m1}y_m}{\partial{y_1}} & \frac{a_{12}y_1 + a_{22}y_2 + \cdots + a_{m2}y_m}{\partial{y_1}} & \cdots & \frac{a_{1m}y_1 + a_{2m}y_2 + \cdots + a_{mm}y_m}{\partial{y_1}} \\ \frac{a_{11}y_1 + a_{12}y_2 + \cdots + a_{m1}y_m}{\partial{y_2}} & \frac{a_{12}y_1 + a_{22}y_2 + \cdots + a_{m2}y_m}{\partial{y_2}} & \cdots & \frac{a_{1m}y_1 + a_{2m}y_2 + \cdots + a_{mm}y_m}{\partial{y_2}} \\ \vdots & \vdots & \ddots & \vdots \\ \frac{a_{11}y_1 + a_{12}y_2 + \cdots + a_{m1}y_m}{\partial{y_m}} & \frac{a_{12}y_1 + a_{22}y_2 + \cdots + a_{m2}y_m}{\partial{y_m}} & \cdots & \frac{a_{1m}y_1 + a_{2m}y_2 + \cdots + a_{mm}y_m}{\partial{y_m}} \\ \end{matrix} \right)\\ =\left( \begin{matrix} a_{11} & a_{12} & \cdots & a_{1m}\\ a_{21} & a_{22} & \cdots & a_{2m}\\ \vdots & \vdots & \ddots & \vdots \\ a_{m1} & a_{m2} & \cdots & a_{mm}\\ \end{matrix} \right)=A 同理,我们知道yT A=(y1,y2,,ym). a11a21am1a12a22am2a1ma2mamm = a11y1+a21y2++am1yma12y1+a22y2++am2yma1my1+a2my2++ammym y yT A= y1a11y1+a21y2++am1ymy2a11y1+a12y2++am1ymyma11y1+a12y2++am1ymy1a12y1+a22y2++am2ymy2a12y1+a22y2++am2ymyma12y1+a22y2++am2ymy1a1my1+a2my2++ammymy2a1my1+a2my2++ammymyma1my1+a2my2++ammym = a11a21am1a12a22am2a1ma2mamm =A

常用特例2:
已知 y → = ( y 1 y 2 ⋮ y m ) ,方阵 A = ( a 11 a 12 ⋯ a 1 m a 21 a 22 ⋯ a 2 m ⋮ ⋮ ⋱ ⋮ a m 1 a m 2 ⋯ a m m ) , 证明 ∂ y → T A y → ∂ y → = A y → + A T y → ( 分母布局 ) 另外,当 A 对称时, A T = A , 左式 = 2 A y → 已知\overrightarrow{y}=\left( \begin{matrix} y_{1} \\ y_{2} \\ \vdots \\ y_{m} \\ \end{matrix} \right),方阵A=\left( \begin{matrix} a_{11} & a_{12} & \cdots & a_{1m}\\ a_{21} & a_{22} & \cdots & a_{2m}\\ \vdots & \vdots & \ddots & \vdots \\ a_{m1} & a_{m2} & \cdots & a_{mm}\\ \end{matrix} \right),证明\frac{\partial{\overrightarrow{y}^TA\overrightarrow{y}}}{\partial\overrightarrow{y}}=A\overrightarrow{y} + A^T\overrightarrow{y}(分母布局)\\ 另外,当A对称时,A^T=A,左式=2A\overrightarrow{y} 已知y = y1y2ym ,方阵A= a11a21am1a12a22am2a1ma2mamm ,证明y y TAy =Ay +ATy (分母布局)另外,当A对称时,AT=A,左式=2Ay
我们A为2阶方阵,那么:

在这里插入图片描述

我们再利用分母布局:

在这里插入图片描述

3.4 利用常用特例求解线性回归的解析解

线性回归可以用 y = X w + b 进行表示 我们将偏置 b 合并到参数 w 中,合并⽅法是在包含所有参数的矩阵中附加⼀列 那么,线性回归的代价函数可以表示为: E w = ( y − X w ) T ( y − X w ) = ( y T − w T X ) ( y − X w ) = y T y − y T X w − w T X T y + w T X T X w 因此 ∂ E w ∂ W = ∂ ( y T y ) ∂ w − ∂ ( y T X w ) ∂ w − ∂ ( w T X T y ) ∂ w + ∂ ( w T X T X w ) ∂ w = 0 − X T y ( 常用特例 1 ) − X T y ( 常用特例 1 ) + 2 X T X w ( 常用特例 2 , X T X 为对称阵 ) = 2 X T X w − 2 X T y 我们将损失关于 w 的导数设置为 0 ,那么可以得到解析解: w = ( X T X ) − 1 X T y 线性回归可以用y=Xw+b进行表示\\ 我们将偏置b合并到参数w中,合并⽅法是在包含所有参数的矩阵中附加⼀列\\ 那么,线性回归的代价函数可以表示为:\\ E_w=(y-Xw)^T(y-Xw) \\ =(y^T-w^TX)(y-Xw) \\ =y^Ty-y^TXw-w^TX^Ty+w^TX^TXw \\ 因此\frac{\partial{E_w}}{\partial{W}}= \frac{\partial{(y^Ty)}}{\partial{w}}- \frac{\partial{(y^TXw)}}{\partial{w}}- \frac{\partial{(w^TX^Ty)}}{\partial{w}}+ \frac{\partial{(w^TX^TXw)}}{\partial{w}}\\ =0-X^Ty(常用特例1)-X^Ty(常用特例1)+2X^TXw(常用特例2,X^TX为对称阵)\\ =2X^TXw-2X^Ty \\ 我们将损失关于w的导数设置为0,那么可以得到解析解:w=(X^TX)^{-1}X^Ty 线性回归可以用y=Xw+b进行表示我们将偏置b合并到参数w中,合并法是在包含所有参数的矩阵中附加那么,线性回归的代价函数可以表示为:Ew=(yXw)T(yXw)=(yTwTX)(yXw)=yTyyTXwwTXTy+wTXTXw因此WEw=w(yTy)w(yTXw)w(wTXTy)+w(wTXTXw)=0XTy(常用特例1)XTy(常用特例1)+2XTXw(常用特例2XTX为对称阵)=2XTXw2XTy我们将损失关于w的导数设置为0,那么可以得到解析解:w=(XTX)1XTy

4、向量求导的链式法则

举例证明链式求导法则为: ∂ J ∂ u → = ∂ y → ( u → ) ∂ u → . ∂ J ∂ y → ( u → ) 举例证明链式求导法则为:\frac{\partial{J}}{\partial{\overrightarrow{u}}}=\frac{\partial{\overrightarrow{y}(\overrightarrow{u})}}{\partial{\overrightarrow{u}}}.\frac{\partial{J}}{\partial{\overrightarrow{y}(\overrightarrow{u})}} 举例证明链式求导法则为:u J=u y (u ).y (u )J

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/409073.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【前端素材】推荐优质医院后台管理系统I-Health平台模板(附源码)

一、需求分析 后台管理系统是一种用于管理和监控网站、应用程序或系统的在线工具。它通常是通过网页界面进行访问和操作,用于管理网站内容、用户权限、数据分析等。后台管理系统是网站或应用程序的控制中心,管理员可以通过后台系统进行各种管理和配置操…

如何用Pytest做性能测试?5个步骤轻松学会!

Pytest其实也是可以做性能测试或者基准测试的。是非常方便的。 可以考虑使用Pytest-benchmark类库进行。 安装pytest-benchmark 首先,确保已经安装了pytest和pytest-benchmark插件。可以使用以下命令安装插件: pip install pytest pytest-benchmark …

无需软件_暂停 Windows更新

按下 WIN 加 R 输入 regedit 进入注册表 点击 HKEY LOCAL-MACHINE 点击 SOFTWARE 点击 Microsoft 点击 WindowsUpdate 点击 UX 点击 Settings 然后空白区点击右键 选择新建,选择项,选择 dword 值 命名为 FlightSettingsMaxPauseDays 基数选择十…

创作纪念日:记录我的成长与收获

机缘 一开始是在我深入学习前端知识的Vue.js框架遇到了一个问题,怎么都解决不了,心烦意乱地来csdn上找解决方法。开心的是真被我找到了,真的很感恩,也意识到在这个平台上分享自己的经验是多么有意义的事情,可能随便的…

技术场景面试题

1.项目中遇到的比较棘手的问题,如何解决的。 第一个方向是设计模式在项目中的应用,遵循一系列的开发原则,设计模式都是前人总结出来的经验,对我们的开发有指导意义。 之前没有用设计模式,所有的登录都糅合在一个业务…

2024年云南事业单位报名流程!明天就开始报名啦,千万不要错过哦

注意啦!注意啦!2024年云南事业单位报名即将开始! ▶️公告已发布,2月26日上午9:00开始报名‼️ 相关时间节点 **报名时间:**2024年2月26日9:00至3月1日18:00 **资格初审时间:**2024年2月26日…

新版Java面试专题视频教程——虚拟机篇①

新版Java面试专题视频教程——虚拟机篇① 1 JVM组成1.1 JVM由那些部分组成,运行流程是什么?1.2 什么是程序计数器?1.3 你能给我详细的介绍Java堆吗?1.3.1 1.7和1.8 堆的区别1.3.2 元空间(MetaSpace)介绍 1.4 什么是虚拟机栈1.4.1 堆和栈的区…

centos7 docker 安装

1.卸载之前docker环境 sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docke…

软件测试人员的基本功包括些什么?

软件测试人员的基本功包括哪些呢?接下来该问题的阐述结构如下: 1、一看软件测试基本流程 2、明确软件测试的基本功有哪些 3、如何牢固掌握这些基本功 软件测试基本流程 上图就是软件测试的基本流程 1)需求评审 2)计划编写 …

南京观海微电子---AXI总线技术简介——ZYNQ PS和PL的互联技术

1.AXI总线介绍 AXI全称Advanced Extensible Interface,是Xilinx从6系列的FPGA开始引入的一个接口协议,主要描述了主设备和从设备之间的数据传输方式。AXI协议在Xilinx的ZYNQ系列芯片中继续使用,协议版本是AXI4。 ZYNQ为Xilinx推出的首款将高…

PHATGOOSE:使用LoRA Experts创建低成本混合专家模型实现零样本泛化

这篇2月的新论文介绍了Post-Hoc Adaptive Tokenwise Gating Over an Ocean of Specialized Experts (PHATGOOSE),这是一种通过利用一组专门的PEFT模块(如LoRA)实现零样本泛化的新方法 这个方法冻结整个模型,包括PEFT模块,并为每个模块训练一…

git之分支管理

一.理解分支 我们看下面这张图片: 在版本回退⾥,你已经知道,每次提交,Git都把它们串成⼀条时间线,这条时间线就可以理解为是⼀个分⽀。截⽌到⽬前,只有⼀条时间线,在Git⾥,这个分⽀…

动态规划--状态转移

解码方法 1.题目 2.思路 1)我们定义一个数组dp,其中dp[i]表示字符串s的前i个字符的解码方法总数。初始化时,dp[0]为1,因为空字符串有一种解码方式。dp[1]的值取决于第一个字符是否是0,如果不是0,则有一种…

LeetCode234.回文链表

题目 给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true ;否则,返回 false 。 示例 输入:head [1,2,2,1] 输出:true思路 找到链表的中间节点:可以使用快慢指针…

platform(驱动层+应用层)实现终端和中断开关点灯

设备树文件添加 myplatform{compatible"hqyj,myplatform";interrupt-parent<&gpiof>;interrupts<8 0>,<7 0>,<9 0>;led1-gpio<&gpioe 10 0>;led2-gpio<&gpiof 10 0>;led3-gpio<&gpioe 8 0>;reg<0x123…

锂电池SOC估计 | PyTorch实现基于Basisformer模型的锂电池SOC估计

目录 预测效果基本介绍程序设计参考资料 预测效果 基本介绍 PyTorch实现基于Basisformer模型的锂电池SOC估计 锂电池SOC估计&#xff0c;全新【Basisformer】时间序列预测 1.采用自适应监督自监督对比学习方法学习时序特征&#xff1b; 2.通过双向交叉注意力机制计算历史序列和…

从源码学习static的使用

从源码学习static的使用 前言 ​ static意味静态的&#xff0c;在Java中&#xff0c;主要用来修饰类级别的变量或方法等&#xff0c;被修饰的内容&#xff0c;表示随着类的加载而加载&#xff0c;而不是具体的实例级别。 ​ 具体到static的使用场景&#xff0c;主要有以下用…

java 并发的三大特性

CPU 三级缓存架构 为平衡CPU与主存的处理速度问题&#xff0c;提出在CPU中设置多级缓存机制。 当CPU要读取一个数据时&#xff0c;首先从一级缓存中查找&#xff0c;如果没有找到再从二级缓存中查找&#xff0c;如果还是没有就从三级缓存或内存中查找。 每个核心都含有一套L…

高频面试题整理(一)

文章目录 平台无关性如何实现&#xff1f;JVM如何加载 .class文件&#xff1f;什么是反射?谈谈ClassLoader谈谈类的双亲委派机制类的加载方式Java的内存模型?JVM内存模型-jdk8程序计数器&#xff1a;Java虚拟机栈局部变量表和操作数栈&#xff1a; Java内存模型中堆和栈的区别…

vector 用法

C++数组是继承C语言的,C++标准库中的vector封装了动态数组,是一个模板类(vector<int>,<>里面可以是各种类型。 定义方式: vector<元素类型> 对象名(长度); (注:vector还有个好处就是,数组定义时长度那里不能包含变量,但是vector定义时长度那里可…