问题标签 [som]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
412 浏览

machine-learning - SOM U-Matrix 生成

我一直在网上搜索并试图了解我所拥有的文献,但有些东西正在躲避我。

给定一个 SOM,当使用 U-Matrix 可视化时,U-Matrix 是表示给定节点与每个其他节点之间的距离,还是表示节点与其直接邻居之间的距离?

问候, 杰克亨特

编辑:- 欢迎提出替代可视化技术的建议。

0 投票
1 回答
8312 浏览

machine-learning - 解释自组织图

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

你如何解释训练有素的网络?

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

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

问候

0 投票
2 回答
949 浏览

machine-learning - 矩形地图的 U 矩阵

我在很多地方都读过关于 U-Matrix 的文章,包括这个网站。U-Matrix 的最佳解释可在此站点中找到其中解释了为什么关于如何正确计算 U-Matrix 的正确信息如此之少(原始论文根本没有用)。

上述问题的答案完全解释了六边形地图的概念。但是当地图是矩形时,链接问题的答案中计算 U 矩阵的逻辑不成立。

例如,考虑如下所示的 3 x 3 矩形晶格。

矩形地图

使用上面的格子,我可以计算 U 矩阵,如下所示。

U矩阵

黄色方块是蓝色方块之间的距离。我确定黄色方块。我也确定蓝色方块,因为我们只需要取其周围的平均值或中位数。

所以我的问题是:如何计算红色方块?

我找到了一些来源,包括我上面引用的上一个问题中提到的来源。我对矩形 U 矩阵的最佳解释如下

说明 1 -> 在本文中,作者并未完全解释如何计算红色方块。只是解释需要取周围的平均值。这不清楚,我认为不合适(见下文)

描述 2 -> 在这篇论文中,作者已经清楚地说明了如何计算红色方块,但他们提出的逻辑似乎有缺陷。

我的解释为什么上述可能不正确

如果像描述 1 中提到的那样取其周围的平均值来计算红色方块,那么蓝色方块的计算将直接受到影响。例如,考虑计算 U-Matrix 中蓝色方形数字 1 的值。如果我们要取其周围的平均值,我们需要距离 (1,2) 、 (1,4) 和 (1,5)。如果我们用 (1,5) 填充相应的红色方块,则蓝色方块 4 的计算是错误的,因为我们没有计算 (2,4) 并且应该在同一个红色方块中放置它。因此,将 (1,5) 和 (2,4) 相加除以 2*(1.414...) 的等式将不起作用,因为存在不属于平均值的分量。在蓝色方块 1 的情况下,(2,4) 的距离部分不属于那里。

我使用第二篇论文中的描述进行编程,为简单数据集生成的 U-Matrix 并不令人满意。虽然对于下面给出的相同数据集,给定节点周围的平均距离比 U-Matrix 表现更好。(图像是 U-Matrix 后跟平均值)

U-矩阵 在此处输入图像描述

0 投票
3 回答
6856 浏览

r - R package Kohonen - 如何在 Matlab SOM 工具箱中绘制六边形而不是圆形?

是否可以使用六边形作为基本形式而不是圆形来绘制 SOM 地图(包 Kohonen)?现在,不同的绘图(计数、变化等)被绘制为带有白色环境的圆圈。

目的是创建类似于 Matlab SOM Toolbox 的 SOM 视觉效果。

这个讨论表明六边形绘图在 2010 年是不可能的。

0 投票
1 回答
219 浏览

c - 阅读为 R 包编写的 C 代码。在哪里可以找到 RANDIN、UNIF、EPS 等的定义?

我有兴趣准确理解 R 包的 C 代码。但是我遇到了诸如RANDIN, RANDOUT,UNIF等代码EPS(它们是宏吗?),我不知道在哪里可以找到实现/定义。

我在哪里可以找到这些大写“表达式”的代码(以及解释,如果有的话)?

一个示例是VR_onlineSOM“类”R 包中的函数。该函数具有以下用 C 编写的代码:

0 投票
1 回答
68 浏览

matlab - SOM T1 和 T2 的值是多少

我正在 matlab 中实现一个 SOM。对于学习率的衰减,

updated_learningrate = original_learningrate * exp(-t/T1)

updated_sigma = original_sigma * exp(-t/T2)

T1 和 T2 的值是多少?在我提到的所有教科书和网络教程中,都只是说它们是时间常数。但他们没有说明使用哪个值范围。请帮忙

0 投票
0 回答
670 浏览

python - 将 U 矩阵(统一距离矩阵)公式化为矩阵运算?

我正在并行计算 u 矩阵,并且关心在 Python 中遍历矩阵的计算成本,而不是通过使用 Numpy 的矩阵运算来计算值。

在计算 u 矩阵时,您需要到最近节点的距离,即邻域。如果不使用 for 循环实际选择它们,似乎很难找到它。

举一个简单的例子,在二维网格中,您需要坐标为 [u,v] 的节点的邻域:[[uv,v], [u+1,v], [u,v-1], [u,v+1]]。

例如,你有没有用 Numpy 提取一个社区?然后我知道如何计算所有这些点的欧几里得距离。或者以其他方式重新表述问题?

如果从每个节点到网格中所有其他节点的距离而不是最近的 n,u 矩阵会发生什么?

0 投票
1 回答
1162 浏览

python - SOM - 神经网络

谁能告诉我这是否可能以及如何从 60 x 5 矩阵创建神经网络,该矩阵以 5 个不同的参数(人口、预算、区域、学校、医院)描述了 60 个城市。最终结果应如下所示:相似的(城市)节点应紧密分组 - 我想查看收集数据的多样性和相似性。欢迎任何帮助和建议。此致

0 投票
4 回答
180 浏览

java - 如何迭代处理大数据文件?

我有一个空格分隔的数据文件,其中包含以下格式的 450 万个条目

CO_1 A 0 0 0 0 1

CO_2 A 0 0 0 0 1

该数据文件用作自组织映射 (SOM)算法的输入,该算法迭代该文件 100 次(在我的情况下)。

我使用以下 readFile 函数将文件完全复制到临时字符串中,并将字符串传递给 SOM 算法。

我怎么感觉上述方法给内存带来了沉重的负担并减慢了可能导致内存溢出的迭代。目前,我在分配了 30GB 内存的集群中运行此代码,并且执行甚至没有完成大约 36 个小时的单次迭代。

我无法部分读取文件(如以行块的形式),因为一旦完成初始块,SOM 将不得不轮询数据,这可能会导致更复杂的情况。

任何想法我可以如何改进这一点,以便我可以成功地迭代 450 万个条目 100 次。

编辑

仅使用上述方法将整个文件读入字符串一次。然后在 100 次迭代中使用字符串变量。但是,每次使用字符串标记器来处理文件中的每一行 * 迭代次数。

0 投票
3 回答
3722 浏览

r - 带有 R 解释的 SOM 示例

这是 Kohonen 包中使用 som 函数的典型示例:

这是输出的链接: SOM 图

谁能向我解释set.seed代码中看到的命令的作用。另外, plot 命令如何决定着色方案并绘制相应的图例而不在命令中提及?