Meun
close
050-5490-7845 ※ 月曜定休日
  • twitter
  • facebook
  • YouTube

マスログ

2021/12/22

行列っていったい何ですか?

1. まえおき

こんにちは. 数学教室「和」大阪校講師の山本拓人です. 理系大学 1 年生の多くは線形代数学で行列を学びますが, 「行列があるとどう嬉しいのかイマイチ分からなかった」という相談をよく頂きます. 行列は\(\begin{bmatrix}1 & 2 & 3 \\4 & 5 & 6 \\\end{bmatrix}\)のように数を長方形に並べて表されるもので, この行列を用いる背景には「多変数の比例」という考え方があります.

線形代数学は純粋数学ではもちろん統計学機械学習などといった分野にも用いられ, 現代数学では欠かせないものとなっています. また, 行列は線形代数学のベースとなるものなので, 行列の気持ちを理解していることは線形代数学を理解する上でとても大切なことといえます.

そこでこの記事では, 線形代数学のベースである行列にどのような背景があるのかを「多変数の比例」の観点からお伝えします.

2. 1変数関数と多変数関数

中学校では\(y = 2x\)や\(y=-3x\)のように\(y=ax\)(\(a\) は実数) の形の関数を学びます. 比例の関数\(y=ax \)では\(x\)を2倍, 3倍, ……とすると\(y\)も\(2\)倍, \(3\)倍,\(\cdots\)となるわけですが,このとき\(y\)は \(x\)に比例するといい, \(a\)を比例係数というのでした.

大学に入るまで関数は主に\(1\)変数関数を扱います. \(1\)変数関数とは大雑把にいえば「変数を\(1\)つ定めると値が\(1\)つ返ってくる規則」のことで, 例えば比例\(y=2x\)は\(x\)に具体的に値\(x=3\)を代入すると\(y=6\)とひとつだけ値が返ってくるので\(1\)変数関数 (\(y\)は\(1\)変数\(x\)の関数) です.

大学に入ると関数の変数は\(1\)つとは限らなくなり, 変数が複数ある関数を多変数関数といいます. 実は多変数関数は身近にも溢れていて

  • ・りんご\(100\)円
  • ・みかん\(80\)円

 
としたとき, りんご\(x\)個とみかん\(y\)個買うときの合計金額を\(z\)円とすると\(z=100x+80y\)が成り立ちますが, これはまさに\(z\)が\(2\)変数\(y\), \(z\)の関数になっていますね.

変数が複数の関数は全て多変数関数というので,例えば

  • ・\(z = x + 2y\), \(z = x^y\)などは\(2\)変数\(x\), \(y\)の多変数関数
  • ・\(w=xyz\), \(w = (y + z^2)\sin{x}\)などは\(3\)変数\(x\), \(y\), \(z\)の多変数関数

 
です.

変化するものが\(2\)つ以上あれば自然に多変数関数が現れるので, 数学を応用する際に多変数関数が広く用いられることは納得して頂けることと思います.

3.多変数関数の比例

何か新しいものを考えるとき, いきなり複雑なものを考えることはあまり現実的ではなく, まずは簡単なものから考察を始めるのはいつでも大切です. 多変数関数を学ぶ際にも, まずは簡単な多変数関数から考えることは自然なことですね.

では, 多変数関数の中で簡単な関数とはどんなものでしょうか?

\(1\)変数関数の中では先ほどの比例\(y=ax\)が(最も)簡単な関数と言って良いでしょう. このことから, 多変数関数の中でも「比例に相当する関数」が(最も)簡単な関数であろうと考えることは自然ですね.

そこで, 中学校で学ぶ比例を多変数関数に拡張することを考えてみましょう. たとえば,

\[
\left\{
\begin{array}{l}
y_1=x_1+2x_2+3x_3 \\
y_2=4x_1+5x_2+6x_3
\end{array}
\right.
\]は比例\(y=ax\)の\(x\)が\(3\)つ(\(x_1\)と\(x_2\)と\(x_3\))に増え, \(y\)が\(2\)つ(\(y_1\)と\(y_2\)) に増えたと考えると, この\(2\)つの等式を併せたものは多変数の比例と言って良さそうです.

この他にも
\[
\left\{
\begin{array}{l}
y_1 = x_1 + 2x_2 + 3x_3, \\
y_2 = 4x_1 + 5x_2 + 6x_3, \\
y_3 = 7x_1 + 8x_2 + 9x_3,
\end{array}
\right. \\\,\\
\left\{
\begin{array}{l}
y_1 = x_1 – x_2 + x_3- x_4,\\
y_2 = 2x_1 + x_2 – x_4
\end{array}
\right.
\]なども「多変数の比例」といって良さそうですね.

4.行列と数ベクトル

ここでは先ほど紹介したこちらの「多変数の比例」関数について考えてみましょう.
\[
\left\{
\begin{array}{l}
y_1=x_1+2x_2+3x_3 \\
y_2=4x_1+5x_2+6x_3
\end{array}
\right.
\]比例\(y=ax\)は定数\(a\)と変数\(x\)をかけて\(y\)になるという意味ですから,「多変数の比例」でもこのような考え方をしてみましょう.つまり,係数をまとめて
\[
\begin{bmatrix}1 & 2 & 3 \\4 & 5 & 6 \\\end{bmatrix}
\]と表し,変数をまとめて
\[
\begin{bmatrix}x_1 \\x_2 \\ x_3 \end{bmatrix}, \,\,\, \begin{bmatrix}y_1 \\y_2 \end{bmatrix}
\]と表します.そして,線形代数の世界ではこの関数を
\[
\begin{bmatrix}y_1 \\y_2 \end{bmatrix} = \begin{bmatrix}1 & 2 & 3 \\4 & 5 & 6 \\\end{bmatrix}\begin{bmatrix}x_1 \\x_2 \\ x_3 \end{bmatrix}
\]と表します.

この書き方が比例\(y=ax\)のように見えるでしょうか?うまく見えない方は
\[
{\boldsymbol y} =\begin{bmatrix}y_1 \\y_2 \end{bmatrix}, \,\,\, A = \begin{bmatrix}1 & 2 & 3 \\4 & 5 & 6 \\\end{bmatrix}, \,\,\, {\boldsymbol
x} =\begin{bmatrix}x_1 \\x_2 \\ x_3 \end{bmatrix}
\]とおいてみてください.そうするとこの関数は
\[
{\boldsymbol
y} = A{\boldsymbol x}
\]と表すことができ,あたかも\(A\)を「比例定数」とし\({\boldsymbol y}\)は\({\boldsymbol x}\)に「比例」していると思えますね!

この\(A\)のように数を長方形に並べたものを行列といい,\({\boldsymbol x}\), \({\boldsymbol y}\) のように数を並べたものを数ベクトルといいます.

このように行列には「多変数の比例の比例係数」という背景があり,線形代数学は多変数の比例を考える分野ということができるわけですね.

5.統計学への行列の応用 (最小二乗法)

最後に行列 (線形代数) がどのように応用されるかを具体例を紹介します.
あるアイスクリーム屋さんの1日の売り上げ(\(s\)円)は

  • ・平均気温(\(t\)℃)
  • ・店の前を通った人の数(\(n\)人)

 
に独立にほぼ比例するとしましょう.つまり
\[
s=at+bn
\]が成り立つとします.もちろん日によって揺れはあるでしょうが,係数\(a\),\(b\)が分かれば,平均気温\(t\)と人数\(n\)を代入すれば売り上げ\(s\)がある程度予想できますね.

そこで, \(a\),\(b\)を求めるために 100 日間の\(s\),\(t\),\(n\)を調べたところ,それぞれ
\[
s_1, s_2,\dots,s_{100}, \,\,t_1, t_2,\dots , t_{100},\,\, n_1, n_2,\dots , n_{100}
\]になったとしましょう.このとき,\(s_i=at_i+bn_i(i = 1, 2,\dots, 100)\) が成り立っていると考えて良さそうですから,
\[
{\boldsymbol s} =\begin{bmatrix}s_1 \\s_2 \\ \vdots \\ s_{100} \end{bmatrix}, \,\,\, {\boldsymbol t} =\begin{bmatrix}t_1 \\t_2 \\ \vdots \\ t_{100} \end{bmatrix},\,\,\, {\boldsymbol n} =\begin{bmatrix}n_1 \\n_2 \\ \vdots \\ n_{100} \end{bmatrix}
\]とおくと\({\boldsymbol s}=a{\boldsymbol t}+b{\boldsymbol n}\)となりますね.
いま
\[
a{\boldsymbol t}+b{\boldsymbol n} =\begin{bmatrix}at_1+bn_1\\at_2+bn_2 \\ \vdots \\ at_{100}+bn_{100} \end{bmatrix}
\]ですから,行列\(X\), 数ベクトル\({\boldsymbol a}\)を
\[
X=[{\boldsymbol t},{\boldsymbol n}]=\begin{bmatrix}t_1 & n_1\\t_2 & n_2\\ \vdots & \vdots \\ t_{100} & n_{100} \end{bmatrix}, \,\,\, {\boldsymbol a} =\begin{bmatrix}a \\b \end{bmatrix}
\]で定めると,予想の売り上げ\(a{\boldsymbol t} + b{\boldsymbol n}\)を行列と数ベクトルを用いて\(X{\boldsymbol a}\)と表すことができます.

さて,\(a\),\(b\) (すなわち\({\boldsymbol a}\)) を変えると予想される売り上げ \(X{\boldsymbol a}\)が変わるわけですが,この予想される売り上げが実際の売り上げ\({\boldsymbol s}\)に近いほど予測の精度がいいといえそうですね.つまり,\(|{\boldsymbol s}-X{\boldsymbol a}|^2\)(各成分の2乗和) が最小となる(最も\(0\)に近い)\(a\),\(b\)をとれば,\({\boldsymbol s}\)を最もよく予測する\(X{\boldsymbol a}\)が出来上がるわけですね.このように,予想の売り上げと実際の売り上げの差の各成分の2乗和が最小となるように係数\(a\),\(b\)を定める方法を最小二乗法と呼びます.

ここからは\(|{\boldsymbol s}-X{\boldsymbol a}|^2\)を\(a\),\(b\)で偏微分して\(0\)になるように\(a\),\(b\) を選べば良いのですが,もしも行列やベクトルがなければこの時点で煩雑な計算をすることになりますね.この計算は行列とベクトルのまま普通の微分と同様にすることができ,結果だけ書くと\(X^{T}X\)が逆行列をもてば予測に最適な\({\boldsymbol a}\)が\({\boldsymbol a}=(X^{T}X)^{-1}X^{T}{\boldsymbol s}\) と得られます(\(X^{T}\)は\(X\)の転置行列,\((X^{T}X)^{-1}\)は\(X^{T}X\)の逆行列).このように行列と数ベクトルを用いることで,多くの成分をまとめられ楽に計算ができます.

統計学は多くのデータから予測を行う分野のため,多くのデータをまとめて表すことのできる行列や数ベクトルと非常に相性が良いのです.最後は少し難しくなってしまいましたが,行列を用いることで長い式をシンプルに表すことができる便利さを感じて頂けたなら幸いです.

<文/山本 拓人>

■本記事に関連するおすすめ講座

線形代数

和からの個別指導では、試験に向けた勉強をお客様1人1人に対してアドバイスやフォローしておりますので、学習のペースメーカーになって欲しい方や1から授業を組んで欲しい方などあれば無料カウンセリングを実施しておりますので、お気軽にお問い合わせください。
お問い合わせはこちらから。お問い合わせページへ