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

Class LinearRegressionNode


Compute least-square, multivariate linear regression on the input
data, i.e., learn coefficients b_j so that

  y_i = b_0 + b_1 x_1 + ... b_N x_N ,

for i = 1 ... M, minimizes the square error given the training x's
and y's.

This is a supervised learning node, and requires input data x and
target data y to be supplied during training (see 'train'
docstring).

Internal variables of interest:
self.beta -- the coefficients of the linear regression

Nested Classes [hide private]
    Inherited from Node
  __metaclass__
This Metaclass is meant to overwrite doc strings of methods like execute, stop_training, inverse with the ones defined in the corresponding private methods _execute, _stop_training, _inverse, etc...
Instance Methods [hide private]
 
__init__(self, with_bias=True, use_pinv=False, input_dim=None, output_dim=None, dtype=None)
Input arguments:
 
_add_constant(self, x)
Add a constant term to the vector 'x'.
 
_check_train_args(self, x, y)
 
_execute(self, x)
 
_get_supported_dtypes(self)
Return the list of dtypes supported by this node.
 
_stop_training(self)
 
_train(self, x, y)
Additional input arguments: y -- array of size (x.shape[0], output_dim) that contains the observed output to the input x's.
 
is_invertible(self)
Return True if the node can be inverted, False otherwise.
 
train(self, x, *args, **kwargs)
Additional input arguments: y -- array of size (x.shape[0], output_dim) that contains the observed output to the input x's.

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

    Inherited from Node
 
__add__(self, other)
 
__call__(self, x, *args, **kargs)
Calling an instance of Node is equivalent to call its 'execute' method.
 
__repr__(self)
repr(x)
 
__str__(self)
str(x)
 
_check_input(self, x)
 
_check_output(self, y)
 
_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)
 
_set_input_dim(self, n)
 
_set_output_dim(self, n)
 
copy(self, protocol=-1)
Return a deep copy of the node.
 
execute(self, x, *args, **kargs)
Process the data contained in 'x'.
 
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.
 
inverse(self, y, *args, **kargs)
Invert 'y'.
 
is_trainable(self)
Return True if the node can be trained, False otherwise.
 
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.
 
stop_training(self, *args, **kwargs)
Stop the training phase.
Properties [hide private]

Inherited from object: __class__

    Inherited from Node
  _train_seq
List of tuples: [(training-phase1, stop-training-phase1), (training-phase2, stop_training-phase2), ...
  dtype
dtype
  input_dim
Input dimensions
  output_dim
Output dimensions
  supported_dtypes
Supported dtypes
Method Details [hide private]

__init__(self, with_bias=True, use_pinv=False, input_dim=None, output_dim=None, dtype=None)
(Constructor)

 

Input arguments:

with_bias -- If True, the linear model includes a constant term
                 True:  y_i = b_0 + b_1 x_1 + ... b_N x_N
                 False: y_i =       b_1 x_1 + ... b_N x_N
             If present, the constant term is stored in the first
             column of self.beta

use_pinv -- If true, uses the pseudo-inverse function to compute
            the linear regression coefficients, which is more robust
            in some cases

Overrides: object.__init__

_add_constant(self, x)

 
Add a constant term to the vector 'x'.
x -> [1 x]

_check_train_args(self, x, y)

 
Overrides: Node._check_train_args

_execute(self, x)

 
Overrides: Node._execute

_get_supported_dtypes(self)

 
Return the list of dtypes supported by this node.
The types can be specified in any format allowed by numpy.dtype.

Overrides: Node._get_supported_dtypes
(inherited documentation)

_stop_training(self)

 
Overrides: Node._stop_training

_train(self, x, y)

 

Additional input arguments:
y -- array of size (x.shape[0], output_dim) that contains the observed
     output to the input x's.

Overrides: Node._train

is_invertible(self)

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

Overrides: Node.is_invertible
(inherited documentation)

train(self, x, *args, **kwargs)

 

Additional input arguments:
y -- array of size (x.shape[0], output_dim) that contains the observed
     output to the input x's.

Overrides: Node.train