クラスタリング アルゴリズム

ML データセットには、膨大な数の すべてのクラスタリング アルゴリズムが効率的にスケーリングされるわけではありません。多数のクラスタリング サンプルのすべてのペア間の類似度が計算されます。 サンプル数の 2 乗に比例して実行時間が増加することを意味します。 \(n\) これは \(O(n^2)\) 複雑さの表記 \(O(n^2)\) で示されます。アルゴリズムは 数百万の例を含むデータセットでは実用的です。

K 平均法アルゴリズムには、 複雑さは \(O(n)\)になります。つまり、アルゴリズムは \(n\)に比例してスケーリングします。 このコースでは、このアルゴリズムを中心に説明します。

クラスタリングのタイプ

クラスタリングのさまざまなアプローチの詳細なリストについては、 クラスタ化アルゴリズムの包括的な調査 Xu, D.&Tian, Y.アンデータ。理科(2015)2:165。それぞれのアプローチが 特定のデータ分布このコースでは、一般的な 4 つの一般的な 説明します。

セントロイド ベースのクラスタリング

クラスタのセントロイドとは、 すべてのポイントの算術平均 作成します。セントロイド ベースのクラスタリングでは、データを非階層的なデータに整理します。 説明します。セントロイドベースのクラスタリング アルゴリズムは効率的ですが、 外れ値を計算しますこのうち、K 平均法が最も 使用されます。ユーザーはセントロイドの数 k と ほぼ同じサイズのクラスタで適切に機能します。

<ph type="x-smartling-placeholder">
</ph> セントロイド ベースのクラスタリングを使用してクラスタにグループ化した例。
           線はクラスタ間の境界を示しています。
図 1: セントロイド ベースのクラスタリングの例

密度ベースのクラスタリング

密度ベースのクラスタリングは、サンプル密度が高い連続した領域を 説明します。これにより、あらゆる形状のクラスタをいくつでも検出できます。 外れ値はクラスタに割り当てられません。これらのアルゴリズムでは、 高次元のデータのクラスタを作成できます。

<ph type="x-smartling-placeholder">
</ph> 密度ベースのクラスタリングを使用して例を 2 つのクラスタにグループ化。
      クラスタは直線的に分離できません。
図 2: 密度ベースのクラスタリングの例

分布ベースのクラスタリング

このクラスタリング アプローチでは、データが複数の確率分布で構成される 予測値などの分布に ガウス分布。イン 図 3: 分布ベースのアルゴリズムは、データを 3 つのガウス分布にクラスタ化します。 作成します分布の中心からの距離が離れるにつれ、 ある点が分布に属する確率は下がります。バンドは 学習します。特定のユースケースを想定することに 別のアルゴリズムを使用する必要があります。

<ph type="x-smartling-placeholder">
</ph> 分布ベースのクラスタリングを使用してクラスタ化された例。各クラスタ内のサンプルの密度の網掛けは、クラスタがどのように分布にマッピングされるかを示しています。
図 3: 分布ベースのクラスタリングの例

階層型クラスタリング

階層的クラスタリングは、クラスタのツリーを作成します。階層型クラスタリングでは 分類などの階層データに適しています。詳しくは、 61 シーケンスの Escherichia coli ゲノムの比較 著者: Oksana Lukjancenko、Trudy Wassenaar、Dave Ussery 氏の例を見てみましょう。 適切なレベルで木を切り取ることで、任意の数のクラスタを選択できます。

<ph type="x-smartling-placeholder">
</ph> 階層ツリーを使用して動物をクラスタ化します。
図 4: 動物をクラスタリングする階層型ツリーの例。