K均值 (K-means) 算法是现在最为广泛使用的聚类方法,它将有未加标签的数据自动地分成
有紧密关系的子集或是簇。
K均值是一个迭代方法,它要做两件事情:第一个是簇分配,第二个是移动聚类中心。
簇分配:在K均值算法的每次循环中,第一步是要进行簇分配,即:遍历所有的样本,然后依据每一个点是更接近红色的这个中心,还是蓝色的这个中心来将每个数据点分配到两个不同的聚类中心中。
移动聚类中心:将两个聚类中心,也就是说红色的叉和蓝色的叉移动到和它一样颜色的那堆点的均值处。即找出所有红色的点,计算出它们的均值,然后把红色点的聚类中心移动到红色均值这里, 找出所有蓝色的点,计算它们的均值,把蓝色聚类中心放到蓝色簇类的均值处。
当两个中心都已经移动到新的均值处, 然后就会进入下一个簇分配。
重新检查所有没有标签的样本,依据它离红色中心还是蓝色中心更近一些,将它染成红色或是蓝色。要将每个点分配给两个中心的某一个。 一直迭代下去,当聚类中心是不会变,并且那些点的颜色也不会变,我们就能说K均值方法已经收敛了,K均值表现的很好。
确定聚类中心 移动聚类中心 聚类收敛 k均值聚类输入 k均值算法k均值算法运用示例:(应对没有很好分开的簇)T恤的大小
你搜集了一些身高和体重的数据,就像这个图所表示的,然后你想确定一下T恤的大小。假设我们要设计三种不同大小的t恤,小号,中号和大号。那么小号应该是多大的? 中号呢? 大号呢?
在这样的数据上,使用K均值算法进行聚类的方法,而且K均值可能将这些聚成一个簇,把这些点聚成第二个簇,然后把这些点聚成第三个簇。所以说尽管这些数据原本看起来并没有三个分开的簇,但是从某种程度上讲,K均值仍然能将数据分成几个类,然后你能做的就是看这第一群人,然后查看他们的身高和体重试着去设计对这群人来说比较合身的小号衣服,中号的衣服,大号的衣服。这就是一种市场细分的例子。
k均值算法运用示例:T恤的大小
网友评论