假设我有一个经过训练的SOM: mySom。我想测试一下它的质量。一个有趣的paper给出了一个建议:使用summary(mySom)。这样做的结果是:
som map of size 5x5 with a hexagonal topology.
Training data included; dimension is 1017 by 24
Mean distance to the closest unit in the map: 0.02276404 因此,mean(somres$distances) = 0.02276404似乎是所有元素与最接近原型的平均距离。然而,另一个度量应该表示相同的值: mySom$changes。打印我们找到的那些值:
> somres$changes
[,1]
[1,] 0.0053652766
[2,] 0.0054470742
[3,] 0.0054121733
[4,] 0.0054452036
...
[97,] 0.0010324613
[98,] 0.0009807617
[99,] 0.0010183714
[100,] 0.0010220923在将输入提供给SOM100次之后,我们得到了每个单元与最近的一个单元的平均距离: 0.0010220923。
问题:mySom$changes[100] != mean(somres$distances)。为什么?
发布于 2016-07-13 04:24:08
您描述的第一个质量度量“到地图中最近单位的平均距离”是som地图的量化误差,请参见http://www.ifs.tuwien.ac.at/~poelzlbauer/publications/Poe04WDA.pdf。它是通过确定样本向量到表示它们的群集质心的平均距离来计算的。在SOM的情况下,集群质心是原型向量。该值是在训练过程之后计算的。第二个似乎是每次迭代都要计算的。在自组织映射模型中,有两个值随着迭代的不同而不同:learning rate和neighbourhood distance see this for a summary of SOM features。尝试将这100个值与SOM参数的初始值和最终值相关联。
https://stackoverflow.com/questions/35500839
复制相似问题