Learn R Programming

ica (version 1.0-1)

acy: Amari-Cichocki-Yang Error

Description

The Amari-Cichocki-Yang (ACY) error is an asymmetric measure of dissimilarity between two nonsingular matrices X and Y. The ACY error: (a) is invariant to permutation and rescaling of the columns of X and Y, (b) ranges between 0 and n-1, and (c) equals 0 if and only if X and Y are identical up to column permutations and rescalings.

Usage

acy(X,Y)

Arguments

X

Nonsingular matrix of dimension \(n \times n\) (test matrix).

Y

Nonsingular matrix of dimension \(n \times n\) (target matrix).

Value

Returns a scalar (the ACY error).

Warnings

If Y is singular, function will produce an error.

Details

The ACY error is defined as $$\frac{1}{2n}\sum_{i=1}^{n}\left(\frac{\sum_{j=1}^{n}|a_{ij}|}{\max_{j}|a_{ij}|}-1\right) + \frac{1}{2n}\sum_{j=1}^{n}\left(\frac{\sum_{i=1}^{n}|a_{ij}|}{\max_{i}|a_{ij}|}-1\right) $$ where \(a_{ij} = (\mathbf{Y}^{-1}\mathbf{X})_{ij}\).

References

Amari, S., Cichocki, A., & Yang, H.H. (1996). A new learning algorithm for blind signal separation. In D. S. Touretzky, M. C. Mozer, and M. E. Hasselmo (Eds.), Advances in Neural Information Processing Systems, 8. Cambridge, MA: MIT Press.

Examples

Run this code
# NOT RUN {
##########   EXAMPLE   ##########

set.seed(1)
X <- matrix(runif(16),4,4)
Y <- matrix(runif(16),4,4)
Z <- X[,c(3,1,2,4)]%*%diag(1:4)
acy(X,Y)
acy(X,Z)

# }

Run the code above in your browser using DataLab