关于聚类与曲线相似度评价指标

聚类通常是一种非监督学习方法,对大量的未标注数据集按照数据内在的相似性划分为若干个类别。比如对客户进行价值分析,根据不同客户群体制定不同的营销策略,需要准确的将客户分成"重点客户"、"潜在客户"、"一般客户",就会用到聚类的算法。下面介绍3种常用聚类算法和1种判断曲线相似度的算法。此外还有层次聚类,密度最大值聚类等。

PS:算法只是整个数据挖掘过程中的很小一部分,而根据先验知识去选择指标,建立模型,数据预处理才是平时工作中耗时的部分

K-means++

简单介绍

K-means++是对K-means算法的升级,在初值选择时更佳合理。由于K-means聚类对初始质心的选择非常敏感,因此选择恰当的质心对算法的优劣很关键。K-means++算法在选择初始质心时,选择彼此距离尽可能远的K个点

算法过程

1、选择初值与簇的个数:

通常情况下,簇的个数是根据先验知识来选择的。

初始质心选择彼此距离尽可能远的K个点:首先随机选择一个点作为第一个初始类簇中心点(也可以根据图像自己指定),记作A;然后选择距离A点最远的那个点作为第二个初始类簇中心点,记作B;然后再选择距离A,B的最近距离最大的点作为第三个初始类簇的中心点,记为C,以此类推,直至选出K个初始类簇中心点。

解释一下C点的选择,"距离A,B的最近距离最大的点":假设已经有了A,B两个点,用d(3,A)表示3号点到A点的距离,假设:

d(3,A)=5,d(3,B)=6,那么3号点距离A,B的最近距离是5;

d(4,A)=10,d(4,B)=20,那么4号点距离A,B的最近距离是10;

d(5,A)=2,d(5,B)=3,那么4号点距离A,B的最近距离是2;

在5,10,2中选择最大的距离是10,那么C点就是4号节点,C点是离A,B都很远的那个点。

2、k-means算法过程

a.选取k个簇的质心c1,c2...ck

b.对于每个样本xi,分别计算d(xi, ci),将其标记为距离簇最近的类别

c.如果当前结果与上次分类结果相同,那么跳出循环。终止条件也可以换位其他条件,比如迭代次数,MSE,簇中心变化率

d.将每个簇中心更新为新分类后所有样本的均值

e.循环b,c,d过程。

适用范围

适用于类似圆形的聚类。

适用:

不适用:


DBSCAN

简单介绍

dbscan是基于密度的聚类,密度聚类算法通常可以把紧密相连,不断接触延伸的数据汇聚到一起。可以不指定K值。

算法过程

1、先给出若干定义

对象的ε邻域:样本在半径ε的区域。

核心对象:给定数目m,如果一个样本的ε邻域内至少包含m个样本,则称此样本为核心对象。

直接密度可达:如果p在q的ε邻域内,并且q是一个核心对象,那么就说p从对象q出发是密度可达的。

密度可达:如果存在一个对象链p1p2...pn,p1 = q,pn = p,对于1≤i≤n,p[i+1]是p[i]关于ε和m直接密度可达,那么p是从对象q出发关于ε和m密度可达的。

密度相连:如果集合中存在一个对象o,p和q是从o出发关于ε和m密度可达,那么p和q是关于ε和m密度相连。

噪声:不包含在任何簇中的样本,称为噪声。注:如果m值选的过小,那么包含过少对象的簇也可以被认为是噪声。

2、dbscan算法过程:

a.人工给定ε邻域距离和数值m,如果一个点p的ε邻域内包含多余m个对象,则创建一个p为核心对象的新簇。

b.寻找并合并核心对象直接密度可达的对象。

c.没有新点更新时,算法结束

适用范围

可以发现任何形状的聚类


谱聚类

简单介绍

谱聚类是求拉普拉斯矩阵的特征向量后,对特征向量的特征值进行聚类。对数据分布的适应性更强

算法过程

1、先给出若干定义

拉普拉斯矩阵:L = D - W

2、谱聚类算法过程

a、计算相似度矩阵W和度矩阵D

b、计算拉普拉斯矩阵L = D - W

c、计算L的特征值和特征向量Lu = λu,因为L是n*n的对称矩阵,所以L有n个特征值和特征向量。

d、对特征值λ从小到大排序,取前K个特征值的特征向量u1,u2...uk,组成特征向量矩阵U(n行k列)。

e、1号样本的特征认为是U矩阵的第一行u11,u12...u1k

      n号样本的特征认为是U矩阵的第一行un1,un2...unk

f、有了样本,样本也选好了特征,使用k-means将n个样本做聚类,得到K个簇。

g、这个聚类的最终结果就是谱聚类的结果。

适用范围

适用于各种距离,处理稀疏数据会比其他算法更有效

弗雷歇距离

度量点之间的距离有很多,这里介绍一种度量曲线相似度的方法,Frechet distance。

网上常见的描述方式是

Fréchet distance就是狗绳距离:主人走路径A,狗走路径B,各自走完这两条路径过程中所需要的最短狗绳长度。

下面更直白的表述一下

两条曲线L1,L2。a表示L1上的点,b表示L2上的点d(a,b)表示两点间的距离

当a在0号点时,计算d(0,1),d(0,2)...d(0,n)各个距离,记为集合s0,D0 = max(s0)

当a在1号点时,计算d(1,1),d(1,2)...d(1,n)各个距离,记为集合s1,D1 = max(s1)

以此类推得到D2,D3...Dn

frechet_distance = min(D0,D1,...,Dn)

弗雷歇距离的参考文献

https://zhuanlan.zhihu.com/p/2015996

题外话:是否能够根据曲线相似度去判断两支股票的k线趋势是否相同,从而去挑选趋势相同的股票呢?

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 聚类算法 前面介绍的集中算法都是属于有监督机器学习方法,这章和前面不同,介绍无监督学习算法,也就是聚类算法。在无监...
    飘涯阅读 41,620评论 3 51
  • 1. 章节主要内容 “聚类”(clustering)算法是“无监督学习”算法中研究最多、应用最广的算法,它试图将数...
    闪电随笔阅读 10,531评论 1 24
  • 专业考题类型管理运行工作负责人一般作业考题内容选项A选项B选项C选项D选项E选项F正确答案 变电单选GYSZ本规程...
    小白兔去钓鱼阅读 13,014评论 0 13
  • 说到辣白菜想必大家都知道的,朝鲜族特色腌菜,韩式料理中必不可少的一道美味。 话不多说,做起来吧! 大白菜,要做几颗...
    04x501阅读 3,647评论 0 2
  • 文/山雨 晨风有凉意, 花开树丛边。 流年似流水, 心安自清闲。
    如影泡幻阅读 1,841评论 0 3

友情链接更多精彩内容