機械学習を学ぶための準備 その3(行列について)

橘と申します。
機械学習を勉強中の身でありながら、機械学習に関して記事を書いていく予定です。

第3回は、前2回とは変わって、行列の話をします。ぜひ、紙とペンをご用意して読んで下さい。最後には、試験問題があります!
解答は次回、公開します。

行列について

2012年度の高校一年生から、数学Cという科目が廃止され、それまで数学Cで扱っていた行列は大学になってから初めて学ぶものとなりました。
数学C自体は元々理系でないと履修する機会のないものだったかと思われるため、高校で行列を学ばなかった方も多いかと思います。また大学で、線形代数という科目を履修される場合は行列を目にする機会がありますが、数年後にはもしかしたら、そもそも行列というものを知らずに大学を卒業する人も増加する可能性があります。

ですが、行列は現代数学においては必要不可欠で、物理学、工学、経済学など幅広い分野でも欠かすことのできないものとなっています。
ここで、今一度、行列というものはどのようなものなのか、頭の片隅に置いておいていただけたら幸いです。

行列って

行列というのは、数を縦横にいくつか(一つでも構いません)並べたものを指します。
具体的には次のとおりです。

matrix1

数字が抜けているものは行列とは呼びません。また、高校で縦に一列並べたものを「ベクトル」として習った方も多いかと思われますが、ここではあまりベクトルという言葉では説明せずに、行列の一つとして扱っていきます。

行列とは、ただこれだけです。

「行」と「列」って

行列、と一言で言ってしまっていますが、行列は「行」と「列」に分けて考えることがあります。
これはとても重要なことなので、必ず覚えて下さい。

matrix2

行列の横の数字の並びを「行」、縦の並びを「列」と呼びます。「行列はよこたて」と覚えると良いかもしれません。
もしくは、大学時代の恩師の教えだと、列という漢字のへん(りっとう)は縦に二本並んでいるので「列は縦」と覚えると、自然に「行は横」と覚えられるかもしれません。

それに付随して、各行を上から「1行目」「2行目」「3行目」と数えます。
各列は左から「1列目」「2列目」「3列目」と呼びます。
また、この行列は3行と3列からなっているので、「3行3列の行列」と呼びます。

また、行列の各数字のことを「成分」と呼びます。各成分は、その成分の行の番号と列の番号で座標のように表します。
例えば、以下の図の5は、2行目2列目にあるので、「2行2列目の成分は5」と言います。

matrix3

行列の足し算

行列にも、足し算があります。(数学的には、足し算を「定義」しています。)足し算の方法は簡単で、「各成分ごとに足す」だけです。
次の図を見ていただければ、おわかりになるかと思います。

matrix4

足し算の計算の仕方については以上です。が、ここで、行列の形に注目してみます。

上の式は、「3行3列の行列」と「3行3列の行列」を足して、「3行3列の行列」ができました。
下の式は、「3行1列の行列」と「3行1列の行列」を足して、「3行1列の行列」ができました。

つまり、同じ行数、列数同士の行列を足した結果、計算前と同じ行数、列数の行列が結果として出てきます。では、例えば「3行3列の行列」と「3行1列の行列」を足したらどうなるのでしょうか?

結論は、「計算できない」です。というのも、上で(数学的には、足し算を「定義」しています。)と書きましたが、行列の足し算は、同じ行数、同じ列数であるときに足すことができると、定義されているのです。そのため、違う行列同士の足し算は計算できません。

このようなことを書くと、「数学って完璧じゃない」という言葉を耳にすることが度々あります。ですがそういうことではなく、数学というよりも理論全般は「あることを前提とした時に、どうなるか」を考えるものです。同じ行列同士しか足すことができなくても、それを前提に十分な議論ができるわけです。

行列についての第1回目は以上です。

試験問題

slideshareにあげました。
ご自由にお使いください。

次回、解答を掲載します。

次回予告

次回は、行列の掛け算についてご説明していきます。
掛け算は、足し算のようにシンプルではありません。紙とペンのご用意を。

あなたにおすすめの記事