INF552-Homework 2 K-means and Expectation Maximization using Gaussian Mixture Model Solved
Part 1: Implementation
Implement the K-means algorithm AND the Expectation Maximization algorithm for clustering using a Gaussian Mixture Model (GMM). Run your algorithms on the data file "clusters.txt" using K, the number of clusters, set to 3. Report the centroid of each cluster in K-means; and report the mean, amplitude and covariance matrix of each Gaussian in GMM. Compare the results of the two algorithms. The data file contains 150 2D points. Each row in the file contains the coordinates of a single point.
You can write your program in any programming language. However, you will have to implement the algorithms yourself instead of using high-level library functions. Please provide a description of the data structures you use, any code-level optimizations you perform, any challenges you face, and of course, the requested output.
Part 2: Software Familiarization
Do your own research and find out about library functions that offer good implementations of the two algorithms. Learn how to use them. Compare them against your implementations and suggest some ideas for how you can improve your code. Describe all this in your report.
Part 3: Applications
Do your own research and describe some interesting applications of the two algorithms.