- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
聚类分析
2015.12.2
主要内容
聚类分析
几种相似性度量方式
划分方法
K-均值
K-中心点
层次方法
什么是聚类?
聚类(clustering):
是把一个数据对象划分成子集的过程。
其中每个子集是一个簇(cluster)
使得簇中的对象尽可能相似,簇间对象尽可能不相似
是无监督学习,因为没有提供类标号信息
基本聚类方法:
划分方法(partitioning method)
层次方法(hierarchical method)
基于密度的方法(density-based method)
基于网格的方法(grid-based method)
数据对象之间的相异度:
距离度量
相似系数
关联性度量
距离度量
1.绝对值距离(Manhattan distance 或 City Block distance):
距离度量
2.欧氏距离(Euclidean distance)
距离度量
3.闵可夫斯基距离(Minkowski Distance):
P=1时,曼哈顿距离
P=2时,欧氏距离
P= 时,切比雪夫距离
距离度量
4.马氏距离(Mahalanobis distance):
相似性度量
1.相似系数
取值范围[-1,1]
越大越好
相似性度量
2.余弦相似度:
取值范围[-1,1]
越大越好
关联性度量
关联性度量
误差平方和(sum of the squared error,SSE)
划分方法
K-均值:一种基于形心的技术
K-均值步骤
K-均值:一种基于形心的技术
均值——K-均值算法把簇的形心定义为簇内点的均值。
K-means优点与缺点
优点
算法简单
适用于球形簇
缺点
事先确定簇数K
不能处理非球形簇、不同尺寸和不同密度的簇
对离群点或噪声敏感
K-中心点(K-medoids)
如何修改K-means算法,降低它对离群点的敏感性?
不使用均值,用实际对象代表簇
划分方法基于最小化所有对象p与其对应的代表对象之间的相异度之和的原则来进行划分
使用绝对误差标准(absolute-error criterion):
围绕中心点划分PAM
PAM
大型应用聚类CLARA
CLARA的主要思想是:
不考虑整个数据集合,而是选择实际数据的一小部分作为数据的代表。然后用PAM方法从样本中选择中心点。如果样本是以非常随机的方式选取的,那么它应当接近代表原来的数据集。从中选出代表对象(中心点)很可能和从整个数据集合中选出的代表对象相似。CLARA抽取数据集合的多个样本,对每个样本应用PAM算法,并返回最好的聚类结果作为输出。?
层次划分
层次聚类方法(hierarchical clustering method):将数据对象组成层次结构或簇的“树”
凝聚的与分裂的层次聚类
BIRCH
Chameleon
概率层次聚类
值得注意的是,层次聚类方法是不可逆的,也就是说,当通过凝聚式的方法将两组合并后,无法通过分裂式的办法再将其分离到之前的状态,反之亦然。
凝聚的与分裂的层次聚类
凝聚的层次聚类:自底向上层次分解
开始时把每个对象作为一个单独的簇,迭代的合并,形成更大的簇,直到满足某个终止条件
分裂的层次聚类:自顶向下层次分解
将所有对象置于同一个簇中,然后逐次将簇分裂为更小的簇,直到满足某个终止条件
分裂方法一般不对已经做出的划分决策回溯。
树状图(dendrogram)的树形结构来表示层次聚类的过程。
基于凝聚 层次聚类方法
算法方法的距离度量
最近邻聚类算法 or 单连接
单连接优势:
局限性:
最远邻聚类算法 or 全连接
全连接优势:
局限性:
BIRCH:使用聚类特征树的多阶段聚类
BIRCH使用聚类特征来概括一个簇,使用聚类特征树(CF-树)来表示聚类的层次结构。
算法起初,我们扫描数据库,拿到第一个data point instance--(1,2,3),我们创建一个空的Leaf和MinCluster,把点(1,2,3)的id值放入Mincluster,更新MinCluster的CF值为(1,(1,2,3),(1,4,9)),把MinCluster作为Leaf的一个孩子,更新Leaf的CF值为(1,(1,2,3),(1,4,9))。实际上只要往树中放入一个CF(这里我们用CF作为Nonleaf、Leaf、MinCluster的统称),就要更新从Root到该叶子节点的路径上所有节点的CF值。
当又有一个数据点要插入树中时,把这个点封装为一个MinCluster(这样它就有了一个CF值),把新到的数据点记为CF_new,我们拿到树的根节点的各个孩子节点的CF值,根据D2来找到CF_new与哪个节点最近,就把CF_new加入那个子树上面去。这是一个递归的过程。递归的终止点是要把CF_new加入到一个MinCl
文档评论(0)