クラスタリング入門

Developers's blog

2019.08.06 富田浩世
クラスタリング入門

クラスタリングとは

 クラスタリングとは、異なる性質を持った多くのデータから類似性を見て自動的に分類する、機械学習の教師なし学習における手法のこと。(複数のコンピュータを連動させることにより、1台のコンピュータとして利用できるようにする技術を言うこともある)

 クラスタリングとクラス分類は混同しやすいが、別々のものである。大きな違いは、クラスタリングは教師なし学習で、クラス分類は教師あり学習という点である。教師あり学習であるクラス分類は、どのグループに属するかという"ラベル"がついている既知データが手元にあり、それを用いてモデルを作って、"ラベル"がついていないデータの分類に用いるという手法。教師なし学習であるクラスタリングは、ラベル付きデータがない状態で、あるデータを分類するような手法。

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

 クラスタリングの種類は以下の2つの観点から分類される。

  1. 「階層的クラスタリング」と「非階層的クラスタリング」
  2. 「ハードクラスタリング」と「ソフトクラスタリング」

image

階層的クラスタリング

 階層的クラスタリングとは、 各データを1つのクラスタとして、最も似ている2つのクラスタを合併すること(近いものから順番にくくる)を繰り返していく手法。最終的にクラスタが1つになるまで合併を繰り返す。(※1)

image (※1)

 クラスタの合併をしていくと、樹形図のようなデータの階層構造が得られ、デンドログラムで表現することができる。(※2)

image (※2)

非階層的クラスタリング

 非階層的クラスタリングとは、事前にいくつのクラスタに分けるかを決め、サンプルを決めたクラスタ数に分割していく手法。階層的でないクラスタリングである。そのため、木構造のデンドログラムでは表現されない。階層的クラスタリングでは分類するデータが多いと、計算量が多くなってしまったり、階層構造が複雑になってしまったりする。それに対して非階層的クラスタリングは、分類するデータが多くなってしまう場合でも対応することができる。

 また、非階層的クラスタリングの代表的な手法はk-meansという手法である。

image

ハードクラスタリング

 ハードクラスタリングとは、各データが1つのクラスのみに所属するようなクラスタリング。

 一般的にクラスタリングといえばハードクラスタリングをさす。

image

ソフトクラスタリング

 ソフトクラスタリングとは、各データが複数のクラスタに所属することを許すようなクラスタリング。   image

あとがき

 今回は、クラスタリングとはどんなものなのかについて広く浅く扱ってきた。

 次回は、今回詳しく説明することができなかったk-means、ウォード法、メディアン法など、クラスタリングの手法の種類の一つ一つをより具体的に説明していく。

お問い合わせはこちらから