R:自组织映射:高斯邻域函数和非线性学习率

时间:2013-11-24 09:53:31

标签: r parameters cluster-analysis self-organizing-maps

我一直在研究SOM以及如何获得最佳的群集结果。 一种方法可能是尝试多次运行并选择具有最小平方误差总和的聚类。

但是,我不仅要初始化随机值并尝试多次,还要选择好的参数。 我读过“学习率和邻近函数对自组织映射的影响”(Stefanovic 2011),如果你不知道哪个参数可以选择邻域函数和学习率,那么它可能是选择高斯的最佳选择功能和非线性学习率。

我的数据是一个时间序列,让我们说:

matrix(c(sample(seq(from = 10, to = 20, by = runif(1,min=1,max=3)), size = 5000, replace = TRUE),(sample(seq(from = 15, to = 22, by = runif(1,min=1,max=4)), size = 5000, replace = TRUE)),(sample(seq(from = 18, to = 24, by = runif(1,min=1,max=3)), size = 5000, replace = TRUE))),nrow=300,ncol=50,byrow = TRUE) -> data

其中有300个观察值,每个值为50个值。每次观察100次往往更相似。

我正在使用kohonen软件包。

代码:

grid<-somgrid(4,3,"hexagonal")

kohonen<-som(data,grid)

matplot(t(kohonen$codes),col=kohonen$unit.classif,type="l")

为我提供了值在10到22之间的聚类,这类似于obersations

enter image description here

我也尝试了“som”包,它提供了高斯邻域函数和反时限学习率。

som<-som(data,4,3,init="random",alphaType="inverse",neigh="gaussian")

som$visual[,4]<-with(som$visual,interaction(som$visual[,1],som$visual[,2]))

som$visual[,4]<-as.numeric(as.factor(som$visual[,4]))

matplot(t(som$code),col=som$visual[,4],type="l")

enter image description here

这里我得到的值为的群集在15到18之间,因此所有群集都“缩小”并变得更相似。使用不同的输入系列我会得到相同的现象

我的两个问题:

1)为什么来自具有som包的自组织映射的聚类变得非常相似并且缩小到更小的范围,即使据说你得到具有高斯neigborhood函数和非线性学习率的良好聚类?

2)为了得到合适的聚类,我怎样才能避免这个范围缩小与高斯neigborhood函数和非线性学习率?

0 个答案:

没有答案