機械学習基礎理論独習

誤りがあればご指摘いただけると幸いです。数式が整うまで少し時間かかります。リンクフリーです。

勉強ログです。リンクフリーです
目次へ戻る

ベクトル、行列に関する微分の定義

定義

ベクトルや行列のスカラーについての微分を考える必要があることがあります。

以下で、
「ベクトルのスカラーによる微分」、「行列のスカラーの行列による微分」、
スカラーのベクトルによる微分」、「スカラーの行列による微分」、「ベクトルのベクトルによる微分」を
恐らく日本で一番読まれている機械学習の本「パターン認識機械学習」(以下、PRML)に従って定義します。

数学的には「ベクトルで微分」というのはおかしな話ですが、
微分の連鎖率が使えたり、式の見通しがよくなるので、そういったものを定義したんだと思います。

ベクトル{\bf a}\in{\mathbb R}^nスカラーxによる微分は、それ自身ベクトルであり、その各要素は

\begin{eqnarray}
\left(\frac{\partial {\bf a}}{\partial x}\right)_i=\frac{\partial a_i}{\partial x}\tag{1}
\end{eqnarray}

によって与えられ、全成分書き出すと以下のように書けます。

\begin{eqnarray}
\frac{\partial {\bf a}}{\partial x}=\begin{pmatrix}\frac{\partial a_1}{\partial x}\\ \vdots\\ \frac{\partial a_n}{\partial x} \end{pmatrix}\tag{2}
\end{eqnarray}


行列{\bf A}\in{\mathbb R}^{m\times n}スカラーxによる微分は、それ自身行列であり、その各要素は

\begin{eqnarray}
\left(\frac{\partial {\bf A}}{\partial x}\right)_{ij}=\frac{\partial a_{ij}}{\partial x}\tag{3}
\end{eqnarray}

によって与えられ、全成分書き出すと以下のように書けます。

\begin{eqnarray}
\frac{\partial {\bf A}}{\partial x}=\begin{pmatrix}
\frac{\partial a_{11}}{\partial x} & \cdots & \frac{\partial a_{1n}}{\partial x} \\
\vdots & \ddots & \vdots\\
\frac{\partial a_{m1}}{\partial x} & \cdots & \frac{\partial a_{mn}}{\partial x}\\ 
\end{pmatrix}\tag{4}
\end{eqnarray}


スカラーxのベクトル{\bf a}\in{\mathbb R}^nによる微分は、それ自身ベクトルであり、その各要素は

\begin{eqnarray}
\left(\frac{\partial x}{\partial {\bf a}}\right)_i=\frac{\partial x}{\partial a_i}\tag{5}
\end{eqnarray}

によって与えられ、全成分書き出すと以下のように書けます。

\begin{eqnarray}
\frac{\partial x}{\partial {\bf a}}=\begin{pmatrix}\frac{\partial x}{\partial a_1}\\ \vdots\\ \frac{\partial x}{\partial a_n} \end{pmatrix}\tag{6}
\end{eqnarray}

スカラーxの行列{\bf A}\in{\mathbb R}^{m\times n}による微分は、それ自身行列であり、その各要素は

\begin{eqnarray}
\left(\frac{\partial x}{\partial {\bf A}}\right)_{ij}=\frac{\partial x}{\partial a_{ij}}\tag{7}
\end{eqnarray}

によって与えられ、全成分書き出すと以下のように書けます。

\begin{eqnarray}
\frac{\partial x}{\partial {\bf A}}=\begin{pmatrix}
\frac{\partial x}{\partial a_{11}} & \cdots & \frac{\partial x}{\partial a_{1n}} \\
\vdots & \ddots & \vdots\\
\frac{\partial x}{\partial a_{m1}} & \cdots & \frac{\partial x}{\partial a_{mn}}\\ 
\end{pmatrix}\tag{8}
\end{eqnarray}


ベクトル{\bf a}\in{\mathbb R}^nのベクトル{\bf b}\in{\mathbb R}^nについての微分は、それ自身行列であり、その各要素は

\begin{eqnarray}
\left(\frac{\partial {\bf a}}{\partial {\bf b}}\right)_{ij}=\frac{\partial a_i}{\partial b_j}\tag{9}
\end{eqnarray}

によって与えられ、全成分書き出すと以下のように書けます。

\begin{eqnarray}
\frac{\partial {\bf a}}{\partial {\bf b}}=\begin{pmatrix}
\frac{\partial a_1}{\partial b_1} & \cdots & \frac{\partial a_1}{\partial b_n} \\
\vdots & \ddots & \vdots\\
\frac{\partial a_n}{\partial b_1} & \cdots & \frac{\partial a_n}{\partial b_n}\\ 
\end{pmatrix}\tag{10}
\end{eqnarray}

微分の流儀

微分の流儀には「Numerator-layout notation(分子に従う流儀)」と「Denominator-layout notation(分母に従う流儀)」があります。

「ベクトルのスカラーによる微分」、「行列のスカラーの行列による微分」、
スカラーのベクトルによる微分」、「スカラーの行列による微分」はDenominator-layout notationであり、
「ベクトルのベクトルによる微分」はNumerator-layout notationです。

あと組み合わせ的には、「ベクトルの行列による微分」、「行列のベクトルによる微分」、「行列の行列による微分」がありますが、
Matrix calculusの表を見て分かる通り、触れていないので、本記事でも触れません。

スカラースカラーによる微分」は単なる1変数の微分ですので、本記事では取り上げません。

f:id:olj611:20210416182909p:plain

偉人の名言

f:id:olj611:20210416193649p:plain:w300
天国への道は地獄からはじまる。
ダンテ

参考文献

パターン認識機械学習 上巻

動画

なし

目次へ戻る