GClasses

GClasses::GNeuralNetPseudoInverse Class Reference

Computes the pseudo-inverse of a neural network. More...

#include <GNeuralNet.h>

List of all members.

Public Member Functions

 GNeuralNetPseudoInverse (GNeuralNet *pNN, double padding=0.01)
 padding specifies a margin in which label values will be clipped inside the activation function output range to avoid extreme feature values (-inf, inf, etc.).
 ~GNeuralNetPseudoInverse ()
void computeFeatures (const double *pLabels, double *pFeatures)
 Computes the input features from the output labels. In cases of under-constraint, the feature vector with the minimum magnitude is chosen. In cases of over-constraint, the feature vector is chosen with a corresponding label vector that minimizes sum-squared error with the specified label vector.

Static Public Member Functions

static void test ()

Protected Attributes

double m_padding
std::vector
< GNeuralNetInverseLayer * > 
m_layers
double * m_pBuf1
double * m_pBuf2

Detailed Description

Computes the pseudo-inverse of a neural network.


Constructor & Destructor Documentation

GClasses::GNeuralNetPseudoInverse::GNeuralNetPseudoInverse ( GNeuralNet pNN,
double  padding = 0.01 
)

padding specifies a margin in which label values will be clipped inside the activation function output range to avoid extreme feature values (-inf, inf, etc.).

GClasses::GNeuralNetPseudoInverse::~GNeuralNetPseudoInverse ( )

Member Function Documentation

void GClasses::GNeuralNetPseudoInverse::computeFeatures ( const double *  pLabels,
double *  pFeatures 
)

Computes the input features from the output labels. In cases of under-constraint, the feature vector with the minimum magnitude is chosen. In cases of over-constraint, the feature vector is chosen with a corresponding label vector that minimizes sum-squared error with the specified label vector.

static void GClasses::GNeuralNetPseudoInverse::test ( ) [static]

Member Data Documentation