This code demonstrates EM Algorithm for circular data.

Normally, Expectation-Maximization (EM) algorithm example employs a Gaussian distribution.

However, in this example, I employed a Von-mises distribution to EM algorithm.

EM algorithm will cluster circular data as below.

See p.106 in the text book Pattern Recognition and Machine learning by Christoper Bishop for more information about Von-mises distribution.

The mathematical description about Von-mises distribution and EM algorithm can be described as below.

Von-mises Distribution :

Theta_0 is mean of distribution.

m is normalization coefficient

I_0(m) is bessel function

Expectation :

In this example, I used audio data that are panned between multiple audio channels.

More detailed description can be found on this paper :

Instruction :

run the code "RUN_THIS_em_von.m"

Download MATLAB code here :

https://drive.google.com/file/d/0B78FUAKU68mXdlhfd0I3aTJxUFU/view?usp=sharing