クラスタリング

完了

"クラスタリング" とは、観測値がデータ値または特徴量の類似性に基づいてクラスターにグループ化される教師なし機械学習の形態の一つです。 この種の機械学習は、既知の "ラベル" 値を使ってモデルをトレーニングしないため、教師なしと見なされます。 クラスタリング モデルでは、ラベルは、その特徴のみに基づいて観察が割り当てられるクラスターです。

例 - クラスタリング

たとえば、植物学者が花のサンプルを観察し、それぞれの花の葉と花びらの数を記録するとします。

Diagram of some flowers.

データセットには既知の "ラベル" はなく、2 つの "特徴量" があるだけです。 目的は花のさまざまな種類 (種) を特定することではなく、葉と花びらの数に基づいて似ている花をまとめてグループ化することだけです。

(x1) 花びら (x2)
0 5
0 6
1 3
1 3
1 6
1 8
2 3
2 7
2 8

クラスタリング モデルのトレーニング

クラスタリングには複数のアルゴリズムを使用できます。 最もよく使用されるアルゴリズムの 1 つは K-Means クラスタリングで、次の手順で構成されます。

  1. 特徴量 (x) の値はベクトル化されて、n 次元の座標が定義されます (ここで、n は特徴量の数です)。 花の例では、特徴量が 2 つあります。すなわち、葉の数 (x1) と花びらの数 (x2) です。 そのため、特徴量ベクトルには 2 つの座標があり、それを使用して 2 次元空間 ([x1,x2]) にデータ ポイントを概念的にプロットすることができます
  2. 花をグループ化するために使用するクラスターの数を決定します (この値を k とします)。 たとえば、3 つのクラスターを作成するには、k 値に 3 を使用します。 その後、k 個のポイントがランダムな座標にプロットされます。 これらのポイントは各クラスターの中心点になるため、"重心" と呼ばれます。
  3. 各データ ポイント (この例では花) は、最も近い重心に割り当てられます。
  4. 各重心は、ポイントとの間の平均距離に基づいて、割り当てられたデータ ポイントの中心に移動されます。
  5. 重心が移動されると、データ ポイントが異なる重心に近くなる場合があるため、新しい最も近い重心に基づいて、データ ポイントがクラスターに再割り当てされます。
  6. クラスターが安定するまで、または事前に決定されている繰り返しの最大数に達するまで、重心の移動とクラスターの再割り当ての手順が繰り返されます。

次のアニメーションは、このプロセスを示したものです。

Diagram of an animation showing the k-means clustering process.

クラスタリング モデルの評価

予測されたクラスターの割り当てを比較するために使用する既知のラベルがないため、クラスタリング モデルの評価は、結果のクラスターがお互いからどの程度分離されているかに基づきます。

クラスターの分離を評価するために使用できるメトリックには、以下を含む複数のものが存在します。

  • クラスター中心への平均距離: クラスター内の各ポイントがそのクラスターの重心に平均でどれだけ近いか。
  • 他の中心への平均距離: クラスター内の各ポイントが他のすべてのクラスターの重心に平均でどれだけ近いか。
  • クラスター中心までの最大距離: クラスター内のポイントとその重心との間の最大距離。
  • シルエット: 同じクラスター内のポイントと異なるクラスター内のポイント間の距離の比率を集約した -1 から 1 の間の値 (1 に近いほど、クラスターの分離の度合が高くなります)。