聚类算法之层次聚类和密度聚类(图文并茂)
文章目录
- 0 前言
- 1 层次聚类
- 1.1 凝聚的层次聚类
- 1.2 分裂的层次聚类
- 1.3 合并策略
- 2 密度聚类方法
- 2.1 DBSCAN(Density-Based Spatial Clustering of Application with Noise)
- 2.2 密度最大值聚类
0 前言
介绍层次聚类法和密度聚类。
1 层次聚类
层次聚类方法对给定的数据集进行层次的分解,直到达到某种条件为止。
1.1 凝聚的层次聚类
AGNES算法:采用自底向上的策略,首先将每个对象作为一个簇,然后这些簇根据某些准则被一步步合并,两个簇之间的距离由这两个的不同簇中距离最近的数据点的相似度来确定;聚类的过程直到所有对象满足簇的数目才停止。
1.2 分裂的层次聚类
DIANA算法:采用自顶向下的策略,首先将所有对象初始化在一个簇当中,然后根据一些原则将该簇分类,直到达到预定的簇数目或者距离超过某个阈值。
凝聚和分裂是相反的过程:
1.3 合并策略
- 最小距离:两个集合中最近的两个样本间的距离,容易形成链状结构(prime)。
- 最大距离:两个集合中最远距离的两个样本的距离,易被异常值影响(complete)。
- 平均距离:两个集合样本两两距离的平均值(average)& 平方和(ward)。
下图为采用不同合并策略的结果示意图:
2 密度聚类方法
若样本点的密度大于某个阈值时,就将该样本添加到最近的簇当中。这类算法对任意形状的聚类都有个好的效果,且对噪声数据不敏感。
2.1 DBSCAN(Density-Based Spatial Clustering of Application with Noise)
算法将簇定义为密度相连的点的最大集合,能够把高密度的区域划分为簇,并可以在有噪声的数据中发现任意形状的聚类。
所有样本都会判定是否为核心对象,这里的P不是核心对象。
基本流程是:先任意确定一个核心对象,以此为基础合并直接密度可达的对象,直到没有新的对象更新。
效果如下:
灰色的点被认为是噪声,这跟核心对象的半径选择关系很大。
2.2 密度最大值聚类
局部密度:
ρi=∑jχ(dij−dc),χ(x)={l1x<00otherwise\rho _i=\sum_j{\chi}\left( d_{ij}-d_c \right) , \chi (x)=\left\{ \begin{matrix}{l} 1& x<0\\ 0& \,\,\mathrm{otherwise}\\ \end{matrix} \right. ρi=j∑χ(dij−dc),χ(x)={l10x<0otherwise
dcd_cdc是截断距离,密度ρi\rho _iρi则是对象i的距离小于dcd_cdc的对象个数。一般是推荐选一个合适的dcd_cdc,使得平均每个邻居点数为所有点的1%~2%。
高局部密度点距离:
δi=minj:ρj>ρi(dij)\delta _i=\min_{j:\rho _j>\rho _i} \left( d_{ij} \right) δi=j:ρj>ρimin(dij)
在密度高于对象i的所有对象中,到对象i最近的距离,即高局部密度点距离。
那些有着比较大的局部密度ρi\rho _iρi和很大的高密度距离δi\delta _iδi的点被认为是簇的中心;高密距离δi\delta _iδi较大但局部密度ρi\rho _iρi较小的点是异常点;确定簇中心后,其他点按照距离已知簇的中心最近进行分类。
局部密度还有其他定义:
聚类算法之层次聚类和密度聚类(图文并茂)相关推荐
- 聚类算法实践——层次、K-means聚类
转载自:http://www.itongji.cn/article/0R52D32013.html 所谓聚类,就是将相似的事物聚集在一起,而将不相似的事物划分到不同的类别的过程,是数据分析之中十分重要 ...
- 【机器学习】聚类算法:层次聚类、K-means聚类
聚类算法实践(一)--层次聚类.K-means聚类 摘要: 所谓聚类,就是将相似的事物聚集在一 起,而将不相似的事物划分到不同的类别的过程,是数据分析之中十分重要的一种手段.比如古典生物学之中,人们通 ...
- 聚类算法之层次聚类算法和应用举例
聚类算法之层次聚类算法和应用举例 1.假设有N个待聚类的样本,对于层次聚类来说,步骤: 1.(初始化)把每个样本归为一类,计算每两个类之间的距离,也就是样本与样本之间的相似度: 2.寻找各个类之间最近 ...
- 聚类算法实践(2)——谱聚类、Chameleon聚类
聚类算法实践(2)--谱聚类.Chameleon聚类 男人海洋 发表于 2013-08-30 14:34 来源:数据之城 上一篇文章里说到的层次聚类和K-means聚类,可以说是聚类算法里面最基本的两 ...
- C-means聚类算法实战 — 地表植被分类/数字聚类
C-means聚类算法实战 - 地表植被分类/数字聚类 文章目录 C-means聚类算法实战 --- 地表植被分类/数字聚类 一.C均值算法简介 二.sklearn中make_blobs的用法简介 三 ...
- [学习笔记] [机器学习] 8. 聚类算法(聚类算法:K-means、K-means++;聚类算法评估;特征降维:特征选择(Pearson相关系数、Spearman相关系数)、PCA主成分分析)
视频链接 数据集下载地址:无需下载 1. 聚类算法简介 学习目标: 掌握聚类算法实现过程 知道 K-means 算法原理 知道聚类算法中的评估模型 说明 K-means 的优缺点 了解聚类中的算法优化 ...
- 聚类算法_层次聚类_密度聚类(dbscan,meanshift)_划分聚类(Kmeans)详解
注: 两整天的成果,谬误之处勿喷 1 聚类概述 样本 没有训练的样本 没有标注的样本 1.1 相似度度量 1.1.1 距离相似度度量 距离度量 dist(oi,oj)dist(o_{i},o_{j}) ...
- 聚类算法(2):系统聚类/层次聚类算法
层次聚类:自下而上法(bottom-up)和自上而下法(top-down) 聚类算法(4)--Hierarchical clustering层次聚类 系统聚类:相当于自下而上法,也就是层次聚类 目录 ...
- 聚类算法之层次聚类方法
目录 AGNES算法 DIANA算法 类间距离的不同定义 层次聚类算法的优缺点 层次聚类方法对给定的数据集进行层次的分解,直到满足某种条件为止.具体又可分为:凝聚的层次聚类AGNES算法和分裂的层次聚 ...
- 12.聚类算法之层次聚类
起步 层次聚类(hierarchical clustering)是聚类算法中的一种,通过计算不同类别的相似度组成新的类创建一个层次的嵌套的树. 基本结构如图所示: 层次聚类算法介绍 假设有n个待聚类的 ...
最新文章
- source Java_JAVA SOURCE (1)
- CodeForces - 1370D Odd-Even Subsequence(二分+思维)
- SAP UI5 应用开发教程之四十八 - 如何在 SAP UI5 应用里开发条形码扫描功能试读版
- netdev: dev_watchdog timer(结合stmmac 分析)
- t’触发器真值表和状态方程_清写出触发器按逻辑特性的分类;写出T触发器的状态方程。...
- mac wordpress php7,Mac 下基于 wordpress 搭建个人博客系统
- 【STM32】STM32F4 CAN2只能发送无法接收问题解决
- ubuntu如何删除刚添加的源?
- 移动端前端UI框架推荐
- VC预定义常量WIN32、_WIN32、_WIN64分析(转载)
- 简单工厂模式-实现简易计算器
- 微信小程序服务器端语言,微信小程序后端用什么语言好
- matlab命令行运行,命令行运行matlab
- 用java实现猜数字游戏程序:基础、偏移、三次机会、是否继续玩
- python pitfall (陷阱)--不同平台os模块文件名排序
- 网友自曝取公积金血泪史 给你点希望又让你绝望
- 人工智能狂潮_患有社交媒体狂潮? 使用这些工具从一个地方管理所有帐户
- 苹果iCloud服务疑遭中国黑客攻击
- Android Studio BMI计算器设计(三种计算标准)
- 如何运用亚马逊、Facebook、Etsy选品?选品平台和方法分享