Matlab SOM工具箱 U-Matrix可视化

3
我正在使用SOM Toolbox分析从汽车数据库中收集的数据。 我的问题是在可视化统一距离矩阵时。引用som_umat的文档: 计算并返回SOM的统一距离矩阵。例如,5x1大小的地图: m(1) m(2) m(3) m(4) m(5) 其中m(i)表示一个映射单元。u-matrix是一个9x1向量: u(1) u(1,2) u(2) u(2,3) u(3) u(3,4) u(4) u(4,5) u(5) 其中u(i,j)是映射单元m(i)和m(j)之间的距离,而u(k)是周围值的平均值(或最小值、最大值或中位数),例如u(3)=(u(2,3)+u(3,4))/2。
我该如何简单地可视化U-Matrix,就像我在其他地方找到的定义一样?包括文档中引用的论文(http://www.cis.hut.fi/somtoolbox/package/docs2/som_umat.html):一个表示每个节点之间欧几里得距离的值矩阵。 强制用户在中间绘制平均值(或最小值、最大值、中位数)有什么意义? 我认为如果这些中间值不被渲染,得到的地图将会更加直观易懂。 这张图片应该可以清楚地展示我的问题所在:

enter image description here

1个回答

0

您所描述的是绘制图形,其中顶点是地图单元,边缘是相邻单元之间的距离。顶点根据地图形状(矩形、六边形等)进行布局,边缘颜色确定距离函数。

U-Matrix是一种可视化技术,它将节点着色为该单元到其他相邻单元的平均距离(无需显示边缘)...通常我们还在每个单元的中心绘制一个小填充圆,其大小表示有多少训练数据实例被分配给该节点。

这里是Synapse如何表示它的插图:

SOM

看起来你链接的那个函数会返回一些信息,所以你需要从结果中选择你想要的。


谢谢,这很有帮助。但是,我现在卡在了从结果中选择我想要的内容上。如何找到一个通用公式来仅获取这些平均距离值?(我想将它们更改为其邻居的平均实际值,以获得平滑的地图。)这似乎并不像我最初想象的那么简单。 - Chetic
@Chetic:你不能只是做 U(1:2:end,1:2:end) 来获取平均距离吗? - Amro
@Amro,我想友好地指向你这个问题(https://dev59.com/f2Yr5IYBdhLWcg3wfaSc),我特别询问了这个问题。你似乎知道如何做到这一点,我会非常感激任何见解。非常感谢。 - Spacey

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接