1.常见的距离计算公式
1)Minkowski距离公式:其中
表示范数,当
时,距离公式为
绝对值公式:
当
时,距离为
欧式距离:
当
时,距离公式为
切比雪夫公式:
一般情况下,使用聚类对样本进行分类都选用
欧式距离作为样本相似度的度量准则,相似度越高的样本欧式距离越小,这种以距离为度量准则的聚类算法需要对样本的各特征值进行去量纲,防止在某个特征上值太大而导致其它特征值的差异被忽视。常见的去量纲方法有四种:
2.去量纲
1)Rescaling(特征缩放) 2) Mean normalization(均值归一化) 3) Standardization(标准化)其中
是均值,
是标准差。
4)Scaling to unit length(缩放到单位长度)3.聚类算法常见的度量指标 [1]
聚类是将样本集划分为若干个互不相交的子集(样本簇),是一种典型的无监督机器学习算法。一样本簇中的特性应该尽可能相似,聚类性能评价指标大致有两类,外部指标和内部指标,外部指标需将聚类结果同参考模型进行比较,而内部指标仅仅只需要依据聚类结果无需引入任何参考模型。
1)外部指标对数据集
,聚类结果的簇划分为:
,参考模型的簇划分为:
。令
和
分别表示样本i在聚类结果和参考模型中所属的簇。则有如下定义:
表示样本
和
在聚类结果和参考模型中均属于同一类簇,
表示在聚类结果中为同一簇而参考模型中不属于同一类簇。
Jaccard系数(JC) FM指数(FMI) Rand指数(RI) 2)内部指标对于内部指标有如下定义:
对应的指标有:
4.K-means聚类
k-means聚类算法在进行聚类时需要先确定簇的个数k,k由用户给定。每个簇通过其质心(簇中所有元素的均值)。k-means的工作流程也很简单,首先随机选定k个初始点作为各簇的初始质心,然后将数据集中的每个点分配到离其最近的簇中,距离计算用上面提及的欧式距离。其算法流程如下图所示[1]:
输入:样本集D={x1,x2,…,xm};
聚类簇数k.
过程:从D中随机选择k个样本作为初始质心{u1,u2,…,uk}
repeat
令簇划分Ci=空集(i=1~k)
for j=1,2,…,m do
计算样本xj与各初始质心的欧式距离:dji=||xj-ui||2;
根据距离最近的均值向量确定xj的簇标记;
end for
for i=1,2,…,k do
计算各簇的新质心(簇中元素的均值);
end for
until 均值向量未更新
输出:簇划分C={C1,C2,…,Ck}
matlab代码[2]:
%导入数据集
分类结果
数据集为机器学习实战中聚类算法的数据集
textSet。
参考
- ^ab机器学习-周志华
- ^机器学习实战 https://m.ituring.com.cn/book/1021