Skip to content

This repository contains the codes used for the following work: Liyan Song, Shuo Zhou, and Haiping Lu "Direct ICA on Data Tensor via Random Matrix Modeling"

License

Notifications You must be signed in to change notification settings

sunnysong14/ICA-RAMICA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 

Repository files navigation

IndependentComponentAnalysis

This repository contains the codes used for the following work:

Liyan Song, Shuo Zhou, and Haiping Lu. "Direct ICA on Data Tensor via Random Matrix Modeling".

The code only requires basic Matlab libraries and a tensor toolbox, which can all be downloaded with a purchased Matlab licenses.

There is one coding folder "matlab/" that contains the codes implementing the proposed method, namely RAMICA. To start the code, one needs to configure the files and paths by running the script "config.m" or type in the command window the following line:

>> config()

This function configures the directories between code scripts and the data set and among all scripts, so that the scripts can call each other and load the data set as if they are in a one-layer directory.

A quick start of running the implementation of the proposed RAMICA can refer to the script "example_run_SynB_RVM.m" in the "matlab/" folder, by typing in the command window the following line

>> example_ramica()

For example, if the experimental setup is as below:

ica_name_cell = {'infomax', 'FastICA', 'jade', 'ramica'};
syn_data_name = 'tdistr'; 
nb_source = 4; 
nb_dimension = 32; 
nb_sample = 64;
seed_array = 1:10;
noise_level = 0;

The output should be expected as:

p_noise is 0.000, the amari errors of ICA methods are as below

amari_errors_ave =

    8.9652
    6.4198
    6.1490
    4.6827

Suceed!

Of course, people are free to change the experimental setup freely to play with this toy. For example, if one wants to see the recovery results when suffering from the label noise level 0.1, one can set the experiment as

noise_level = 0.1;

Or if one want to conduct more runs than 10, the below setup can be set:

seed_array = 1:100;

Enjoy~

Liyan Song, June 2021

Email: [email protected]

Southern University of Science and Technology, China

About

This repository contains the codes used for the following work: Liyan Song, Shuo Zhou, and Haiping Lu "Direct ICA on Data Tensor via Random Matrix Modeling"

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published