階層クラスタリング (G検定)

階層クラスタリング

1. 定義と概要

階層クラスタリングとは、データ間の距離(類似度)をもとにクラスタを階層構造として構築する教師なし学習の手法です。構築の方向には2つの方式があります。

一つ目は、個々のデータを起点として近いクラスタ同士を逐次併合していく凝集型(ボトムアップ、個々のデータを起点に近いもの同士を順番にまとめていく構築方式)です。もう一つは、全データを1つの大きなクラスタとして開始し逐次分割していく分割型(トップダウン、全データを1つの大きな集まりとして始め、順番に分けていく構築方式)です。凝集型は実務で広く使われる主流の方式で、分割型は分割パターンの評価コストが大きく、あまり使われていません。

非階層クラスタリング(階層構造を作らず、指定した数のクラスタに直接データを分類する手法)の代表例はk-means法(あらかじめ決めたクラスタ数kに基づいてデータをk個のグループに分類する手法)です。k-means法は、クラスタリングを実行する前にクラスタの数kを指定する必要があります。

しかし、探索的にデータを分析する場面では、いくつのクラスタに分けるべきかが事前には分かりません。階層クラスタリングは、クラスタ数を事前に決めずにデータの併合(または分割)の過程を段階的に構築し、後から任意の位置でクラスタ数を決められる点で注目されています。

2. 試験対策ポイント

理解するうえで中心になるのは、階層クラスタリングがクラスタリングを実行する前にクラスタ数を指定する必要がない点です。これは非階層クラスタリングのk-means法との対比における中心的な論点です。k-means法は事前にクラスタ数kを指定して実行するのに対し、階層クラスタリングは併合または分割の過程を経てから、後から任意の位置でクラスタ数を決められます。

構築の方向は2種類あり、名称・進め方・実務での使われ方が対応しています。

方式 別名 進め方 実務での使われ方
凝集型 ボトムアップ 個々のデータを起点に近いもの同士を逐次併合する 広く使われる主流の方式
分割型 トップダウン 全データを1つの大きなクラスタから逐次分割する 分割パターンの評価コストが大きく、あまり使われない

この使用頻度の違いは取り違えやすい論点です。名称と進め方の説明が正しくても、どちらが主流かを入れ替えた記述であれば誤りにあたります。

クラスタ間の距離(類似度)の測り方にも複数の方式があります。最短距離法、最長距離法、群平均法、ウォード法(クラスタ内のばらつきの増加が最小になるようにクラスタをまとめていく代表的な距離測定の手法)などがそれにあたります。

併合または分割の過程を木の枝分かれのように表した図はデンドログラム(樹形図)と呼ばれ、階層クラスタリングの結果を可視化する図として位置づけられます。これらの用語は、距離の測り方や図の名称としてセットで押さえておきたいポイントです。

3. 関連概念との比較・相違点

非階層クラスタリングとの最大の違いは、クラスタ数を事前に指定する必要があるかどうかにあります。加えて、計算量の面でも両者の性格は分かれます。次の表に、階層クラスタリングと非階層クラスタリングの代表例であるk-means法の対応を整理します。

観点 階層クラスタリング 非階層クラスタリング(k-means法)
クラスタ数の指定 事前の指定は不要で、後から任意の位置で決められる 実行前にクラスタ数kの指定が必須
計算量とデータ規模 全データ間の距離計算を伴い、大規模データには不向き 大規模なデータにも比較的適用しやすい
結果の表し方 併合または分割の過程を階層構造として残す 指定した数のクラスタに直接データを分類する

データ量が多くなるほど距離計算のコストが増えていく点は、階層クラスタリングを実際のデータに当てはめるときの制約になります。クラスタ数を後から選べる自由度と、計算コストの重さは表裏の関係にあると捉えると整理しやすくなります。

同じ階層クラスタリングの中でも、構築の方向によって凝集型と分割型に分かれます。凝集型は個々のデータから近いもの同士を逐次併合していく方式で、実務で広く使われています。一方、分割型は全データを1つの塊から逐次分割していく方式ですが、分割パターンの評価コストが大きいため、あまり用いられていません。

同じ階層クラスタリングでも構築の方向によって実用性に差がある点は、混同しやすい論点にあたります。

4. ビジネス・実務での活用シナリオ

マーケティングの分野では、購買履歴や属性データをもとに顧客を階層的にグルーピングし、大分類から中分類・小分類の粒度でキャンペーン施策を設計する場面で階層クラスタリングが使われます。あらかじめ何段階のセグメントに分けるかを決めずに分析を始められるため、探索的な顧客理解に向いています。

生物学・バイオインフォマティクス(生物学とコンピュータ科学を組み合わせた分野)の領域では、遺伝子発現データや生物種間の類似度から系統樹(生物種同士の進化的な近さの関係を木の形で表した図)を構築する分析に階層クラスタリングが用いられます。段階的な併合の過程がそのまま系統関係の近さを表すため、クラスタ数を事前に固定しない性質と相性がよい分野です。

商品企画・小売の分野でも、商品の売れ筋パターンを階層的にグルーピングし、品揃えの再構成やカテゴリ設計に活用する事例があります。似た売れ方をする商品同士を段階的にまとめていくことで、想定していなかったカテゴリの近さが見えてくる場合もあります。

5. 要点まとめ

  • 階層クラスタリングはデータの類似度をもとにクラスタを階層構造として構築する教師なし学習の手法で、クラスタ数を事前に決める必要がない点が非階層クラスタリング(k-means法)との違いです。
  • 構築の方向には凝集型(ボトムアップ、逐次併合、実務で広く使われる)と分割型(トップダウン、逐次分割、あまり使われない)があります。
  • クラスタ間の距離の測り方には最短距離法・最長距離法・群平均法・ウォード法など複数の方式があり、併合の過程はデンドログラム(樹形図)で可視化されます。

6. 確認問題

問1階層クラスタリングは、クラスタリングを実行する前にクラスタの数をあらかじめ指定する必要がない。

解答・解説をみる

○ 正しい

階層クラスタリングはデータ同士の併合(または分割)の過程を階層構造として構築するため、クラスタ数を事前に決める必要がありません。これは非階層クラスタリングのk-means法との違いにあたります。

問2階層クラスタリングのうち、全データを1つの大きなクラスタとして開始し逐次分割していく分割型は、逐次併合していく凝集型よりも実務で広く使われている。

解答・解説をみる

× 誤り

実務で広く使われているのは、個々のデータを起点に近いクラスタ同士を逐次併合していく凝集型です。分割型は分割パターンの評価コストが大きく、あまり使われていません。分割型自体の説明は正しいものの、使用頻度の記述が逆になっています。

問3k-means法はクラスタ数kを事前に指定する必要があるのに対し、階層クラスタリングはクラスタ数を指定せずに実行できる。

解答・解説をみる

○ 正しい

非階層クラスタリングの代表例であるk-means法は事前にクラスタ数kの指定が必須ですが、階層クラスタリングは併合(または分割)の過程を経てから任意のクラスタ数を後付けで決められる点で対照的です。