• 机器学习之深入理解矩阵求导的基本方法


    一、分子布局、分母布局

    前提: 若 x 为向量,则默认 xx 为列向量, xTx^T 为行向量

    布局简单地理解就是分子 y 、分母 x 是行向量还是列向量。

    • 分子布局(Numerator-layout): 分子为 yy 或者分母为 xTx^T(即分子为列向量或者分母为行向量)
    • 分母布局(Denominator-layout): 分子为 yTy^T 或者分母为 xx(即分子为行向量或者分母为列向量)
    1. 分子布局
    • 标量/向量:
      在这里插入图片描述(分子为标量,分母的向量为行向量)

    • 向量/标量:
      在这里插入图片描述(分子的向量为列向量,分母为标量)

    • 向量/向量:
      在这里插入图片描述(分子为列向量横向平铺,分母为行向量纵向平铺)

    • 标量/矩阵:
      在这里插入图片描述(分子为标量,分母为矩阵的转置)

    • 矩阵/标量:
      在这里插入图片描述(分子为矩阵的转置,分母为标量)

    2. 分母布局
    • 标量/向量:
      在这里插入图片描述(分子为标量,分母的向量为列向量)

    • 向量/标量:
      在这里插入图片描述(分子的向量为行向量,分母为标量)

    • 向量/向量:
      在这里插入图片描述(分子为行向量纵向平铺,分母为列向量横向平铺)

    • 标量/矩阵:
      在这里插入图片描述(分子为标量,分母的矩阵为原始矩阵)

    二、几个重要的定义

    定义1、梯度(Gradient)

    f(x)f(x)是一个变量为xx的标量函数,其中x=(x1...xN)Tx=(x_1...x_N)^T。那么定义f(x)f(x)xx的梯度为df(x)dxfrac{d f(x)}{d x}
    在这里插入图片描述
    梯度的转置是一个行向量:
    在这里插入图片描述

    定义2. 海塞矩阵(Hessian matrix)

    f(x)f(x)是一个二阶可微分的标量函数,其中x=(x1...xN)Tx=(x_1...x_N)^T。那么定义f(x)f(x)xx的海塞矩阵为d2f(x)dxdxTfrac{d^{2} f(x)}{d x d x^{T}}

    在这里插入图片描述

    定义3. 雅可比矩阵(Jacobian matrix)

    f(x)f(x)是一个K x 1的列向量函数
    在这里插入图片描述
    其中x=(x1...xL)Tx=(x_1...x_L)^T。那么定义f(x)f(x)xx的雅可比矩阵为df(x)dxTfrac{d f(x)}{d x^{T}}

    在这里插入图片描述

    定义4. 矩阵对标量微分

    M × N的矩阵AA的元素是一个向量xx的元素xqx_q的函数,定义Axqfrac{partial A}{partial x_{q}}为:

    在这里插入图片描述
    矩阵的二阶微分:
    在这里插入图片描述

    三、矩阵迹的微分(Derivative of Traces)

    在机器学习中,有时候需要对一个矩阵的F模进行微分,而矩阵的F是可以转换为矩阵的迹,矩阵的迹的微分的计算可以帮助我们计算矩阵的F模的微分。矩阵的F模和迹的关系:

    在这里插入图片描述
    其中AA^∗AA的共轭转置。矩阵的迹的性质:

    在这里插入图片描述
    xtr(F(x))=f(x)T frac{partial}{partial x} operatorname{tr}(F(x))=f(x)^{T}

    其中,f()f()F()F()的微分。

    一阶:
    在这里插入图片描述
    二阶:
    在这里插入图片描述
    高阶:
    在这里插入图片描述

    如果想要更多的资源,欢迎关注 @我是管小亮,文字强迫症MAX~

    回复【福利】即可获取我为你准备的大礼,包括C++,编程四大件,NLP,深度学习等等的资料。

    想看更多文(段)章(子),欢迎关注微信公众号「程序员管小亮」~

    在这里插入图片描述

    参考文章:

  • 相关阅读:
    cuda npp库旋转图片
    Xml序列化 详解
    jsonp简介
    在centos7下安装.net core
    安装vs2017后造成无法打开xproj项目无法打开
    SqlServer 语法
    js自定义事件
    HttpWebResponse 解压gzip、deflate压缩
    centos7 安装.net core的方法
    帮助类-从tfs获取数据
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13302782.html
Copyright © 2020-2023  润新知