Perform Non-linear Blind Source Separation using Slow Feature Analysis.
This node is designed to iteratively extract statistically
independent sources from (in principle) arbitrary invertible
nonlinear mixtures. The method relies on temporal correlations in
the sources and consists of a combination of nonlinear SFA and a
projection algorithm. More details can be found in the reference
given below (once it's published).
The node has multiple training phases. The number of training
phases depends on the number of sources that must be
extracted. The recommended way of training this node is through a
container flow:
doing so will automatically train all training phases. The argument
x to the Flow.train method can be an array or a list of iterables
(see the section about Iterators in the MDP tutorial for more info).
If the number of training samples is large, you may run into
memory problems: use data iterators and chunk training to reduce
memory usage.
If you need to debug training and/or execution of this node, the
suggested approach is to use the capabilities of BiMDP. For example:
this will run training and execution with bimdp inspection. Snapshots
of the internal flow state for each training phase and execution step
will be opened in a web brower and presented as a slideshow.
|
__init__(self,
basic_exp=None,
intern_exp=None,
svd=False,
verbose=False,
input_dim=None,
output_dim=None,
dtype=None)
If the input dimension and the output dimension are
unspecified, they will be set when the train or execute
method is called for the first time.
If dtype is unspecified, it will be inherited from the data
it receives at the first call of train or execute. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
execute(self,
x)
Process the data contained in x . |
|
|
|
|
|
train(self,
x)
Update the internal structures according to the input data x . |
|
|
Inherited from unreachable.newobject :
__long__ ,
__native__ ,
__nonzero__ ,
__unicode__ ,
next
Inherited from object :
__delattr__ ,
__format__ ,
__getattribute__ ,
__hash__ ,
__new__ ,
__reduce__ ,
__reduce_ex__ ,
__setattr__ ,
__sizeof__ ,
__subclasshook__
|
|
|
|
__call__(self,
x,
*args,
**kwargs)
Calling an instance of Node is equivalent to calling
its execute method. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_refcast(self,
x)
Helper function to cast arrays to the internal dtype. |
|
|
|
|
|
|
|
copy(self,
protocol=None)
Return a deep copy of the node. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 .
If filename is None, return a string. |
|
|
|
set_dtype(self,
t)
Set internal structures' dtype. |
|
|
|
|
|
|