Package mdp :: Package nodes :: Class GrowingNeuralGasExpansionNode
[hide private]
[frames] | no frames]

Class GrowingNeuralGasExpansionNode



Perform a trainable radial basis expansion, where the centers and
sizes of the basis functions are learned through a growing neural
gas.

  positions of RBFs
    position of the nodes of the neural gas

  sizes of the RBFs
    mean distance to the neighbouring nodes.

Important: Adjust the maximum number of nodes to control the
dimension of the expansion.

More information on this expansion type can be found in:
B. Fritzke.
Growing cell structures-a self-organizing network for unsupervised
and supervised learning. Neural Networks 7, p. 1441--1460 (1994).

Instance Methods [hide private]
 
__init__(self, start_poss=None, eps_b=0.2, eps_n=0.006, max_age=50, lambda_=100, alpha=0.5, d=0.995, max_nodes=100, input_dim=None, dtype=None)
For a full list of input arguments please check the documentation of GrowingNeuralGasNode.
 
_execute(self, x)
 
_set_input_dim(self, n)
 
_set_output_dim(self, n)
 
_stop_training(self)
 
execute(self, x)
Process the data contained in `x`.
 
stop_training(self)
Stop the training phase.

Inherited from unreachable.newobject: __long__, __native__, __nonzero__, __unicode__, next

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __setattr__, __sizeof__, __subclasshook__

    Inherited from GrowingNeuralGasNode
 
_add_edge(self, from_, to_)
 
_add_node(self, pos)
 
_get_nearest_nodes(self, x)
Return the two nodes in the graph that are nearest to x and their squared distances.
 
_insert_new_node(self)
Insert a new node in the graph where it is more necessary (i.e.
 
_move_node(self, node, x, eps)
Move a node by eps in the direction x.
 
_remove_old_edges(self, edges)
Remove all edges older than the maximal age.
 
_train(self, input)
 
get_nodes_position(self)
 
nearest_neighbor(self, input)
Assign each point in the input data to the nearest node in the graph.
 
train(self, input)
Update the internal structures according to the input data `x`.
    Inherited from Node
 
__add__(self, other)
 
__call__(self, x, *args, **kwargs)
Calling an instance of `Node` is equivalent to calling its `execute` method.
 
__repr__(self)
repr(x)
 
__str__(self)
str(x)
 
_check_input(self, x)
 
_check_output(self, y)
 
_check_train_args(self, x, *args, **kwargs)
 
_get_supported_dtypes(self)
Return the list of dtypes supported by this node.
 
_get_train_seq(self)
 
_if_training_stop_training(self)
 
_inverse(self, x)
 
_pre_execution_checks(self, x)
This method contains all pre-execution checks.
 
_pre_inversion_checks(self, y)
This method contains all pre-inversion checks.
 
_refcast(self, x)
Helper function to cast arrays to the internal dtype.
 
_set_dtype(self, t)
 
copy(self, protocol=None)
Return a deep copy of the node.
 
get_current_train_phase(self)
Return the index of the current training phase.
 
get_dtype(self)
Return dtype.
 
get_input_dim(self)
Return input dimensions.
 
get_output_dim(self)
Return output dimensions.
 
get_remaining_train_phase(self)
Return the number of training phases still to accomplish.
 
get_supported_dtypes(self)
Return dtypes supported by the node as a list of :numpy:`dtype` objects.
 
has_multiple_training_phases(self)
Return True if the node has multiple training phases.
 
inverse(self, y, *args, **kwargs)
Invert `y`.
 
is_training(self)
Return True if the node is in the training phase, False otherwise.
 
save(self, filename, protocol=-1)
Save a pickled serialization of the node to `filename`.
 
set_dtype(self, t)
Set internal structures' dtype.
 
set_input_dim(self, n)
Set input dimensions.
 
set_output_dim(self, n)
Set output dimensions.
Static Methods [hide private]
 
is_invertible()
Return True if the node can be inverted, False otherwise.
 
is_trainable()
Return True if the node can be trained, False otherwise.
Properties [hide private]

Inherited from object: __class__

    Inherited from Node
  _train_seq
List of tuples::
  dtype
dtype
  input_dim
Input dimensions
  output_dim
Output dimensions
  supported_dtypes
Supported dtypes
Method Details [hide private]

__init__(self, start_poss=None, eps_b=0.2, eps_n=0.006, max_age=50, lambda_=100, alpha=0.5, d=0.995, max_nodes=100, input_dim=None, dtype=None)
(Constructor)

 

For a full list of input arguments please check the documentation
of GrowingNeuralGasNode.

max_nodes (default 100) : maximum number of nodes in the
                          neural gas, therefore an upper bound
                          to the output dimension of the
                          expansion.

Overrides: object.__init__

_execute(self, x)

 
Overrides: Node._execute

_set_input_dim(self, n)

 
Overrides: Node._set_input_dim

_set_output_dim(self, n)

 
Overrides: Node._set_output_dim

_stop_training(self)

 
Overrides: Node._stop_training

execute(self, x)

 
Process the data contained in `x`.

If the object is still in the training phase, the function
`stop_training` will be called.
`x` is a matrix having different variables on different columns
and observations on the rows.

By default, subclasses should overwrite `_execute` to implement
their execution phase. The docstring of the `_execute` method
overwrites this docstring.

Overrides: Node.execute

is_invertible()
Static Method

 
Return True if the node can be inverted, False otherwise.

Overrides: Node.is_invertible
(inherited documentation)

is_trainable()
Static Method

 
Return True if the node can be trained, False otherwise.

Overrides: Node.is_trainable
(inherited documentation)

stop_training(self)

 
Stop the training phase.

By default, subclasses should overwrite `_stop_training` to implement
this functionality. The docstring of the `_stop_training` method
overwrites this docstring.

Overrides: Node.stop_training