我一直在阅读有关自组织地图的内容,并且我了解算法(我认为),但是我仍然无法理解。
你如何解释训练有素的网络?
然后,您将如何实际将其用于分类任务(一旦您使用训练数据完成了聚类)?
我似乎找到的所有材料(印刷和数字)都集中在算法的训练上。我相信我可能遗漏了一些重要的东西。
问候
我一直在阅读有关自组织地图的内容,并且我了解算法(我认为),但是我仍然无法理解。
你如何解释训练有素的网络?
然后,您将如何实际将其用于分类任务(一旦您使用训练数据完成了聚类)?
我似乎找到的所有材料(印刷和数字)都集中在算法的训练上。我相信我可能遗漏了一些重要的东西。
问候
SOM
s主要是降维算法,不是分类工具。它们用于降维,就像PCA
和类似的方法一样(一旦训练,您可以检查哪个神经元被您的输入激活并使用该神经元的位置作为值),唯一的实际区别是它们保留给定拓扑的能力输出表示。
所以SOM
实际产生的是从输入空间X
到缩减空间的映射Y
(最常见的是 2d 晶格,形成Y
2 维空间)。要执行实际分类,您应该通过此映射转换数据,并运行其他一些分类模型(SVM
神经网络、决策树等)。
换句话说 - SOM
s 用于查找数据的其他表示。表示,很容易被人类进一步分析(因为它主要是二维的并且可以绘制),并且对于任何进一步的分类模型都非常容易。这是一种可视化高维数据、分析“正在发生的事情”、某些类如何按几何方式分组等的好方法。但它们不应与其他神经模型混淆,如人工神经网络甚至生长的神经气体(其中是一个非常相似的概念,但给出了直接的数据聚类),因为它们用于不同的目的。
当然可以SOM
直接使用 s 进行分类,但这是对原始想法的修改,需要其他数据表示,一般情况下,在它之上使用其他分类器效果不佳。
编辑
至少有几种可视化受过训练的方法SOM
:
SOM
的神经元渲染为输入空间中的点,边缘连接拓扑接近的点(这只有在输入空间具有少量维度时才有可能,例如 2-3)SOM
- 如果您的数据标有一些数字{1,..k}
,我们可以将一些k
颜色绑定到它们,对于二进制情况让我们考虑blue
和red
。接下来,对于每个数据点,我们计算其对应的神经元,SOM
并将这个标签的颜色添加到神经元。处理完所有数据后,我们绘制SOM
的神经元,每个神经元都有其在拓扑中的原始位置,颜色是分配给它的颜色的某种聚合(例如平均值)。如果我们使用一些简单的拓扑(如二维网格),这种方法可以为我们提供一个很好的低维数据表示。在下图中,从第三张到最后的子图像是这种可视化的结果,其中red
颜色表示标签 1("yes" answer) and
蓝色means label
2`(“否”回答)SOM
的地图上(上述可视化中的第二个子图像)来可视化神经元间的距离