2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

一次変換

Last updated at Posted at 2022-05-21

はじめに

機械学習や最適化の定式化において、行列の意味を見失いがちであったことから、線形代数の「一次変換」の行列$\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}$ともにベクトルなので、「方向」を示していると考えがちです。
しかし、これを「方向」と捉えるとかえってイメージし難いので、以下のような「二つのバネの位置関係」を示していると考えてみます。

バネ図.jpg

ここで、それぞれのバネの位置を、原点からの距離で表現するとして、以下のようにベクトルで表現してみます。

\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はそれぞれの地域内では、良い影響を与えるが、他地域の効果が波及し、愛着度が低下する可能がある」

おわりに

一次変換の行列の意味を改めて整理してみました。「対角成分を自己の影響」、「それ以外を相互作用である」ことを、念頭に入れて行列を解釈することで、機械学習や最適化計算の定式化で、何をしているか段々わからなくなる問題を回避できそうです。
以上

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?