2021年2月17日
風が強い中散歩。いろいろなものが倒れていた。強い風で水面がなびくと光の反射が綺麗。
昼食の ZEBRA Coffee & Croissant。パニーニになったクロワッサンとクロワッサンプリン。プリンの方はあまり甘くないメープルシロップで、程よい甘さで食が進む。次は普通のクロワッサンも食べてみたい。
機械学習学習日記 - 16日目
3.5.4 クラスタリングアルゴリズムの比較と評価。3.5で学んだクラスタリングアルゴリズムの性能比較に、調整ランド指数(adjusted rand index:ARI)と正規化相互情報量(normalized mutual information:NMI)を使う。ARIはsklearnではadjusted_rand_scoreという関数を使える。accuracy_scoreを使ってしまうと、ラベルに意味を求めてしまう(クラスタではラベルに意味がない)ので間違った結果になるので注意。
ただ、実際はARIは正解データがないと使えず、実利用では正解データがない場合が多く、その場合は教師ありモデルのクラス分類機を使う必要がある。ARIなどは、正解がわかってるクラスタリングアルゴリズムの開発といった限られた用途にしか使うことが出来ない。
正解データを必要としないクラスタリング指数にシルエット係数(silhouette coefficient)があるが、あまりうまく行かない。クラスタリングが興味深いものになっているかは、クラスタを目で見て解析するしか無い。
3.5.4.3 では顔画像データセットを用いたアルゴリズムの比較として、実際に「クラスタを目で見て解析」している。前処理としてPCA変換したデータを、DBSCANで外れ値検出(outlier detection)したり、espのパラメータを変えていったクラスタ画像を見たり、k-meansがクラスタセンタを抽出できることを利用して、センタ画像を可視化(PCA変換してるので、pca.inverse_transformで逆変換し復元できる)したり、クラスタセンタに近い・遠い画像を見たり。凝集型クラスタリングを使ってデンドログラムを表示し、なにか意味があるクラスターかどうかを見てみたり。
3.6 まとめと展望では、教師なし学習はまず前処理・成分抽出に用いる事ができ、教師あり・なしどちらにしろ正しいデータ表現を用意することが大切で、そのため教師なし学習を用いたデータ準備は重要と言える。
また成分分析・多様体学習・クラスタリングはデータの理解をするために非常な重要なツールで、正解データがないデータから意味を見出す唯一の手法だ。また正解データがある場合でも、データ特性を理解するために使える。
書籍だと 3.5.4.3 などで実際にあるようなケースで、どうデータを比較調査するか、さらっと書かれているけど、こういうのは問題を解く感じでいろいろなケースを何度も自力で考えてやらないと、どういうアプローチが正しいのかぱっと思いつかないのだろうなぁ。