TOWNアドベントカレンダー2018 の22日目の記事です。
今回は機械学習手法の1つであるクラスタリングについて書かせて頂きたいと思います。
#クラスタリングとは
(統計学)データ解析手法の1つ。「クラスタ解析」、「クラスター分析」とも。機械学習やデータマイニング、パターン認識、イメージ解析やバイオインフォマティックスなど多くの分野で用いられる(データ・クラスタリングを参照)。クラスタリングではデータの集合を部分集合(クラスタ)に切り分けて、それぞれの部分集合に含まれるデータが(理想的には)ある共通の特徴を持つようにする。この特徴は多くの場合、類似性や、ある定められた距離尺度に基づく近さで示される。
出典 : Wikipedia
##図
簡単に表すと以下の図になります。
##機械学習について
機械学習には
- 教師あり機械学習
- 教師なし機械学習 <- クラスタリングはこちら
の2種類があります。
###教師あり機械学習
こちらは、予め分類されているビッグデータを基に学習を行い、それを用いてまだ手がつけられていないデータを分類する手法です。
学習と分類という2つのステップが必要です。
ニューラルネットワークはこちらにあたります。
###教師なし機械学習
こちらは、分類されていないビッグデータをアルゴリズムに入力することによって分類する手法です。
分類方法の判断から自分で行うのが特徴です。
クラスタリングはこちらに該当します。
#実際に解析してみる
クラスタリング手法の1つであるeFCMA手法は、以下の条件を満たすu, v, αを求めることで解析できます。
\underset{u,v,\alpha}{\text{minimize}}
\sum_{i=1}^C\sum_{k=1}^Nu_{i,k}||x_k-v_i||_2^2+\lambda^{-1}\sum_{i=1}^C\sum_{k=1}^Nu_{i,k}\log\Bigl(\frac{u_{i,k}}{\alpha_{i}}\Bigl)
##アルゴリズム
例として、手法の1つであるFuzzy c-meansのアルゴリズム
- 各データがどれくらいクラスタに属するかの値(帰属度)を初期化する。
- 帰属度の値を用いて、各クラスタ中心を更新する。
- 計算した中心を用いて、各データの帰属度を更新する。
- 中心の変化が一定以下であれば終了、そうでなければ2へ。
##サンプルデータ
ガウス平面上に人工的に作られたデータ群を用います。
##解析結果
以上のアルゴリズムで解析をすると、図のようにして分類境界が示されます。
#まとめ
情報通信技術、IoTの発達によってデータがどんどん増えていく中、ビッグデータをいかにして利用するかということが重要になってきています。今回紹介した手法もそれに関係する1つになります。
##応用例
身近な例として、
- 某密林において「この商品を買った人はこんな商品を買っています」といっておすすめされる商品の抽出。
- 某鳥のSNSにおける繋がりのグルーピング
といった推薦システムへ応用されています。
##リポジトリ
https://github.com/Aqua-ix/clustering
##参考