とりあえずブログ

SEとして働く会社員の雑多なブログ

行列ってどんなときに便利なの?

最近、機械学習の勉強をしていて、数学できないなーと感じることが多いので、よく勉強会に行ったり、YouTubeで解説動画見てます。

微分に関しては、高校時代のときよりかは理解ができるようになってきています。

微分に関してはこの動画がおすすめです。

www.youtube.com

ただ、行列については何が便利なのか全く理解不能だったので、自分なりに調べた結果をまとめたいと思います。

多次元のものを解くときに有効

調べていて多かったのが、行列は多次元のマトリックスを解く際に有効であるという説明が多かったです。

たしかに、機械学習ニューラルネットワーク)を勉強していて多次元の計算をすることになりますので、その時は行列という考えが役立つのは納得する感じがしました。

qiita.com

3Dの画像処理をするのに便利

調べていてゲーム等の画像処理に使われているというものも行列の応用の仕方で多かったです。

確かにこれも3次元の計算になるので、行列というツールが使えるのは納得ですが、具体的にどのように使うかは知らないです。。。笑

長くて複雑な数式をスッキリ書くことができる

調べていてこの「長くて複雑な数式をスッキリ書くことができる」ということも行列のメリットのひとつのようでした。(個人的には、スッキリしていなくてもスッキリしていても問題を解くことができれば問題ないので、あまり納得していませんが。。。)

例えば、

x + 2y = 5

のような単純な式を行列で表現すると、

{\displaystyle 
    \begin{pmatrix}
     1 & 2 \\
 \end{pmatrix}
    \begin{pmatrix}
    x \\
    y \\
 \end{pmatrix}
    =
    5
}

とあまりメリットを感じませんが、

{\displaystyle 
\begin{eqnarray}
  \left\{
    \begin{array}{l}
      x + 2y + 3z = 4 \\
     5x + 6y + 7z = 8 \\
     9x + 10y + 11z = 12
    \end{array}
  \right.
\end{eqnarray}
}

と少し式が多くなると、

{\displaystyle 
    \begin{pmatrix}
     1 & 2 & 3 \\
     5 & 6 & 7 \\
     9 & 10 & 11 \\
 \end{pmatrix}
    \begin{pmatrix}
    x \\
    y \\
    Z \\
 \end{pmatrix}
    =
    \begin{pmatrix}
    4 \\
    8 \\
    12 \\
 \end{pmatrix}
}

とスッキリ書くことができます。

まとめ

行列は調べてみると、日常生活のいろんなところで応用されているし、機械学習を勉強していくと必ず必要なツールになってくるので、しばらくは行列の扱いに慣れたいと思います。

ひとまずなっとくシリーズが良さげなので、読んでみようと思います。

なっとくする行列・ベクトル (なっとくシリーズ)

なっとくする行列・ベクトル (なっとくシリーズ)