Giter Site home page Giter Site logo

haipinglu / ica-ramica Goto Github PK

View Code? Open in Web Editor NEW

This project forked from sunnysong14/ica-ramica

0.0 1.0 0.0 94.24 MB

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: GNU General Public License v3.0

MATLAB 65.39% HTML 34.61%

ica-ramica's Introduction

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

ica-ramica's People

Contributors

sunnysong14 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.