Is the location of a neuron in a self-organizing map dependent on its weight?

I have examined many theoretical examples of SOMs, but it’s not entirely clear to me what are nodes that depend on their weights? For example, will nodes with a higher weight be on one side of the map, and nodes with a lower weight will be further on the map?

+4
source share
1 answer

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

Masses are used in the construction of the map (training), that is, they are calculated at each iteration and for each lattice cell in each iteration. In other words, for each iteration that contains the construction of the map, a weight function is used to scale the contribution of these points in determining the position / location of the cell.

The location of the data point on the Kohonen map is determined by the grid cell on the map closest to this data point, i.e. building a Kohonen map involves iteratively re-assigning each point in your dataset to a cell in the grid closest to it.

Here is one way to think about it: A Kohonen map is simply mapping your data onto some fixed topology or grid in two dimensions, like a regular grid.

Each iteration at the training stage (map building) involves reassigning each data point (if necessary) to the nearest cell in the grid closest to it. Then, the cell positions are adjusted based on (i) the data points assigned to this cell from the previous iteration; and (ii) data points in neighboring cells.

How the values ​​of the data points in (i) and (ii) contribute to the new cell location value, is determined by each weight of the data point, which, in turn, is determined by the weight function. This is consistent with intuition - points located farther from the cell should have less impact on the new value of the cell compared to data points located closer to the cell. On the Kohonen map, the weight function provides this restriction. The weight function of the textbook 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 

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

So, imagine a Gaussian curve cut in half down its center; the x axis is dist, and the y axis represents weight - as the distance increases, the weight decreases. Similarly, as t increases, the weight also increases. This is an important element in building a Kohonen map: with an increase in iterations (when constructing a map), neighboring points have a lesser effect on the re-positioning of a given cell. Therefore, the value of the time-weight ratio is that the rate of change in the positions of the cell decreases over time (with each iteration, the positions change less) until, ultimately, the position changes with the next iteration, which is the convergence criterion for Kohonen Map .

What is the weight of this data point? Well, the location of this lattice cell in the previous iteration was determined by the data points in this cell and the cells of the neighboring cell, the contribution of these points to the new cell position was determined in accordance with the weight function.

Finally, the weight of a data point is not really an integral attribute of that data point. Firstly, it is useful only when building a map, and for other data points, they do not actually have a weight value - rather, at each iteration when building a map, the data points assigned to this cell, and those points in neighboring cells, are used to calculate the new position of the given cell lattice. This calculation takes into account the distance of each point from the center of the cell, assigning the weight to each data point - therefore, this weight value makes sense only for this iteration and for this center of the cell, for example, when calculating the next center of the cell, the same data point will have different weight because the distance to this center of the cell is different.

+7
source

All Articles