**[5 P]** In this task you have to implement the EM algorithm for Mixture of Gaussians. The
algorithm can be found in the slides
or in Bishop p.438,439.

- Write the function
`em`

which takes the dataset and the number of clusters as arguments. Make sure that you initialize the parameters ( , , ) appropriately. - Download the dataset provided on the
homepage
^{7}. It contains the complete dataset where`x`

contains the data and`z`

contains the correct classes. You can use`z`

to check if the correct clusters are found.Let the algorithm run several times with but with different initial cluster centers to see how it performs. Show some plots and describe the behaviour of the algorithm. Does it always find the correct clusters? Does the algorithm have any problems?

- Now use different values for and analyze what the algorithm does for being lower or bigger than the correct amount of clusters.

Present your results clearly, structured and legible. Document them in such a way that anybody can reproduce them effortless. Send the code of your solution to mailto:florian.hubner@igi.tugraz.atflorian.hubner@igi.tugraz.at