> Is there a way to have more control over the way EM is operating, e.g., > define starting points?
The following shows that you can specify the starting values of the mean, covariance, and mixing parameters. Here I have data coming from a mixture of three components. If I fit two components then two clusters get merged. By manipulating the starting values I change which clusters get merged.
>> x = [mvnrnd([-4 0],eye(2),100); mvnrnd([4 0],eye(2),100); mvnrnd([0 >> 6],eye(2),100)]; >> plot(x(:,1),x(:,2),'bx') >> gmdistribution.fit(x,2) ans = Gaussian mixture distribution with 2 components in 2 dimensions Component 1: Mixing proportion: 0.333259 Mean: -3.6882 0.0566 Component 2: Mixing proportion: 0.666741 Mean: 1.9401 2.9808