聚类实践

聚类定义
聚类就是对大量未知标注的数据集,按数据的内在相似性将数据集划分为多个类别,使类别内的数据相似度较大而类别间的数据相似度较小。是无监督的分类方式。
数据的相似度度量方式
对无标识样本聚类时,必须有一种衡量样本之间相似度的方法或标准,通过这种标准来判断不同样本之间的相似性,进而来进行聚类。
1.欧式距离
在这里插入图片描述
p=1,dist(X,Y)=|x1-x2|+|y1-y2|,这时称为曼哈顿距离。
p=2,dist(X,Y)=||X-Y||的二范式。
p=无穷大呢?这里假定样本特征有三维x,y,z那么p次方的欧式距离为:
在这里插入图片描述
然后再假定:
在这里插入图片描述
那么可推导出:

在这里插入图片描述
在实际场景中,我们常常选用p=2来定义欧式距离。
杰卡德相似系数(Jaccard):

在这里插入图片描述
余弦相似度(cosine similarity)

在这里插入图片描述
在这里插入图片描述
对于两向量来说,夹角越小相似度越高,距离越近。

余弦相似度介绍
Pearson相似系数
在这里插入图片描述

在这里插入图片描述
有:
在这里插入图片描述
等价于余弦相似度。
相对熵(K-L距离)
在这里插入图片描述

Hellinger距离
在这里插入图片描述

K-Means算法:

在这里插入图片描述
K-Means过程
在这里插入图片描述
K-Means的初值敏感性:
k-Means将簇中所有点的均值作为新质心, 若簇中含有异常点,将导致均值偏离严重。 以一维数据为例:
1、数组1、2、3、4、100的均值为22,显然距离 “大多数”数据1、2、3、4比较远
2、改成求数组的中位数3,在该实例中更为稳妥。这种聚类方式即k-Mediods聚类(K中值距离)
在这里插入图片描述

初值的选择对聚类结果有着很大的影响,那么如何避免呢?
***解决方案一:***选择较好的聚类初值 :K-Means++算法
不同与K-Means算法随机选择聚类中心,K-Means++算法按距离加权来初始化聚类中心。
假定我们选择k>=2
1.首先随机选择第一个聚类中心μ1。
2.计算其他样本到第一个聚类中心μ1的距离,分别为[d1,d2,d3,…],d=d1+d2+d3+…。
3.设置每一个样本被选为第二个聚类中心μ2的概率分别为[d1/d,d2/d,/d3/d,….]。
4.按照概率随机选择其中一个样本为第二个聚类中心μ2。
5.计算其他样本分别到第一,第二聚类中心的距离,以其最短距离为准。重复以上步骤3,步骤4,来计算剩余的聚类中心。
这样初始化的各个聚类中心不一定是距离最远(因为是每次是以概率的来选聚类中心),但肯定不近。
***解决方案二:***多做几回
多做几回k-Means算法,每次随机的选用不同的聚类中心来进行迭代,然后选择聚类效果最好的那次。
k-Means++算法测试
下图为做六次k-Means++,并且每次k值都为7。有六张聚类图可知,每次聚类效果都不一样。因为每次聚类中心的选取不一样。多做几次,选择上述目标函数值最小的,或者根据实际业务选择效果最好的效果图。

在这里插入图片描述
K-Means的公式化解释:
在这里插入图片描述
K-Means聚类算法总结
优点:
·是解决聚类问题的一种经典算法,简单、快速。
·对处理大数据集,该算法保持可伸缩性和高效率。
·当簇近似为高斯分布时,它的效果较好。
缺点:
·在簇的平均值可被定义的情况下才能使用,可能不适用 于某些应用
·必须事先给出k(要生成的簇的数目),而且对初值敏感, 对于不同的初始值,可能会导致不同结果。
·不适合于发现非凸形状的簇或者大小差别很大的簇。
·对躁声和孤立点数据敏感 。
Canopy算法
在这里插入图片描述

在这里插入图片描述
聚类的衡量标准
1.均一性
在这里插入图片描述
H©:在已知样本原始的类别标记,计算其熵值。
H(C|K):在给定聚类结果为第K个簇时,计算其第k个簇内在真实类别标记中的熵值。
2.完整性
在这里插入图片描述
H(K):第k个簇的熵值。
H(K|C):给定某个真实的类别C,计算类别C的样本聚类为不同的簇的熵值。
均一性和完整性类似于precision,recall,两者一高一低或者一低一高,很难同时很好。
3.V-measure (均一性和完整性的加权平均)

在这里插入图片描述
ARI
在这里插入图片描述
ARI越小,两次聚类结果越相似,反正越不相似。
AMI
在这里插入图片描述
轮廓系数
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值