機械学習基礎理論独習

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

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

1次形式と2次形式と双1次形式

1次形式

定数ベクトル{\bf a}=(a_i)と変数ベクトル{\bf x}=(x_i)に対して、

\begin{eqnarray}
L=\langle{\bf a},{\bf x}\rangle={\bf a}^\top{\bf x}=\sum_{i=1}^na_ix_i\tag{1}
\end{eqnarray}

{\bf x}の1次形式と呼びます。
(1)x_i微分すると、次のようになります。

\begin{eqnarray}
\frac{\partial L}{\partial x_i}=a_i\tag{2}
\end{eqnarray}

これはベクトルの形で次のように書けます。

\begin{eqnarray}
\nabla_{\bf x}\langle{\bf a},{\bf x}\rangle=\frac{\partial}{\partial{\bf x}}{\bf x}^\top{\bf a}={\bf a}\tag{3}
\end{eqnarray}

2次形式

定数の対象行列{\bf A}=(a_{ij})と変数ベクトル{\bf x}=(x_i)に対して、

\begin{eqnarray}
Q=\langle{\bf x},{\bf A}{\bf x}\rangle={\bf x}^\top{\bf A}{\bf x}=\sum_{i=1}^n\sum_{j=1}^na_{ij}x_ix_j\tag{4}
\end{eqnarray}

{\bf x}の2次形式と呼びます。

{\bf A}を対象行列と限定するのは次の理由の為です。

{\bf A}の対象部分{\bf A}^{(s)}と反対象部分{\bf A}^{(a)}を以下のように定義します。

\begin{eqnarray}
&&{\bf A}^{(s)}\equiv\frac{1}{2}({\bf A}+{\bf A}^\top),\\
&&{\bf A}^{(a)}\equiv\frac{1}{2}({\bf A}-{\bf A}^\top)\tag{5}
\end{eqnarray}

(5)より、{{\bf A}^{(s)}}^\top={\bf A}^{(s)}であるため、{\bf A}^{(s)}は対象行列であることがわかります。
また、{{\bf A}^{(a)}}^\top=-{\bf A}^{(a)}であるため、{\bf A}^{(a)}は反対象行列であることがわかります。

(5)より、{\bf A}は次のように書けます。

\begin{eqnarray}
{\bf A}={\bf A}^{(s)}+{\bf A}^{(a)}\tag{6}
\end{eqnarray}

(6)(4)に代入します。

\begin{eqnarray}
\langle{\bf x},{\bf A}{\bf x}\rangle&=&\langle{\bf x},({\bf A}^{(s)}+{\bf A}^{(a)}){\bf x}\rangle\\
&=&\langle{\bf x},{\bf A}^{(s)}{\bf x}\rangle+\langle{\bf x},{\bf A}^{(a)}{\bf x}\rangle\\
&=&\langle{\bf x},{\bf A}^{(s)}{\bf x}\rangle\tag{7}
\end{eqnarray}

よって、2次形式においては{\bf A}は初めから対象行列と仮定します。

(7)の3行目で、\langle{\bf x},{\bf A}^{(a)}{\bf x}\rangle=0であること用いています。
これは半対象部分{\bf A}^{(a)}(i,j)成分がi\not=jのときはa_{ij}^{(a)}=-a_{ji}^{(a)}であるので打ち消し、i=jのときはa_{ij}^{(a)}=0であるので
\langle{\bf x},{\bf A}^{(a)}{\bf x}\rangle=0となります。
という説明ではわかりにくいと思うので、具体例を用いて\langle{\bf x},{\bf A}^{(a)}{\bf x}\rangle=0を示そうと思います。

{\bf A}を以下の3\times 3行列とします。

\begin{eqnarray}
{\bf A}=\begin{pmatrix}
  a_{11} & a_{12} & a_{13}\\
  a_{21} & a_{22} & a_{23}\\
  a_{31} & a_{32} & a_{33}
  \end{pmatrix},\ 
{\bf A}^\top=\begin{pmatrix}
  a_{11} & a_{21} & a_{31}\\
  a_{12} & a_{22} & a_{32}\\
  a_{13} & a_{23} & a_{33}
  \end{pmatrix}\tag{8}
\end{eqnarray}

{\bf A}^{(a)}は以下のようになります。

\begin{eqnarray}
{\bf A}^{(a)}&=&\frac{1}{2}({\bf A}-{\bf A}^\top)\\
  &=&\frac{1}{2}\left(\begin{pmatrix}a_{11}&a_{12}&a_{13}\\a_{21}&a_{22}&a_{23}\\a_{31}&a_{32}&a_{33}\end{pmatrix}-\begin{pmatrix}a_{11}&a_{21} & a_{31}\\a_{12}&a_{22}&a_{32}\\a_{13}&a_{23}&a_{33}\end{pmatrix}\right)\\
  &=&\frac{1}{2}\begin{pmatrix}0&a_{12}-a_{21}&a_{13}-a_{31}\\a_{21}-a_{12}&0&a_{23}-a_{32}\\a_{31}-a_{13}&a_{32}-a_{23}&0\end{pmatrix}\tag{9}
\end{eqnarray}

\langle{\bf x},{\bf A}^{(a)}{\bf x}\rangleを計算します。

\begin{eqnarray}
\langle{\bf x},{\bf A}^{(a)}{\bf x}\rangle&=&\sum_{i=1}^3\sum_{j=1}^3a^{(a)}_{ij}x_ix_j\\
&=&\sum_{i=1}^3\sum_{j=1,j\not=i}^3a^{(a)}_{ij}x_ix_j\\
  &=&a^{(a)}_{12}x_1x_2+a^{(a)}_{13}x_1x_3+a^{(a)}_{21}x_2x_1+a^{(a)}_{23}x_2x_3+a^{(a)}_{31}x_3x_1+a^{(a)}_{32}x_3x_2\\
  &=&(a_{12}-a_{21})x_1x_2+(a_{13}-a_{31})x_1x_3+(a_{21}-a_{12})x_2x_1\\
  &+&(a_{23}-a_{32})x_2x_3+(a_{31}-a_{13})x_3x_1+(a_{32}-a_{23})x_3x_2\\
  &=&0\tag{10}
\end{eqnarray}

(10)の2行目でj\not=iとしているのは、{\bf A}^{(a)}の対角成分が0であるためです。

2次形式の係数行列を対象行列と約束する別の説明

上記で示した方法と異なる方法で「2次形式の係数行列を対象行列と約束する」ことを説明します。

a_{ji}=a_{ij}とは限らない係数の2次形式Q=\sum_{i=1}^n\sum_{j=1}^na_{ij}x_ix_jx_ix_j=x_jx_iであるため、

\begin{eqnarray}
Q=\sum_{i=1}^n\sum_{j=1}^n\frac{a_{ij}+a_{ji}}{2}x_ix_j\tag{11}
\end{eqnarray}

と書けます。
a'_{ij}=\frac{a_{ij}+a_{ji}}{2}と定義すれば、a'_{ij}=a'_{ji}であるので

\begin{eqnarray}
Q=\sum_{i=1}^n\sum_{j=1}^na'_{ij}x_ix_j\tag{12}
\end{eqnarray}

と書けます。
よって、2次形式の係数行列を対象行列と約束します。

2次形式の等式からいえる事

任意の{\bf x}に対して、\langle{\bf x},{\bf A}{\bf x}\rangle=0であれば、{\bf A}^{(s)}={\bf O}
任意の{\bf x}に対して、\langle{\bf x},{\bf A}{\bf x}\rangle=\langle{\bf x},{\bf B}{\bf x}\rangleであれば、{\bf A}^{(s)}={\bf B}^{(s)}

2次形式の微分

{\bf A}が対象行列として、\langle{\bf x},{\bf A}{\bf x}\ranglex_k微分します。

\begin{eqnarray}
\frac{\partial}{\partial x_k}\langle{\bf x},{\bf A}{\bf x}\rangle&=&\frac{\partial}{\partial x_k}\sum_{i=1}^n\sum_{j=1}^na_{ij}x_ix_j\\
  &=&\frac{\partial}{\partial x_k}a_{kk}x_kx_k+\frac{\partial}{\partial x_k}\sum_{j=1,j\not=k}^na_{kj}x_kx_j+\frac{\partial}{\partial x_k}\sum_{i=1,i\not=k}^na_{ik}x_ix_k\\
  &=&2a_{kk}x_k+\sum_{j=1,j\not=k}^na_{kj}x_j+\sum_{i=1,i\not=k}^na_{ik}x_i\\
  &=&2a_{kk}x_k+2\sum_{i=1,i\not=k}^na_{ki}x_i\\
  &=&2\sum_{i=1}^na_{ki}x_i\tag{13}
\end{eqnarray}

(13)の2行目ですが、
第1項はi=k,j=kの場合、第2項はi=k,j\not=kの場合、第3項はi\not=k,j=kの場合と場合分けしています。
第4項i\not=k,j\not=kの場合はx_kの場合ですが、偏微分すると0になるので、書いていません。

これはベクトルの形で次のように書けます。

\begin{eqnarray}
\nabla_{\bf x}\langle{\bf x},{\bf A}{\bf x}\rangle=\frac{\partial}{\partial{\bf x}}{\bf x}^\top{\bf A}{\bf x}=2{\bf A}{\bf x}\tag{14}
\end{eqnarray}

2次形式で係数行列が対象行列でないときの微分

係数行列が対象行列でないときについても考えてみます。
{\bf A}が対象行列とは限らないとして、\langle{\bf x},{\bf A}{\bf x}\ranglex_k微分します。

\begin{eqnarray}
\frac{\partial}{\partial x_k}\langle{\bf x},{\bf A}{\bf x}\rangle&=&\frac{\partial}{\partial x_k}\sum_{i=1}^n\sum_{j=1}^na_{ij}x_ix_j\\
  &=&\frac{\partial}{\partial x_k}a_{kk}x_kx_k+\frac{\partial}{\partial x_k}\sum_{j=1,j\not=k}^na_{kj}x_kx_j+\frac{\partial}{\partial x_k}\sum_{i=1,i\not=k}^na_{ik}x_ix_k\\
  &=&2a_{kk}x_k+\sum_{j=1,j\not=k}^na_{kj}x_j+\sum_{i=1,i\not=k}^na_{ik}x_i\\
  &=&\sum_{j=1}^na_{kj}x_j+\sum_{i=1}^na_{ik}x_i\tag{15}
\end{eqnarray}

これはベクトルの形で次のように書けます。

\begin{eqnarray}
\nabla_{\bf x}\langle{\bf x},{\bf A}{\bf x}\rangle=\frac{\partial}{\partial{\bf x}}{\bf x}^\top{\bf A}{\bf x}={\bf A}{\bf x}+{\bf A}^\top{\bf x}=({\bf A}+{\bf A}^\top){\bf x}\tag{16}
\end{eqnarray}

(16)で、係数行列{\bf A}が対象行列であれば、(14)と等しいことが分かります。

双1次形式

定数行列{\bf A}=(a_{ij})と変数ベクトル{\bf x}=(x_i),{\bf y}=(y_i)に対して、

\begin{eqnarray}
B=\langle{\bf x},{\bf A}{\bf y}\rangle={\bf x}^\top{\bf A}{\bf y}=\sum_{i=1}^n\sum_{j=1}^na_{ij}x_iy_j\tag{17}
\end{eqnarray}

{\bf x},{\bf y}の双1次形式と呼びます。

次の基本的な恒等式成り立ちます。

\begin{eqnarray}
\langle{\bf x},{\bf A}{\bf y}\rangle=\langle{\bf A}^\top{\bf x},{\bf y}\rangle\tag{18}
\end{eqnarray}

(18)は次のように示すことができます。

\begin{eqnarray}
\langle{\bf x},{\bf A}{\bf y}\rangle&=&{\bf x}^\top{\bf A}{\bf y}\\
&=&({\bf A}{\bf y})^\top{\bf x}\\
&=&{\bf y}^\top{\bf A}^\top{\bf x}\\
&=&\langle{\bf y},{\bf A}^\top{\bf x}\rangle\\
&=&\langle{\bf A}^\top{\bf x},{\bf y}\rangle\tag{19}
\end{eqnarray}

双1次形式の等式からいえる事

任意の{\bf x},{\bf y}に対して、\langle{\bf x},{\bf A}{\bf y}\rangle=0であれば、{\bf A}={\bf O}
任意の{\bf x},{\bf y}に対して、\langle{\bf x},{\bf A}{\bf y}\rangle=\langle{\bf x},{\bf B}{\bf y}\rangleであれば、{\bf A}={\bf B}

双1次形式の微分

(3)より、次式が成り立ちます。

\begin{eqnarray}
\nabla_{\bf x}\langle{\bf x},{\bf A}{\bf y}\rangle=\frac{\partial}{\partial{\bf x}}{\bf x}^\top{\bf A}{\bf y}={\bf A}{\bf y}\tag{20}
\end{eqnarray}

また、(18)より、次式が成り立ちます。

\begin{eqnarray}
\nabla_{\bf y}\langle{\bf x},{\bf A}{\bf y}\rangle=\frac{\partial}{\partial{\bf y}}{\bf x}^\top{\bf A}{\bf y}={\bf A}^\top{\bf x}\tag{21}
\end{eqnarray}

参考文献

線形代数セミナー
これなら分かる最適化数学
これなら分かる応用数学教室

偉人の名言

f:id:olj611:20210827155624p:plain:w300
人生はクローズアップで見れば悲劇だが、ロングショットで見ればコメディだ。
チャールズ・チャップリン

動画

目次へ戻る