逆行列で連立方程式を解く

本記事はスキルチェックリストの[データサイエンス力 No.20]「逆行列の定義、および逆行列を求めることにより行列表記された連立方程式を解くことができることを理解している」に対応しています。

この記事は下記の記事の続きになります。
連立方程式を行列で表すことの理解に不安のある方は先に下記の記事をご覧ください。
行列の計算方法と線形式の行列表現

行列と連立方程式

次のような連立方程式を考えます。

\(3x_1+2x_2=11\)
\(2x_1-5x_2=1\)

この連立方程式は行列を使って次のように表現することができました。

\(\begin{pmatrix}3 & 2 \\ 2 & -5 \end{pmatrix} \begin{pmatrix}x_1 \\ x_2 \end{pmatrix}=\begin{pmatrix}11 \\ 1\end{pmatrix}\)
さあ、ではこの行列で表現した連立方程式を解いて\(x_1, x_2\)を求めるにはどうすればいいでしょうか?

アイ

両辺を\(\begin{pmatrix}3 & 2 \\ 2 & -5 \end{pmatrix}\)で割れると、
\(\begin{pmatrix}x_1 \\ x_2 \end{pmatrix}=…\)
の形になるから、\(x_1, x_2\)が求められると思うんだけど
考え方はOKです
ただし、行列を行列で割り算することはできないんでしたね

ロボ千代

「割る」とは何か?

行列で割りたいけど、割れない。
割り算に代わる他の方法はないでしょうか?

そもそも「割る」とは何でしょうか?

ロボ千代

例えば『3で割る』というのは『\(\frac{1}{3}\)をかける』と言い換えてもいいですよね。
この\(\frac{1}{3}\)を3の逆数と言います。

つまり、『aで割る』ということは、aの逆数である『\(\frac{1}{a}\)をかける』のと同じことです。

そして、この逆数には元の数とその逆数をかけると1になるという性質があります。

$$a\times\frac{1}{a}=1$$

これ、とても重要な性質です
少し覚えておいてくださいね

ロボ千代

さて、行列に話を戻しましょう。
行列に割り算はありませんが、掛け算はできます。なので、行列に対する「逆数」のようなものがあれば、それをかけることで割り算をするのと同じ効果があるはずです。
行列に対する「逆数」のことを「逆行列」といいます。

逆行列は次の性質を満たします。
行列を\(A\)、その逆行列を\(A^{-1}\)とするとき

$$AA^{-1}=I$$

Iというのは単位行列のことで、対角成分が 1、非対角成分が 0 の行列です。
例えば、3×3の単位行列であれば

$$\begin{pmatrix}1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{pmatrix}$$

となります。

アイ

スカラーだと
$$a\times a^{-1}=1$$
行列だと
$$AA^{-1}=I$$

なるほど、似てるわね

逆行列を具体的に

逆行列はプログラムを使って簡単に求めることができるので、学校のテストでもない限りあまり手計算で求めることはありません。
ですが、今回はイメージを掴むために次の2×2の行列について逆行列を求めてみましょう。

$$\begin{pmatrix}1 & 2 \\ 3 & 4 \end{pmatrix}$$

2×2の行列\(A=\begin{pmatrix}a & b \\ c & d \end{pmatrix}\)の逆行列は次のようになります。

$$A^{-1}=\frac{1}{ad-bc}\begin{pmatrix}d & -b \\ -c & a \end{pmatrix}$$

この公式に当てはめてみると\(\begin{pmatrix}1 & 2 \\ 3 & 4 \end{pmatrix}\)の逆行列は
$$\frac{1}{1 \cdot 4-2 \cdot 3}\begin{pmatrix}4 & -2 \\ -3 & 1 \end{pmatrix} = \begin{pmatrix}-2 & 1 \\ 1.5 & -0.5 \end{pmatrix}$$
と求めることができます。

注意
先ほどの逆行列の公式を見ていただくとわかるように、\(ab-bc\)が0になってしまうと、分母が0になってしまうため定義ができません。
つまり、逆行列を定義できない行列もあるということです。

連立方程式を解くために

いよいよ逆行列を使って連立方程式を解いていきますが、その前に逆行列と単位行列に関する重要な公式を2つ押さえておきましょう。

  1. 行列とその逆行列には交換法則が成り立つ
  2. 通常、行列同士の掛け算では交換法則は成り立ちません。
    つまり、行列\(A\)と行列\(B\)について、\(A\cdot B\)と \(B\cdot A\)は同じではありません。
    しかし、行列\(A\)とその逆行列\(A^{-1}\)については、交換法則が成り立つのです。

    $$AA^{-1}=A^{-1}A$$

  3. 行列に単位行列をかけても元の行列のまま
  4. 何かの数(スカラー)に1を掛けても、数は変わりません。
    つまり、aをスカラーとするなら、
    $$a \times 1=a$$
    が常に成り立ちます。

    単位行列も同様の性質を持っていて、何らかの行列に単位行列をかけても元の行列は変わりません
    $$AI=A$$

    また、これについても交換法則が成り立ちますので、
    $$IA=A$$
    とも書けます。

連立方程式を解く

準備は整いました
いよいよ連立方程式を解いていきましょう

ロボ千代

アイ

なんか前置きが長かったわね
\(\begin{pmatrix}3 & 2 \\ 2 & -5 \end{pmatrix} \begin{pmatrix}x_1 \\ x_2 \end{pmatrix}=\begin{pmatrix}11 \\ 1\end{pmatrix}\)

\(\begin{pmatrix}3 & 2 \\ 2 & -5 \end{pmatrix}\)を行列\(A\)と置き直すと、

$$A \begin{pmatrix}x_1 \\ x_2 \end{pmatrix}=\begin{pmatrix}11 \\ 1\end{pmatrix}$$

となります。この両辺に左から逆行列をかけます

$$A^{-1}A \begin{pmatrix}x_1 \\ x_2 \end{pmatrix}= A^{-1} \begin{pmatrix}11 \\ 1\end{pmatrix}$$

\(A^{-1}A\)の部分は単位行列になるので、上記の式は
$$I\begin{pmatrix}x_1 \\ x_2 \end{pmatrix}= A^{-1} \begin{pmatrix}11 \\ 1\end{pmatrix}$$
となります。

さらに、行列と単位行列を掛けても元の行列は変わらないので、
$$\begin{pmatrix}x_1 \\ x_2 \end{pmatrix}= A^{-1} \begin{pmatrix}11 \\ 1\end{pmatrix}$$
ですね。

\(\begin{pmatrix}3 & 2 \\ 2 & -5 \end{pmatrix}\)の逆行列は公式を使って求めると\(\begin{pmatrix}\frac{5}{19} & \frac{2}{19} \\ \frac{2}{19} & \frac{-3}{19} \end{pmatrix}\)なので

$$\begin{pmatrix}x_1 \\ x_2 \end{pmatrix}= \begin{pmatrix}\frac{5}{19} & \frac{2}{19} \\ \frac{2}{19} & \frac{-3}{19} \end{pmatrix} \begin{pmatrix}11 \\ 1\end{pmatrix}$$
で、右辺を計算すると
$$\begin{pmatrix}x_1 \\ x_2 \end{pmatrix}= \begin{pmatrix}3 \\ 1\end{pmatrix}$$
となります。

アイ

ようやく解が求まったわ!
お疲れさまでした
基本的な原理を押さえておけば行列を使って連立方程式を解くのは難しくありませんよね

ロボ千代

さらに理解を深めたいなら

AIや機械学習で使われている微分・線形代数といった数学の基礎をしっかり理解したいならUdemyの『【キカガク流】脱ブラックボックス講座』がおすすめです。

人工知能・機械学習 脱ブラックボックス講座

機械学習は微分や線形代数の基礎の上に成り立っていますが、Pythonなどで便利なライブラリが提供されているのでそれらの基礎数学はブラックボックス化されています。

そのため、数学をあまり知らなくてもある程度の人工知能であれば簡単に作れてしまいます。
これはこれで素晴らしいことではあるのですが、データサイエンスやAIに携わるエンジニアを目指すのであれば、その原理を学んでおく必要はあるでしょう。

ブラックボックスのままでは、人工知能が導いた結果が妥当なのかどうかを判断することが難しいですし、機械学習のパラメータを調整して精度を高めていくための道しるべがないからです。

この『【キカガク流】脱ブラックボックス講座』は普段はブラックボックス化されて見えにくくなっている“機械学習のための数学のエッセンス”を短時間で学ぶのに最適なオンライン動画講座です。
講師の方が紙にペンで図や数式を書きながら説明していく方法がとても丁寧でユーザー目線からとてもわかりやすいと感じます。

講座の値段を見るとちょっとお高いと感じるかもしれませんが、Udemyは頻繁にセールをやっているので80%~90%割引もざらにあります
そうすると、1講座1500円くらいで買えてしまうので、専門書を1冊買うよりおトクですね。

アイ

それなら私にも買えそうだわ
Udemyはデータサイエンスやプログラミング関連の動画が充実しているので、他にも自分にぴったりの講座を探してみてくださいね

ロボ千代

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です