1 . K-Means 算法中中心点选择是随机的 : 随机地选择聚类分组的中心点 ;
① 选择实点 : 可以选择实点 ( 当前现有的样本值 ) 作为聚类中心点 ;
② 生成虚点 : 也可以选择生成虚点 ( 任意位置模拟出一个样本点 ) 作为中心点 ;
2 . 必须事先设置聚类分组个数
值 : 开始的时候并不知道将数据集分成几组能达到最佳的分组效果 ;
① 学习出
值 : 使用其它聚类方法 , 先将数据集学习一遍 , 确定聚类分组个数 ;
② 多次聚类 : 选取不同的
聚类分组个数 , 然后看取什么值可以达到最好的聚类分组效果 ;
3 . 最佳实践 : 运行多次 K-Means 方法 , 选取不同的
值 , 以及不同的聚类分组个数 ;
下面的数据集 , 如果使用肉眼观察 , 选择的中心点是如下绿色的点 , 但是如果随机选择中心点 , 加入选择的很差 , 如下图中的红色点作为中心点 , 那么迭代之后的聚类分组如下图所示 , 明显该聚类分组不是最佳分组 ;
① 肉眼观察 3-NN 聚类分组 比较合适的中心点距离 :
② 随机选择中心点后的聚类分组 : 这是随机选择的分组 , 显然这不是最佳分组 ;
选择的初始的中心点太垃圾 , 会导致多次迭代 , 即使算法收敛 , 多次迭代计算的聚类分组不再改变 , 得到结果也可能是不准确的 ;
这是基于距离 ( 划分 ) 的聚类方法的固有缺陷 ;
1 . K-Means 好处是 : 简单 , 容易理解 , 性能较高 , 能很快计算出聚类结果 ;
2 . K-Means 弊端 : 只能找出球形的聚类分组 , 对异常点 和 噪音 非常敏感 , 如果有一个异常点 , 就会导致聚类分组不准确 , 鲁棒性差 ;
3 . K-Means 无法处理的情况 : 如下面的聚类 , 将不同形状的样本分开 , 需要识别出凹形的模式 , K-Means 无法完成该聚类操作 ;
1 . 基于密度的聚类方法 :
① 方法迭代原理 : 相邻区域的密度 , 即 单位空间内 数据样本 点的个数 , 超过用户定义的某个阈值 , 那么该区域需要进行聚类 , 如果低于某个阈值 , 聚类停止 , 算法终止 ;
② 聚类分组前提 : 如果想要将多个 数据样本 划分到一个聚类分组中 , 那么这些样本的分布必须达到一定的密度 , 即在某个范围大小区域内 , 该样本点必须达到一定的数目 ; 具体的数量个数 根据空间大小 , 和 密度计算出来 ;
2 . 示例 : 如 , 先定义好 , 如果进行聚类 , 必须在
平面内至少有
个样本 , 给定一个区域内的点 , 如果该区域的样本密度值大于
, 就划分到一个聚类中 ; 如果该区域是
大小 , 那么只需要有
个就能进行聚类 , 如果这个区域是
, 必须有
个样本才能聚类成一组 ;
3 . 基于密度聚类好处 : 该方法可以排除 异常点 , 噪音数据 , 鲁棒性很好 ;
4 . 基于密度的聚类方法涉及到的参数 : 密度阈值 , 聚类区域范围 ;
DBSCAN 方法 :
① 全称 : Density Based Spatial Clustering of Application with Noise , 基于密度兼容噪音的空间聚类应用 算法 ;
② 聚类分组原理 : 数据样本
与
存在 密度连接 关系 , 那么
和
这两个样本应该划分到同一个聚类中 ;
③ 噪音识别原理 : 数据样本
与 任何样本 不存在 密度连接 关系 , 那么
样本 就是噪音数据 ;
-邻域
1 .
-邻域 : 这是一个范围定义 , 给定一个数据样本对象 , 以该样本为中心 , 指定一个半径
, 形成一个范围区域 , 组成了该样本的
-邻域 ;
2 .
-邻域示例 : 如果是二维平面该范围区域是一个圆 , 如果是三维平该范围区域是一个球 ;
3 .
-邻域图示 : 下面的红点就是样本点 , 以红点为圆心 , 以
为半径的 浅绿色区域 , 就是
-邻域 ;
1 . 核心对象 : 在一个样本对象
的
-邻域 中 , 有超过一定 阈值 ( 最小数量 ) 的 样本对象分布 , 那么该样本对象
就是核心对象 ;
2 . 核心对象 图示 : 如果该阈值 ( 最小数量 ) 设置成
, 那么该
-邻域 中有
个点 , 超过了最小阈值 , 红色 的 中心点 数据样本 是 核心对象 ;
1 . 直接密度可达 : Directly Density Reachable ( DDR ) ;
① 概念 : 样本
是核心对象 ( 以
为中心
-邻域 中超过阈值个数的样本 ) , 样本
在其
-邻域 中 , 那么 称为
直接密度可达
; 注意方向
, 从
出发直接密度可达
;
② 直接密度可达有两个条件 : ① 起点必须是核心对象 , ② 终点必须在起点的
-邻域 中 ;
2 . 直接密度可达的注意点 :
① 单向概念 : 注意该概念是单向的概念 ,
样本出发 , 可以 直接密度可达
, 反过来是不行的 ;
出发不一定能到
;
② 直接密度可达 起点 : 只有 核心对象 才有资格 发起密度可达 概念 , 不是核心对象 , 没有资格作为起点 ;
③ 直接密度可达 性质 : 如果
是核心对象 , 那么从
出发 , 可以直接密度可达其
-邻域 中所有的样本点 ;
④ 如果
不是核心对象 , 那么没有直接密度可达的概念 ;
3 . 图示 : 红色点
是核心对象 ,
在其
-邻域 中 ,
直接密度可达
;
1 . 密度可达 :
密度可达
, 存在一个 由 核心对象 组成的链 ,
直接密度可达
,
直接密度可达
,
,
直接密度可达
, 此时称为
密度可达
;
2 . 链 上的核心对象要求 : 链的起点 , 和经过的点 , 必须是核心对象 , 链的最后一个点 , 可以是任意对象 ;
3 . 密度可达 与 直接密度可达区别 : 密度可达 与 直接密度可达 的概念在于 是直接可达 , 还是 间接可达 ;
4 . 密度可达图示 :
直接密度可达
,
直接密度可达
,
密度可达
;
1 . 密度连接 :
和
两个样本 , 存在一个中间样本对象
,
到
是 密度可达 的 ,
到
是 密度可达 的 ;
2 . 密度连接方向 :
可以密度连接
和
样本 , 但是
和
不一定能走到
, 它们可能不是核心对象 ;
3 . 核心对象要求 :
以及到 样本
或者 样本
中间的样本都必须是核心对象 , 但是
和
两个对象不要求是核心对象, 它们可以是普通的样本点 ;
4 . 密度连接图示 : 下图中 , 样本点
密度可达
和
, 那么
和
是密度连接的 ; 其中
不是核心对象 ,
是核心对象 ;