機械学習や強化学習では、大量のデータやその変換・計算を効率的に処理するために**行列(Matrix)**が頻繁に使われます。以下では、行列の基本的な演算「加算、積、転置、逆行列」についてそれぞれ詳しく解説します。
1. 行列の加算(Matrix Addition)
定義:
同じ形状(行数と列数が等しい)の行列同士でのみ加算が可能です。対応する要素をそれぞれ加える操作です。
式:
A, B が共に m×n 行列なら、
例:
2. 行列の積(Matrix Multiplication)
定義:
A(m×n行列)と B(n×p行列)の積 AB は、m×p 行列となります。Aの各行とBの各列の内積(ドット積)で定義されます。
式:
例:
注意点:
-
行列の積は 交換法則が成り立たない(AB ≠ BA)ことがある。
-
機械学習では、重み行列と特徴ベクトルの積として使われる。
3. 行列の転置(Transpose)
定義:
行列の行と列を入れ替える操作です。行列 A の転置を Aᵗ(または A^T)と書きます。
式:
例:
応用:
-
内積や距離計算、勾配の転置などで利用される。
-
転置によって列ベクトルと行ベクトルを変換することができる。
4. 逆行列(Inverse Matrix)
定義:
行列 A に対して、ある行列 A⁻¹ が存在して、
となるとき、A⁻¹ を A の 逆行列と呼びます。ただし、**A が正則(正方行列でかつ行列式 ≠ 0)**である必要があります。
例:
制約:
-
逆行列が存在しない(= 特異行列)場合もある。
-
高次元行列では、数値的に不安定なことがあるため、実際の機械学習では逆行列を直接求めず、擬似逆行列(Moore-Penrose逆行列)やLU分解、勾配降下法が使われることが多い。
応用例(機械学習・強化学習において)
| 操作 | 応用例の一部 |
|---|---|
| 行列の加算 | バイアス項の追加、重み更新(W = W + ΔW) |
| 行列の積 | ニューラルネットワークの順伝播、線形変換 |
| 行列の転置 | 内積計算、逆伝播での勾配の整理 |
| 逆行列 | 線形回帰の解析解(W = (XᵗX)⁻¹Xᵗy) |
生成日:2025/06/01