DEVELOPER’s BLOG
技術ブログ
最初に学ぶ クラスタリングの特徴と種類
クラスタリングとは
クラスタリングとは、異なる性質を持った多くのデータから類似性を見て自動的に分類する、機械学習の教師なし学習における手法のこと。(複数のコンピュータを連動させることにより、1台のコンピュータとして利用できるようにする技術を言うこともある)
マーケティングでは、顧客層の特性分析や店舗取り扱い商品の構成分析に利用されており、多くの顧客や商品を分類し、どのような顧客が多いのかを明確にし、ターゲットを決定する。
クラスタリングとクラス分類は混同しやすいが、別々のものである。大きな違いは、クラスタリングは教師なし学習で、クラス分類は教師あり学習という点である。
教師あり学習であるクラス分類は、どのグループに属するかという"ラベル"がついている既知データが手元にあり、それを用いてモデルを作って、"ラベル"がついていないデータの分類に用いるという手法であることに対し、
教師なし学習であるクラスタリングは、ラベル付きデータがない状態で、あるデータを分類するような手法である。
クラスタリングの手法の種類
クラスタリングはデータ同士が「似ている」、「似ていない」かを基準に分類する。この「似ているかどうか」という尺度は人間の感覚的な部分があるため、これまで多くの研究者が様々な手法や考え方を提唱してきた。それらは未だ一本化されておらず、ここではその種類を紹介する。
- 「階層的クラスタリング」と「非階層的クラスタリング」
- 「ハードクラスタリング」と「ソフトクラスタリング」
階層的クラスタリング
階層的クラスタリングとは、 各データを1つのクラスタとして、最も似ている2つのクラスタを合併すること(近いものから順番にくくる)を繰り返していく手法。最終的にクラスタが1つになるまで合併を繰り返す。(※1)
(※1)
クラスタの合併をしていくと、樹形図のようなデータの階層構造が得られ、デンドログラムで表現することができる。(※2)
(※2)
非階層的クラスタリング
非階層的クラスタリングとは、事前にいくつのクラスタに分けるかを決め、サンプルを決めたクラスタ数に分割していく手法。階層的でないクラスタリングである。そのため、木構造のデンドログラムでは表現されない。階層的クラスタリングでは分類するデータが多いと、計算量が多くなってしまったり、階層構造が複雑になってしまったりする。それに対して非階層的クラスタリングは、分類するデータが多くなってしまう場合でも対応することができる。
また、非階層的クラスタリングの代表的な手法はk-meansという手法である。
ハードクラスタリング
ハードクラスタリングとは、各データが1つのクラスのみに所属するようなクラスタリング。
一般的にクラスタリングといえばハードクラスタリングをさす。
ソフトクラスタリング
ソフトクラスタリングとは、各データが複数のクラスタに所属することを許すようなクラスタリング。
あとがき
今回は、クラスタリングとはどんなものなのかについて広く浅く扱ってきた。
次回は、今回詳しく説明することができなかったk-means、ウォード法、メディアン法など、クラスタリングの手法の種類の一つ一つをより具体的に説明していく。
(2019/11/28 追記)
k-means法について