The Encog Project

org.encog.neural.networks.training.competitive.neighborhood
Class NeighborhoodBubble

java.lang.Object
  extended by org.encog.neural.networks.training.competitive.neighborhood.NeighborhoodBubble
All Implemented Interfaces:
NeighborhoodFunction

public class NeighborhoodBubble
extends java.lang.Object
implements NeighborhoodFunction

A neighborhood function that uses a simple bubble. A width is defined, and any neuron that is plus or minus that width from the winning neuron will be updated as a result of training.

Author:
jheaton

Constructor Summary
NeighborhoodBubble(int width)
          Create a bubble neighborhood function that will return 1.0 (full update) for any neuron that is plus or minus the width distance from the winning neuron.
 
Method Summary
 double function(int currentNeuron, int bestNeuron)
          Determine how much the current neuron should be affected by training based on its proximity to the winning neuron.
 int getWidth()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NeighborhoodBubble

public NeighborhoodBubble(int width)
Create a bubble neighborhood function that will return 1.0 (full update) for any neuron that is plus or minus the width distance from the winning neuron.

Parameters:
width - The width of the bubble, this is the distance that the neuron can be from the winning neuron. The true width, across the bubble, is actually two times this parameter.
Method Detail

function

public double function(int currentNeuron,
                       int bestNeuron)
Determine how much the current neuron should be affected by training based on its proximity to the winning neuron.

Specified by:
function in interface NeighborhoodFunction
Parameters:
currentNeuron - THe current neuron being evaluated.
bestNeuron - The winning neuron.
Returns:
The ratio for this neuron's adjustment.

getWidth

public int getWidth()
Returns:
The width of the bubble.

The Encog Project