聚类及DBSCAN 聚类算法

聚类及DBSCAN 聚类算法

一、聚类

1.概念

聚类就是按照某个特定标准把一个数据集分割成不同的类或簇,使得同一个簇内的数据对象的相似性尽可能大,同时不在同一个簇中的数据对象的差异性也尽可能地大。

2.聚类与分类的区别

聚类时,我们并不关心某一类是什么,目标只是把相似的东西聚到一起。因此聚类通常不需要使用训练数据进行学习,可以看作无监督学习。

分类时,一个分类器需要训练集进行“学习”,从而具备对未知数据进行分类的能力,属于监督学习。

3.聚类分类

(1)基于划分

原理解析:假设有一堆散点需要聚类,首先确定该堆散点需要聚成几类,然后挑选几个点作为初始中心点,再然后给数据点做迭代重置(iterative relocation),直到最后达到“类内的点都足够近,类间的点都足够远”的目标效果。

主要算法:k-means算法及其变体。

优点:很适合发现中小规模的数据库中小规模的数据库中的球状簇;对于大型数据集简单高效、时间复杂度、空间复杂度低。
缺点:计算量大;数据集大时结果容易局部最优;需要预先设定K值,对最先的K个点选取很敏感;对噪声和离群值非常敏感;只用于numerical类型数据;不能解决非凸(non-convex)数据。

(2)基于层次

层次聚类主要有两种类型:合并的层次聚类和分裂的层次聚类。

合并的层次聚类是一种自底向上的层次聚类算法,从最底层开始,每一次通过合并最相似的聚类来形成上一层次中的聚类,整个当全部数据点都合并到一个聚类的时候停止或者达到某个终止条件而结束,大部分层次聚类都是采用这种方法处理。
分裂的层次聚类是采用自顶向下的方法,从一个包含全部数据点的聚类开始,然后把根节点分裂为一些子聚类,每个子聚类再递归地继续往下分裂,直到出现只包含一个数据点的单节点聚类出现,即每个聚类中仅包含一个数据点。

主要算法:BIRCH算法、CURE算法、CHAMELEON算法。

优点:可解释性好;可以解决K-means不能解决的非球形族。
缺点:时间复杂度高。

(3)基于密度

原理解析:k-means解决不了不规则形状的聚类。于是就有了Density-based methods来系统解决这个问题。该方法同时也对噪声数据的处理比较好。其原理简单说画圈儿,其中要定义两个参数,一个是圈儿的最大半径,一个是一个圈儿里最少应容纳几个点。只要邻近区域的密度(对象或数据点的数目)超过某个阈值,就继续聚类,最后在一个圈里的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值