行列 線形変換 行列積 転置 逆行列
行列とは
行列(Matrix)
数を長方形に並べたもの。m×n行列は m 行 n 列。
A = [[a₁₁, a₁₂], [a₂₁, a₂₂]]
ベクトルの集まり、または線形変換の表現と見なせる。
行列演算
行列の和
同じサイズの行列同士、対応する要素を足す。
スカラー倍
すべての要素に同じ数を掛ける。
行列積(Matrix Multiplication)
行列積
A (m×n) × B (n×p) = C (m×p)
Cᵢⱼ = Σₖ Aᵢₖ Bₖⱼ
Aの列数とBの行数が一致する必要がある。
注意:AB ≠ BA(一般に交換法則は成り立たない)
転置(Transpose)
転置行列 Aᵀ
行と列を入れ替える。
(Aᵀ)ᵢⱼ = Aⱼᵢ
性質:(AB)ᵀ = BᵀAᵀ
特殊な行列
| 名前 | 特徴 | 用途 |
|---|---|---|
| 単位行列 I | 対角成分が1、他が0 | AI = IA = A |
| 零行列 O | すべての成分が0 | バイアスの初期化 |
| 対角行列 | 対角成分以外が0 | スケーリング |
| 対称行列 | A = Aᵀ | 共分散行列、グラフ隣接行列 |
| 直交行列 | AAᵀ = I | 回転、正規直交基底 |
行列とベクトルの積
行列 A にベクトル x を掛けると、新しいベクトル y = Ax が得られる。これは x を線形変換したもの。
ニューラルネットワークの1層:y = Wx + b
W: 重み行列、x: 入力、b: バイアス、y: 出力
逆行列
逆行列(Inverse Matrix)
AA⁻¹ = A⁻¹A = I となる行列 A⁻¹
存在条件:正方行列で行列式 ≠ 0(正則行列)
用途:連立方程式 Ax = b の解 x = A⁻¹b
実務での応用
WEB開発での応用
CSS Transform:translate, rotate, scale は行列で表現される。
3Dグラフィックス:ビュー行列、射影行列、モデル行列。
画像処理:畳み込みフィルタは行列演算。
AI/MLでの応用
全結合層:入力ベクトルに重み行列を掛ける。
Attention:Query, Key, Value の行列演算。
バッチ処理:複数サンプルを行列として一括処理。GPUで高速化。
共分散行列:特徴量間の関係を表す。PCAの基盤。
深掘りリンク
- Wikipedia: 行列
- 動画:3Blue1Brown「線形代数の本質」
- ライブラリ:NumPy, PyTorch, TensorFlow
- 次のステップ:固有値、特異値分解