用語集

K平均クラスタリング

データをクラスタにグループ化するための重要な教師なし学習アルゴリズムであるK-Meansクラスタリングを学ぶ。そのプロセス、アプリケーション、比較を探る!

Ultralytics HUB で
を使ってYOLO モデルをシンプルにトレーニングする。

さらに詳しく

K-Meansクラスタリングは、教師なし学習における基本的なアルゴリズムであり、データセットをあらかじめ決められた数(K)の、重複しないクラスタに分割するために広く使われている。これは、事前に定義されたラベルがない場合に、データ内の根本的なグループ構造を発見するのに特に効果的である。K-Meansの主な目的は、各クラスタ内の分散、具体的には各データポイントと割り当てられたクラスタのセントロイド(平均点)間の距離の二乗和を最小化することで、類似したデータポイントをグループ化することです。K-Meansはデータマイニングや 探索的データ分析の基礎となる手法です。

K-Meansクラスタリングの仕組み

K-Meansアルゴリズムは、最適なクラスタ割り当てを見つけるために反復プロセスを通じて動作します。このプロセスには通常以下のステップが含まれる:

  1. 初期化:まず、クラスタ数Kを指定しなければならない。これは非常に重要なステップであり、多くの場合、最適なKを見つけるために、ハイパーパラメータ・チューニング技術やエルボー法のような手法を含む、ドメイン知識や実験を伴う(「適切なクラスタ数の選択」を参照)。次に、K個の初期セントロイドを選びます。多くの場合、データセットからK個のデータ点を無作為に選ぶか、K-Means++のようなより洗練された手法を用います。
  2. 割り当てステップ:データセット内の各データ点は、最も近いセントロイドに割り当てられる。"近さ "は通常ユークリッド距離を用いて測定されるが、データの特性によって他の距離測定基準を用いることもできる。このステップでK個の初期クラスタが形成される。
  3. 更新ステップ:新しく形成されたクラスタのセントロイドが再計算される。新しいセントロイドは、そのクラスタに割り当てられたすべてのデータポイントの平均(平均値)である。
  4. 反復:停止基準に達するまでステップ2と3を繰り返す。一般的な基準には、セントロイドが有意に移動しなくなった、データポイントがクラスタ割り当てを変更しなくなった、または反復の最大数に達したなどがある。

この反復的な改良により、アルゴリズムがクラスタのコンパクトさと分離を漸進的に改善することが保証される。K-Meansは、そのシンプルさと計算効率の高さが評価され、大規模なデータセットでもスケーラブルに利用できる。K-Meansの仕組みや実装をより深く知るには、スタンフォード大学CS221のK-Meansに関するノートや scikit-learnのクラスタリングドキュメントに詳細が記載されています。

K-Meansクラスタリングの応用

K-Meansクラスタリングは、人工知能(AI)や機械学習(ML)の多くの分野で応用されている。具体的な例を2つ紹介しよう:

  • 顧客セグメンテーション:企業はしばしばK-Meansを使用して、購買履歴、人口統計、またはウェブサイトの行動に基づいて顧客をグループ化する。例えば、eコマース企業は、顧客を「頻繁に買い物をする高額消費者」、「予算重視の時折購入する顧客」などのグループに分類することができる。これにより、ターゲットを絞ったマーケティング・キャンペーンやパーソナライズされた商品の推奨が可能になり、「小売業におけるAI」で説明した戦略に貢献する。顧客セグメンテーションを理解することは、マーケティング分析における鍵である。
  • 画像圧縮と色量子化コンピュータ・ビジョン(CV)では、K-Meansは非可逆画像圧縮の一形態である色量子化に使用できる。このアルゴリズムは、画像のカラーパレットの類似色をK個のクラスターにグループ化します。その後、各ピクセルの色は、それが属するクラスタの重心の色に置き換えられます。これにより、画像を表現するのに必要な色数が大幅に削減され、画像が圧縮される。この技術は、様々な画像処理タスクや美術品や文化財の保存におけるAIのような分野でも有用である。

K-Meansクラスタリングと関連概念との比較

K-Meansと他のアルゴリズムの違いを理解することは、適切なツールを選択する上で極めて重要である:

  • K-MeansとDBSCANの比較: どちらもクラスタリング・アルゴリズムだが、動作は異なる。K-Meansは、あらかじめ指定された数(K)の球状のクラスターにデータを分割し、外れ値の影響を受けやすい。一方、DBSCAN(Density-Based Spatial Clustering of Applications with Noise)は、密度に基づいてポイントをグループ化するため、任意形状のクラスタを見つけ、外れ値をノイズとして識別することができる。事前にクラスタ数を指定する必要はありません。密度ベースのクラスタリング手法の詳細については、こちらをご覧ください。
  • K-Meansと教師あり学習の比較:K-Meansは教師なし学習法であり、ラベル付けされていないデータを使って固有の構造を見つける。対照的に、物体検出や 画像分類に使用されるような教師あり学習アルゴリズムは、新しい未見のデータの結果を予測するモデルを訓練するために、ラベル付けされたデータ(すなわち、既知の結果またはカテゴリを持つデータ)を必要とします。Ultralytics 、このようなタスクのために様々な教師あり学習データセットを提供しています。
  • K-Means vs. 階層的クラスタリング:K-Meansがクラスタの平坦な集合を作成するのに対して、階層クラスタリングはクラスタの階層またはツリー(デンドログラム)を作成します。これにより、異なる粒度レベルでのクラスタ構造の探索が可能になりますが、一般的にK-Meansよりも計算集約的で、特にビッグ・データではそうです。

K-Meansをマスターすることは、データ構造を探求するための強力な基礎となる。のようなモデルでは直接使用されませんが Ultralytics YOLOのようなモデルでは直接使用されませんが、クラスタリングを理解することは、データの前処理やデータセットの特性の分析に役立ちます。Ultralytics HUBのようなツールは、データセットの管理やモデルの学習に役立ち、高い精度が要求されるタスクに取り組む前に、クラスタリング技術から得られる洞察を活用してデータ分布をより深く理解できる可能性がある。クラスタリングの評価メトリクス(Silhouette ScoreやDavies-Bouldin Indexなど)をさらに検討することで、標準的なYOLO Performance Metricsを補完して、K-Meansの結果の品質を評価することもできます。より広範な入門については、IBMのK-Meansの説明や Courseraや DataCampのようなプラットフォームの入門コースのようなリソースを検討してください。Ultralytics Docsには、さらに多くのチュートリアルやガイドがあります。

すべて読む