聚类总结

一、基本概念

聚类:对无标签的数据,按照其内在规律分组

概念:聚类,簇,

用途:1)数据内在的分布结构的探索 2)更复杂的问题的前驱,如分类等其他问题

性能度量:

好的聚类结果:簇内相似度高,簇间相似度低

外部指标:与参考模型对比,(Jaccard系数,FM指数,Rand指数)

外部指标类似于查准率与查全率等指标的意思

内部指标:直接考察聚类结果(样本间的距离,簇的中心点,DB指数,Dunn指数)

内部指标,主要是考察不同簇间的距离关系,通过对距离的计算来判断簇间的差异,从而衡量聚类的性能

DB指数,可以理解为簇的大小,与簇间中心点距离之比

Dunn指数,全局两个不同簇中样本的最小距离,与簇内部样本间的最大距离之比

两个指标,都是在对比簇间的距离和簇本身的大小,可以想象,肯定是簇间距离越大越好,簇的大小越小越好

注:性能度量中讲的度量方式比较抽象,只是基本的公式和定义

距离计算

1)范数

2)有序属性和无序属性

3)加权距离

二、算法

1、原型聚类:假设存在原型,先初始化一个原型,再对原型进行不断的迭代更新

1.1 K-mens

先根据k,初始化k个簇的中心,然后根据点到每个簇心的距离划分点,然后根据划分的点更新簇心,反复迭代,直到基本稳定

1.2学习向量化 LVQ

预设了类别标记——(带标记的聚类)

初始化向量,如果与其最近的元素与词向量的类别标记相同,则优化向量向这个元素靠近,不同则远离

但是类别标记并不是分类

1.3高斯混合聚类

概率模型,计算的距离是用概率表示,用混合的高斯模型和样本点的分布,计算样本点的最大概率然后推出其所属的类

最后再根据新的类优化高斯模型,反复迭代

关于函数的参数和混合的加权,是使用时要注意的变量

可以和k-means联系记忆,k-means是欧拉距离做评价标准,簇心作为样本的原型,相当于 用簇心的二次函数范围做划分

高斯混胡是用高斯函数做划分

2、密度聚类

主要思想

实现给定邻域的大小和MinPts(即定义的最小的核心对象的邻域应该包含的样本数)

然后根据邻域和MinPts参数,便利所有的点,找到能算得上是邻域的点,(可以认为是那些周围密度比较稠密的点都会被找到)

然后以这些点为基础,在其中随机抽出一个点,找到他的邻域能有交集的点,在用找到的点反复找,最后把所有能和他邻域相接的点都找到,为止

在对剩下的点继续抽出一个点,重复执行,指导所有的核心点和非核心点都已经分簇为止

密度聚类  并不是理解成单位面积的样本数多少来定义的密度,

这个密度应该指的是样本的分布的密度,即样本分布在很近的位置,就是很稠密,密度比较大,

DBSCAN小结

和传统的K-Means算法相比,DBSCAN最大的不同就是不需要输入类别数k,当然它最大的优势是可以发现任意形状的聚类簇,而不是像K-Means,一般仅仅使用于凸的样本集聚类。同时它在聚类的同时还可以找出异常点,这点和BIRCH算法类似。

那么我们什么时候需要用DBSCAN来聚类呢?一般来说,如果数据集是稠密的,并且数据集不是凸的,那么用DBSCAN会比K-Means聚类效果好很多。如果数据集不是稠密的,则不推荐用DBSCAN来聚类。

3、层次聚类

Agnes自底向上的聚合策略

基本思想:两个簇的距离最小,则合并两个簇,对于样本最初簇的数量和样本数量一致,最终达到我们设定的簇的数量停止聚合

总结:

kmeans和高斯混合很像,一个是利用二次函数算聚类,一个是利用高斯函数算密度,虽然算法不同,但想象在二维上的图形,是很接近的,只不过距离度量不同

密度聚类,是一种用联通关联扩散传染的方式分簇

层次聚类中自底向上的方式,相当于不断合并,最后剩下几个大的聚类

补充:

应用举例:

基于用户定位的商业选址

中文地址标准化处理

保险投保者分组

对于无监督数据,最常规的分析处理办法就是聚类,在什么维度聚类,要依据具体业务具体分析

算法流程简述

kmeans:

输入训练样本X,簇个数K

1)随机抽取k个X,做初始簇新

2)计算每个X到每个簇心得距离,按照距离,分到距离最近的簇心的一组

3)按照分组,重新计算簇心(各特征维度取均值)

4)反复计算2)3),直到簇心的易懂很小,或者无不同样本重新划分为止

密度——DBSCAN

输入:训练样本X,邻域e,最小邻域个数Minpts

1)计算核心样本点,所有的核心样本点存入到一个集合中A

2)从A中随机取出一个样本,然后遍历所有的样本,计算,如果和其有联通,则划分都一组

3)反复迭代2),直到集合A为空

——注:最后未被分组的点很大可能是异常点

      初始参数e和MinPts的调参复杂,二者相互影响

层次聚类——AGNES

输入:训练样本X,簇个数K

1)初始化,每个样本点都是一个簇

2)根据簇的距离的定义规则,将最近的两个簇合并

3)反复迭代2),则到类别的数量等于K


猜你喜欢

转载自blog.csdn.net/canghaier/article/details/80628712