前述のように、k 平均法では、最も近いセントロイドにポイントが割り当てられます。「最も近い」とはどういう意味ですか?
特徴データに K 平均法を適用するには、すべての特徴データを 1 つの数値に結合する類似性指標を定義する必要があります。これは手動の類似性指標と呼ばれます。
靴のデータセットについて考えてみましょう。そのデータセットに靴のサイズのみが特徴として含まれている場合は、2 つの靴の類似性をサイズの差異で定義できます。サイズの差が小さいほど、靴の類似性が高くなります。
その靴のデータセットにサイズと価格の 2 つの数値特徴がある場合、それらを組み合わせて類似性を示す単一の数値にすることができます。まず、両方の特徴量を比較できるようにデータをスケーリングします。
- サイズ: 靴のサイズはガウス分布を形成していると考えられます。確認します。 次に、データを正規化します。
- 価格(p): データはポアソン分布である可能性があります。確認します。十分なデータがある場合は、データを分位に変換し、 にスケーリングします。
次に、二乗平均平方根誤差(RMSE)を計算して、2 つの特徴を組み合わせます。この類似性の大まかな測定値はで表されます。
簡単な例として、米国サイズが 8 と 11、価格が 120 と 150 の 2 足の靴の類似度を計算します。分布を把握するのに十分なデータがないため、正規化や分位を使用せずにデータをスケーリングします。
アクション | メソッド |
---|---|
サイズをスケーリングします。 | 最大の靴のサイズが 20 だとします。8 と 11 を最大サイズ 20 で割ると、0.4 と 0.55 になります。 |
価格を調整します。 | 120 と 150 を最大価格 150 で割ると、0.8 と 1 になります。 |
サイズの違いを確認します。 | |
価格の差額を確認します。 | |
RMSE を計算します。 |
直感的には、特徴データが類似しているほど、類似度測定値は増加します。代わりに、類似性測定値(RMSE)が実際に減少します。類似度測定値を 1 から減算して、直感に沿うようにします。
一般に、データを準備するで説明されているように数値データを準備し、ユークリッド距離を使用してデータを結合できます。
そのデータセットに靴のサイズと靴の色の両方が含まれている場合はどうなりますか?色はカテゴリデータです。これは、ML 集中講座のカテゴリデータの操作で説明しています。カテゴリデータは、数値のサイズデータと組み合わせるのが難しいです。Mobility Print を実行できるシステムは次のとおりです。
- 単一値(単価)(車の色(「白」または「青」のいずれか)など)
- 複数値(多価): 映画のジャンルなど(映画は「アクション」と「コメディ」の両方である場合もあれば、「アクション」のみである場合もあります)
単価データが一致する場合(2 足の青い靴の場合など)は、例間の類似度は 1 です。それ以外の場合は、類似度は 0 です。
映画のジャンルなどの多価データは扱いにくいものです。映画のジャンルが固定されている場合は、共通値の比率(ジャカード類似度)を使用して類似度を計算できます。ジャッカード類似性の計算例:
- [“comedy”,”action”] and [“comedy”,”action”] = 1
- [“comedy”,”action”] と [“action”] = ½
- [“comedy”,”action”] and [“action”, "drama"] = ⅓
- [“comedy”,”action”] and [“non-fiction”,”biographical”] = 0
カテゴリデータの手動類似性測定には、ジャカード類似性以外にも方法があります。他の 2 つの例:
- 郵便番号は、ユークリッド距離を計算する前に緯度と経度に変換できます。
- 色は数値の RGB 値に変換でき、値の差はユークリッド距離に結合されます。
詳細については、カテゴリデータの操作をご覧ください。
一般的に、手動の類似性測定は実際の類似性に直接対応している必要があります。選択した指標がこの条件を満たしていない場合、その指標はエンコードする情報をエンコードしていません。
類似度を計算する前に、データを慎重に前処理します。このページの例は簡素化されています。ほとんどの実際のデータセットは大きく複雑です。前述のように、数値データを処理する場合は、デフォルトで分位を選択することをおすすめします。
データの複雑さが増すにつれて、類似性測定を手動で作成することが難しくなります。その場合は、教師あり類似性測定に切り替えます。教師あり機械学習モデルが類似性を計算します。これについては後で詳しく説明します。