聚类简介
在“无监督学习”中,训练样本的标记信息是未知的,目标是通过对无标记训练样本的学习来揭示数据的内在性质及规律,为进一步的数据分析提供基础。此类学习任务中研究最多、应用最广的是“聚类”(clustering)?
聚类的目的是寻找一组一组相似的object,聚类希望类目内数据较近,类目之间的距离较远。
原型聚类:
- K-means (对噪声敏感)
- 随机选取K个中心点
- 将数据分配到与之接近的中心点
- 使用数据均值去更新中心点,当中心点不再发生变化时停止
- 学习向量化
- 高斯混合聚类:使用概率模型来表示聚类效果
密度聚类(类似人眼分类)
- 核心对象:对象xj的ε?邻域中至少包含MinPts个样本Nε(xj)≥MinPts,则称xj为核心对象。
- 密度直达:若xj位于xi的ε?邻域中,且xi是核心对象,则称xj由xi密度直达。
- 密度可达:对xj与xi,存在样本序列p1,p2,...,pn且p1=xj,pn=xi,p1=xj,pn=xi 且pi+1由pi密度直达,则称xj由xi密度可达。
- 密度相连:对xj与xi,若存在xk使得xj与xi均由xk密度可达,则称xj由xi密度相连。
?DBSCAN将‘簇’定义为:由密度可达关系导出的最大的密度相连的集合。
层次聚类
层次聚类试图在不同层次对数据集进行划分,从而形成树形的聚类结构。数据集的划分可采用‘自底向上’的聚合策略,也可以采用‘自顶向下’的分拆策略。
AGNES是一种采用自底向上聚合策略的层次聚类算法。它将数据集中的每个样本看作一个初始聚类簇,然后算法运行的每一步找到距离最近的两个簇类进行合并,该过程不断重复,直到达到预设的聚类个数。这里的关键是如何计算聚类之间的距离,这里给出了三种距离。
最小距离:
最大距离:
平均距离:
?
Sklearn实现聚类
机器学习代码KMeans(聚类)
|