amari | R Documentation |
The Amari distance is a measure between two nonsingular matrices. Useful for checking for convergence in ICA algorithms, and for comparing solutions.
amari(V, W, orth = FALSE)
V |
first matrix |
W |
second matrix |
orth |
are the matrices orthogonal; default is |
Formula is given in second reference below, page 570.
a numeric distance metween 0 and 1
Trevor Hastie
Bach, F. and Jordan, M. (2002). Kernel independent component analysis,
Journal of Machine Learning Research 3: 1-48
Hastie, T., Tibshirani, R. and Friedman, J. (2009) Elements of
Statistical Learning (2nd edition), Springer.
https://hastie.su.domains/ElemStatLearn/printings/ESLII_print12_toc.pdf
ProDenICA
dist="n" N=1024 p=2 A0<-mixmat(p) s<-scale(cbind(rjordan(dist,N),rjordan(dist,N))) x <- s %*% A0 ###Whiten the data x <- scale(x, TRUE, FALSE) sx <- svd(x) ### orthogonalization function x <- sqrt(N) * sx$u target <- solve(A0) target <- diag(sx$d) %*% t(sx$v) %*% target/sqrt(N) W0 <- matrix(rnorm(2*2), 2, 2) W0 <- ICAorthW(W0) W1 <- ProDenICA(x, W0=W0,trace=TRUE,Gfunc=G1)$W fit=ProDenICA(x, W0=W0,Gfunc=GPois,trace=TRUE, density=TRUE) W2 <- fit$W #distance of FastICA from target amari(W1,target) #distance of ProDenICA from target amari(W2,target)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.