欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

在对向量进行导数运算时非常有效的三个公式~

最编程 2024-07-02 16:21:30
...

在进行对向量的求导时,非常好用的三个公式
分别是
1.对于向量x求导 ∇ x w T x = w \nabla_x w^Tx=w xwTx=w
2.对向量x求导 ∇ x x T A x = ( A + A T ) x \nabla_x x^TAx=(A+A^T)x xxTAx=(A+AT)x其中x为向量,A为矩阵
3.对向量x求二阶导(即Hessian矩阵) ∇ 2 x T A x = A + A T \nabla ^2 x^TAx=A+A^T 2xTAx=A+AT


详细的证明
1.对于向量x求导
∇ x w T x = w \nabla_x w^Tx=w xwTx=w
证明:
w T x = ( w 1 w 2 . . . w n ) ⋅ ( x 1 x 2 . . . x n ) = ∑ i = 1 n w i x i w^Tx=\begin{pmatrix}w_1&w_2&...&w_n\end{pmatrix}\cdot\begin{pmatrix}x_1\\x_2\\...\\x_n\end{pmatrix}\\ =\sum\limits_{i=1}^nw_ix_i wTx=(w1w2...wn)x1x2...xn=i=1nwixi
所以对 x i x_i xi求导,对应的导数为 w i w_i wi
∇ x w T x = w \nabla_x w^Tx=w xwTx=w


2.对向量x求导
∇ x x T A x = ( A + A T ) x \nabla_x x^TAx=(A+A^T)x xxTAx=(A+AT)x
其中x为向量,A为矩阵

证明:
对于二次型 x T A x x^TAx xTAx
x T A x = ( x 1 x 2 . . . x n ) ( a 11 a 12 . . . a 1 n a 21 a 22 . . . a 2 n . . a n 1 a n 2 . . . a n n ) ( x 1 x 2 . . . x n ) = ( x 1 x 2 . . . x n ) ( a 11 x 1 + a 12 x 2 + . . . + a 1 n x n a 21 x 1 + a 22 x 2 + . . . + a 2 n x n . . . a n 1 x 1 + a n 2 x 2 + . . . + a n n x n ) = a 11 x 1 x 1 + a 12 x 1 x 2 + . . . + a 1 n x 1 x n + a 21 x 2 x 1 + a 22 x 2 x 2 + . . . + a 2 n x 2 x n + . . . + a n 1 x n x 1 + a n 2 x n x 2 + . . . + a n n x n x n = ∑ i = 1 n ∑ j = 1 n a i j x i x j x^TAx=\begin{pmatrix}x_1&x_2&...&x_n\end{pmatrix}\begin{pmatrix} a_{11}&a_{12}&...&a_{1n}\\a_{21}&a_{22}&...&a_{2n}\\.\\.\\a_{n1}&a_{n2}&...&a_{nn}\end{pmatrix}\begin{pmatrix}x_1\\x_2\\...\\\\x_n\end{pmatrix}\\ =\begin{pmatrix}x_1&x_2&...&x_n\end{pmatrix}\begin{pmatrix}a_{11}x_1+a_{12}x_2+...+a_{1n}x_{n}\\a_{21}x_1+a_{22}x_2+...+a_{2n}x_n\\...\\a_{n1}x_1+a_{n2}x_2+...+a_{nn}x_n\end{pmatrix}\\ =a_{11}x_1x_1+a_{12}x_1x_2+...+a_{1n}x_1x_n+a_{21}x_2x_1+a_{22}x_2x_2+...+a_{2n}x_2x_n +...+a_{n1}x_nx_1+a_{n2}x_nx_2+...+a_{nn}x_nx_n \\ =\sum\limits_{i=1}^n\sum\limits_{j=1}^na_{ij}x_ix_j xTAx=(x1x2...xn)a11a21..an1a12a22an2.........a1na2nann