我想了解SOM。当人们发布图像代表时,我很困惑 数据的图像让我使用SOM将数据映射到地图空间。据说使用了U矩阵。但是我们有一个有限的神经元网格,那么你如何得到一个“连续”的图像呢? 例如,从40x40网格开始,有1600个神经元。现在计算U矩阵,但是现在如何绘制这些数字以获得可视化? 链接:
答案 0 :(得分:7)
U矩阵代表统一距离并且在每个单元中包含相邻单元之间的欧氏距离(在输入空间中)。此矩阵中的小值表示SOM节点在输入空间中靠近在一起,而较大的值表示SOM节点相距很远,即使它们在输出空间中很近。这样,U矩阵可以被视为2D空间中输入矩阵的概率密度函数的汇总。通常,这些距离值是离散的,基于强度进行颜色编码并显示为heatmap种类。
引用Matlab SOM工具箱,
Compute and return the unified distance matrix of a SOM.
For example a case of 5x1 -sized map:
m(1) m(2) m(3) m(4) m(5)
where m(i) denotes one map unit. The u-matrix is a 9x1 vector:
u(1) u(1,2) u(2) u(2,3) u(3) u(3,4) u(4) u(4,5) u(5)
where u(i,j) is the distance between map units m(i) and m(j)
and u(k) is the mean (or minimum, maximum or median) of the
surrounding values, e.g. u(3) = (u(2,3) + u(3,4))/2.
除了SOM工具箱,您可以查看kohonen R包(请参阅help(plot.kohonen)
并使用type="dist.neighbours"
)。