什么是K-Means算法?K-Means算法有什么实际应用呢?
0 1295
0
该提问暂无详细描述
收藏
2021-01-16 20:58 更新 小眼的铁板烧 •  3522
共 1 个回答
高赞 时间
0

K-Means算法是一种无监督学习的聚类算法。给定样本集合X={x_1,…,x_n},K-means聚类算法的目标是最小化聚类后所得到的簇的和方差。 其实现步骤如下: (1)从n个数据点中任意选择K个作为初始聚类中心; (2)计算每个数据点到这些聚类均值(即,聚类中心)的距离,然后把各个数据点分配给离它最近的那个聚类; (3)如果所有的点都不再被重新分配,那么就停止并保持现有聚类; (4)如果仍有数据点被重新分配,则重新计算均值,并返回到第2步。 缺点: 1.k的选取不好把握; 2.对于不是凸的数据集比较难以收敛; 3.如果数据的类型不平衡,比如数据量严重失衡或者类别的方差不同,则聚类效果不佳; 4.采用的是迭代的方法,只能得到局部最优解; 5.对于噪音和异常点比较敏感。 其在大数据分析中的应用:在线K-Means算法(对到达的数据立即处理,而不是等到全部数据接受完再处理) (1)给定聚类的簇数K,根据先验知识初始化簇的中心m_1,…,m_K; (2)初始化每个簇的数据点个数n_1,…,n_K,直到数据接收结束; (3)循环接收新数据x,直到数据接收结束: 计算出距离x最近的中心m_i; n_i 计数加1; 更新m_i= m_i+α(x-m_i) K-Means算法,作为基础的聚类算法,容易理解应用也比较多,这里给出一种K-Means算法在图像处理中的应用。 我们在日常生活中会遇到图片内存过大而无法上传的情况,这时候就需要我们对于图片进行压缩。在这我们就可以使用K-Means算法将相似的像素点统一为一个类别,这样可以减小图片的内存,并且可以修改图片的样式,达到我们想要的结果。 其效果如下图所示:

收藏
2021-01-16 21:02 更新 空心人 •  3368