首页 > 编程语言 > 详细

非监督学习K-means算法.md

时间:2020-02-05 17:06:52      阅读:66      评论:0      收藏:0      [点我收藏+]

简介

@维基百科

K-平均算法(英文:k-means clustering)源于信号处理中的一种向量量化方法,现在则更多地作为一种聚类分析方法流行于数据挖掘领域。k-平均聚类的目的是:把{\displaystyle n}n个点(可以是样本的一次观察或一个实例)划分到k个聚类中,使得每个点都属于离他最近的均值(此即聚类中心)对应的聚类,以之作为聚类的标准。这个问题将归结为一个把数据空间划分为Voronoi cells的问题。

这个问题在计算上是NP困难的,不过存在高效的启发式算法。一般情况下,都使用效率比较高的启发式算法,它们能够快速收敛于一个局部最优解。这些算法通常类似于通过迭代优化方法处理高斯混合分布的最大期望算法(EM算法)。而且,它们都使用聚类中心来为数据建模;然而k-平均聚类倾向于在可比较的空间范围内寻找聚类,期望-最大化技术却允许聚类有不同的形状。

此外K-means算法(k-平均聚类)与KNN算法(K-近邻算法)没有任何关系。
本文内容皆源自Andrew Ng

K-means算法思想

输入:
1.训练集,即需要进行聚类的数据,只有X没有标记Y。
2.K即聚类族的个数。

根据K随机初始化K个聚类中心。

族分配。

移动聚类中心。

例如下图所示:
技术分享图片
技术分享图片

优化函数

技术分享图片

初始聚类中心的方式

随机选择K个输入点的坐标作为聚类中心,然后执行150-1000次循环,计算其代价函数,选择其最小的结果。例如

for _ in range(100):
    ...

选择K的大小

肘部法则

技术分享图片

根据实际应用选择

非监督学习K-means算法.md

原文:https://www.cnblogs.com/Kseven77/p/12263954.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!