k-means

1. K-means原理介绍

k-means通过在欧氏空间求解距离来度量“类内相似度”从而将数据聚类。简单来说,k-means通过控制变量(或EM算法)来进行求解如下优化问题。(具体介绍可参照《机器学习》第9章)

k-means求解

2. k-means实现

这里通过sklearn进行数据产生,效果如下:

数据产生

通过我自己手写的k-means,聚类效果如下。由于只是用了两个特征表示高维数据,所以可视化效果不是很好。


聚类结果

3. k-means应用

在图像分割领域,输入图像一般为RGB三个通道,如果我们把每个位置上的像素用三元元祖(r,g,b)表示,对这些数据进行k-means聚类,然后用聚类后的类中心代表这一类的所有数据,我们便可进行图像的分割与压缩,效果如下。(具体介绍可参照《Pattern Recoginition and Machine Learning》第9章介绍)

k-means图像分割

4. 代码下载

可以从github上下载我的代码

你可能感兴趣的:(k-means)