首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >获取六顶自组织映射神经元连接

获取六顶自组织映射神经元连接
EN

Stack Overflow用户
提问于 2016-02-05 20:58:55
回答 1查看 106关注 0票数 0

如何获得包含SOM中神经元连接的n-by-2矢量?例如,如果我有一个简单的2x2六头SOM,连接向量应该如下所示:

[ 1 2 1 3 1 4 ]

这个向量表示神经元1连接到神经元2,神经元1连接到神经元3,等等。

如何从给定的SOM中检索这个连接向量?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-06 00:23:53

假设SOM是用邻域距离1定义的(即,对于每个神经元,每个神经元在欧氏距离为1的范围内与所有神经元的边),那么Matlabs hextop(...)命令的默认选项可以如下所示创建连接向量:

代码语言:javascript
运行
复制
pos = hextop(2,2);

% Find neurons within a Euclidean distance of 1, for each neuron.

% option A: count edges only once
distMat = triu(dist(pos));
[I, J] = find(distMat > 0 & distMat <= 1);
connectionsVectorA = [I J]

% option B: count edges in both directions
distMat = dist(pos);
[I, J] = find(distMat > 0 & distMat <= 1);
connectionsVectorB = sortrows([I J])

% verify graphically
plotsom(pos)

上述产出如下:

代码语言:javascript
运行
复制
connectionsVectorA =

     1     2
     1     3
     2     3
     2     4
     3     4


connectionsVectorB =

     1     2
     1     3
     2     1
     2     3
     2     4
     3     1
     3     2
     3     4
     4     2
     4     3

如果有一个非默认邻域距离(!= 1)的SOM,比如nDist,只需将上面的find(..)命令替换为

代码语言:javascript
运行
复制
... find(distMat > 0 & distMat <= nDist);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35233381

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档