1

假设我有一个训练有素的 SOM:mySom。我想测试它的质量。一篇有趣的论文给出了一个建议:使用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

在将输入呈现给 SOM 100 次后,我们得到每个单元与最近的单元的平均距离:0.0010220923。

问题:mySom$changes[100] != mean(somres$distances)。为什么?

4

1 回答 1

0

您描述的第一个质量度量“到地图中最近单位的平均距离”是 som 地图的量化误差,请参阅http://www.ifs.tuwien.ac.at/~poelzlbauer/publications/Poe04WDA.pdf。它是通过确定样本向量到代表它们的聚类质心的平均距离来计算的。在 SOM 的情况下,簇质心是原型向量。该值是在训练过程之后计算的。第二个似乎是每次迭代计算的。在 SOM 中,有两个值随迭代而变化:learning rateneighbourhood distance 参见此以获取 SOM 功能的摘要。尝试将 100 个值与 SOM 参数的初始值和最终值相关联。

于 2016-07-12T20:24:08.337 回答