少し読んでみたけど、グラフ分割問題の評価関数を固有値問題に落とすことで最適なクラスタを見つけるのは最初読んで大雑把につかんでたんだけど、あんまネットやらないのにWeb系の研究やってるっていうwwwのエントリとそこから辿れる論文でもうちょっと深く理解した。
ある種の化合物ライブラリのクラスタリング問題にも使えそうな感じなので、agglomerative clusteringでないやり方も覚えておくとよいですな。
以下写経。
>source("sc.R") >x <- iris[1:4] >d <- as.matrix(dist(x)) >d[d == 0] <- 0.1 >w <- 1/d >ans <- mcut(w,3) > ans[1:50] [1] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 [39] 2 2 2 2 2 2 2 2 2 2 2 2 > ans[51:100] [1] 1 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 3 3 1 3 3 1 3 [39] 3 3 3 3 3 3 3 3 3 3 3 3 > ans[101:150] [1] 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 3 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 [39] 3 1 1 1 1 1 1 1 1 1 1 1
この本は集合知プログラミング読んで、クラスタリングに興味が湧いたら読んでみるといい本だと思う。