Ch.03
行列とデータのまとめ:複数ベクトルの構造的表現
チャプター別 数学図
チャプターを選ぶと、下の図がそのチャプターの内容に切り替わります。中級数学の流れを一覧で確認できます。
紫の列が順番に強調されます。各列は同じ長さのベクトルで、3本の列を横に並べると1つの行列になります。右側パネルでは の意味と どの列を見ているか を示します。行で読むと 1行=1サンプル という、データでよく使う読み方になります。
行列は数を縦横に並べた一枚の表です。機械学習では、行がしばしばサンプル(一人・一枚の画像)、列が特徴を表します。本章ではベクトル(Ch.01)と内積(Ch.02)が行列の中で一度に何度も現れる様子をつなぎ、行列積と線形層(Ch.04)への準備をします。
行列とデータの束:複数のベクトルを一枚の表に
ベクトルが数を1列に並べたものだとすれば、行列はその列を複数本並べた長方形です。サイズ は 行 と 列 を意味します。表記は文脈で変わるので(行=サンプルの場合も列=サンプルの場合もある)、まず形状を確認するのが大切です。
行列は 1枚のスプレッドシート と考えると分かりやすいです。各セルは数値、列全体は1つの特徴ベクトル、行全体は1つのレコードになります。同じ表でも、どの方向で読むかで意味が変わります。
基本事項:
1. 形状: は実数要素を持つ 行 列。
2. 要素: 行 列の値は 。
3. 転置: は で 。
4. 列をベクトルとして読む: 列 を使って と書ける。
5. 和/スカラー倍: 同じ形状なら , 。
本章では、行列積に入る前に ベクトル束の読み方 と 次元合わせ を確実にします。
深層学習では重みはしばしば行列(またはテンソルの2次元スライス)です。1層の線形変換は「多数の内積を同時に計算」する形になり、バッチ化ではサンプルを行/列方向に積みます。機械学習でも 設計行列 が特徴ベクトルを1枚の表に束ねます。
一行要約: 行列は 複数ベクトルを1枚に束ねる道具 です。行/列のどちらをサンプルとみなすか は文脈依存です。転置で軸を入れ替えて次元を合わせます。Ch.02 の行内積を並べると の各成分になります。次章で行列積と線形変換へ進みます。
Ch.01 でベクトル、Ch.02 で内積を学びました。Ch.03 ではその計算を 表全体 に拡張します。行列は 損失・勾配・重み更新 を記述する共通言語です。
実データは通常 多数サンプル × 多数特徴 です。形状 を明示すると構造を正しく把握でき、形状ミスによる不具合を減らせます。
学習データはしばしば 設計行列 として扱います。線形モデルは行列・ベクトル積で書かれ、ロジスティック/softmax、線形SVM、行列分解型推薦でも バッチ化したベクトル演算 が使われます。
列ベクトルは部分空間(列空間)を 張る という見方ができます。高次元データを低次元へ写す操作は部分空間への 射影 として理解できます(後続章)。
下の表に、解くときに必要な 記号と次元ルール をまとめています。続く 例題 で典型手順を確認します。
- 記号
- 意味 行 列
- 記号
- 意味 行 列の要素
- 記号
- 意味転置:
- 記号列ベクトル
- 意味 の 列をベクトルとして見たもの
- 記号同じ形状
- 意味 は形状が一致するときのみ定義
- 記号(予告)
- 意味各行と の内積を並べたベクトル
| 記号 | 意味 |
|---|---|
| 行 列 | |
| 行 列の要素 | |
| 転置: | |
| 列ベクトル | の 列をベクトルとして見たもの |
| 同じ形状 | は形状が一致するときのみ定義 |
| (予告) | 各行と の内積を並べたベクトル |
項目別の詳しい説明
① 形状 加算・乗算の前に必ず次元(形状)を確認します。
② 転置 必要に応じてサンプル軸と特徴軸を入れ替えます。
③ 行/列の見方 同じ でも、問題設定によって意味づけが変わります。
④ Ch.02 との接続 行ベクトルと の内積が の1成分になります。
練習問題
以下は60問バンクから無作為に選んだ10問です(易しめ4・中3・難3、順序は易→中→難)。各問は選択式で、番号を選んでください。
零行列の性質として正しいものはどれですか?
1 / 10