フルスタックエンジニアを目指す|株式会社ナンバーワンソリューションズ

フルスタックエンジニアを目指す

AI PG

機械学習の代表的な手法(クラスタリング編part2)

投稿日:

6月になり2週目が終わろうとしています。全国的に梅雨入り宣言がされいよいよ雨が降り続く時期になります。さて洗濯物をどうしようか。。。
それはさておき今週も元気よく機械学習について書いていきたいと思います。

前回はクラスタリングについて書いていきましたが今回はその続きです。代表的なクラスタリングの手法としてk-meansを使った方法を書いていきました。
今回はk-means以外のクラスタリングの手法と特徴について書いていきます

①階層的クラスタリングと非階層的クラスタリング

そもそもクラスタリングの手法には大きく分けて2つにわけることができます。それが階層的クラスタリングと非階層的クラスタリングです。
まず階層的クラスタリングについて。名前の通りデータを階層的に分類していく方法です。手法としては、トップダウン的に分割する手法とボトムアップ的に分割する手法とに分けられます。
つぎに非階層的クラスタリングですが、階層を意識せず評価関数を定義することにより最適になるように分割する手法です。前回記載したk-meansがまさにこの方法です。

②階層的凝集型クラスタリング

階層的凝集型クラスタリングとはデータ1つがクラスタ1つに属する状態から始め、距離の近いクラスタ同士を併合し凝集させることで全データを必要数のクラスタにまとめる手法です。
それでは実装例を見ていきましょう

前回同様irisデータを用いています。結果は

となりました。前回とほとんど同じ精度でクラスタリングされていることがわかります。

③非階層的クラスタリング Affinity propagation

次にk-meansと同じ非階層的クラスタリングであるAffinity propagationについてです。Affinity propagationは近年提案された非階層的クラスタリングです。
k-meansよりも誤差が少なくクラスタ数をあらかじめ決めておく必要性がないこと、初期状態に依存しないことが特徴でありメリットです。

実装方法としては

結果は

となりました。他と違い7つに分割され比較しにくいですが概ねクラス分けされているように思われます。

以上でクラスタリングについて2回に分けて紹介していきました。次回は何について書こうかな。。。

-AI, PG

Copyright© フルスタックエンジニアを目指す , 2019 All Rights Reserved Powered by STINGER.