はじめに
機械学習や最適化の定式化において、行列の意味を見失いがちであったことから、線形代数の「一次変換」の行列$\boldsymbol{A}$ の意味をかみ砕いて整理してみました。
\boldsymbol{x'} = A \boldsymbol{x}
\begin{bmatrix}
x_1'\\
x_2'\\
\vdots\\
x_n'
\end{bmatrix}
=
\begin{bmatrix}
a_{11} & a_{12} & \cdots & a_{1n}\\
a_{21} & a_{22} & \cdots & a_{2n}\\
\vdots & \vdots & \ddots & \vdots\\
a_{n1} & a_{n2} & \cdots & a_{nn}
\end{bmatrix}
\begin{bmatrix}
x_1\\
x_2\\
\vdots\\
x_n
\end{bmatrix}
結論から整理すると、以下になるようです。
・ 行列$\boldsymbol{A}$ の「対角成分」は「自己の影響」を意味する。
・ 行列$\boldsymbol{A}$ の「対角成分以外」は「相互作用」を意味する。
一次変換の具体例
例えば、2x2の行列の一次変換は以下の様に表現されます。
\begin{bmatrix}
x_1'\\
x_2'
\end{bmatrix}
=
\begin{bmatrix}
a_{11} & a_{12}\\
a_{21} & a_{22}
\end{bmatrix}
\begin{bmatrix}
x_1\\
x_2
\end{bmatrix}
この時、$\boldsymbol{x'}$とは、$\boldsymbol{x}$が$\boldsymbol{A}$という何だかの影響を受けて$\boldsymbol{x'}$に変化したと理解することが出来ます。
通常、$\boldsymbol{x'}$、$\boldsymbol{x}$ともにベクトルなので、「方向」を示していると考えがちです。
しかし、これを「方向」と捉えるとかえってイメージし難いので、以下のような「二つのバネの位置関係」を示していると考えてみます。
ここで、それぞれのバネの位置を、原点からの距離で表現するとして、以下のようにベクトルで表現してみます。
\boldsymbol{p} = Place =
バネの位置 =
\begin{bmatrix}
バネaの位置\\
バネbの位置
\end{bmatrix}
=
\begin{bmatrix}
p_{a}\\
p_{b}
\end{bmatrix}
続いて、二つのバネに外力を加えた所、バネの位置が変わったとし、その後の位置を$\boldsymbol{p_{new}}$、前の位置を$\boldsymbol{p_{old}}$とします。
\boldsymbol{p_{new}}=
\begin{bmatrix}
p_{a,new}\\
p_{b,new}
\end{bmatrix}
、
\boldsymbol{p_{old}}=
\begin{bmatrix}
p_{a,old}\\
p_{b,old}
\end{bmatrix}
さらに、加えた外力を以下のように表現してみます。
I = Impact = 外力 =
\begin{bmatrix}
i_{aa} & i_{ab}\\
i_{ba} & i_{bb}
\end{bmatrix}
これらを、$ \boldsymbol{x'} = A \boldsymbol{x} $の式に当てはめてみると、以下となります。
\boldsymbol{p_{a,new}} = I×\boldsymbol{p_{a,old}}
\begin{bmatrix}
p_{a,new}\\
p_{b,new}
\end{bmatrix}
=
\begin{bmatrix}
i_{aa} & i_{ab}\\
i_{ba} & i_{bb}
\end{bmatrix}
\begin{bmatrix}
p_{a, old}\\
p_{b, old}
\end{bmatrix}
ここで、「バネa」の新しい位置である$p_{a,new}$を単純に展開してみると以下になります。
p_{a,new} = p_{a,old} × i_{aa} + p_{b,old} × i_{ab}
この時、外力$\boldsymbol{I}$の成分に着目して、式をかみ砕いみると、以下となります。
・第一項は、「バネa」が外力を受けた結果、それが「バネa」の移動にどのように影響したかを意味する。
・第二項は、「バネb」が外力を受けた結果、それが「バネa」の移動にどのように影響したかを意味する。
これを踏まえて、外力$\boldsymbol{I}$を文章で表現すると以下のようになります。
I =
\begin{bmatrix}
i_{aa} & i_{ab}\\
i_{ba} & i_{bb}
\end{bmatrix}
=
\begin{bmatrix}
「バネa」が「バネa」に与える影響 &「バネa」が「バネb」に与える影響\\
「バネb」が「バネa」に与える影響 &「バネb」が「バネb」に与える影響
\end{bmatrix}
これを改めて整理すると、冒頭結論の同じく以下と整理が出来ます。
・行列$\boldsymbol{A}$ の「対角成分」は「自己の影響」を意味する。
・行列$\boldsymbol{A}$ の「対角成分以外」は「相互作用」を意味する。
例えば
カップラーメンの広告の効果
カップラーメンの製造販売を行っているN社の新CMの効果を一次変換で表現してみます。
CM前後の、東京、大阪、名古屋の人々のカップラーメン愛着度を$\boldsymbol{L_{after}}$、$\boldsymbol{L_{before}}$で表現してみます。
\boldsymbol{L_{after}}=
\begin{bmatrix}
L_{Tyo,after}\\
L_{Osa,after}\\
L_{Nag,after}
\end{bmatrix}
、
\boldsymbol{L_{before}}=
\begin{bmatrix}
L_{Tyo,before}\\
L_{Osa,before}\\
L_{Nag,before}
\end{bmatrix}
=
\begin{bmatrix}
10\\
3\\
7
\end{bmatrix}
CMの効果$\boldsymbol{I}$が以下であったとします。
\boldsymbol{I}=
\begin{bmatrix}
I_{Tyo,Tyo}&I_{Tyo,Osa}&I_{Tyo,Nag}\\
I_{Osa,Tyo}&I_{Osa,Osa}&I_{Osa,Nag}\\
I_{Nag,Tyo}&I_{Nag,Osa}&I_{Nag,Nag}
\end{bmatrix}
=
\begin{bmatrix}
3&2&-3\\
-2&4&2\\
-2&-4&5
\end{bmatrix}
ここで、$\boldsymbol{L_{after}}$を計算してみると以下となります。
\boldsymbol{L_{after}} = I×\boldsymbol{L_{before}}
=
\begin{bmatrix}
3&2&-3\\
-2&4&2\\
-2&-4&5
\end{bmatrix}
\begin{bmatrix}
10\\
3\\
7
\end{bmatrix}
ここで、東京の愛着度を展開してみると以下となります。
L_{tyo,after} = L_{tyo,before}×I_{Tyo,Tyo} + L_{osa,before}×I_{Tyo,Osa} + L_{nag,before}×I_{Tyo,Nag} \\
L_{tyo,after} = L_{tyo,before}×3 + L_{osa,before}×2 + L_{nag,before}×(-3)
これは、つまり以下のように解釈することができます。
第1項: 東京の愛着度は昔の愛着度の3倍となった:+30
第2項: 東京の愛着度は、大阪の愛着度の2倍が加算された:+6 (=[例]大阪の影響が東京ではポジティブ?)
第3項: 東京の愛着度は、名古屋の愛着度の3倍が減算された:-21 (=[例]名古屋の影響は東京でネガティブ?)
同じようにCMの効果$\boldsymbol{I}$を解釈してみると以下と考えることが出来ます。
\boldsymbol{I}=
\begin{bmatrix}
3&2&-3\\
-2&4&2\\
-2&-4&5
\end{bmatrix}
=
\begin{bmatrix}
東京は昔の3倍加算&東京は大阪の2倍加算&東京は名古屋の3倍減算\\
大阪は東京の2倍減算&大阪は昔の4倍加算&大阪のは名古屋の2倍加算\\
名古屋は東京の2倍減算&名古屋は大阪の4倍減算&名古屋は昔4倍加算
\end{bmatrix}
CMの効果$\boldsymbol{I}$をよく見てみると、例えば、以下の様な考察が出来ます。
1列目:東京が与える影響を示している。(1,2)、(1,3)は共に負。つまり、東京は大阪、名古屋に負の影響を与えてしまう。
3行目:名古屋が受ける影響を示している。(3,1)、(3,2)は共に負。つまり、自分以外からは負の影響を受けてしまう。
対角成分:いずれも正の値を示しており、自己の影響は常に正の影響である。
ここで、結論として、以下のように整理することが可能かもしれません。
「CMはそれぞれの地域内では、良い影響を与えるが、他地域の効果が波及し、愛着度が低下する可能がある」
おわりに
一次変換の行列の意味を改めて整理してみました。「対角成分を自己の影響」、「それ以外を相互作用である」ことを、念頭に入れて行列を解釈することで、機械学習や最適化計算の定式化で、何をしているか段々わからなくなる問題を回避できそうです。
以上