2 min read

1. ベクトル空間とデータ表現の基礎

Table of Contents

データサイエンスと機械学習の理論は、線形代数の概念、特にベクトルの上に成り立っています。この記事では、ベクトルを単なる「数字のリスト」としてではなく、数学的に厳密な対象として捉え、データサイエンスにおけるその多様な役割と基本的な演算について詳細に解説します。


ベクトル空間の導入

数学において、ベクトルはベクトル空間 (vector space) の元(要素)として定義されます。nn次元実数ベクトル空間 Rn\mathbb{R}^n は、実数の組によって構成される集合です。この空間の任意のベクトル v\vec{v} は、nn個の実数からなる順序組として表現されます。

v=(v1,v2,,vn)(viR)\vec{v} = (v_1, v_2, \dots, v_n) \quad (v_i \in \mathbb{R})

このベクトル空間は、「和」と「スカラー倍」の2つの演算について閉じており、特定の公理(ベクトル空間の公理)を満たします。この性質こそが、ベクトルをデータ操作の基本単位たらしめている根源です。


データサイエンスにおけるベクトルの役割

ベクトルの強力さは、抽象的なオブジェクトやデータを、計算可能な幾何学的オブジェクトに変換できる点にあります。

1. 特徴ベクトル (Feature Vector)

データ分析において最も基本的な表現形式です。構造化データの各サンプル(各行)は、その属性(特徴量)を各成分に持つベクトルと見なせます。例えば、ある住宅のデータは、(面積, 部屋数, 築年数, 駅からの距離) といった特徴ベクトルで表現されます。

2. 埋め込み表現 (Embeddings)

テキストや画像、グラフといった非構造化データを、低次元かつ密なベクトル空間に写し取る(埋め込む)技術は、現代のAIにおいて不可欠です。このベクトル空間は潜在空間 (latent space) とも呼ばれます。

  • 単語埋め込み (Word Embeddings): Word2VecやGloVeといったモデルは、単語をベクトルとして表現します。この空間では、単語のセマンティックな関係性がベクトル演算に反映されます。有名な例として、以下の関係が挙げられます。 vkingvman+vwomanvqueen\vec{v}_{\text{king}} - \vec{v}_{\text{man}} + \vec{v}_{\text{woman}} \approx \vec{v}_{\text{queen}}
  • 画像埋め込み (Image Embeddings): 畳み込みニューラルネットワーク(CNN)は、画像から特徴ベクトルを抽出し、画像分類や類似画像検索タスクに利用します。

ベクトルの重要な演算

1. ノルム (Norm)

ノルムは、ベクトルの「大きさ」や「長さ」を測るための概念です。特に頻用されるのが**ユークリッドノルム(L2ノルム)**です。これは、原点からベクトルが指し示す点までの幾何学的な距離に相当します。

v2=v12+v22++vn2=i=1nvi2\| \vec{v} \|_2 = \sqrt{v_1^2 + v_2^2 + \dots + v_n^2} = \sqrt{\sum_{i=1}^n v_i^2}

他に、各成分の絶対値の和であるL1ノルム(マンハッタン距離) v1=i=1nvi\| \vec{v} \|_1 = \sum_{i=1}^n |v_i| もあります。

2. 内積 (Inner Product / Dot Product)

内積は2つのベクトルの関係性を表す非常に重要な演算です。ベクトル a\vec{a}b\vec{b} の内積は、代数的には以下で定義されます。

ab=i=1naibi\vec{a} \cdot \vec{b} = \sum_{i=1}^n a_i b_i

また、幾何学的には、ベクトル間の角度 θ\theta を用いて次のように表現できます。

ab=abcosθ\vec{a} \cdot \vec{b} = \| \vec{a} \| \| \vec{b} \| \cos \theta

この2つの定義から、内積は以下の重要な役割を担います。

  • 類似度の計算: 上記の式を変形して得られるコサイン類似度 cosθ=abab\cos \theta = \frac{\vec{a} \cdot \vec{b}}{\| \vec{a} \| \| \vec{b} \|} は、ベクトルの向きがどれだけ似ているかを示し、推薦システムや情報検索で頻繁に用いられます。
  • 直交性の判定: 内積が0のとき、2つのベクトルは直交しています (cos90=0\cos 90^\circ = 0)。これは、2つの特徴が互いに無相関であることを示唆する場合があります。

基底と線形結合

ベクトル空間の任意のベクトルは、基底 (basis) と呼ばれる線形独立なベクトルの組の線形結合 (linear combination) によって一意に表現できます。Rn\mathbb{R}^n における最も基本的な基底は標準基底 {e1,e2,,en}\{ \vec{e}_1, \vec{e}_2, \dots, \vec{e}_n \} です。

e1=(1,0,,0),e2=(0,1,,0),,en=(0,0,,1)\vec{e}_1 = (1, 0, \dots, 0), \quad \vec{e}_2 = (0, 1, \dots, 0), \quad \dots, \quad \vec{e}_n = (0, 0, \dots, 1)

任意のベクトル v=(v1,,vn)\vec{v} = (v_1, \dots, v_n) は、この基底を用いて以下のように表現できます。

v=v1e1+v2e2++vnen=i=1nviei\vec{v} = v_1 \vec{e}_1 + v_2 \vec{e}_2 + \dots + v_n \vec{e}_n = \sum_{i=1}^n v_i \vec{e}_i

これは、ベクトルの各成分 viv_i が、対応する基底ベクトル ei\vec{e}_i の方向へどれだけ進むかを示す「座標」であることを意味しています。


まとめ

ベクトルは、単なる数値の配列ではなく、明確な代数的構造を持つベクトル空間の要素です。データサイエンスにおいて、ベクトルは特徴量を表現するだけでなく、内積やノルムといった演算を通じてデータ間の類似度や関係性を定量化するための強力なツールとなります。このベクトル表現の理解は、後続の行列や機械学習アルゴリズムを学ぶ上での強固な礎となります。