03.4
距離
まとめ
この章では「2 つのデータがどれだけ離れているか」を測る 5 つの指標を、ベクトル空間(コサイン類似度)、確率分布(KL ダイバージェンス・JS ダイバージェンス・ヘリンガー距離)、最適輸送(ワッサースタイン距離)の 3 カテゴリーに分けて学びます。同じ 2 つの分布でも、KL は重なりが消えると無限大になり、ワッサースタインは「山を動かす距離」として有限の値を返すなど、定義が違えば近さの順位も入れ替わります。対称性・三角不等式・ゼロ確率への感度といった性質を押さえると、クラスタリングやレコメンド、生成モデル評価、ドリフト検知でどの距離を選ぶべきかが決まります。
直感 #
距離(類似度)は「データ同士がどれだけ近いか」を定量化する基盤であり、クラスタリング・レコメンド・異常検知・生成モデル評価など多くのタスクで用いられる。ところが距離の定義を変えるだけで近傍関係が逆転することがあり、たとえば再生回数ベクトル (10, 2, 0) と (100, 20, 0) はユークリッド距離では遠いがコサイン類似度では 1.0 で同一視される。同じデータに対してコサイン類似度・KL ダイバージェンス・ワッサースタイン距離がそれぞれ何を「近い」と見るのかを理解し、タスクに適した距離を選べることがこの章のゴールである。
詳細な解説 #
このチャプターで学べること #
- コサイン類似度とコサイン距離の定義、テキスト埋め込みや疎ベクトルでの活用
- KLダイバージェンスの非対称性とゼロ確率問題、スムージングの必要性
- Jensen-Shannonダイバージェンスによる対称化と、距離としての利用方法
- ヘリンガー距離の平方根変換による計量性と、ベイズ推論での応用
- ワッサースタイン距離による分布の位置と形状の同時評価、Sinkhorn近似による高速化
これがわかるとできること #
- データがベクトルか確率分布かに応じて適切な距離を選択できる
- 距離の前提条件(対称性・三角不等式・スケール依存性)を把握し、誤用を回避できる
- 高次元データや大規模データでの計算コストを見積もり、近似手法を選択できる
指標間の関係マップ #
graph LR
VS["ベクトル空間"] --> COS["コサイン類似度"]
PD["確率分布"] --> KL["KLダイバージェンス"]
KL --> JSD["JS ダイバージェンス"]
PD --> HL["ヘリンガー距離"]
OT["最適輸送"] --> WS["ワッサースタイン距離"]
指標クイックリファレンス #
| 指標 | 対称性 | 計量性 | 主な用途 |
|---|---|---|---|
| コサイン類似度 | ✓ | テキスト埋め込み・レコメンド | |
| KLダイバージェンス | 確率分布の情報量差 | ||
| JSダイバージェンス | ✓ | ✓ | 分布間距離の対称比較 |
| ヘリンガー距離 | ✓ | ✓ | ベイズ推論・分布比較 |
| ワッサースタイン距離 | ✓ | ✓ | 最適輸送・生成モデル評価 |
学習の進め方 #
まずコサイン類似度で、ベクトルの長さを無視して向きだけを比べるという距離の基本を押さえる。次に KL ダイバージェンスと Jensen-Shannon ダイバージェンスで確率分布間の距離を学び、KL の非対称性とゼロ確率で無限大になる問題を JS がどう対称化・有界化するかを確かめる。続いてヘリンガー距離で、平方根変換によって 0〜1 の有界な計量になる仕組みを理解する。最後にワッサースタイン距離で「分布の山を動かすコスト」という最適輸送の考え方と、Sinkhorn 近似による高次元への応用を確認する。
まとめ #
このチャプターでは、ベクトル空間(コサイン類似度)・確率分布(KL/JSD/ヘリンガー)・最適輸送(ワッサースタイン)の3カテゴリー5指標を学んだ。 対称性・計量性・ゼロ確率への感度といった数学的性質を理解し、クラスタリング・レコメンド・生成モデル評価などタスクに応じた距離を選択できるようになることがゴールである。