Fの挑戦

Fランクの人のブログ

機械学習って…教師なし学習⑦クラスタリング

こんばんは、Fです。

 

では、では。今日はクラスタリング。名前から察するに、クラス化して行くよ?みたいな?

 

与えられたデータを外的基準なしに自動的に分類する手法。また、そのアルゴリズム

データ・クラスタリング - Wikipedia より引用

と、いうことですが…。

クラスタリングについても、いろいろなアルゴリズムがあるようですが、とりあえず概念を理解したいので、ここでは階層的クラスタリングを勉強したいと思います。

また、距離については、ユークリッド距離(直線で最短)を用います。

 

階層的クラスタリング、距離の近い点と点をペアにして、階層構造を作って行きます。

よく見かけるのは、こんな図。

f:id:level-f:20180815190340p:plain

 

それぞれ2点間の距離を計算します。明らかに遠い(間に他の点があるとか)のは除きます。

(今回は見た目で除いていますが、プログラムで計算するときは、除くのは難しい気がしますねぇ…曖昧)

A→B=1

A→C=2√2

B→C=√5

C→D=√5

C→E=√5

D→E=√2

(計算式、三平方の定理については、こちらを参照ください→http://三平方の定理が一瞬で理解できる!公式・証明から計算問題まで解説 | Studyplus(スタディプラス)

上記の計算から、A→Bが、一番距離が短いです。次が、D→E。これを、階層構造分かり易く、樹形図にするとこうなります。

f:id:level-f:20180815225209p:plain

 A-Bの距離が1。D-Eの距離が、1.1414...。

これで、AとBが一つのクラス、DとEが一つのクラス。ということになります。Cも単独で一つのクラスとすると、3つのクラスに分割できました。

f:id:level-f:20180815231021p:plain

 

更に階層的にするには、ペアになった点の中点を定義します。こんな⇩

f:id:level-f:20180815230152p:plain

AB、C、DEの3点として、距離の計算をします。

AB→C=2.5

C→DE=√4.5

短い方をペアにするので、樹形図にするとこうなります。

f:id:level-f:20180815232757p:plain

更に、クラスに分けるとこうなります。

f:id:level-f:20180815233233p:plain

 

最後に、CDEとABの距離を求めます。見た感じ、点CDEが、なんか面倒くさそうな場所にいますね…。

f:id:level-f:20180815233608p:plain

AB→CDE=√12.625(計算合ってるでしょうか…) 

 

で、樹形図とクラス分け。

f:id:level-f:20180815234448p:plain f:id:level-f:20180815234659p:plain

階層構造完成です。 

クラスタリングは、こんな感じ。

 

次は、なんにしよう…。

 

今日は、おやすみなさい。

 

参考:

教師なし学習 - Wikipedia

教師なし学習 - MATLAB & Simulink

クラスタリング - MATLAB & Simulink

クラスタリング (クラスター分析)

クラスター分析の手法①(概要) | データ分析基礎知識

三平方の定理が一瞬で理解できる!公式・証明から計算問題まで解説 | Studyplus(スタディプラス)