Assume $X$ and $N$ are two sets of vectors (observations) from two different normal distributions, where $X$ represents clean data and $N$ represents noise; and $A$ a projection matrix of a filter. the scenario is that our clean data was corrupted by a multiplicative noise via matrix $A$ and an additive noise of $N$. then:
$Y=A \times X + N$
where $Y$ are a set of projected vectors from $X$ using $A$, what are solutions to learn this projection matrix and $N$ from training data? Does the Gaussian assumption of $A, N$ and $X$ help to have a better estimation or guide to use a specific solution?
Here is matlab code for the training data, noise and a simple projection:
dataVariance = .10; noiseVariance = .05; mixtureCenters=randn(13,1); X=randn(13, 1000)*sqrt(dataVariance ) + repmat(mixtureCenters,1,1000); %N and A are unknown and we want to estimate them. N=randn(13, 1000)*sqrt(noiseVariance ) + repmat(mixtureCenters,1,1000); A=2*eye(13); Y=A*X+N; for iter=1:1000 A_hat,N_hat = training(X_hat,X,Y); end
Note: if necessary, for each estimation of $A$, an error can be calculated for an estimation of $N$ using a current $A$.
for iterate=1:1000 initiate A estimate N using current A (N=Y-A*X) calculate error of estimation (err=Y-A*X+N) update A
But I would prefer not to go for gradient descent approaches.
I should clarify that the observations of $X$ and $Y$ are time independent and in $X_i$ and $Y_i$, i is not the time. They are just different observations sampled from two normal distributions.