mlpack  2.2.5

An implementation of RADICAL, an algorithm for independent component analysis (ICA). More...

## Public Member Functions

Radical (const double noiseStdDev=0.175, const size_t replicates=30, const size_t angles=150, const size_t sweeps=0, const size_t m=0)
Set the parameters to RADICAL. More...

size_t Angles () const
Get the number of angles considered during brute-force search. More...

size_t & Angles ()
Modify the number of angles considered during brute-force search. More...

void CopyAndPerturb (arma::mat &xNew, const arma::mat &x) const
Make replicates of each data point (the number of replicates is set in either the constructor or with Replicates()) and perturb data with Gaussian noise with standard deviation noiseStdDev. More...

void DoRadical (const arma::mat &matX, arma::mat &matY, arma::mat &matW)

double NoiseStdDev () const
Get the standard deviation of the additive Gaussian noise. More...

double & NoiseStdDev ()
Modify the standard deviation of the additive Gaussian noise. More...

size_t Replicates () const
Get the number of Gaussian-perturbed replicates used per point. More...

size_t & Replicates ()
Modify the number of Gaussian-perturbed replicates used per point. More...

size_t Sweeps () const
Get the number of sweeps. More...

size_t & Sweeps ()
Modify the number of sweeps. More...

double Vasicek (arma::vec &x) const
Vasicek's m-spacing estimator of entropy, with overlap modification from (Learned-Miller and Fisher, 2003). More...

## Detailed Description

An implementation of RADICAL, an algorithm for independent component analysis (ICA).

Let X be a matrix where each column is a point and each row a dimension. The goal is to find a square unmixing matrix W such that Y = W X and the rows of Y are independent components.

For more details, see the following paper:

@article{learned2003ica,
title = {ICA Using Spacings Estimates of Entropy},
author = {Learned-Miller, E.G. and Fisher III, J.W.},
journal = {Journal of Machine Learning Research},
volume = {4},
pages = {1271--1295},
year = {2003}
}

Definition at line 43 of file radical.hpp.

## Constructor & Destructor Documentation

 Radical ( const double noiseStdDev = `0.175`, const size_t replicates = `30`, const size_t angles = `150`, const size_t sweeps = `0`, const size_t m = `0` )

Parameters
 noiseStdDev Standard deviation of the Gaussian noise added to the replicates of the data points during Radical2D replicates Number of Gaussian-perturbed replicates to use (per point) in Radical2D angles Number of angles to consider in brute-force search during Radical2D sweeps Number of sweeps. Each sweep calls Radical2D once for each pair of dimensions m The variable m from Vasicek's m-spacing estimator of entropy.

## ◆ Angles() [1/2]

 size_t Angles ( ) const
inline

Get the number of angles considered during brute-force search.

Definition at line 105 of file radical.hpp.

## ◆ Angles() [2/2]

 size_t& Angles ( )
inline

Modify the number of angles considered during brute-force search.

Definition at line 107 of file radical.hpp.

## ◆ CopyAndPerturb()

 void CopyAndPerturb ( arma::mat & xNew, const arma::mat & x ) const

Make replicates of each data point (the number of replicates is set in either the constructor or with Replicates()) and perturb data with Gaussian noise with standard deviation noiseStdDev.

 void DoRadical ( const arma::mat & matX, arma::mat & matY, arma::mat & matW )

Parameters
 matX Input data into the algorithm - a matrix where each column is a point and each row is a dimension. matY Estimated independent components - a matrix where each column is a point and each row is an estimated independent component. matW Estimated unmixing matrix, where matY = matW * matX.

 double DoRadical2D ( const arma::mat & matX )

## ◆ NoiseStdDev() [1/2]

 double NoiseStdDev ( ) const
inline

Get the standard deviation of the additive Gaussian noise.

Definition at line 95 of file radical.hpp.

## ◆ NoiseStdDev() [2/2]

 double& NoiseStdDev ( )
inline

Modify the standard deviation of the additive Gaussian noise.

Definition at line 97 of file radical.hpp.

## ◆ Replicates() [1/2]

 size_t Replicates ( ) const
inline

Get the number of Gaussian-perturbed replicates used per point.

Definition at line 100 of file radical.hpp.

## ◆ Replicates() [2/2]

 size_t& Replicates ( )
inline

Modify the number of Gaussian-perturbed replicates used per point.

Definition at line 102 of file radical.hpp.

## ◆ Sweeps() [1/2]

 size_t Sweeps ( ) const
inline

Get the number of sweeps.

Definition at line 110 of file radical.hpp.

## ◆ Sweeps() [2/2]

 size_t& Sweeps ( )
inline

Modify the number of sweeps.

Definition at line 112 of file radical.hpp.