聚类笔记(上):基本概念
来源:互联网 发布:淘宝店铺装修素材包 编辑:程序博客网 时间:2024/05/21 04:20
目录
- 目录
- 概述
- 划分方法
- Kmean算法
- K中心法
- 层次聚类
- 簇间距离
- 基于密度
- 基于网格
- 聚类评估
- 聚类趋势
- 确定簇数
- 经验值
- 对于层次聚类的簇数确定3
- 聚类簇评估4
- 非监督评估方法
- 有监督评估方法
- 参考
概述
划分方法、层次、基于密度、基于网格
划分方法
Kmean算法
kmean算法不能保证收敛于与全局最优,收敛结果依赖于初始化中心的选择。实际应用常用不用的初始化中心进行多次Kmean
keam是基于最小化SSE的划分方法
缺陷:
- 需要预设簇数
- 不适合非凸形状的簇
- 不适合簇的样本数差别悬殊的情况
- 易受到异常值影响
K中心法
k中心法的典型算法是PAM:Partitioning Around Medoids
详细步骤参考:https://en.wikipedia.org/wiki/K-medoids#Step_1
算法流程:
1 在数据集中随机选择不重复的
2 按就近原则对余下样本进行划分
3 对于簇
3.1 随机选择簇中一个非中心点
3.2 按就近原则对余下
4 重复步骤3,直到达到迭代上限或损失不再明显下降
基本思想:最小化代表对象和所有对象的绝对误差L1。其代价函数为对用于簇中心代表对象的平均绝对误差
改进
PAM鲁棒性比Kmean强,但复杂度大大提高,为了适应大规模的数据集,出现改进算法CLEARA(Clustering LARge Application,大型应用聚类)。
CLEARA是对数据集进行随机抽样,然后抽样数据集上进行PAM
层次聚类
层次聚类又称系统聚类,层次聚类的一个关键点在于选择合适的簇间距离度量方式
簇间距离
层次聚类的关键是选择合适的簇间距离计算方式,设簇
以下是几种常见的簇间距离1
最小距离
递推一下得:
最短距离又称单链接距离,用最短距离的层次聚类又称最小生成树算法,效果如下图
最长距离
递推一下得:
中间距离(median method)
几何示意图如下:
类平均距离
类平均法有两种定义
定义1
递推公式:
定义2
递推公式
重心法
递推公式:
重心法对异常值和离群值的鲁棒性高
Ward
则
递推公式:
Ward和重心法只差一个常数,重心法和类间距离和样本数无关,而Ward的值受样本数大的影响较大,当两个簇的样本数很大时候距离会很大,则不易合并
Ward对异常值敏感
总结
最小距离:擅长处理非椭圆形状的簇;对噪声和离群点敏感
最大距离:对噪声和离群点不敏感;偏好球形簇
Ward:
Ward和重心法只差一个常数,重心法和类间距离和样本数无关,而Ward的值受样本数大的影响较大,当两个簇的样本数很大时候距离会很大,则不易合并
Ward对异常值敏感
基于密度
(略)
基于网格
(略)
聚类评估
聚类评估主要有以下三个内容
1 估计聚类趋势:评估数据分布是否有聚类的意义
2 确定簇数
3 聚类质量评估
聚类趋势
聚类趋势度量指数据集是否有聚类的价值,如果数据集是随机均匀地分布,则聚类的价值很低。
评估指标
Hopkins统计量2
确定簇数
Kmean和PAM等算法都需要设置簇数,下面有一些统计量用于选择类别数K
经验值
一个简单的经验方法是对于n个数据样本的数据集,簇数可以选择为
对于层次聚类的簇数确定3
其中
半偏相关
把类
其中
伪F统计量
选择伪F统计量较大,而类数较小的聚类结果
伪t统计量
此统计量用于评价类K和L合并的效果,如果值大这说明不应该合并
聚类簇评估4:
非监督评估方法
1 划分聚类评估
在数据挖掘导论中,对于划分方法的评估主要针对基于原型和图两种簇类型进行评估。
基于凝聚和分离的度量
对于原型和图两种不同的簇类型,仅仅是在计算凝聚度和分离度上存在差异,单整体思想是一致的
簇总体有效性度量公式如下
其中validity函数可以是凝聚度或分离度,也可以是两种的组合
轮廓系数5
轮廓系数是综合了凝聚度和分离度的综合指标,该指标不仅能用于度量簇的有效性,还能度量每个样本在聚类结果中的有效性
基于近邻度矩阵
理想的聚类效果同一个簇中的,样本间的相似度为1,而不同簇间的相似度为0。根据这个原则和聚类结果构建一个理想相似度矩阵,该矩阵中通一个簇的一对点相似度为1。然后计算理想和实际相似度矩阵之间的相关系数(注意值计算矩阵的下三角部分)
2 层次聚类评估6
层次聚类簇评估通过共性分类矩阵进行评估,思想和划分聚类基于近邻度的评估方法有点相似,都是计算两个矩阵的下三角的部分的相关系数。
共性分类距离矩阵的计算公式参考《数据挖掘导论,P338》
有监督评估方法
有监督的评估又称外在方法,和有监督的训练方法的评估是十分相似的
参考
- 统计建模与R软件 ↩
- 数据挖掘导论 ↩
- P330聚类分析(http://stat.smmu.edu.cn/field/sas07.htm) ↩
- 数据挖掘导论 P340,数据挖掘:概念与技术 P316 ↩
- 数据挖掘导论 P336 ↩
- 数据挖掘导论 P338 ↩
- 聚类笔记(上):基本概念
- JavaScript基本概念(笔记)
- Oracle学习笔记(基本概念)
- emacs学习笔记(基本概念)
- 数据库笔记(数据基本概念)
- 机器学习笔记-分类和聚类基本概念
- Java笔记(一)类与对象的基本概念
- 基本概念笔记
- js基本概念(上)之数据类型
- 聚类的基本概念
- Vega Prime自学笔记(1)基本概念
- SOA学习笔记(一)----SOA基本概念
- Lotus Workflow 学习笔记(1) 基本概念
- 编解码学习笔记(一):基本概念
- 编解码学习笔记(一):基本概念
- C/C++ 笔记 -- 基本概念(1)
- C/C++ 笔记 -- 基本概念(2)
- 面试指南 笔记(一)基本概念
- 求数列的和
- 机房收费系统操作手册
- Working copy '*****' is too old Please see the 'svn upgrade' command
- Cydia Substrate
- 异常-覆盖时的异常特点
- 聚类笔记(上):基本概念
- onCreateOptionsMenu 不执行
- HDU 4819 Mosaic(二维线段树+单点更新)
- ios URL 中文乱码问题
- /etc/default/jenkins
- Android下屏幕适配
- 利用阿里云搭建后台开发环境
- Java学习之多线程Ⅱ
- linux下搭建java eclipse开发环境