为了可视化自组织图,U 矩阵究竟是如何构造的?更具体地说,假设我有一个 3x3 节点的输出网格(已经训练过),我如何从中构造一个 U 矩阵?例如,您可以假设神经元(和输入)的维度为 4。
我在网上找到了几个资源,但不是很清楚或者是相互矛盾的。例如,原始论文充满了错别字。
U 矩阵是输入数据维度空间中神经元之间距离的直观表示。也就是说,您可以使用经过训练的向量计算相邻神经元之间的距离。如果您的输入维度是 4,那么训练映射中的每个神经元也对应一个 4 维向量。假设您有一个 3x3 六边形地图。
U 矩阵将是一个 5x5 矩阵,其中包含两个神经元之间的每个连接的插值元素,如下所示
{x,y} 元素是神经元 x 和 y 之间的距离,{x} 元素中的值是周围值的平均值。例如,{4,5} = distance(4,5) 和 {4} = mean({1,4}, {2,4}, {4,5}, {4,7})。对于距离的计算,您使用每个神经元的经过训练的 4 维向量和用于训练地图的距离公式(通常是欧几里得距离)。因此,U 矩阵的值只是数字(不是向量)。然后,您可以将浅灰色分配给这些值中的最大值,将深灰色分配给最小值,将其他值分配给相应的灰色阴影。您可以使用这些颜色来绘制 U 矩阵的单元格,并以可视化方式表示神经元之间的距离。
也看看这篇网络文章。
问题中引用的原始论文指出:
Kohonen 算法的一个幼稚应用,尽管保留输入数据的拓扑结构并不能显示输入数据中固有的集群。
首先,这是真的,其次,这是对 SOM 的深刻误解,第三,也是对 SOM 计算目的的误解。
仅以RGB色彩空间为例:有3种颜色(RGB),6种(RGBCMY),8种(+BW),还是更多?您如何定义独立于目的的,即数据本身固有的?
我的建议是根本不使用集群边界的最大似然估计器——甚至不使用像 U-Matrix 这样的原始估计器——因为基本论点已经存在缺陷。无论您随后使用哪种方法来确定集群,都会继承该缺陷。更准确地说,集群边界的确定根本没有意义,它正在失去关于构建 SOM 的真实意图的信息。那么,为什么我们要从数据中构建 SOM?让我们从一些基础知识开始:
总而言之,U 矩阵在没有客观性的地方假装客观性。这完全是对建模的严重误解。恕我直言,SOM 的最大优势之一是它所隐含的所有参数都可以访问和开放以进行参数化。像 U 矩阵这样的方法通过无视这种透明度并用不透明的统计推理再次关闭它来破坏这一点。