文章 "自组织特征映射 (Kohonen 映射) - 再访主题" - 页 2

 
Nikolay Demko:

保存训练好的网格,并发布网格和训练数据。我想在分析时会发现答案是如何实现的。或者,也可以找到问题所在。

总的来说,我们需要一个可重现的示例。

我把它附在

上,其中有一个资源文件、somnet 和我为资源文件记录的屏幕。也许会有帮助;)
附加的文件:
Desktop.zip  756 kb
 
总之,感谢您的开发。

,我有一些关于搜索大体相似的项目组的想法。也就是说,我们在讨论聚类。我在网上找到了一种方法:K-均值法。我阅读了说明并查看了示例。您是如何将数据聚类的?
 
Viktor Vasilyuk:
在显示结果方面存在一些缺陷.....。 我决定测试一下统计数据,这就是我得到的结果:


左侧第一行第二个方格的情况让我有点吃惊。数值 #2 和 #3。在色彩表现上怎么会有如此强烈/鲜明的过渡呢?以左侧第一行的第一个方格为例--数值 #14 和 #18 之间的颜色过渡很平滑。

然后,正如图片下方的调色板所画的那样,从左到右或从右到左的颜色过渡都很一致。而这里的色彩跳跃性很强。

我认为,原因在于用于训练的数据非常少,这是第一点,也可能是最主要的一点。

其次,节点数比分辨率少 4 倍。

而且,在一个较大的数值范围内(第 2 列),来自尺度两端的节点恰好彼此相邻,这是第三点。

总的来看,在这样的排列中,画出了一条清晰的边界。

但我无法以清晰的六边形再现边界。在您保存的网络中,有一个边界,但不是六边形。

 
Viktor Vasilyuk:
总之,感谢您的开发。 ,我有一些关于搜索大体相似的项目组的想法。也就是说,我们在讨论聚类。我在网上找到了一种方法:K-均值法。我阅读了说明并查看了示例。你用什么方法对数据进行分组?

方法各有不同,这取决于任务。聚类的方法有很多。Kohonen 是一种通用聚类工具,而所有通用工具都不可能完美地用于特定任务。

例如,如果您需要对单变量数据进行聚类,并以最快、最简单的方式完成,K-means 是不错的选择,但我更喜欢通过模式而不是平均值进行聚类。

 
Nikolay Demko:

我认为原因是你们用于训练的数据很少,这是第一点,可能也是最主要的一点。

其次,节点数比分辨率少 4 倍。

而且,在很大的数值范围内(第 2 列),来自尺度两端的节点恰好彼此相邻,这是第三点。

总的来说,有这样一种安排,在那里画出了一条清晰的边界。

但我无法以清晰的六边形再现边界。在您保存的网络中,有一个边界,但不是六边形。

是的,我给了你错误的图形。这是我在档案中提供的来自 somnet 的原始图形。

MetaTrader 交易平台截图

英镑兑美元,H1,2017.02.25

Alpari International Limited, MetaTrader 5, 演示版

英镑兑美元,上半年,2017.02.25,Alpari International Limited,MetaTrader 5,模拟


1) 问题不在于数据量本身,而在于与 #2 "相关 "的数据很少,这个因素很有可能对颜色有很大的影响。

2) 数字 4 是怎么来的?是图片的大小除以节点数吗?我实在无法理解其中的关系。

3) 849950-142695=707255 这样的差异会影响其他列中较小的差异吗?

4) 我想知道是否有可能在图片中显示数字,而不是仅仅将它们画在边上? 有些数字是不可见的。是的,图片可以保存到文件中,但图片上的数字形式的标题却不想要。这个功能没有实现吗?
 
妈的,我不知道已经是妄想症或偏执狂了。

MetaTrader 交易平台截图

英镑兑美元, H1, 2017.02.25

Alpari International Limited, MetaTrader 5, 演示版

英镑兑美元,上半年,2017.02.25,Alpari International Limited,MetaTrader 5,模拟


我做了以下工作:

1) 将样本数量减少到 10 个;

2) 手动对第二列中第 2、3 和 4 行的值进行修改

这是什么鬼东西?

我发现以下问题:

1) 第二列的最大值要么计算错误,要么显示错误。也就是说,如果将所有值向下排序,程序会显示最大值是第 3 行的值,而不是第 2 行的值。我只在这一列中发现了这种技巧;

2) 我减少了第二列最大值和最小值之间的 "差值"。我允许该列的三个最大值相差 1-1.8%。这并不多,不是吗?也就是说,如果你 "用眼睛看",这一列的所有其他值几乎都是一样的。



我再次附上我的文件。
附加的文件:
SOM.zip  90 kb
 
Viktor Vasilyuk:
妈的,我不知道。这已经是妄想症或偏执狂了。


我做了以下工作:

1) 将样本数减少到 10;

2) 手动修改了第二列第 2、3 和 4 行的值

这是什么鬼东西?

我发现了以下问题:

1) 第二列的最大值要么计算错误,要么显示错误。也就是说,如果将所有值向下排序,程序会显示最大值是第 3 行的值,而不是第 2 行的值。我只在这一列中发现了这种技巧;

2) 我减少了第二列最大值和最小值之间的 "差值"。我允许该列的三个最大值相差 1-1.8%。这并不多,不是吗?也就是说,如果您 "用眼睛 "估计,这一列的所有其他值几乎都是相同的。



,我再次附上我的文件。

请注意,在所有其他列的地图中,这个地方都有某种群集。

我的意思是,结果会有规律地重复出现,因为这就是数据的结构

只是在第二列中,这个具有最小值的聚类被最大值所包围或毗邻。这就是为什么边界如此清晰的原因。

但 SOM 会将数据放在最大值附近的一个单独聚类中,因为地图是相互连接的,这是该聚类的最佳位置。

如果要将它们移动到第二张地图的不同角落,就必须将其他地图上的节点移动到这些位置。

在地图 1、4、6、8-12 中,这两个集群的值非常接近。也就是说,在 12 个地图中的 8 个地图上,SOM 将它们放在了相邻的位置。当然,剩下的 4 张牌可以按照上帝的旨意加以区分。

或者我不明白你的问题。

 
Nikolay Demko:

请注意,在所有其他列的地图中,这个位置都有某种群集。

我的意思是,结果会有规律地重复,因为这就是数据的结构

只是在第二列中,这个具有最小值的聚类被最大值所包围或邻近。这就是为什么边界如此清晰的原因。

但 SOM 会将数据放在最大值附近的一个单独聚类中,因为地图是相互连接的,这是该聚类的最佳位置。

如果要将它们移动到第二张地图的不同角落,就必须将其他地图上的节点移动到这些位置。

在地图 1、4、6、8-12 中,这两个集群的值非常接近。也就是说,在 12 个地图中的 8 个地图上,SOM 将它们放在了相邻的位置。当然,剩下的 4 张牌可以按照上帝的旨意加以区分。

也许我没理解你问题的重点。

是的,有一个问题。在数据文件中,第二列的最大值是 559000。图片显示(水平条,即梯度),这个最大值是 552000。559000 不可能小于 552000。
 
Viktor Vasilyuk:
是的,有一个问题。在数据文件中,第二列的最大值是 559000。图片显示(水平条,即梯度),这个最大值是 552000。559000 不可能小于 552000。

552000

559000

这是节点数据还是模式数据?

节点不必与训练模式一一对应。

 
Nikolay Demko:

552000

559000

这是节点数据还是模式数据?

节点不必与训练模式一一对应。

突出显示。