zoukankan      html  css  js  c++  java
  • 标量对向量求导

    标量 $y$ 对 $n$ 维列向量 $x = (x_{1},x_{2},cdots,x_{n})^{T}$ 求导,其结果还是一个 $n$ 维列向量:

    $$frac{d y}{d x} = egin{bmatrix}
    frac{partial y}{partial x_{1}} \
    frac{partial y}{partial x_{2}} \
    cdots \
    frac{partial y}{partial x_{n}}
    end{bmatrix}$$

    标量 $y$ 对 $n$ 维行向量 $x^{T} = (x_{1},x_{2},cdots,x_{n})$ 求导,其结果还是一个 $n$ 维行向量:

    $$frac{d y}{d x^{T}} = egin{bmatrix}
    frac{partial y}{partial x_{1}} & frac{partial y}{partial x_{2}} & cdots  & frac{partial y}{partial x_{n}}
    end{bmatrix}$$

    形状规则:标量 $y$ 对向量 $x$ 的每个元素求导,然后将各个求导结果按向量 $x$ 的形状排列。

    1. 标量对列向量 $x$ 求导的应用

       1)$f(x) = eta^{T}x$,$eta = (eta_{1},eta_{2},...,eta_{n})^{T}, x = (x_{1},x_{2},...,x_{n})^{T}$,求 $frac{d f}{d x}$。

          标量对列向量求偏导,求得的也是一个列向量,结果向量的每个元素为 $f$ 对自变量每个坐标轴的偏导数

          将函数 $f(x)$ 展开得:

    $$f(x) = sum_{i = 1}^{n} eta_{i}x_{i}$$

          则有

    $$frac{partial f}{partial x_{k}} = eta_{k}$$

          所以

    $$frac{d f}{d x} = egin{bmatrix}
    frac{partial f}{partial x_{1}} \
    frac{partial f}{partial x_{2}} \
    cdots \
    frac{partial f}{partial x_{n}}
    end{bmatrix} = egin{bmatrix}
    eta_{1} \
    eta_{2} \
    cdots    \
    eta_{n}
    end{bmatrix} = eta$$

       2)二次型 $f(x) = x^{T}Ax$,其中 $A = egin{bmatrix}
    a_{11} & a_{12} & cdots  & a_{1n} \
    a_{21} & a_{22} & cdots  & a_{2n} \
    cdots  & cdots  & cdots  & cdots  \
    a_{n1} & a_{n2} & cdots  & a_{nn}
    end{bmatrix}$,现在我们要求 $frac{d f}{d x}$。

          标量对列向量求偏导,求得的也是一个列向量,结果向量的每个元素为 $f$ 对自变量每个坐标轴的偏导数

          一个二次型本身是一个多项式,可以写为如下形式:

    $$f(x_{1},x_{2},...,x_{n}) = sum_{i=1}^{n}sum_{j=1}^{n}a_{ij}x_{i}x_{j}$$

          现在相对 $x_{k}$ 求偏导,它的偏导数由以下四种不重叠的情况组成

          a. $i eq k, j eq k$:

             这种情况多项式中没有未知数 $x_{k}$,所以这部分偏导数为 $0$

    $$ abla 1 = 0$$

          b. $i eq k, j = k$:

    $$ abla 2 = sum_{i eq k}^{}a_{ik}x_{i}$$

          c. $i = k, j eq k$:

    $$ abla 3 = sum_{j eq k}^{}a_{kj}x_{j}$$

          d. $i = k, j = k$:

    $$ abla 4 = 2a_{kk}x_{k}$$

          综上可得:

    $$frac{partial f}{partial x_{k}} = sum_{i eq k}^{}a_{ik}x_{i} + sum_{j eq k}^{}a_{kj}x_{j} + 2a_{kk}x_{k} \
    = sum_{i=1}^{n} a_{ik}x_{i} + sum_{j = 1}^{n}a_{kj}x_{j}$$

          于是有

    $$frac{d f}{d x} = egin{bmatrix}
    frac{partial f}{partial x_{1}} \
    frac{partial f}{partial x_{2}} \
    cdots \
    frac{partial f}{partial x_{n}}
    end{bmatrix} =
    egin{bmatrix}
    sum_{i=1}^{n} a_{i1}x_{i} + sum_{j = 1}^{n}a_{1j}x_{j} \
    sum_{i=1}^{n} a_{i2}x_{i} + sum_{j = 1}^{n}a_{2j}x_{j} \
    cdots \
    sum_{i=1}^{n} a_{in}x_{i} + sum_{j = 1}^{n}a_{nj}x_{j}
    end{bmatrix} =
    egin{bmatrix}
    sum_{i=1}^{n} a_{i1}x_{i} \
    sum_{i=1}^{n} a_{i2}x_{i} \
    cdots \
    sum_{i=1}^{n} a_{in}x_{i}
    end{bmatrix} + egin{bmatrix}
    sum_{j = 1}^{n}a_{1j}x_{j} \
    sum_{j = 1}^{n}a_{2j}x_{j} \
    cdots \
    sum_{j = 1}^{n}a_{nj}x_{j}
    end{bmatrix}$$

          进一步得:

    $$frac{d f}{d x} =
    egin{bmatrix}
    sum_{i=1}^{n} a_{i1}x_{i} \
    sum_{i=1}^{n} a_{i2}x_{i} \
    cdots \
    sum_{i=1}^{n} a_{in}x_{i}
    end{bmatrix} + egin{bmatrix}
    sum_{j = 1}^{n}a_{1j}x_{j} \
    sum_{j = 1}^{n}a_{2j}x_{j} \
    cdots \
    sum_{j = 1}^{n}a_{nj}x_{j}
    end{bmatrix}
    = egin{bmatrix}
    a_{11} & a_{21} & cdots & a_{n1} \
    a_{12} & a_{22} & cdots & a_{n2} \
    cdots & cdots & cdots & cdots \
    a_{1n} & a_{2n} & cdots & a_{nn}
    end{bmatrix} egin{bmatrix}
    x_{1} \
    x_{2} \
    cdots \
    x_{n}
    end{bmatrix} + egin{bmatrix}
    a_{11} & a_{12} & cdots & a_{1n} \
    a_{21} & a_{22} & cdots & a_{2n} \
    cdots & cdots & cdots & cdots \
    a_{n1} & a_{n2} & cdots & a_{nn}
    end{bmatrix} egin{bmatrix}
    x_{1} \
    x_{2} \
    cdots \
    x_{n}
    end{bmatrix} \
    = Ax + A^{T}x = 2Ax$$

       3)$f(x) = x^{T}x$,$x = (x_{1},x_{2},...,x_{n})^{T}$,求 $frac{d f}{d x}$。

          这个可以换个形式,即 $f(x) = x^{T}Ex$,这样就变成了一个二次型,利用二次型对列向量求导公式可得

    $$frac{df}{dx} = 2Ex = 2x$$

     

  • 相关阅读:
    EPPlus实战篇——Excel写入
    EPPlus实战篇——Excel读取
    Elasticsearch,Kibana,Logstash,NLog实现ASP.NET Core 分布式日志系统
    ElasticSearch+NLog+Elmah实现Asp.Net分布式日志管理
    C盘清理
    vs2017离线安装且安装包不占用C盘空间
    CommandLine exe参数
    Nuget 打包 for .Net Standart project
    Redis 应用:缓存
    Redis架构设计
  • 原文地址:https://www.cnblogs.com/yanghh/p/13756471.html
Copyright © 2011-2022 走看看