行列とベクトルの乗算:基本
行列とベクトルの乗算は、線形代数における中心的な演算の一つであり、ベクトルを行列によって変換する操作を表します。特に機械学習では、データの変換やモデルの計算において不可欠な要素です。
計算方法
\(m \times n\) 行列 \(\mathbf{A}\) と \(n\) 次元ベクトル \(\mathbf{x} = [x_1, x_2, ..., x_n]^T\) の積 \(\mathbf{y} = \mathbf{A}\mathbf{x}\) は、\(m\) 次元ベクトル \(\mathbf{y} = [y_1, y_2, ..., y_m]^T\) となります。結果のベクトル \(\mathbf{y}\) の \(i\) 番目の要素 \(y_i\) は、行列 \(\mathbf{A}\) の \(i\) 行目とベクトル \(\mathbf{x}\) の内積として計算されます。
$ y_i = (\mathbf{A}\text{ の } i \text{ 行目}) \cdot \mathbf{x} = \sum_{j=1}^{n} A_{ij} x_j$
ここで、\(A_{ij}\) は行列 \(\mathbf{A}\) の \(i\) 行 \(j\) 列の要素を表します。
設問の計算例
与えられた行列は \(\mathbf{A} = \begin{pmatrix} 2 & -1 \\ 0 & 3 \end{pmatrix}\) で、ベクトルは \(\mathbf{x} = \begin{pmatrix} 5 \\ -2 \end{pmatrix}\) です。
積 \(\mathbf{y} = \mathbf{A}\mathbf{x}\) を計算します。
したがって、積ベクトルは \(\mathbf{y} = \begin{pmatrix} 12 \\ -6 \end{pmatrix}\) となります。
問題で問われているのは、このベクトル \(\mathbf{y}\) の第1要素であるため、答えは 12 です。
重要ポイント
- 計算可能条件: 行列 \(\mathbf{A}\) とベクトル \(\mathbf{x}\) の乗算 \(\mathbf{A}\mathbf{x}\) が定義されるのは、\(\mathbf{A}\) の列数と \(\mathbf{x}\) の次元数が一致する場合のみです。
- 結果の次元: \(m \times n\) 行列と \(n\) 次元ベクトルの積は、\(m\) 次元ベクトルになります。
- 非可換性: 行列とベクトルの乗算は、一般に \(\mathbf{A}\mathbf{x}\) と \(\mathbf{x}\mathbf{A}\) は異なります(後者は定義されないことが多い)。
線形変換としての意味
行列とベクトルの乗算は、ベクトル空間における線形変換を表します。これは、ベクトル \(\mathbf{x}\) を行列 \(\mathbf{A}\) を用いて別のベクトル \(\mathbf{y}\) へと写像(変換)する操作と解釈できます。回転、拡大・縮小、せん断(スキュー)などの幾何学的な変換は、特定の行列をベクトルに乗じることで表現できます。
機械学習における応用
- ニューラルネットワークの全結合層: 各層の計算は、入力ベクトルに重み行列を乗じ、バイアスベクトルを加算する操作が基本です。\( \mathbf{y} = \text{activation}(\mathbf{W}\mathbf{x} + \mathbf{b}) \) の \(\mathbf{W}\mathbf{x}\) の部分に相当します。
- 線形回帰: モデルの予測値 \(\hat{y}\) は、特徴量ベクトル \(\mathbf{x}\) と学習された重みベクトル \(\mathbf{w}\) の内積(一種の行列とベクトルの積)で計算されます (\(\hat{y} = \mathbf{w}^T \mathbf{x}\))。
- 主成分分析 (PCA): データを主成分軸に射影する際に、データ行列と固有ベクトルからなる行列の乗算が用いられます。
- 状態空間モデル: 時系列分析などで、現在の状態ベクトルから次の状態ベクトルを予測する際に、遷移行列と現在の状態ベクトルの乗算が使われます。