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 example:
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.