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, util::Timers &timers=IO::GetTimers()) |
Run RADICAL. More... | |
double | DoRadical2D (const arma::mat &matX, util::Timers &timers=IO::GetTimers()) |
Two-dimensional version of RADICAL. More... | |
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... | |
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:
Definition at line 44 of file radical.hpp.
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.
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. |
|
inline |
Get the number of angles considered during brute-force search.
Definition at line 111 of file radical.hpp.
|
inline |
Modify the number of angles considered during brute-force search.
Definition at line 113 of file radical.hpp.
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, | ||
util::Timers & | timers = IO::GetTimers() |
||
) |
Run RADICAL.
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. |
timers | Optional Timers struct for storing timing information. |
double DoRadical2D | ( | const arma::mat & | matX, |
util::Timers & | timers = IO::GetTimers() |
||
) |
Two-dimensional version of RADICAL.
|
inline |
Get the standard deviation of the additive Gaussian noise.
Definition at line 101 of file radical.hpp.
|
inline |
Modify the standard deviation of the additive Gaussian noise.
Definition at line 103 of file radical.hpp.
|
inline |
Get the number of Gaussian-perturbed replicates used per point.
Definition at line 106 of file radical.hpp.
|
inline |
Modify the number of Gaussian-perturbed replicates used per point.
Definition at line 108 of file radical.hpp.
|
inline |
Get the number of sweeps.
Definition at line 116 of file radical.hpp.
|
inline |
Modify the number of sweeps.
Definition at line 118 of file radical.hpp.
References mlpack::radical::WhitenFeatureMajorMatrix().
double Vasicek | ( | arma::vec & | x | ) | const |
Vasicek's m-spacing estimator of entropy, with overlap modification from (Learned-Miller and Fisher, 2003).
x | Empirical sample (one-dimensional) over which to estimate entropy. |