Matlab SOM Toolbox U-Matrix Visualization

匿名 (未验证) 提交于 2019-12-03 08:54:24

问题:

I'm using the SOM Toolbox to analyze data collected from a database of cars. My problem is when visualizing the Unified Distance Matrix. Quoting the documentation for som_umat:

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.

How do I simply visualize the U-Matrix as I find it defined everywhere else? Including the paper referenced in the documentation (http://www.cis.hut.fi/somtoolbox/package/docs2/som_umat.html): A matrix of values representing the euclidean distance between each node. What's the point of forcing users to plot the mean (or min, max, median) value in-between aswell? I believe the resulting map to be so much less intuitive than if these in-between values weren't rendered.

This image should fairly clearly show what I'm on about:

回答1:

What you describe is drawing a graph, where the vertices are the map units, and the edges are the distance between adjacent units. The vertices are layed-out according to the map shape (rectangular, hexagonal, etc..), and the edges color determine the distance function.

U-Matrix is a visualization technique that instead colors the nodes with the average distance of that unit to other adjacent units (no need to show the edges)... Usually we also draw at the center of each unit a small filled circle, where its size indicate how many instances of the training data were assigned to that node.

Here is an illustration how Synapse represents it:

It seems the function you linked to returns both information, so it's a matter of selecting what you want from the result.



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!