提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
参考:【聚类 — 机器学习西瓜书】 https://www.bilibili.com/video/BV1fi4y1K7Ke/share_source=copy_web&vd_source=6da2000bbad8b6439b9f6b0baafa2da9
仅个人学习使用,做个笔记,以防忘记
四、原型聚类
假设聚类结构能通过一组原型刻画,算法先对原型进行初始化,然后对原型进行迭代更新求解
1. k均值算法(迭代次数少)
步骤:
- 随机选取样本作为初始均值向量(通常,选取几个初始值取决于几个簇)
- 分别计算每个样本点到初始均值向量的距离,距离哪个点最近就属于哪个簇
- 每个簇重新计算中心点,重复2直到收敛
2. 学习向量量化(计算量大,监督式)
和k均值区别:
- 监督式学习
- 输出的是每个类别的原型向量
- 考虑附近非/同样例的影响
步骤:
- 初始化给定一组原型向量(一般每一类随机选一个)
- 从样本集中随机选取样本,计算样本与每个原型向量的距离
- 选取与样本距离最小的原型向量
- 如果样本标签相同,原型向量靠近;如果样本标签不同,原型向量远离(样本在聚类之前有一个标签)
- 更新原型向量位置
- 迭代2-5,直到原型向量不再变动,输出原型向量
3. 高斯混合聚类(从混合的聚类中分开)
步骤:
- 初始化高斯混合成分的个数,假设高斯混合分布模型参数高斯混合系数,均值,协方差矩阵
- 分别计算每个样本点的后验概率(该样本点属于每一个高斯模型的概率)
- 迭代高斯混合系数(通过样本加权平均值来估计),均值(通过样本加权平均值来估计),协方差矩阵(由样本属于改成分的平均后验概率计算)
- 重复2-3直到收敛
由于初始值是随机选取的,原型聚类类似一种试错的过程。改进方向:初始值的选取
五、密度聚类
假设聚类结构能通过样本分布的紧密程度确定,通常,密度聚类算法从样本密度的角度来考察样本之间的可连接性,并基于可连接样本不断扩展聚类簇以获得最终的聚类结果
概念:
- 邻域
- 核心对象(由该点的邻域内存在几个样本决定这个点能不能成为初始点)
- 密度直达(在邻域内,x1——>x2)不可逆
- 密度可达(x1——>x2,x2——>x3,则x1——>x3)不可逆
- 密度相连(x1——>x3,x1——>x4,则x1——>x4)可逆 (必须要都是密度可达,密度直达不可以)
步骤:
- 初始值:邻域参数,最少点个数(确定核心对象)
- 找出个样本的邻域并确定核心对象集合
- 在核心对象集合中随机选取一个核心对象作为种子,找出密度可达的所有样本,构成第一个聚类
- 将构成的聚类种包含的的核心对象从核心对象集合中删除
- 重复3-4,知道核心对象集合为空
存在没有被聚类的样本,簇的个数不确定
六、层次聚类
在不同层次对数据集进行划分,从而形成树形的聚类结构,可以采用自底向上的聚合策略和自顶向下的分拆策略
判断哪两个集合合为一个簇:簇之间的距离最小
- 最小距离(两个簇中的分别取一个集合,取这两个集合的最小距离作为簇之间的距离)
- 最大距离(两个簇中的分别取一个集合,取这两个集合的最大距离作为簇之间的距离)
- 平均距离(两个簇中集合的平均点,取这两个点的距离作为簇之间的距离)
总结
参考视频里面有很多动图,讲解的也非常通俗易懂,非常好理解!!