k-means(k平均法)は、教師なし学習の代表的なクラスタリング手法です。データを類似性に基づいて自動的にk個のグループ(クラスタ)に分類するアルゴリズムで、シンプルかつ高速に動作するためデータ分析の前処理や顧客セグメンテーションなど幅広く活用されています。
k-meansとは
一言でいうと、k-meansとは「指定した個数のグループにデータを自動で分類する、最も広く使われているクラスタリング手法」です。
詳しく解説
k-meansは、事前に決めた「k」個のグループの中心点(重心)をランダムに設定し、すべてのデータを最も近い中心点のグループに割り振る作業を繰り返すアルゴリズムです。割り振られたデータから新しいグループの中心点を再計算し、中心点が移動しなくなるまでこれを繰り返すことで、最適なグループ分けを行います。データのグループ構造を探索するための教師なし学習において、そのシンプルさと計算効率の良さから非常に重要な手法として位置づけられています。
具体例・使われ方
具体的な利用例として、ECサイトにおける顧客の購買履歴や行動パターンの分析による顧客セグメンテーションが挙げられます。似たような特徴を持つ顧客同士をグループ化することで、それぞれのグループに適したマーケティング施策を実行できます。また、画像処理の分野では、画像の持つ色情報を減らしてデータ量を圧縮するカラー量子化にも応用されています。
似た用語との違い
教師あり学習の分類手法が「正解ラベル」を必要とするのに対し、k-meansは正解ラベルがない状態でデータ構造を見つけ出す教師なし学習である点が大きく異なります。また、階層的クラスタリングが樹状図を作成して全体の階層関係を把握するのに対し、k-meansは事前にクラスタ数を指定して高速に分割することに特化しています。
注意点
k-meansの注意点として、事前にグループの数「k」を人間が指定する必要がある点や、最初にランダムに設定する中心点の位置によって結果の品質が変わり最適解にたどり着けない場合がある点が挙げられます。また、データの分布が球状でない場合や、外れ値が存在する場合には正確なクラスタリングが難しくなる限界があります。