手動類似度メジャーを作成する

2 つの例の類似度を計算するには、これら 2 つの例のすべての特徴データを 1 つの数値に結合する必要があります。

たとえば、靴のサイズが 1 つしかない靴のデータセットを考えてみましょう。サイズ間の差を計算することで、2 つの靴の類似度を数値化できます。サイズ間の数値差が小さいほど、靴の類似性は高くなります。このような手作りの類似性メジャーは、手動類似度と呼ばれます。

サイズと色の両方を使用して靴の類似点を確認するにはどうすればよいでしょうか。色はカテゴリデータであり、数値サイズのデータと結合することが難しくなります。データが複雑になるにつれて、手動類似性の基準を作成することが難しくなります。データが十分に複雑になると、手動メジャーを作成できなくなります。そのような場合、教師あり類似性指標に切り替えます。これにより、教師あり機械学習モデルが類似度を計算します。

ここでは、教師あり類似性メジャーを放棄し、手動測定に焦点を当てます。現時点では、手動類似度メジャーの作成が難しい場合は、教師あり類似性メジャーに切り替えることに注意してください。

手動による類似性の測定の仕組みを理解するために、靴の例を見てみましょう。モデルに、靴のサイズと価格のデータという 2 つの特徴があるとします。どちらの特徴も数値であるため、次のようにして 1 つの類似度を表す 1 つの数値にまとめることができます。

  • サイズ(ss): シューズのサイズはおそらくガウス分布です。これを確認します。 その後、データを正規化します。
  • 価格(p): データはおそらくポアソン分布です。これを確認します。十分なデータがある場合は、データを分位数に変換し、 \([0,1]\)にスケールします。
  • 二乗平均平方根誤差(RMSE)を使用してデータを結合します。ここでは、類似性は \(\sqrt{\frac{s^2+p^2}{2}}\)です。

簡単な例として、米国のサイズ 8 と 11、価格が 120 と 150 の 2 つの靴の類似度を計算してみましょう。分布を理解するのに十分なデータがないため、単純に正規化や分位値を使用せずにデータをスケーリングします。

アクションメソッド
サイズを調整する。 靴の最大サイズを 20 とします。8 と 11 を最大サイズ 20 で割り、0.4 と 0.55 を取得します。
価格を調整する。 120 と 150 を最高価格の 150 で割り、0.8 と 1 を取得します。
サイズの違いを確認します。 \(0.55 - 0.4 = 0.15\)
価格の違いを確認します。 \(1 - 0.8 = 0.2\)
RMSE を見つけます。 \(\sqrt{\frac{0.2^2+0.15^2}{2}} = 0.17\)

直感的に、特徴データが類似すれば測定される類似性が高くなります。代わりに、測定される類似性は実際に減少します。測定された類似性は、直感に合わせます。1 から引いた値を 1 から引いて計算します。

\[\text{Similarity} = 1 - 0.17 = 0.83\]

通常は、データの準備で説明されているように数値データを準備してから、ユークリッド距離を使用してデータを結合できます。

カテゴリデータがある場合はどうなるでしょうか。カテゴリデータは次のいずれかになります。

  • 単一色(等価)で、車の色(「白」や「青」など。ただし、両方は不可)
  • 映画のジャンルなどの多値(多価)、「アクション」と「コメディ」を同時に行うことも、「アクション」のみにすることもできます

一価データが一致する場合、類似性は 1、そうでない場合は 0 になります。多価データの処理は困難です。たとえば、映画のジャンルを扱うのが難しい場合があります。この問題に対処するために、映画が一定のジャンルセットからジャンルに割り当てられているとします。類似性は、ジャッカム類似性と呼ばれる一般的な値の比率を使用して計算します。

例:

  • [“comedy”,action”] と [“comedy””action”] = 1
  • [“comedy”,action”] と [“action”] = 1⁄2
  • ["comedy",action"] と ["action" "drama"] = 1⁄3
  • [“comedy”,action”] と [“non-フィクション”]、[伝記]] = 0

次の表に、カテゴリデータの扱い方の例を示します。

郵便番号 隣接する地域を表す郵便番号は、類似性が高い必要があります。この類似性を正確に計算するために必要な情報をエンコードするには、郵便番号を緯度と経度に変換します。郵便番号のペアについて、緯度と経度の差を別々に計算します。次に、差分を追加して、単一の数値を取得します。
カラー カラーデータがテキストであるとします。テキスト値を数値 RGB 値に変換します。これで、ユークリッド距離を使用して、2 つの色の赤、緑、青の値の差を見つけ、その違いを数値に結合できるようになりました。

一般に、類似度メジャーは実際の類似度に直接対応している必要があります。そうでない場合は、必要な情報がエンコードされていません。前述の例では、郵便番号自体は必要な情報をエンコードしていなかったため、郵便番号は緯度と経度に変換されています。

類似性メジャーを作成する前に、データを慎重に処理してください。このページの例では、小さくて単純なデータセットを使用していますが、実際のデータセットのほとんどは、はるかに大きく、複雑です。分位点は、数値データを処理するための適切なデフォルトの選択です。