是一个神经元的自组织映射的位置取决于它的重量? [英] Is the location of a neuron in a Self-Organizing Map dependent on its weight?

查看:95
本文介绍了是一个神经元的自组织映射的位置取决于它的重量?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经看了很多的SOM理论的例子,但有一件事是不是真的清楚我说:是节点的位置取决于它们的权重?例如,将具有较大的重量节点是在地图上的一侧,而用一个较小的重量节点将进一步远离在地图上?

I've looked at a lot of theoretical examples of SOMs, but one thing is not really clear to me: is the location of nodes dependent on their weights? For example, will nodes with a larger weight be on one side of the map, while nodes with a smaller weight will be further away on the map?

推荐答案

没有。在SOM(又名Kohonen网络地图)的权重函数应用到你的数据的不是在神经元。

No. In an SOM (aka Kohonen Map) the weight function is applied to your data not the the "Neurons".

权值期间所使用的图谱构建的(训练),即,在每次迭代和为每个迭代内的每个格子的细胞来计算。换句话说,对于每次迭代,其包括地图结构中,权重函数用于缩放在确定细胞的位置/定位的那些点的贡献。

Weights are used during map construction (training), i.e., calculated at each iteration and for each lattice cell within each iteration. Put another way, for each iteration that comprises map construction, a weight function is used to scale the contribution of those points in determining the cell's position/location.

在Kohonen的地图的数据点的位置由在最靠近该数据点在地图上的晶格细胞测定的 - 也就是,建立一个基于Kohonen图涉及迭代重新分配的各点的数据集给它的细胞最接近的晶格。

A data point's location in a Kohonen Map is determined by the lattice cell in the map closest to that data point--i.e., building a Kohonen Map involves iterative re-assignment of each point in your data set to the cell in the lattice closest to it.

下面是想起来了一个办法:一种基于Kohonen地图是您的数据只是一个映射到一些固定的拓扑结构或晶格,在2个维度,一个规则的网格比如

Here's one way to think of it: A Kohonen Map is just a mapping of your data onto some fixed topology, or lattice, in 2 dimensions, a regular grid for instance.

在训练阶段(构建地图)每次迭代涉及重新分配的每个数据点的(如果需要的话),以在最靠近它的晶格最接近细胞。接着,将细胞位置基于(ⅰ)分配给从现有迭代该小区内的数据点的调整;和(ii)数据点中的相邻小区中。

Each iteration in the training phase (building the map) involves a re-assignment of each data point (if necessary) to the closest cell in the lattice closest to it. Next, the cell positions are adjusted based on (i) the data points assigned to that cell from the prior iteration; and (ii) the data points in the neighboring cells.

如何数据点的第(i)和(ii)向细胞位置的新值的值是由每个数据点的权重,这是又由权重函数来确定测定。这是与直觉一致 - 进一步分从细胞应具有对细胞的新值小的影响与数据点更靠近电池相比。在基于Kohonen地图,权重函数强制执行此约束。教科书权重函数是高斯。在Python:

How the values of the data points in (i) and (ii) contribute to the new value of the cell location is determined by each data point's weight, which is in turn determined by a weight function. This is consistent with intuition--points further from the cell should have a smaller influence on the cell's new value compared with data points closer to the cell. In a Kohonen Map, the weight function enforces this constraint. The textbook weight function is Gaussian. In Python:

def gaussian(dist, t, alpha=1.0, sigma=1.0) :
    from math, import e
    return alpha * t * e**(-dist/(2*sigma*t))**2

在此功能的 DIST 是数据点从小区中心的距离,和 T 是时间(例如,地图建立期间每次迭代是时钟的一个滴答)。

In this function, dist is the distance of the data point from the cell center, and t is time (e.g., each iteration during map building is one tick of the clock).

所以,想象高斯曲线,减少了一半了它的中心; x轴是DIST和y轴重新presents重量 - 以便距离的增大,权重降低。同样地,当t的增加,所以不重。在建立的Kohonen图这的关键因素:与增加迭代(在地图创建)相邻点具有越来越少的给定小区的重新定位影响。因此,随时间的重量关系的意义在于,改变在细胞位置的速率随时间降低(位置变化少随着每次迭代),直到最终在与下一次迭代位置没有变化,这是收敛准则一基于Kohonen地图。

So imagine a Gaussian curve, cut in half down its center; the x axis is dist and the y axis represents weight--so as distance increases, the weight decreases. Likewise, as t increases, so does weight. This a crucial element in building Kohonen Map: with increasing iterations (during map building) the neighboring points have less and less influence on the re-positioning of a given cell. Therefore, the significance of the time-weight relationship is that the rate of change in cell positions decreases over time (positions change less with each iteration), until eventually the is no change in position with the next iteration which is the convergence criterion for a Kohonen Map.

什么是数据点的权重有什么关系呢?那么,在现有迭代晶格单元的位置是由在该单元中的数据点根据一加权函数确定,并且没有在这个相邻小区,这些点到新的小区的位置的贡献被确定。

What does the data point's weight have to do with this? Well, the location of that lattice cell in the prior iteration was determined by the data points in that cell and those in the neighboring cell, the contributions of those points to the new cell's position are determined according to a weighting function.

最后一个数据点的权重是不是真的该数据点的固有属性。一方面,它仅在图的构建是有用的,并且用于另一数据点实际上不具有权重值 - 地图建造期间,而在每次迭代中,在相邻小区中分配给一个给定的小区中的数据点和这些点用于计算给定的晶格单元的新位置。该计算考虑到从小区中心的每个点的距离通过分配权重给每个数据点 - 因此,该权重值是唯一有意义为迭代和为小区中心,例如,在计算下一个小区中心,相同的数据点会产生的不同的权重的,因为它是距离该小区中心是不同的。

Finally, a data point's weight is not really an inherent attribute of that data point. For one thing, it's useful only during map construction, and for another a data points doesn't actually have a weight value--rather in each iteration during map construction, the data points assigned to a given cell and those points in neighboring cells are used to compute the new position of a given lattice cell. That computation takes into account the distance of each point from the cell center by assigning a weight to each data point--hence, that weight value is only meaningful for that iteration and for that cell center, e.g., in calculating the next cell center, the same data point will have a different weight because it's distance to that cell center is different.

这篇关于是一个神经元的自组织映射的位置取决于它的重量?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆