randomly position K centers
Assign each point to closest center
Recompute centers as average of their points
Repeat
Weighted voting by inverse distance
Epsilon ball - take into account neighbors within certain distance