Voici ma tentative.
Contexte
Considérez les deux cas suivants.
- Vous êtes un œil privé lors d'une fête. Soudain, vous voyez l'un de vos anciens clients parler à quelqu'un et vous pouvez entendre certains mots, mais pas tout à fait, car vous entendez également quelqu'un d'autre à côté de lui, participer à une discussion sans rapport avec le sport. Vous ne voulez pas vous rapprocher - il vous repérera. Vous décidez de prendre le téléphone de votre partenaire (qui est en train de convaincre le barman que la bière sans alcool est excellente) et de la planter à environ 10 mètres à côté de vous. Le téléphone enregistre, et le téléphone enregistre également la conversation de l'ancien client ainsi que le sportif qui interfère. Vous prenez votre propre téléphone et commencez également à enregistrer, d'où vous vous tenez. Après environ 15 minutes, vous rentrez chez vous avec deux enregistrements: l'un de votre position et l'autre à environ 10 mètres. Les deux enregistrements contiennent votre ancien client et M. Sporty,
- Vous prenez une photo d'un mignon chien Labrador Retriever que vous voyez à l'extérieur de la fenêtre. Vous extrayez l'image et, malheureusement, vous voyez un reflet de la fenêtre qui se trouve entre vous et le chien. Vous ne pouvez pas ouvrir la fenêtre (c'est l'une d'entre elles, oui) et vous ne pouvez pas sortir parce que vous avez peur qu'il ne s'enfuie. Vous prenez donc (pour une raison peu claire) une autre image, à partir d'une position légèrement différente. Vous voyez toujours le reflet et le chien, mais ils sont dans des positions différentes maintenant, puisque vous prenez la photo à un endroit différent. Notez également que la position a changé uniformément pour chaque pixel de l'image, car la fenêtre est plate et non concave / convexe.
La question est, dans les deux cas, de savoir comment restaurer la conversation (en 1.) ou l'image du chien (en 2.), étant donné les deux images qui contiennent les deux mêmes "sources" mais avec des contributions relatives légèrement différentes de chacune . Mon petit-fils instruit peut sûrement comprendre cela!
Solution intuitive
Comment pouvons-nous, au moins en principe, récupérer l'image du chien à partir d'un mélange? Chaque pixel contient des valeurs qui sont une somme de deux valeurs! Eh bien, si chaque pixel était donné sans aucun autre pixel, notre intuition serait correcte - nous n'aurions pas pu deviner les contributions relatives exactes de chacun des pixels.
Cependant, on nous donne un ensemble de pixels (ou points dans le temps dans le cas de l'enregistrement), que nous savons avoir les mêmes relations. Par exemple, si sur la première image, le chien est toujours deux fois plus fort que le reflet, et sur la deuxième image, c'est juste le contraire, alors nous pourrions peut-être obtenir les contributions correctes après tout. Et puis, nous pouvons trouver la bonne façon de soustraire les deux images à portée de main afin que la réflexion soit exactement annulée! [Mathématiquement, cela signifie trouver la matrice de mélange inverse.]
Plonger dans les détails
Y1=a11S1+a12S2Y2=a21S1+a22S2
S1Y1,Y2S1=b11Y1+b12Y2(b11,b12)S2(b21,b22)
Mais comment pouvez-vous le trouver pour les signaux généraux? ils peuvent ressembler, avoir des statistiques similaires, etc. Supposons donc qu'ils sont indépendants. C'est raisonnable si vous avez un signal parasite, comme du bruit, ou si les deux signaux sont des images, le signal parasite peut être le reflet d'autre chose (et vous avez pris deux images sous des angles différents).
Y1Y2S1,S2X1,X2
X1,X2S1,S2X1,X2bij{aij}{bij}Si
{bij}X1,X2 independent, we now need to ask how to do that.
So first consider this: if we sum up several independent, non-Gaussian signals, we make the sum "more Gaussian" than the components. Why? due to the central limit theorem, and you can also think about the density of the sum of two indep. variables, which is the convolution of the densities. If we sum several indep. Bernoulli variables, the empirical distribution will resemble more and more a Gaussian shape. Will it be a true Gaussian? probably not (no pun intended), but we can measure a Gaussianity of a signal by the amount it resembles a Gaussian distribution. For instance, we can measure its excess kurtosis. If it's really high, it is probably less Gaussian than one with the same variance but with excess kurtosis close to zero.
Therefore, if we were to find the mixing weights, we might try to find {bij} by formulating an optimization problem that at each iteration, makes the vector of X1,X2 slightly less Gaussian. Mind that it may not be truly Gaussian at any stage, but we just want to reduce the Gaussianity. Hopefully, finally, and if we don't get stuck at local minima, we would get the backwards mixing matrix {bij} and get our indep. signals back.
Of course, this adds another assumption - the two signals need to be non-Gaussian to begin with.