Which unsupervised learning method groups data points by iteratively assigning them to the nearest centroid and updating centroids until convergence?