AIまいもこ

~理系学生が人工知能を用いて面白いことをやってみたい!!~

ベクトル・行列を含む微分の計算方法まとめてみた

f:id:AI_maimoko:20210901233312p:plain

この記事は、こんな人におすすめです。

Target
  • ベクトルで微分する方法がわからない
  • ヤコブ行列(ヤコビアン

    まず準備としてヤコビ(Jacobi)行列の定義を確認します。ヤコビ行列はヤコビアン(Jacobian)とも呼ばれる微分係数を多変数関数へ一般化したものです。
    2変数のC^1級関数y_{1}(x_1,x_2)y_{2}(x_1,x_2)を用いて、2次元ベクトル \boldsymbol{y}(x_1,x_2)

     \boldsymbol{y}(x_1,x_2)= \begin{bmatrix} y_{1}(x_1,x_2)\\y_{2}(x_1,x_2)\end{bmatrix}
    としておきます。
    y_{1}(x_1,x_2)y_{2}(x_1,x_2)をそれぞれ全微分すると、
    \begin{align}
\Delta y_{1}&=\frac{\partial y_1}{\partial x_1}\Delta x_1 +\frac{\partial y_1}{\partial x_2}\Delta x_2\\
\Delta y_{2}&=\frac{\partial y_2}{\partial x_1}\Delta x_1 +\frac{\partial y_2}{\partial x_2}\Delta x_2
\end{align}
    となります。これらをまとめて表記すると以下のように書くことができます。
     \begin{bmatrix} \Delta y_{1}\\\Delta y_{2}\end{bmatrix}= \begin{bmatrix} \frac{\partial y_1}{\partial x_1} &\frac{\partial y_1}{\partial x_2}\\ \frac{\partial y_2}{\partial x_1}&\frac{\partial y_2}{\partial x_2}\end{bmatrix} \begin{bmatrix} \Delta x_{1}\\\Delta x_{2}\end{bmatrix}
    ここに出てくる
    \begin{bmatrix} \frac{\partial y_1}{\partial x_1} &\frac{\partial y_1}{\partial x_2}\\ \frac{\partial y_2}{\partial x_1}&\frac{\partial y_2}{\partial x_2}\end{bmatrix}
    がヤコビ行列となります。

    これを一般化すると,
    n変数のC^1級関数y_{1}(x_1,\cdots,x_n),\cdots,y_{m}(x_1,\cdots,x_n)を用いて、
    m次元のベクトル \boldsymbol{y}(x_1,\cdots,x_n)
     \boldsymbol{y}(x_1,\cdots,x_n)= \begin{bmatrix} y_{1}(x_1,\cdots,x_n)\\ \vdots \\y_{m}(x_1,\cdots,x_n)\end{bmatrix}
    とした時、 \boldsymbol{y}(x_1,\cdots,x_n)の各要素を全微分すると,
     \begin{bmatrix} \Delta y_{1}\\ \vdots \\ \Delta y_{m}\end{bmatrix}= \begin{bmatrix} \frac{\partial y_1}{\partial x_1} &\cdots&\frac{\partial y_1}{\partial x_n}\\ \vdots&\ddots&\vdots \\ \frac{\partial y_m}{\partial x_1}&\cdots&\frac{\partial y_m}{\partial x_n}\end{bmatrix} \begin{bmatrix} \Delta x_{1}\\ \vdots \\ \Delta x_{n}\end{bmatrix}
    となります。
    よって,この場合のヤコビ行列は以下のようになります。
    \begin{bmatrix} \frac{\partial y_1}{\partial x_1} &\cdots&\frac{\partial y_1}{\partial x_n}\\ \vdots&\ddots&\vdots \\ \frac{\partial y_m}{\partial x_1}&\cdots&\frac{\partial y_m}{\partial x_n}\end{bmatrix}
    それでは具体例をみていきましょう。
    例)2次元ベクトル\begin{bmatrix} r\cos \theta \\ r \sin \theta \end{bmatrix}のヤコビ行列を求めよ。

    \begin{bmatrix} \frac{\partial ( r\cos \theta)}{\partial r} &\frac{\partial  (r\cos \theta)}{\partial \theta}\\ \frac{\partial (r \sin \theta)}{\partial r}&\frac{\partial (r \sin \theta)}{\partial \theta}\end{bmatrix}=\begin{bmatrix} \cos \theta & -r\sin \theta \\  \sin \theta & r \cos \theta\end{bmatrix}

    ベクトルと微分

    それではベクトルを含んだ微分の一般式をみていきましょう。以下の3種類に分けて説明していきます。

  • ベクトルをスカラー微分
  • スカラーをベクトルで微分
  • ベクトルをベクトルで微分
  • ここではx,yスカラー値、\boldsymbol{x}=\begin{bmatrix}x_1\\ \vdots \\ x_n \end{bmatrix}\boldsymbol{y}=\begin{bmatrix}y_1\\ \vdots \\ y_m \end{bmatrix}をそれぞれn,m次元のベクトルとして扱います。

    ベクトルをスカラー微分

    m次元ベクトル\boldsymbol{y}スカラーx微分すると次のようになります。

    \frac{d \boldsymbol{y}}{dx}=\begin{bmatrix} \frac{d y_1}{dx}\\ \vdots \\ \frac{d y_m}{dx} \end{bmatrix}
    それでは具体例をみていきましょう。
    例)3次元ベクトル\boldsymbol{y}=\begin{bmatrix} x^{3} \\ 2x^{2} \\ 1 \end{bmatrix}x微分せよ。

    \frac{d \boldsymbol{y}}{dx}=\begin{bmatrix} \frac{dx^{3}}{dx} \\ \frac{d(2x^{2})}{dx} \\ \frac{d(1)}{dx} \end{bmatrix}=\begin{bmatrix} 3x^{2}  \\4x\\0\end{bmatrix}

    スカラーをベクトルで微分

    スカラーyn次元ベクトル\boldsymbol{x}微分すると次のようになります。

    \frac{d y}{d \boldsymbol{x}}=\begin{bmatrix} \frac{\partial  y}{\partial x_1}\\ \vdots \\ \frac{\partial y}{\partial x_n} \end{bmatrix}
    それでは具体例をみていきましょう。
    例)y=2x_{1}+x_{2}-x_{3} \boldsymbol{x}=\begin{bmatrix} x_{1} \\ x_{2} \\ x_{3} \end{bmatrix}微分せよ。

    \frac{d y}{d \boldsymbol{x}}=\begin{bmatrix} \frac{\partial(2x_{1}+x_{2}-x_{3})}{\partial x_{1}} \\ \frac{\partial (2x_{1}+x_{2}-x_{3})}{\partial x_{2}} \\ \frac{\partial (2x_{1}+x_{2}-x_{3})}{\partial x_{3}} \end{bmatrix}=\begin{bmatrix} 2 \\1\\-1\end{bmatrix}

    ベクトルをベクトルで微分

    m次元ベクトル\boldsymbol{y}n次元ベクトル\boldsymbol{x}微分すると次のようになります。

    \frac{d \boldsymbol{y}}{d \boldsymbol{x}}=\begin{bmatrix} \frac{\partial y_1}{\partial x_1} &\cdots&\frac{\partial y_1}{\partial x_n}\\ \vdots&\ddots&\vdots \\ \frac{\partial y_m}{\partial x_1}&\cdots&\frac{\partial y_m}{\partial x_n}\end{bmatrix}

    これはお気づきの通りヤコビ行列となります。ベクトル同士の微分の方法を忘れてしまった場合はヤコビ行列の定義を思い出すとよいと思います。イメージとしては、\Delta \boldsymbol{y}=\frac{d \boldsymbol{y}}{d \boldsymbol{x}} \Delta \boldsymbol{x}が成り立つ\frac{d \boldsymbol{y}}{d \boldsymbol{x}}を、\boldsymbol{y}の全微分から考えるです。

    行列と微分

    続いて行列を含んだ微分の一般式をみていきましょう。以下の2種類に分けて説明していきます。

  • 行列をスカラー微分
  • スカラーを行列で微分
  • ここではx,yスカラー値、\boldsymbol{X}=\begin{bmatrix}x_{11} & \cdots & x_{1n_{x}} \\ \vdots&\ddots&\vdots \\ x_{m_{x}1} & \cdots & x_{m_{x}n_{x}} \end{bmatrix}m_{x}\times n_{x}の行列、\boldsymbol{Y}=\begin{bmatrix}y_{11} & \cdots & y_{1n_{y}} \\ \vdots&\ddots&\vdots \\ y_{m_{y}1} & \cdots & y_{m_{y}n_{y}} \end{bmatrix}m_{y}\times n_{y}の行列として扱います。

    行列をスカラー微分

    m_{y}\times n_{y}の行列\boldsymbol{Y}スカラーx微分すると次のようになります。

    \frac{d \boldsymbol{Y}}{dx}=\begin{bmatrix} \frac{dy_{11}}{dx} & \cdots &\frac{ dy_{1n_{y}}}{dx} \\ \vdots&\ddots&\vdots \\ \frac{dy_{m_{y}1}}{dx} & \cdots & \frac{dy_{m_{y}n_{y}}}{dx} \end{bmatrix}
    それでは具体例をみていきましょう。
    例)2\times3の行列\boldsymbol{Y}=\begin{bmatrix} x^{3} & x^{2}&x \\ 4x^{4}&2x^{2} & 1 \end{bmatrix}x微分せよ。

    \frac{d \boldsymbol{Y}}{dx}=\begin{bmatrix} \frac{dx^{3}}{dx} & \frac{dx^{2}}{dx}&\frac{dx}{dx} \\ \frac{d(4x^{4})}{dx}&\frac{d(2x^{2})}{dx} & \frac{d(1)}{dx} \end{bmatrix}=\begin{bmatrix} 3x^{2} & 2x&1 \\ 16x^{3}&4x & 0 \end{bmatrix}

    スカラーを行列で微分

    スカラーym_{x}\times n_{x}の行列\boldsymbol{X}微分すると次のようになります。

    \frac{dy}{d \boldsymbol{X}}=\begin{bmatrix} \frac{\partial y}{\partial x_{11}} & \cdots &\frac{\partial y}{\partial y_{1n_{x}}} \\ \vdots&\ddots&\vdots \\ \frac{\partial y}{\partial x_{m_{x}1}} & \cdots & \frac{\partial y}{\partial x_{m_{x}n_{x}}} \end{bmatrix}
    それでは具体例をみていきましょう。
    例)y=4x_{1}^{2}-6x_{1}x_{2}2\times2の行列\boldsymbol{X}=\begin{bmatrix} x_{1} & x_{2}\\ 2x_{1}&x_{3} \end{bmatrix}微分せよ。

    \frac{dy}{d \boldsymbol{X}}=\begin{bmatrix} \frac{\partial (4x_{1}^{2}-6x_{1}x_{2})}{\partial x_{1}} & \frac{\partial (4x_{1}^{2}-6x_{1}x_{2})}{\partial x_{2}}\\ \frac{\partial (4x_{1}^{2}-6x_{1}x_{2})}{\partial (2x_{1})}&\frac{\partial (4x_{1}^{2}-6x_{1}x_{2})}{\partial x_{3}} \end{bmatrix}=\begin{bmatrix} 8x_{1}-6x_{2} & -6x_{1}\\ 4x_{1}-3x_{2}&0 \end{bmatrix}