新卒1年目の技術に関する備忘録

自主学習で困ったこと、学んだことをまとめています

凝集型クラスタリング

個々のデータポイントをそれぞれ個別のクラスタとして開始し、最も似た2つのクラスタをくっつけていく。

指定したクラスタの数になるまでそれを繰り返す。

連結度

ward

併合した時に、クラスタ内の分散の増分が最小になるように2つのクラスタを選択する。これがデフォルト。

 

average

全てのポイント間の距離の平均値が最小の2クラスタを併合する。

 

complete

2つのクラスタの点間の距離の最大値が最小となるものを併合する。

 

f:id:logz-developers:20181227222438p:plain

 

 

 

 

 

ベクトル量子化、成分分解としてのk-means

k-meansはクラスタセンタで個々のデータポイントを表現する。

個々のデータポイントを、クラスタセンタとして与えられる単一の成分で表現していると考えることができ、k-meansを成分分解としてみる考え方を、ベクトル量子化と呼ぶ。

 

k-meansクラスタリング

データのある領域を代表するようなクラスタ重心を見つけようとする。

個々のデータポイントを最寄りのクラスタ重心に割り当てる。

個々のクラスタ重心をその点に割り当てられたデータポイントの平均に設定する。

データポイントの割り当てが変化しなくなったら、アルゴリズムは終了する。

f:id:logz-developers:20181227172309p:plain

 

非負値行列因子分解(NMF)

Non-negative matrix factorization

有用な特徴量を抽出することを目的とする教師なし学習手法の1つである。

アルゴリズムの動作はPCAと似ていて、次元削減に用いることが出来る。

PCAでは、個々の成分はデータの分散を可能な限り説明する、互いに直行するものである必要があった。

NMFでは成分とその係数が常にゼロ以上であることが求められる。

NMFは、複数の人が話している音声データや多数の楽器からなる音楽などから、もとの成分を特定するときなどに有効である。

NMFはPCAより理解しやすい成分に分解してくれる。

負の成分があるとお互いに打ち消したりして、理解しづらい挙動になるが、NMFにはない。

原点(0,0)に対してどの位置にあるのかがNMFでは問題になる。

f:id:logz-developers:20181227152355p:plain

 

主成分分析

PCAを用いたデータ変換。

(左上)最も分散が大きい方向を第一成分(Component 1)、それに直行する方向で、最も情報をもっている方向を探す。

このようにして見つけていく方向を主成分という。

下図

(左から右に)もとのデータ、変換後のデータ、変換して第二成分を落としたデータ、第一成分だけを用いて逆回転したデータである。

 

f:id:logz-developers:20181226212549p:plain

主成分のいくつかだけ残したものを逆回転してもとの空間に戻している。

このもとの特徴量空間へ戻す作業は、inverse_transformメソッドで行うことができる。