1. 定義と概要
非階層クラスタリングとは、あらかじめクラスタの数(k)を指定したうえで、グループ分けの良さを表す関数(クラスタ内の誤差など)が最適になるように、データを反復計算で振り分けていく手法です。
代表例は、クラスタの重心(クラスタに属するデータの平均的な位置を示す点)をもとに分類するk-means法(重心をもとにデータを指定した数のクラスタへ分類する代表的な手法)で、重心の更新など計算手順の詳細は別の機会に譲ります。ほかにも、データ点の密集具合でクラスタを形成するDBSCAN(データの密集具合をもとにクラスタを見つける手法で、クラスタ数を事前に決めなくてよい)のような密度ベースの手法があります。
従来、データのグループ分けは、類似度の近いものから順に併合し木構造を作る階層クラスタリング(類似度の近いデータから順に併合していき、木構造で表す手法)で行われてきました。その木構造はデンドログラム(階層クラスタリングの結果を木の枝分かれのような図で表したもの)と呼ばれ、どのデータとどのデータが先に結びついたかを視覚的にたどれる点が特徴です。
しかし、この方法はデータ間の全ペアの類似度計算が必要なため、データ量が増えるほど計算量が膨らみ、大規模データには不向きという課題を抱えていました。そこで、あらかじめクラスタ数を指定し反復計算で最適解に近づける非階層クラスタリングが、大規模データを高速に分類する手法として広く使われるようになったという流れがあります。
2. 試験対策ポイント
まず押さえておきたいのは、非階層クラスタリングが「クラスタ数をあらかじめ指定する」という点です。この特徴が、階層クラスタリングとの識別ポイントになります。
代表手法は、クラスタの重心をもとに分類を繰り返すk-means法です。重心の更新手順など計算の詳細は別の論点として扱われますが、まずは「重心をもとにデータをk個のクラスタへ振り分ける手法」という理解が土台になります。
クラスタ数kの決め方も、あわせて押さえておきたいポイントです。クラスタ内誤差の減少が緩やかになる点(グラフの曲がり角)を探すエルボー法(クラスタ数を増やしたときの誤差の減り方をグラフにし、改善が緩やかになる曲がり角を探す方法)が代表的な手法のひとつです。もうひとつは、クラスタ内のまとまりとクラスタ間の分離度合いを数値化するシルエット係数(あるデータが自分のクラスタにどれだけしっくり収まっているかを数値で表す指標)で、この2つが決め方の柱になります。
非階層クラスタリングの手法は、k-means法だけではありません。データ点の密集度でクラスタを形成するDBSCANも代表的な手法のひとつです。DBSCANはクラスタ数の事前指定が不要で、任意の形状のクラスタ検出や外れ値(ほかのデータから大きく離れた値)の検出に向いており、この違いが取り違えやすい論点になります。
2つの手法の性格の違いは、次のように整理できます。
| 手法 | クラスタ数の指定 | 分類のしかたと得意分野 |
|---|---|---|
| k-means法 | 事前にk個を指定 | クラスタの重心をもとに分類を繰り返す |
| DBSCAN | 事前指定は不要 | データ点の密集度でクラスタを形成し、任意の形状のクラスタや外れ値の検出に向く |
加えて、非階層クラスタリングは初期値(最初に置くクラスタの基準点)や外れ値の影響を受けやすく、実行のたびに結果が変わりうる制約も抱えています。
3. 関連概念との比較・相違点
階層クラスタリングとの最大の違いは、クラスタ数の指定の有無と出力の形にあります。階層クラスタリングはクラスタ数を指定せず、全データの類似度からデンドログラムを作るのに対し、非階層クラスタリングは事前にクラスタ数kを指定し、併合の過程を残さずグループへ直接振り分けます。
枝分かれの記録が残るかどうかが、両者の分かりやすい見分け方になります。デンドログラムを後から眺めれば、どの段階でいくつのクラスタに分けるかを自由に選び直せますが、非階層クラスタリングにはこの後戻りの仕組みがありません。
もうひとつの違いは、データ規模や計算量における向き不向きです。階層クラスタリングは全ペアの距離計算が必要で計算量が大きく、データが増えるほど処理に時間がかかるため大規模データには不向きです。一方、非階層クラスタリングは反復計算が中心のため、大規模データの高速処理に向いています。
この計算量の差が、実務でどちらの手法を選ぶかを左右する分かれ目になります。ここまでの違いを観点ごとに並べると、次のように対応します。
| 観点 | 階層クラスタリング | 非階層クラスタリング |
|---|---|---|
| クラスタ数 | 指定しない | 事前にk個を指定 |
| 出力の形 | デンドログラム(木構造) | 各データのグループへの振り分け |
| 計算量 | 全ペアの距離計算が必要で大きい | 反復計算が中心で高速 |
少数のデータを丁寧に分析したい場面では階層クラスタリングが選ばれ、日々増え続ける大量のデータを繰り返し処理したい場面では非階層クラスタリングが選ばれる、という使い分けの関係にあります。
4. ビジネス・実務での活用シナリオ
マーケティングの分野では、小売業やECサイトが大量の顧客購買履歴データを非階層クラスタリングで高速に分類し、購買傾向が似た顧客層ごとにキャンペーン内容を出し分ける顧客セグメンテーションに活用しています。全ペアの類似度計算を必要としない特性が、日々更新される大規模な購買データをタイムリーに分類する土台になっています。
画像や音声データの整理でも、非階層クラスタリングは役立ちます。大量の画像や音声データをあらかじめ決めたクラスタ数で分類し、似た内容ごとにまとめることで、ラベル付け作業の手間を抑える下準備として使われます。データ量が膨大な現場ほど、事前にクラスタ数を絞り込んで処理できる非階層クラスタリングの効率が生きる場面といえます。
IoTや製造業の異常検知の現場では、DBSCANのような密度ベースの非階層クラスタリングが使われます。センサーデータの密集領域から外れた点を異常、つまりノイズとして検出する仕組みです。クラスタ数を事前に決めなくてよいDBSCANの特性は、想定外の異常パターンを見逃さない検知に向いています。
5. 要点まとめ
- 非階層クラスタリングはクラスタ数kを事前に指定し、反復計算でグループ分けを最適化する手法で、階層クラスタリングと違い木構造(デンドログラム)を作りません。
- 代表手法のk-means法に加え、密度ベースのDBSCANがあり、クラスタ数kの決め方としてエルボー法・シルエット係数にも触れておきます。
- 全ペアの距離計算が不要なため大規模データの高速処理に向く一方、初期値や外れ値の影響を受けやすい制約があります。
6. 確認問題
問1非階層クラスタリングは、階層クラスタリングとは異なり、あらかじめクラスタの数を指定したうえでデータを分類する手法である。
解答・解説をみる
○ 正しい
非階層クラスタリングの最大の特徴はクラスタ数kを事前に指定する点で、階層クラスタリングとの識別ポイントになります。代表手法のk-means法もこの前提のもとで動作します。
問2非階層クラスタリングの代表的な手法はk-means法のみであり、ほかの手法は存在しない。
解答・解説をみる
× 誤り
正しくは、データ点の密集度でクラスタを形成するDBSCANのような密度ベースの手法も非階層クラスタリングに含まれます。k-means法だけに限定する記述は誤りです。
問3非階層クラスタリングは、全データ間の類似度計算を必要としないため、大規模データを高速に分類するのに適している。
解答・解説をみる
○ 正しい
階層クラスタリングは全ペアの距離計算が必要で計算量が大きくなるのに対し、非階層クラスタリングは反復計算が中心で大規模データの高速処理に向きます。

