スカラー、ベクトル、行列、テンソルの概念

機械学習や強化学習の基礎となる数学の一つが線形代数であり、その中でも重要な基本概念として「スカラー」「ベクトル」「行列」「テンソル」があります。以下、それぞれについて詳しく説明します。


1. スカラー(Scalar)

定義
スカラーは、大きさ(値)のみを持つ数です。1つの実数または複素数で表され、方向や次元の情報はありません。

  • 実数: 5, -2.3, π

  • 強化学習での報酬値(Reward)などがスカラー

特徴

  • 次元数は「0次元」

  • 通常の四則演算が可能(加減乗除)


2. ベクトル(Vector)

定義
ベクトルは、複数の数(スカラー)を一次元で並べた集合体です。大きさと方向を持ち、数直線や空間上の点を表すことができます。

表記例

  • 列ベクトル:

    v=[v1v2vn]\mathbf{v} = \begin{bmatrix} v_1 \\ v_2 \\ \vdots \\ v_n \end{bmatrix}

  • 行ベクトル:

    v=[v1,v2,,vn]\mathbf{v} = [v_1, v_2, \dots, v_n]

  • 特徴量ベクトル(例: 身長・体重・年齢など)

  • ニューラルネットワークの入力層や出力層

特徴

  • 次元数は「1次元」

  • 線形結合、内積、外積などの演算が可能


3. 行列(Matrix)

定義
行列は、数(スカラー)を縦横に並べた2次元の配列です。複数のベクトルを並べた構造とも見なせます。

表記例

A=[a11a12a1na21a22a2nam1am2amn]\mathbf{A} = \begin{bmatrix} a_{11} & a_{12} & \dots & a_{1n} \\ a_{21} & a_{22} & \dots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{m1} & a_{m2} & \dots & a_{mn} \end{bmatrix}

(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