Marina Meila
CURRENT RESEARCH PAPERS STUDENTS CLASSES CONTACT

Algoritmul RADICAL pentru ICA

Traducere din limba engleza a paginii http://www.cs.umass.edu/~elm/ICA/

new Obtineti RADICAL 1.2 (Actualizat 14.8.2006) implementat in MATLAB. Dupa depanarea bug-urilor s-a inregistrat o crestere de 30 de ori vitezei pentru date in mai mult de doua dimensiuni.


Ce este RADICAL?

RADICAL este un nou algoritm pentru Analiza de Componente Independente (Independent Components Analysis ICA). Este corect, rapid, robust la valori aberante, si are o justificare teoretica simpla, bazata pe teoria informatiei. El are o implementare foarte simpla si este relativ usor de īnteles.


Am īncercat RADICAL si nu este la fel de rapid ca in rezultatele publicate!

A fost o problema, īnainte de versiunea 1.2, care facea ca AUG_FLAG sa nu functioneze īn mod corespunzator. Īncercati versiunea 1.2 cu AUG_FLAG setat la 0, si ar trebui sa vedeti o foarte mare accelerare. De asemenea, īncercati sa comparati demo_5d si demo_5d_fast pentru a vedea accelerarea obtinuta atunci cānd nu utilizati puncte auxiliare pentru netezire.


Ce se inseamna numele RADICAL?

RADICAL este un acronim pentru R[obust], A[ccurate], D[irect] I[ndependent] C[omponent] A[nalysis] [a]L[gorithm] (aLgoritm Robust, Precis, Direct de Analiza de Componente Independente).


De ce e mai bine sa folosesc RADICAL īn loc de unul dintre ceilalti algoritmi pentru ICA?

Noi va īncurajam sa īncercati o varietate de algoritmi ICA. Unii algoritmi sunt bine adaptate la situatiile īn care datele sunt stiute a avea o anumita forma (foarte kurtotica, de exemplu). Īn experimentele noastre, RADICAL a depasit, in medie, Fast ICA, JADE, Kernel ICA, si algoritmul extins Infomax. Aceste experimente au fost facute sub presupuneri foarte slabe despre tipul de date, folosind asa-numitele metode non parametrice. Daca nu aveti o caracterizare de incredere a datelor dvs., va sugeram sa īncercati RADICAL.


Unde pot afla mai multe despre ICA, īn general?

Exista o literatura vasta despre Analiza de Componente Independente, inclusiv o carte cuprinzatoare de Hyvarinen, Karhunen, si Oja. Exista un site web pentru carte, care poate fi gasita aici . Pentru a afla mai multe despre RADICAL, care a fost dezvoltat dupa publicarea cartii ICA, puteti sa cititi articolulul nostru īn Journal of Machine Learning Research, care se gaseste aici.


Pot obtine codul MATLAB pentru RADICAL?

Versiunea 1.1, tar-ata si gzip-ata se gaseste aici. Va rog sa-mi spuneti daca aveti probleme folosind-o. RADICAL_1_1.tar.gz


Este RADICAL disponibil in alte limbaje?

Da. Michael Kelm a transcris RADICAL in limbajul R (multumesc Michael!). Va rugam sa retineti urmatoarele diferente īntre codul sau si al meu: 1) Codul lui se asteapta ca matricea de date sa fie (N x dim). 2) datele trebuie sa fie centrate, adica trebuie sa aiba media 0.

Cod R pentru RADICAL


Am īncercat RADICAL, dar pentru ca unele dintre valorile vectorului meu de date sunt echivalente, acestea duc la zerouri īn intervalele distributiei marginale, si, prin urmare, la entropii de minus infinit. Cum pot rezolva aceasta problema?

Daca datele dumneavoastra sunt fundamental discrete (ca la aruncarea cu zarul) si nu au o "topologie" (nu aveti valori considerate mai aproape una de alta decāt altele), atunci aveti nevoie de un estimator de entropie discreta, nu de un estimator de densitate continua (cum ar fi diferentele de ordin m). Entropia discreta este de fapt minus media logaritmului probabilitatilor discrete. Cu toate acestea, multi oameni au date care reprezinta valori continue, *trunchiate* sau *rotunjite*, cum ar fi valorile luminozitatii īntr-o imagine. Īn acest caz, īn esenta, ar trebui sa reconstituiti variabila aleatoare originala cit mai bine posibil. De exemplu, daca adevaratele valori din imaginea dvs. au fost intre 0.0-256.0, inclusiv valorile fractionare, dar au fost trunchiate la īntregi, puteti adauga un numar aleatoriu uniform distribuit la fiecare valoare, īncercand astfel sa recronstruiti esantioane din distributia initiala. Aceste valori, foarte probabil, nu se vor repeta, si puteti obtine un raspuns adecvat, cu estimarea diferentelor de ordin m. Pe scurt, la valorile discrete se adauga cate o variabila aleatoare uniform distribuita īn intervalul de trunchiere.


Daca am alte intrebari despre RADICAL?

Va rog scrieti-mi la "elm"at"cs"dot"umass"dot"edu