ベクトル スカラー 内積 ノルム コサイン類似度
ベクトルとは
ベクトル(Vector)
大きさと方向を持つ量。数学的には、順序付けられた数の組(配列)。
v = (v₁, v₂, ..., vₙ) または列ベクトルとして表記。
n次元ベクトル空間 ℝⁿ の要素。
プログラミングでは配列やリストとして表現される。[1, 2, 3] は3次元ベクトル。
基本演算
スカラー倍
ベクトルの各成分に同じ数(スカラー)を掛ける。
2 × (1, 2, 3) = (2, 4, 6)
ベクトルの長さが変わる(方向は同じか逆)。
ベクトルの和
対応する成分同士を足す。
(1, 2) + (3, 4) = (4, 6)
ノルム(大きさ)
ノルム(Norm)
ベクトルの「大きさ」を測る関数。
L2ノルム(ユークリッドノルム):||v|| = √(v₁² + v₂² + ... + vₙ²)
L1ノルム(マンハッタン距離):||v||₁ = |v₁| + |v₂| + ... + |vₙ|
内積
内積(Dot Product / Inner Product)
a · b = a₁b₁ + a₂b₂ + ... + aₙbₙ
または a · b = ||a|| ||b|| cos θ
θはベクトル間の角度。
結果はスカラー(1つの数値)。
内積の意味:
| 内積の値 | 角度 | 意味 |
|---|---|---|
| 正(大きい) | 鋭角(近い) | 同じ方向 |
| 0 | 直角(90°) | 直交(無関係) |
| 負 | 鈍角(遠い) | 反対方向 |
コサイン類似度
コサイン類似度(Cosine Similarity)
cos θ = (a · b) / (||a|| ||b||)
-1 〜 1 の値を取る。
1: 完全に同じ方向、0: 直交、-1: 完全に逆方向
コサイン類似度は、ベクトルの大きさに依存せず、方向だけを比較する。文書やユーザーの類似度計算でよく使われる。
実務での応用
WEB開発での応用
2D/3D座標:位置、速度、加速度はベクトル。ゲーム開発の基礎。
カラー空間:RGB = 3次元ベクトル。色の距離を計算可能。
レコメンデーション:ユーザーの嗜好ベクトルと商品ベクトルの類似度。
AI/MLでの応用
単語埋め込み(Word Embedding):Word2Vec, GloVe。「王 - 男 + 女 = 女王」のベクトル演算。
画像ベクトル:画像を固定長ベクトルに変換。類似画像検索。
特徴量ベクトル:機械学習の入力はすべてベクトル化される。
埋め込み空間:意味的に近いものが近くに配置される高次元空間。
深掘りリンク
- Wikipedia: ベクトル
- Wikipedia: コサイン類似度
- 動画:3Blue1Brown「線形代数の本質」シリーズ
- 次のステップ:行列、線形変換