距離や類似度の関数#

量的変数#

特徴ベクトルの要素が実数値の場合\(\mathbf{x}_i, \mathbf{x}_j \in \mathbb{R}^K\)の距離\(d_{ij}\)

ユークリッド距離(L2距離)

\[ \left[\sum_{k=1}^K\left(x_{i k}-x_{j k}\right)^2\right]^{1 / 2} \]
  • よく使われる

シティブロック距離(マンハッタン距離・L1距離)

\[ \sum_{k=1}^K\left|x_{i k}-x_{j k}\right| \]
  • 外れ値に対して頑健

ミンコフスキー距離(Lp距離)

\[ \left[\sum_{k=1}^K\left|x_{i k}-x_{j k}\right|^p\right]^{1 / p} \]
  • ミンコフスキー距離(Minkowski distance)。\(L_p\)距離とも呼ばれる。

  • L2距離などを一般化したもの

マハラノビス距離(Mahalanobis distance)

\[ \left[\left(\mathbf{x}_i-\overline{\mathbf{x}}\right)^{\top} \Sigma^{-1}\left(\mathbf{x}_j-\overline{\mathbf{x}}\right)\right]^{1 / 2} \]
  • \(\bar{\mathbf{x}}\)はサンプルの平均、\(\Sigma\)は共分散行列

  • ベクトルの要素ごとの分散に大きな差があるとき使われる

コサイン類似度(cosine similarity)

\[ \frac{\mathbf{x}_i \cdot \mathbf{x}_j}{\left\|\mathbf{x}_i\right\|\left\|\mathbf{x}_j\right\|} \]
  • 類似度なので距離とは逆向き

  • ベクトルの角度に意味がある文書ベクトルなどに使われる

なお、類似度\(s_{ij}\)\(d_{ij} = 1 - s_{ij}\)と変換すれば距離になる

カテゴリカル変数#

特徴ベクトルが有限の値のどれかを取るカテゴリ値

単純一致係数(simple matching coefficient)

\[ s_{ij} = \frac{1}{K} \sum_{k=1}^K \mathrm{I}\left[x_{i k}=x_{j k}\right] \]
  • 類似度の指標。

  • \(I[\text{条件}]\)は条件が成立したとき1、そうでないとき0をとる指示関数

Jaccard係数(Jaccard coefficient)

\[ \frac{\sum_{k=1}^K \mathrm{I}\left[x_{i k}=1 \wedge x_{j k}=1\right]}{K-\sum_{k=1}^K \mathrm{I}\left[x_{i k}=0 \wedge x_{j k}=0\right]} \]
  • 類似度の指標。

  • 0/1のいずれかの値を取るカテゴリ値で、とくに値が1の場合に注目しているときに使われる(1が「購入」の意味を持つ場合など)

参考#

神嶌敏弘「クラスタリング」