距離や類似度の関数#
量的変数#
特徴ベクトルの要素が実数値の場合\(\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が「購入」の意味を持つ場合など)