数学で困ったことはほとんどありません、はじめまして、新卒です。
前回(数学ができる新卒は基礎を解説してみたかった… ~極大・極小~)は極大・極小について記事を上げました。
今回も機械学習に必要とされる、行列の計算に関する記事です。
行列を用いることで大量のデータを並行処理することができるため機械学習に必要とされます。
(私が作成中のwebアプリには必要ないかもしれない…)
数学的な記事ですので、技術的な要素はありません。
基礎中の基礎について書かれているため、数学と仲の悪い?文系向けです。
行列とは
多次元の変数を処理するのに便利なツールで、↓のようなものです。
青い〇で囲まれているのが行、赤い〇で囲まれているのが列です。
横が行、縦が列と覚えておけば良いでしょう。
また行列内の各要素のことを成分といいます。
使う場面としてイメージしやすいのは連立方程式です。
行列を使わず連立方程式を解くには代入したり、掛けたり、移項したりといったことをする必要があります。
しかし一方で行列を使うと単純な計算を作業的に繰り返すことで解くことができます。
これは特に3変数以上が存在する連立方程式で有効です。
ということで今回は3変数の連立方程式(3元連立方程式)を解きますが、その前に行列の掛け算について簡単に触れておきます。
また、詳しいことは説明しません。今回はこうなるものだと思ってください。
↓のような行列の掛け算では、
↓のような計算結果になります
また↓のような行列の等式が成り立つとします。
そのときa, b, cはそれぞれ↓のような値になります。
問題を解いてみよう
以下の問題について考えていきます。
この3元連立方程式は↓のように行列を用いて表すことができます。
行列の上の行から①②③とします。
今回のゴールは↓の画像のように1を対角線的に並べ、ほかの成分を0にすることです。このようにすると、?の部分にx,y,zの値が算出されます。
では解いていきます。
まず、③ – ①を計算し、その結果を③とします。
③を6で割ります。
② – ①を計算し、それを②とします。
② – ③を計算し、それを②とします。
① – ② – ③を計算し、それを①とします。
順番を入れ替えます。
これで先ほど示したゴールの形になりました。
これより答えは、以下の通りです。
x=1, y=2, z=3
まとめ
今回は数学の行列の計算についての記事でした。
記事の冒頭で行列は機械学習に必要と言っていますが、行列の使い道は多岐に渡るので皆さんぜひマスターしてください!
~数学豆知識~
完全数とは、自身を除く正の約数の総和に等しい自然数のこと。(6, 28, 496など)
例)
6の約数は1, 2, 3, 6
6 = 1 + 2 + 3
28の約数は1, 2, 4, 7, 14, 28
28 = 1 + 2 + 4 + 7 + 14