logo

機械学習におけるクラスタリング

クラスタリングまたはクラスター分析は、ラベルのないデータセットをグループ化する機械学習手法です。次のように定義できます データ ポイントを、類似したデータ ポイントで構成される異なるクラスターにグループ化する方法。類似性がある可能性のあるオブジェクトは、別のグループとの類似性がほとんどまたはまったくないグループに残ります。

これは、ラベルのないデータセット内で形状、サイズ、色、動作などの類似したパターンをいくつか見つけて、それらの類似したパターンの有無に応じて分割します。

それは 教師なし学習 したがって、アルゴリズムには監視が提供されず、ラベルのないデータセットが処理されます。

このクラスタリング手法を適用すると、各クラスターまたはグループにクラスター ID が与えられます。 ML システムはこの ID を使用して、大規模で複雑なデータセットの処理を簡素化できます。

クラスタリング手法は一般的に次の目的で使用されます。 統計データ分析。

注: クラスタリングは、 分類アルゴリズム ですが、違いは使用しているデータセットの種類です。分類ではラベル付きのデータセットを操作しますが、クラスタリングではラベルのないデータセットを操作します。

: モールの実世界の例でクラスタリング手法を理解しましょう: ショッピング モールを訪れると、同様の使用法を持つものがグループ化されていることが観察できます。 Tシャツはあるコーナー、パンツは別のコーナーというように、野菜コーナーでもリンゴ、バナナ、マンゴーなどを別のコーナーにまとめて、探しやすいようにしています。クラスタリング手法も同様に機能します。クラスタリングの他の例としては、トピックに従ってドキュメントをグループ化することが挙げられます。

クラスタリング手法は、さまざまなタスクに広く使用できます。このテクニックの最も一般的な用途は次のとおりです。

  • 市場セグメンテーション
  • 統計データ分析
  • ソーシャルネットワーク分析
  • 画像のセグメンテーション
  • 異常検知など

これらの一般的な使用法とは別に、次のような用途にも使用されます。 アマゾン 推奨システムでは、過去の製品検索に基づいて推奨事項を提供します。 Netflix また、この技術を使用して、視聴履歴に従って映画や Web シリーズをユーザーに推奨します。

以下の図は、クラスタリング アルゴリズムの動作を説明しています。さまざまな果物が、同様の特性を持ついくつかのグループに分類されていることがわかります。

機械学習におけるクラスタリング

クラスタリング手法の種類

クラスタリングの手法は大きく分けて ハードクラスタリング (データポイントは 1 つのグループのみに属します) および ソフトクラスタリング (データポイントは別のグループに属することもできます)。しかし、クラスタリングには他にもさまざまなアプローチが存在します。機械学習で使用される主なクラスタリング手法は次のとおりです。

    パーティショニング クラスタリング 密度ベースのクラスタリング 分布モデルベースのクラスタリング 階層的クラスタリング ファジークラスタリング

パーティショニング クラスタリング

これは、データを非階層的なグループに分割するクラスタリングの一種です。としても知られています 重心ベースの方法 。パーティショニング クラスタリングの最も一般的な例は次のとおりです。 K-Means クラスタリング アルゴリズム

Javaメソッド

このタイプでは、データセットは k 個のグループのセットに分割されます。K は、事前定義されたグループの数を定義するために使用されます。クラスターの中心は、1 つのクラスターのデータ ポイント間の距離が別のクラスターの中心と比較して最小になるように作成されます。

機械学習におけるクラスタリング

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

密度ベースのクラスタリング手法は、高密度領域をクラスターに接続し、密領域を接続できる限り任意の形状の分布を形成します。このアルゴリズムは、データセット内のさまざまなクラスターを識別し、高密度の領域をクラスターに接続することによってこれを実行します。データ空間内の密集した領域は、疎な領域によって互いに分割されます。

データセットの密度が変化し、次元が高い場合、これらのアルゴリズムではデータ ポイントのクラスタリングが困難になる可能性があります。

機械学習におけるクラスタリング

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

分布モデルベースのクラスタリング手法では、データセットが特定の分布にどのように属するかの確率に基づいてデータが分割されます。グループ化は、いくつかの分布を共通に仮定することによって行われます。 ガウス分布

このタイプの例としては、 期待値最大化クラスタリングアルゴリズム ガウス混合モデル (GMM) を使用します。

機械学習におけるクラスタリング

階層的クラスタリング

階層的クラスタリングは、作成するクラスタの数を事前に指定する必要がないため、パーティション化されたクラスタリングの代替として使用できます。この手法では、データセットがクラスターに分割されてツリー状の構造が作成されます。これは、クラスターとも呼ばれます。 樹状図 。ツリーを正しいレベルで切断することで、観測値または任意の数のクラスターを選択できます。この方法の最も一般的な例は次のとおりです。 凝集型階層アルゴリズム

機械学習におけるクラスタリング

ファジークラスタリング

ファジー クラスタリングは、データ オブジェクトが複数のグループまたはクラスタに属することができるソフト手法の一種です。各データセットにはメンバーシップ係数のセットがあり、クラスター内のメンバーシップの程度に応じて決まります。 ファジー C 平均法アルゴリズム は、このタイプのクラスタリングの例です。ファジー K 平均法アルゴリズムとしても知られることがあります。

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

クラスタリング アルゴリズムは、上で説明したモデルに基づいて分類できます。さまざまな種類のクラスタリング アルゴリズムが公開されていますが、一般的に使用されるものはほんのわずかです。クラスタリング アルゴリズムは、使用しているデータの種類に基づいています。たとえば、一部のアルゴリズムは特定のデータセット内のクラスターの数を推測する必要がありますが、一部のアルゴリズムはデータセットの観測間の最小距離を見つける必要があります。

ここでは、機械学習で広く使用されている主に人気のあるクラスタリング アルゴリズムについて説明します。

    K 平均法アルゴリズム:K 平均法アルゴリズムは、最も一般的なクラスタリング アルゴリズムの 1 つです。サンプルを分散が等しい異なるクラスターに分割することにより、データセットを分類します。このアルゴリズムではクラスターの数を指定する必要があります。必要な計算量が少なくなり、線形の複雑さで高速になります。 の上)。 平均値シフトアルゴリズム:平均値シフト アルゴリズムは、データ ポイントの滑らかな密度の中で密集した領域を見つけようとします。これは、特定の領域内の点の中心となる重心の候補を更新する、重心ベースのモデルの例です。DBSCAN アルゴリズム:立っています ノイズのあるアプリケーションの密度ベースの空間クラスタリング用 。これは、平均シフトに似た密度ベースのモデルの例ですが、いくつかの顕著な利点があります。このアルゴリズムでは、高密度の領域は低密度の領域によって分離されます。このため、クラスターは任意の形状で見つけることができます。GMM を使用した期待値最大化クラスタリング:このアルゴリズムは、K 平均法アルゴリズムの代替として、または K 平均法が失敗する可能性がある場合に使用できます。 GMM では、データ ポイントがガウス分布していると想定されます。凝集型階層アルゴリズム:凝集型階層アルゴリズムは、ボトムアップ階層クラスタリングを実行します。この場合、各データ ポイントは最初は単一のクラスターとして扱われ、その後、順次マージされます。クラスタ階層はツリー構造として表すことができます。アフィニティの伝播:他のクラスタリング アルゴリズムとは異なり、クラスターの数を指定する必要がありません。この場合、各データ ポイントは、収束するまでデータ ポイントのペア間でメッセージを送信します。 O(N2T) 時間の複雑さ。これがこのアルゴリズムの主な欠点です。

クラスタリングの応用

以下は、機械学習におけるクラスタリング技術の一般的に知られている応用例です。

    がん細胞の同定では:クラスタリング アルゴリズムは、癌細胞の識別に広く使用されています。がん性データセットと非がん性データセットを異なるグループに分割します。検索エンジンの場合:検索エンジンもクラスタリング技術に取り組んでいます。検索結果は、検索クエリに最も近いオブジェクトに基づいて表示されます。これは、類似したデータ オブジェクトを、他の異なるオブジェクトから遠く離れた 1 つのグループにグループ化することによって行われます。クエリの正確な結果は、使用されるクラスタリング アルゴリズムの品質によって異なります。顧客のセグメンテーション:これは、顧客の選択や好みに基づいて顧客をセグメント化するために市場調査で使用されます。生物学では:生物学の流れでは、画像認識技術を使用してさまざまな種の動植物を分類するために使用されます。土地利用の場合:クラスタリング手法は、GIS データベース内で類似した土地利用のエリアを識別するために使用されます。これは、特定の土地をどのような目的で使用すべきか、つまりどの目的に適しているかを知るのに非常に役立ちます。