[K-means]K-means++选中心点时如何避免选中outlier?

老师在录播课上提到我们是不希望选到outlier作为我们的初始中心点的,那么对于K-means++来说,我们选完一个随机点作为中心点之后,计算所有其他点到这个点的距离,然后计算概率,那outlier本身就会离整体samples距离较远,所以非常有可能成为概率最大的点,那这个outlier不就成为了我们的中心点吗?所以K-means++是如何做到避免选到outlier做中心点的呢?

谢谢老师!

K-means++无法做到避免outlier成为centroids。基于经验,我们在选择centroids的时候,希望 1) centroids之间的距离较远; 2) centroids最好与大多数数据点临近,而不是所谓的"outlier"。K-means++主要尝试解决的第一点。它在定义的时候引入的是概率的概念,而不是强行要求距离最远的点成为下一个centroid。这个概率的引入就是希望通过随机性来避免outlier每次都是centroid (虽然outlier更有可能成为centroid, 但并不是每次都被选中)。我们只能说K-means++比普通随机选择centroids的方法要好一些,但是它肯定是无法彻底解决centroids选择的问题。