• 矩阵求导数


    (一)向量求导基础

    矩阵和向量求导的几种形式(注意A不要求是对称矩阵):

    D ( A x ) = A T \color{red} D (Ax) = A^T D(Ax)=AT

    证明:
    此处要注意转置运算,因为梯度要转化为列向量的形式,故要转置一下。

    D ( x T A ) = A \color{red} D (x^TA) = A D(xTA)=A

    证明:
    此处要注意矩阵的转置,因为是求解的x的转置,故要转置两次,得到原矩阵A。

    D ( ∣ ∣ x ∣ ∣ 2 ) = D ( x T x ) = 2 x \color{red} D (||x||^2) = D (x^Tx) = 2x D(∣∣x2)=D(xTx)=2x

    D ( ∣ ∣ x ∣ ∣ F 2 ) = 2 x \color{red} D (||x||^2_F) = 2x D(∣∣xF2)=2x

    证明:

    D ( x T x ) = ( x + Δ x ) T ( x + Δ x ) − x T x Δ x = x T Δ x + Δ x T x + Δ x T Δ x Δ x D(x^Tx) =\frac{ (x+\Delta x)^T(x + \Delta x) - x^Tx }{\Delta x}= \frac{x^T\Delta x+\Delta x^Tx +\Delta x^T\Delta x}{\Delta x} D(xTx)=Δx(x+Δx)T(x+Δx)xTx=ΔxxTΔx+ΔxTx+ΔxTΔx

    注意到,上式分子中第一项和第二项是完全一样的,故上式结果是2x

    D ( x T A x ) = ( A + A T ) x \color{red} D( x^T A x) = (A + A^T)x D(xTAx)=(A+AT)x

    证明:

    D ( x T A x ) = ( x T + Δ x T ) A ( x + Δ x ) − x T A x Δ x = x T A Δ x + Δ x T A x + Δ x T A Δ x Δ x D( x^T A x) = \frac{(x^T+\Delta x ^T)A(x + \Delta x) - x^TA x}{\Delta x} =\\ \frac{x^T A\Delta x +\Delta x^TAx + \Delta x^TA\Delta x}{\Delta x} D(xTAx)=Δx(xT+ΔxT)A(x+Δx)xTAx=ΔxxTAΔx+ΔxTAx+ΔxTAΔx

    容易看出,上式中分子的第一项和第二项都是标量二次型,假设A维度是mxn,且k=max(m,n),将A扩充为kxk维矩阵后,得到化简后结果为 ( A T + A ) x (A^T + A)x (AT+A)x

    没有那么多技巧,上述几个公式必须要牢记!

    下一篇:
    https://editor.csdn.net/md/?not_checkout=1&spm=1001.2014.3001.4503

    (二)例子

    例子:
    矩阵 A = ∣ 1 2 1 2 − 1 3 ∣ , 计算 f ( x ) = ∣ ∣ A x ∣ ∣ 2 ∣ ∣ x ∣ ∣ 2 的最大值。 矩阵A = \begin {vmatrix} 1 & 2 & 1\\2 & -1 & 3 \end {vmatrix},计算f(x) = \frac{||Ax||_2}{||x||_2}的最大值。 矩阵A= 122113 ,计算f(x)=∣∣x2∣∣Ax2的最大值。

    (此题解题思路错误!)
    解:

    根据导数定义和性质,极值处导数为0。首先求出矩阵的导数,置为0后求解。

    首先 f ( x ) = ∣ x 1 x 2 x 3 ∣ ∣ 1 2 2 − 1 1 3 ∣ ∣ 1 2 1 2 − 1 3 ∣ ∣ x 1 x 2 x 3 ∣ x 1 2 + x 2 2 + x 3 2 = ∣ x 1 x 2 x 3 ∣ ∣ 5 0 7 0 5 − 1 7 − 1 10 ∣ ∣ x 1 x 2 x 3 ∣ x 1 2 + x 2 2 + x 3 2 f(x) = \frac{ \begin {vmatrix} x_1 x_2 x_3 \end {vmatrix} \begin {vmatrix} 1 & 2 \\2 & -1 \\1 & 3 \end {vmatrix}\begin {vmatrix} 1 & 2 & 1\\2 & -1 & 3 \end {vmatrix} \begin {vmatrix} x_1\\ x_2\\x_3 \end {vmatrix} }{x_1^2 + x_2^2 + x_3^2} =\\ \frac{ \begin {vmatrix} x_1 x_2 x_3 \end {vmatrix} \begin {vmatrix} 5 & 0 & 7\\0 & 5 & -1 \\7 & -1 & 10\end {vmatrix} \begin {vmatrix} x_1\\ x_2\\x_3 \end {vmatrix} }{x_1^2 + x_2^2 + x_3^2} f(x)=x12+x22+x32 x1x2x3 121213 122113 x1x2x3 =x12+x22+x32 x1x2x3 5070517110 x1x2x3

    考虑矩阵 x T A T A x x^T A ^ T A x xTATAx求导:

    ( x + Δ x ) T A T A ( x + Δ x ) = ( x T + Δ x T ) A T A ( x + Δ x ) = ( x T A T A + Δ x T A T A ) ( x + Δ x ) = x T A T A x + x T A T A Δ x + Δ x T A T A x + Δ x T A T A Δ x (x + \Delta x)^T A ^ T A (x + \Delta x) =(x^T + \Delta x ^ T) A ^ T A (x + \Delta x) =\\ (x^T A ^ T A + \Delta x ^ T A ^ T A ) (x + \Delta x) = \\ x^T A ^ T A x +x^T A ^ T A \Delta x + \Delta x ^ T A ^ T A x + \Delta x ^ T A ^ T A \Delta x (x+Δx)TATA(x+Δx)=(xT+ΔxT)ATA(x+Δx)=(xTATA+ΔxTATA)(x+Δx)=xTATAx+xTATAΔx+ΔxTATAx+ΔxTATAΔx

    注意:上式中每一项都是一个标量,而不是向量。 \color{red}注意:上式中每一项都是一个标量,而不是向量。 注意:上式中每一项都是一个标量,而不是向量。

    ∣ ∣ ( x + Δ x ) T A T A ( x + Δ x ) − x T A T A x ∣ ∣ ∣ ∣ Δ x ∣ ∣ = ∣ ∣ x T A T A Δ x + Δ x T A T A x + Δ x T A T A Δ x ∣ ∣ ∣ ∣ Δ x ∣ ∣ = 2 A T A x \frac { ||(x + \Delta x)^T A ^ T A (x + \Delta x) -x^T A ^ T A x ||}{ || \Delta x||} = \\ \frac {||x^T A ^ T A \Delta x + \Delta x ^ T A ^ T A x + \Delta x ^ T A ^ T A \Delta x ||}{ ||\Delta x ||} = 2 A^ TA x ∣∣Δx∣∣∣∣(x+Δx)TATA(x+Δx)xTATAx∣∣=∣∣Δx∣∣∣∣xTATAΔx+ΔxTATAx+ΔxTATAΔx∣∣=2ATAx

    注意:上式取 2 A T A x 而不是 x T A T A 的原因是, Δ x 一般是列向量,需要放在后面,此时需要将矩阵导数放在前面,并转置。 \color{red}注意:上式取2 A^ TA x而不是x^ TA ^T A的原因是,\\ \Delta x一般是列向量,需要放在后面,此时需要将矩阵导数放在前面,并转置。 注意:上式取2ATAx而不是xTATA的原因是,Δx一般是列向量,需要放在后面,此时需要将矩阵导数放在前面,并转置。

    现在将导数置为0并求解方程组:

    2 A T A x = 0 2 A^ TA x = 0 2ATAx=0 得到方程组的解是矩阵的特征向量。

    此方法对吗 ? \color{red}此方法对吗? 此方法对吗?

  • 相关阅读:
    SpringBoot+Shiro+Vue实现身份验证
    spring揭秘总结(一)——spring的Ioc容器
    SpringBoot的初始文件与类分析
    看了就会,幼儿园赶快学习这个技术吧
    乐优商城_第1章_springboot
    bean的生命周期分析(四)
    【Python学习笔记】Python近期总结
    【时间序列异常检测】Anomaly Transformer论文笔记
    安防监控/视频汇聚/云存储/AI智能视频分析平台EasyCVR显示CPU过载,该如何解决?
    【SpringBoot】SpringBoot整合SpringSecurity+thymeleaf实现认证授权(配置对象版)
  • 原文地址:https://blog.csdn.net/m0_37567738/article/details/133444201