【问题标题】:Interpreting a Self Organizing Map解释自组织图
【发布时间】:2013-08-16 12:56:17
【问题描述】:

我一直在阅读有关自组织地图的内容,并且我了解算法(我认为),但是我仍然无法理解。

您如何解释经过训练的网络?

然后,您将如何实际将其用于分类任务(一旦您对训练数据进行了聚类)?

我似乎找到的所有材料(印刷和数字)都集中在算法的训练上。我相信我可能遗漏了一些重要的东西。

问候

【问题讨论】:

    标签: machine-learning neural-network som


    【解决方案1】:

    SOMs主要是降维算法,不是分类工具。它们用于降维,就像PCA 和类似方法一样(一旦训练,您可以检查哪个神经元被您的输入激活并使用该神经元的位置作为值),唯一的实际区别是它们能够保留给定的输出表示拓扑。

    所以SOM 实际产生的是从输入空间X 到缩减空间Y 的映射(最常见的是二维点阵,使Y 成为二维空间)。要执行实际分类,您应该通过此映射转换数据,并运行其他一些分类模型(SVM、神经网络、决策树等)。

    换句话说 - SOMs 用于查找数据的其他表示。表示,很容易被人类进一步分析(因为它主要是二维的并且可以绘制),并且对于任何进一步的分类模型都非常容易。这是一种可视化高维数据、分析“正在发生的事情”、某些类如何按几何方式分组等的好方法。但它们不应与其他神经模型混淆,如人工神经网络甚至生长的神经气体(其中是一个非常相似的概念,但提供了直接的数据聚类),因为它们用于不同的目的。

    当然可以直接使用SOMs进行分类,但这是对原想法的修改,需要其他数据表示,一般情况下使用其他分类器效果不佳。

    编辑

    至少有几种方法可以可视化受过训练的SOM

    • 可以将SOM 的神经元渲染为输入空间中的点,边缘连接拓扑接近的点(这只有在输入空间的维数较少时才有可能,例如 2-3)
    • SOM 的拓扑上显示数据类 - 如果您的数据标有一些数字{1,..k},我们可以将一些k 颜色绑定到它们,对于二进制情况让我们考虑blue 和@987654337 @。接下来,对于每个数据点,我们在SOM 中计算其对应的神经元,并将这个标签的颜色添加到神经元中。处理完所有数据后,我们绘制SOM 的神经元,每个神经元都有其在拓扑中的原始位置,颜色是分配给它的颜色的某种聚合(例如平均值)。如果我们使用一些简单的拓扑(如二维网格),这种方法可以为我们提供一个很好的低维数据表示。在下图中,从第三张到最后的子图是这样可视化的结果,其中red颜色表示标签1("yes" answer) andbluemeans label2`(“否”答案)
    • onc 还可以通过计算每个连接的神经元的距离并将其绘制在SOM 的地图上(上述可视化中的第二个子图像)来可视化神经元间的距离
    • 可以使用某种聚类算法(如 K-means)对神经元的位置进行聚类,并将聚类 ID 可视化为颜色(第一个子图像)

    【讨论】:

    • 感谢您的精彩回答!我不明白的另一件事是如何在训练后可视化模型。
    • 更新了一些可视化技术信息的答案
    • 非常感谢。这是完美的!
    • @lejlot 你说But they should not be confused with other neural models like artificial neural networks or even growing neural gas 。但是当我查看神经气体和 SOM 的算法时,它们看起来非常相似。我看不出有什么区别?神经气体也是像 SOM 这样的聚类方法而不是直接分类工具吗?你能解释一下神经气体和SOM的区别吗
    • 当然,GNG 是对 SOM 理念的修改,您没有固定网络,而是将其扩展到您的数据。因此,GNG 更像是一种局部数据聚类方法,或者更正式地说是矢量量化。因此,您无法获得平面表示(您通常无法绘制 GNG,因为它没有自然的 2d/3d 结构)。 SOM 实际上与 PCA(及其伟大的泛化 - 主要流形)的关系比神经网络更相关
    猜你喜欢
    • 2017-07-20
    • 2016-07-11
    • 2014-07-19
    • 2015-08-02
    • 1970-01-01
    • 2013-09-30
    • 2022-10-25
    • 2010-12-10
    相关资源
    最近更新 更多