1K-means聚类算法基本理论
1.1 基本定义
亦称为k均值聚类算法,其评价指标为各基本粒子间的距离。当两个对象间距离越近,则认为其相似度就越大。最终将整个粒子群体划分为具有多个独立中心的“簇”。
1.2 算法核心思想
K-means聚类是一种迭代求解的聚类分析算法,通过随机设置聚类中心,计算各粒子距离并划分其类别。其中,聚类中心以及分配给它们的对象就代表一个聚类,每分配一个样本,聚类的聚类中心会根据聚类中现有的对象被重新计算。这个过程将不断重复直到满足某个终止条件从而完成整个算法过程。
1.3 多种常用代码形式
使用方法:
Idx=Kmeans(X,K)
[Idx,C]=Kmeans(X,K)
[Idx,C,sumD]=Kmeans(X,K)
[Idx,C,sumD,D]=Kmeans(X,K)
[…]=Kmeans(…,’Param1’,Val1,’Param2’,Val2,…)
各输入输出参数介绍:
X :N*P的数据矩阵
K: 表示将X划分为几类,为整数
Idx :N*1的向量,存储的是每个点的聚类标号
C: K*P的矩阵,存储的是K个聚类质心位置
sumD 1*K的和向量,存储的是类间所有点与该类质心点距离之和
D N*K的矩阵,存储的是每个点与所有质心的距离
[…]=Kmeans(…,'Param1',Val1,'Param2',Val2,…)
1.4 算法优缺点
优点:(1)原理比较简单,实现也是很容易,收敛速度快;(2)当结果簇是