機械学習を理解するための線形代数の基礎。ベクトル・行列の演算ルールを最低限押さえます。
機械学習の本を開いたら、いきなり行列がいっぱい出てきたんだけど…
そうそう、データサイエンスではベクトルと行列が共通言語なのよ。
まずは基礎演算から押さえていきましょう。
ベクトルは数を縦に並べたもの。 例: v=(2,3,5)。 これは3次元ベクトル。 機械学習では1サンプルの特徴量ベクトルとしてよく出るわ。
縦ですかぁ?
横ですかぁ?
数学では縦に並べるのが基本(列ベクトル)。 表記スペースの都合で横書きすることもあるわ。
じゃあ行列は?
行列は数を縦横に並べた長方形の数表。 m行n列の行列は m×n 行列と呼ぶ。 機械学習では『N個のサンプル × D個の特徴量』のデータ行列としてよく出るわ。
演算で大事なのが行列の積。 (m×n)行列と(n×p)行列の積は(m×p)行列になる。 内側の次元(n)が一致しないとそもそも積が定義されない。
なんで内側を合わせるんですかぁ?
ふしぎ〜
積の各要素は『左の行と右の列の内積』だから、長さが一致しないと内積が計算できないのよ。
なるほど、次元の確認って大事なんだね!
特殊な行列として、対角成分以外がゼロの対角行列、対角=1で他=0の単位行列I、行と列を入れ替えた転置行列Aᵀ などを覚えておくと便利。
うぅ〜ん…覚えること、たくさんですぅ…
DS検定★では複雑な計算は問われないけれど、『行列の積で次元が合わない選択肢を見抜く』『内積の計算』『単位行列・転置行列の意味』は押さえてね。
確認クイズ
(3×4) 行列 A と (4×2) 行列 B の積 A·B のサイズは何か。
- 3×2
- 4×4
- 3×4
- 未定義
こたえを見る
正解: 1. 3×2
3×2。 (m×n)·(n×p) = (m×p) なので、(3×4)·(4×2) = (3×2) です。 内側の次元4が一致しているので積は定義されます。