# Finding the Mixing Matrix

A method similar to Newton’s method is applied to the estimation of negentropy described above to find a mixed signal with minimum nongaussianity and maximum independence.

A Taylor series can be used to approximate a function as follows:

f(x0+e) = f(x0) + f’(x0)e

If we are trying to find the zero of f(x) then e can be described as the step needed from x0 to make f(x0+e)=0.

So,

Applied iteratively, we find Newton’s method:

J(x) is the negentropy approximation. We want to find the minimum value of J(x) so we want to find a place where J’(x)=0. Hyvärinen has a complex analysis showing how Newton’s method can be used to derive the following algorithm.

A single column of W can be found as follows:

1. select a random vector w with ||w||2=1
2. Let w+ = mean(x*G’(wTx)) - mean(G’’(wTx))w
3. repeat until wTw is converges to 1

The second equation is confusing and it is worth the time to show how it actually works.

• w is a mixing vector.
• wTx is a potential independent signal found by mixing measured signals
• G’(wTx) and G’’(wTx) simply transform each value of the mixed signal by G’ and G’’.
• x*G’(wTx) takes the inner product of each signal in X and the signal G’(wTx). The result is a vector with a number of elements equal to the number of signals.
• mean(x*G’(wTx)) the same vector x*G’(wTx), but each element is divided by the number of samples in each signal. This seems to be a strange definition of mean.
• mean(G’’(wTx)) is the average value of all of the values of in the signal G’’(wTx) and is a scalar value.
• mean(x*G’(wTx)) - mean(G’’(wTx))w => vector - scalar*vector and the units work out.

We can find multiple columns of W the same way, but we need to decorrelate the rows at each step to prevent multiple columns from converging to the same solution. This is similar to orthogonalization of eigenvectors. Gram-Schmidt can be used to orthogonalize each vector with the previously discovered vectors.

Alternatively, all of the vectors can be calculated at once. The "square root" method is used to decorrelate all of the vectors at once.

W = (WWT)-1/2W

This method requires an eigenvalue decomposition and is computationally expensive.

This can also be calculated iteratively:

1. W = W / sqrt(||WWT||)
2. W = (3/2)*W - (1/2)*WWTW
3. Repeat step 2 until convergence

The norm is step one can be the 1-norm or 2-norm, but not the Frobenius norm.

Up
Prev Next