【新人エンジニア向け】なぜ機械学習に数学が必要?行列とベクトルの基礎を5分で理解する

こんにちは。ゆうせいです。

最近、仕事で「機械学習」や「データ分析」といった言葉を耳にする機会が増えていませんか?

エンジニアとしてキャリアをスタートさせたばかりの皆さんの中には、「プログラミングは楽しいけれど、数学はちょっと苦手……」と感じている方もいるかもしれません。でも、実はAIやデータサイエンスの裏側で動いているのは、まさに数学の力なのです。

特に、データをまとめて処理するために欠かせないのが「線形代数学(せんけいだいすうがく)」という分野です。なんだか難しそうな名前ですよね?

今回は、その入り口となる「行列」と「ベクトル」について、専門用語を噛み砕きながら一緒に学んでいきましょう。このシリーズを読み終える頃には、きっと数学に対するアレルギーがなくなっているはずです!

なぜエンジニアが数学を学ぶのか?

まず、全体像を見てみましょう。データサイエンスや機械学習の世界には、大きく分けて3つの数学の柱があります。

  • 統計学 :データの傾向を掴んだり、未来を予測したりするための学問です 。
  • 微分積分学 :変化の度合いを調べたり、複雑な関数の極値を求めたりします 。
  • 線形代数学 :そして今回学ぶのがこれです。ベクトルや行列を扱い、大量のデータを一気に計算するための道具です 。

機械学習のための応用数学を理解するには、この線形代数学が土台となります 。つまり、ここを避けて通ることはできないのです。

では、具体的に何をするのでしょうか?キーワードは「ベクトル」と「行列」です。

「スカラー」と「ベクトル」の違いとは?

まずは言葉の定義から始めましょう。数学には数を扱う形式として、大きく分けて2つのタイプが登場します。

1. スカラー (Scalar)

これは、皆さんが普段使っている「普通の数」のことです 。

例えば、気温が25度、身長が170cm、値段が100円。これらはすべてスカラーです。

スカラー同士は、足し算、引き算、掛け算、割り算といった四則演算が自由にできます 。

2. ベクトル (Vector)

一方で、ベクトルは「大きさ」だけでなく「向き」を持った量のことです 。

よく矢印で図示されるアレですね 。

でも、データ分析の文脈では、「いくつかのスカラーをセットにして並べたもの」と考えると分かりやすいです 。

例えば、ある人の健康データを考えてみましょう。「身長」だけならスカラーですが、「身長」と「体重」と「年齢」をセットにして (170, 60, 25) のように並べると、それは一つのベクトルになります。

データを表にする「行列」の正体

さて、ここからが本題です。スカラーやベクトルをさらに拡張したのが「行列」です。

行列とは、シンプルに言うと「スカラーを表にしたもの」です 。

あるいは、「ベクトルを並べたもの」とも言えます 。ベクトルのベクトル、なんて言い方もできますね 。

たとえば、こんな数字の並びを見たことがありませんか?

\begin{pmatrix} 3 & 2 & 0 \ 0 & 2 & 0 \ 0 & 0 & 1 \end{pmatrix}

これが行列です 。

括弧の中に数字が整列していますよね。横の並びを「行」、縦の並びを「列」と呼びます。

行列は何の役に立つの?

ただ数字を並べただけではありません。行列を使うと、主に次の2つのことができるようになります 。

  1. ベクトルの変換 :あるベクトルに行列を掛けると、別のベクトルに変身させることができます 。画像を回転させたり拡大したりする処理も、実はこれを使っています。
  2. 連立方程式を解く :複雑な連立方程式を、スッキリと記述して解くことができます 。

複雑な式をスッキリさせる魔法

行列の凄さを実感するために、中学校で習った「連立1次方程式」を思い出してみてください 。

たとえば、次のような式があったとします。

x_{1} + 2x_{2} = 3

2x_{1} + 5x_{2} = 5

未知数である x_{1} x_{2} の関係式がセットになったもの、これが連立方程式ですね 。

このままだと、変数が多くなったときに書くのが大変ですし、見通しも悪くなります。

そこで行列の出番です!

係数(文字の前の数字)だけを抜き出して並べてみましょう 。

\begin{pmatrix} 1 & 2 \ 2 & 5 \end{pmatrix}

これを係数の行列と呼びます 。

これを使うと、さきほどの連立方程式は次のようにたった一行で書けてしまうのです。

A \vec{x} = \vec{b}

ここで、 A は係数の行列、 \vec{x} は未知数のベクトル、 \vec{b} は右辺の答えのベクトルを表しています 。

具体的に書くとこうなります。

\begin{pmatrix} 1 & 2 \ 2 & 5 \end{pmatrix} \begin{pmatrix} x_{1} \ x_{2} \end{pmatrix} = \begin{pmatrix} 3 \ 5 \end{pmatrix}

ごちゃごちゃしていた式が、驚くほどシンプルに表現できました 。

「たくさんのデータをひとまとめにして、一つの記号 A で扱う」。これが線形代数学の最大のメリットの一つです。

今回のまとめ

いかがでしたか?

今回は、数学の地図における線形代数の位置づけと、基本的な用語について解説しました。

  • スカラー :普通の数。
  • ベクトル :数をセットにしたもの(向きと大きさを持つ)。
  • 行列 :数を表のように並べたもの。
  • 行列の利点 :複雑な連立方程式などをシンプルに表現できる。

「なんだ、ただの表じゃないか」と思えたら、第一関門は突破です!

しかし、行列の真価はここからです。ただ並べるだけでなく、これらを足したり掛けたりすることで、データ分析の強力な計算が可能になります。

次回は、多くの人が躓きやすい「行列の掛け算」のルールについて、図解するようなイメージで分かりやすく解説します。計算の仕方がわかると、一気に視界が開けますよ。

それでは、また次回お会いしましょう!

セイ・コンサルティング・グループの新人エンジニア研修のメニューへのリンク

投稿者プロフィール

山崎講師
山崎講師代表取締役
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。

学生時代は趣味と実益を兼ねてリゾートバイトにいそしむ。長野県白馬村に始まり、志賀高原でのスキーインストラクター、沖縄石垣島、北海道トマム。高じてオーストラリアのゴールドコーストでツアーガイドなど。現在は野菜作りにはまっている。