ベクトル — 矢印と数の組、2つの顔

ベクトルは「向きと大きさを持つ矢印」であり、同時に「数を並べた組」でもあります。この二重の見方こそが、幾何の直感でデータを扱える理由。和・スカラー倍・内積・線形結合を、すべて動かしながら体に入れます。

1. ベクトルの2つの顔

紙の上では、ベクトル a は原点から伸びる矢印です。「どっちを向いて、どれだけ長いか」だけが本体で、置き場所は問いません。

一方、座標を使えば同じものが a = (2, 1) という数の組で書けます。「x 方向に 2、y 方向に 1」。矢印としての直感と、数としての計算しやすさ — この2つを自由に行き来できるのがベクトルの強さです。

矢印の長さを大きさ(ノルム)|a| と呼び、三平方の定理で計算できます。大きさを 1 に揃えたベクトルが単位ベクトルで、「向きだけ」を取り出したいときに使います。

|a| = √(a₁² + a₂²)  â = a / |a| â(単位ベクトル)は a と同じ向きで長さ 1。成分が増えても式の形はそのまま
POINT — データはぜんぶ高次元ベクトル 身長・体重・年齢を並べた (170, 60, 25) は3次元ベクトル。100×100 の画像は画素値を並べた1万次元ベクトル。機械学習が「データを扱う」とは「高次元ベクトルを扱う」ことにほかならない。線形回帰もk近傍法も、この見方の上に立っている。

2. 動かして体感 — 和・差・スカラー倍

ベクトルの基本演算は3つだけ。和 a+b は「a で移動してから b で移動」した合計の移動。差 a−b は「b の先端から a の先端へ向かう矢印」。スカラー倍 k·a は向きを保ったまま長さを k 倍(k が負なら反転)です。

下の盤で、矢印の先端をドラッグしてベクトルを動かしながら、3つの演算を切り替えてみてください。

ベクトル操作盤 — 矢印の先端をドラッグできます
和モード:b のコピーが a の先端へ滑っていき(つなぎ足し)、平行四辺形の対角線が a+b になります。差モード:a−b は「b の先端 → a の先端」。スカラー倍モード:k を負にすると矢印が反転します。座標値は左上に常時表示。
a + b = (a₁+b₁, a₂+b₂)  k·a = (k a₁, k a₂) 成分ごとに足す・掛けるだけ。矢印のつなぎ足しと同じ結果になるのがポイント
注意 — 足せるのは同じ次元どうしだけ 2次元と3次元のベクトルは足せない。機械学習のコードで頻発する shape エラーの正体は、たいてい「次元の合わないベクトルや行列を混ぜた」こと。演算の前に「成分の個数が揃っているか」を確認する癖をつけよう。

3. 内積 — 「影の長さ」で類似度を測る

2本のベクトルから1つの数を作る演算が内積 a·b です。幾何的には「b の上に落ちた a の影の長さ |a|cosθ に、|b| を掛けたもの」。2本が同じ向きなら大きく、直角なら 0、逆向きなら負になります。

内積 = 影の長さ × |b| — 角度を回して符号の変化を見る
点線=b に垂直な「光」。a の影(太い線)が b の上に落ちます。θ = 90° でちょうど影が消えて内積 0、90° を超えると影が反対側に伸びて内積は負に。緑=正・赤=負です。

そしてもう1つの顔が成分計算。対応する成分を掛けて足すだけで、まったく同じ値が出ます。

a·b = |a||b|cosθ = a₁b₁ + a₂b₂ 左=幾何の顔(影 × 長さ)、右=計算の顔(掛けて足すだけ)。この等式が内積の心臓部
注意 — 内積の答えはベクトルではない a·b の結果は矢印ではなく、ただの1つの数(スカラー)。「ベクトルどうしの掛け算でベクトルが返る」と思い込むのが初学者の定番のつまずき。内積は2本の矢印を1つの数に要約する演算だと覚えよう。
POINT — 内積は「類似度」の物差し 同じ向きほど大、直交で 0、逆向きで負 — これはそのまま「似ている度合い」として使える。AI が単語や文をベクトル(埋め込み表現)に変換したあと、意味が近いかどうかの判定は本質的にこの内積(コサイン類似度)で行われている。検索エンジンも推薦システムもこの1行の式の上で動いている。

4. 線形結合 — 2本のベクトルで平面を塗る

2本のベクトル v₁, v₂ に係数を掛けて足したもの c₁v₁ + c₂v₂ を線形結合と呼びます。係数 c₁, c₂ を自由に選ぶと、到達できる点はどこまで広がるでしょうか?

線形結合が張る世界 — 係数を振って平面を塗りつぶす
白い点が到達点 P = c₁v₁ + c₂v₂。スライダーを動かした軌跡と、乱数で振った係数の到達点が緑に塗られていきます(v₂ の向きを変えると塗りはリセット)。「v₂ を v₁ と平行にする」を押すと — どんなに係数を振っても直線しか塗れなくなります。これが一次従属です。
P = c₁v₁ + c₂v₂ 係数を全部試して届く点の集合を「v₁, v₂ の張る空間(スパン)」と呼ぶ。独立なら平面全体、従属なら直線どまり

2本が別々の向きを向いていれば(一次独立)、係数しだいで平面のどこへでも届きます。逆に平行だと(一次従属)、2本目は何の新しい方向ももたらさず、直線から出られません。「手持ちのベクトルが何次元ぶんの世界を張れるか」という視点は、次の行列、そして次元削減(PCA)へまっすぐつながります。

5. まとめ

一歩先へ — 高次元でも式は変わらない ここで見た式は、成分が 3 個でも 1 万個でも形が同じ。実は高次元空間では「ランダムに選んだ2本はほぼ直交する(内積 ≈ 0)」という不思議な性質があり、だからこそ埋め込みベクトルで「内積が大きい=偶然ではない類似」が強い意味を持つ。矢印の絵は2次元まででも、計算と直感はそのまま高次元へ持ち上がる。