Okay so, that's the first step of the algorithm.
So, what I end up with are observations that are assigned to clusters.
But I just randomly initialize those clusters centers, so I probably don't
believe that that really represents the structure underlying the data.
So what I wanna do is I wanna iterate this process, where I then wanna update what my
definition is of the cluster center based on the observations that I've assigned.
So if you remember this red cluster here,
it just had one observation assigned to it.
So when I go to revise the cluster center for that cluster,
it just moves to the previous observation.
But for this green cluster, if I look at the previous cluster center here,
well I'm gonna move it to the center of mass of all
these observations that have been assigned to the green cluster.
And the center of mass of all of them is here,
so this becomes the new cluster center.
And likewise, I do this for all of the blue observations.
This is the new cluster center for this blue observation.