機械学習や強化学習の基礎となる数学の一つが線形代数であり、その中でも重要な基本概念として「スカラー」「ベクトル」「行列」「テンソル」があります。以下、それぞれについて詳しく説明します。
1. スカラー(Scalar)
定義
スカラーは、大きさ(値)のみを持つ数です。1つの実数または複素数で表され、方向や次元の情報はありません。
例
-
実数: 5, -2.3, π
-
強化学習での報酬値(Reward)などがスカラー
特徴
-
次元数は「0次元」
-
通常の四則演算が可能(加減乗除)
2. ベクトル(Vector)
定義
ベクトルは、複数の数(スカラー)を一次元で並べた集合体です。大きさと方向を持ち、数直線や空間上の点を表すことができます。
表記例
-
列ベクトル:
-
行ベクトル:
例
-
特徴量ベクトル(例: 身長・体重・年齢など)
-
ニューラルネットワークの入力層や出力層
特徴
-
次元数は「1次元」
-
線形結合、内積、外積などの演算が可能
3. 行列(Matrix)
定義
行列は、数(スカラー)を縦横に並べた2次元の配列です。複数のベクトルを並べた構造とも見なせます。
表記例
(m行n列の行列)
例
-
重み行列(ニューラルネットワーク)
-
データセットの行列(各行がデータサンプル、各列が特徴量)
特徴
-
次元数は「2次元」
-
行列積、転置、逆行列、固有値分解などの演算対象
4. テンソル(Tensor)
定義
テンソルは、スカラー・ベクトル・行列を一般化した多次元配列です。次元数(ランク)によってスカラー・ベクトル・行列を内包します。
| ランク(階数) | 内容 | 例 |
|---|---|---|
| 0 | スカラー | 1つの数 |
| 1 | ベクトル | 1次元配列(例: [1,2,3]) |
| 2 | 行列 | 2次元配列(例: 画像のピクセル) |
| 3以上 | テンソル | 3次元以上の配列(例: RGB画像、時系列データ群) |
例
-
画像データ(高さ×幅×RGB)
-
バッチ学習データ(サンプル数×特徴量×時間ステップなど)
特徴
-
次元数は任意(3次元以上)
-
多次元での変換、ブロードキャスト、畳み込み処理に使用
まとめ
| 概念 | 次元 | 例 | 機械学習での役割 |
|---|---|---|---|
| スカラー | 0 | 3.14、報酬、損失関数の出力 | 単一の値として使われる |
| ベクトル | 1 | [x, y, z] | 特徴量、出力ラベル、勾配など |
| 行列 | 2 | 画像、重み、データセット | 線形変換、入力・出力の構造 |
| テンソル | 3以上 | 複数画像、音声、動画 | ディープラーニングの入力・中間層 |
これらの概念を正確に理解し、扱えることが、機械学習や強化学習のアルゴリズムを数式・コードの両面から正しく実装・運用するうえで不可欠です。
生成日:2025/06/01