【Chapter1~Chapter4】まではこちら。
線形代数入門
【Chapter5】行列とベクトルの掛け算
Chapter4では行列と実数の掛け算でしたが、今回は行列とベクトルの掛け算です。
$$
\begin{bmatrix}
4&3 \\
0&1 \\
6&9 \\
\end{bmatrix}
\times
\begin{bmatrix}
5 \\
2 \\
\end{bmatrix}
=
\begin{bmatrix}
4 \times 5 + 3 \times 2 \\
0 \times 5 + 1 \times 2 \\
6 \times 5 + 9 \times 2 \\
\end{bmatrix}
=
\begin{bmatrix}
26 \\
2 \\
48 \\
\end{bmatrix}
$$
\begin{bmatrix}
4&3 \\
0&1 \\
6&9 \\
\end{bmatrix}
\times
\begin{bmatrix}
5 \\
2 \\
\end{bmatrix}
=
\begin{bmatrix}
4 \times 5 + 3 \times 2 \\
0 \times 5 + 1 \times 2 \\
6 \times 5 + 9 \times 2 \\
\end{bmatrix}
=
\begin{bmatrix}
26 \\
2 \\
48 \\
\end{bmatrix}
$$
行列と行列の掛け算じゃないの?
と思ってしまいますが、Chapter3で
ベクトル=「n × 1」または「1 × n」の行列
と習ったんでしたね。
計算の公式
シンプルな、2行×2列の行列と2行×1列のベクトルの計算はこうなります。
$$
\begin{bmatrix}
a_{11} & a_{12} \\
a_{21} & a_{22} \\
\end{bmatrix}
\times
\begin{bmatrix}
b_1 \\
b_2 \\
\end{bmatrix}
=
\begin{bmatrix}
a_{11} b_1 + a_{12}b_2 \\
a_{21} b_1 + a_{22}b_2 \\
\end{bmatrix}
$$
\begin{bmatrix}
a_{11} & a_{12} \\
a_{21} & a_{22} \\
\end{bmatrix}
\times
\begin{bmatrix}
b_1 \\
b_2 \\
\end{bmatrix}
=
\begin{bmatrix}
a_{11} b_1 + a_{12}b_2 \\
a_{21} b_1 + a_{22}b_2 \\
\end{bmatrix}
$$
もし2行×3行の行列と3行×1列の行列だったら…
$$
\begin{bmatrix}
a_{11} & a_{12} & a_{13} \\
a_{21} & a_{22} & a_{23} \\
\end{bmatrix}
\times
\begin{bmatrix}
b_1 \\
b_2 \\
b_3 \\
\end{bmatrix}
=
\begin{bmatrix}
a_{11} b_1 + a_{12}b_2 + a_{13}b_3 \\
a_{21} b_1 + a_{22}b_2 + a_{23}b_3 \\
\end{bmatrix}
$$
\begin{bmatrix}
a_{11} & a_{12} & a_{13} \\
a_{21} & a_{22} & a_{23} \\
\end{bmatrix}
\times
\begin{bmatrix}
b_1 \\
b_2 \\
b_3 \\
\end{bmatrix}
=
\begin{bmatrix}
a_{11} b_1 + a_{12}b_2 + a_{13}b_3 \\
a_{21} b_1 + a_{22}b_2 + a_{23}b_3 \\
\end{bmatrix}
$$
では、2行×3行の行列と2行×1列の行列だったらどうなるかというと…
これは計算できません。
行列とベクトルを計算する場合は、行列の列とベクトルの行の数が一致する必要があるのです。
$$
\begin{bmatrix}
a_{11} & a_{12} & a_{13} \\
a_{21} & a_{22} & a_{23} \\
\end{bmatrix}
\times
\begin{bmatrix}
b_1 \\
b_2 \\
\end{bmatrix}
=
Error!!
$$
\begin{bmatrix}
a_{11} & a_{12} & a_{13} \\
a_{21} & a_{22} & a_{23} \\
\end{bmatrix}
\times
\begin{bmatrix}
b_1 \\
b_2 \\
\end{bmatrix}
=
Error!!
$$
例題
動画の身長から体重を予測する例題を考えてみます。
$$
予測計算式 h_Θ(x)=15+0.32x
$$
予測計算式 h_Θ(x)=15+0.32x
$$
名前 | 身長 | 計算式 | 体重 |
A君 | 180cm | 15 + 0.32 × 180 | 72.6kg |
B君 | 176cm | 15 + 0.32 × 176 | 71.32kg |
C君 | 156cm | 15 + 0.32 × 156 | 64.92kg |
D君 | 160cm | 15 + 0.32 × 160 | 66.2kg |
これを行列とベクトルにして計算すると
$$
\begin{bmatrix}
1 & 180\\
1 & 176 \\
1 & 156 \\
1 & 160 \\
\end{bmatrix}
\times
\begin{bmatrix}
15 \\
0.32 \\
\end{bmatrix}
=
\begin{bmatrix}
72.6 \\
71.32 \\
64.92 \\
66.2 \\
\end{bmatrix}
$$
\begin{bmatrix}
1 & 180\\
1 & 176 \\
1 & 156 \\
1 & 160 \\
\end{bmatrix}
\times
\begin{bmatrix}
15 \\
0.32 \\
\end{bmatrix}
=
\begin{bmatrix}
72.6 \\
71.32 \\
64.92 \\
66.2 \\
\end{bmatrix}
$$
同じ結果になりました。
ところで、この計算って何やってるんでしょうか?
基準点からベクトル分移動したのが体重、となると思うのですが、2日ほど悩んだものの、うまく図にすることができませんでした。。。
図解できるよ!という方は教えてください。
もう1つ、別の例題を考えようとしたものの思いつかず・・・。
行列とベクトルを使った実用的な例があれば同じく教えてください。