Learning parameters of noise and filter coefficients from data where data and noise both have Gaussian distributions
-
03-11-2019 - |
Question
Assume $X$ and $N$ are two sets of vectors (observations) from a normal distribution, 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$:
$$Y=A X + N.$$
How can we learn the projection matrix $A$ and $N$ from the training data $X,Y$? 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.
No correct solution
Licensed under: CC-BY-SA with attribution
Not affiliated with cs.stackexchange