[机器学习]12 聚类
首先要明确:聚类是无监督学习。
12.1 聚类任务
- 目标:通过对无标记训练样本的学习来展示其内在规律。其实现的形式是将样本划分为若干个不相交的子集(簇,
) - 描述:给定一个训练集
,其中 ,聚类将训练集划分为 个不相交的簇 ,其中 , , ,
12.2 性能度量
似乎没啥好考的,因为后面的算法完全没有用到
12.3 距离度量
- 距离度量的性质:
- 非负性:
- 同一性:
- 对称性:
- 直递性:
- 非负性:
- 常用距离:
- 欧氏距离:
- 曼哈顿距离/街区距离:
- 欧氏距离:
12.4 原型聚类
12.4.1 K均值算法
这是本章最重要的算法,要求完全掌握,即思想、伪代码、优缺点、应用场景
- 给定数据集
,K均值针对 个簇,最小化平方误差:
(1) 伪代码
- 输入:样本集
,聚类簇数 ; - 过程:
- 从
中随机选择 个样本作为初始均值向量 ; repeat
- 令
;
- 令
for
do
(遍历每个样本,更新每个样本所属的簇)
- 计算样本
与各均值向量 的距离: ;
- 计算样本
- 根据距离最近的均值向量确定
的簇标记: ;
- 根据距离最近的均值向量确定
- 将样本
划入相应的簇: ;
- 将样本
end for
for
do
- 计算新均值向量:
;
- 计算新均值向量:
if
then
- 将当前均值向量
更新为 ;
- 将当前均值向量
else
- 保持当前均值向量不变;
end if
end for
until
当前均值向量均未更新;return
簇划分;
12.4.2 高斯混合聚类
应该不会详细考
高斯混合分布是若干个参数不同的高斯分布的线性组合,来估计数据总体分布
过程:
- E:(先估计高斯混合分布参数)
- M:(最大化对数似然)
12.5 密度聚类
- 通常情况下,密度聚类算法从样本密度角来考察样本之间可连接性,并基于可连接性样本不断扩展聚类簇,以获得最终结果
12.6 层次聚类
- 在不同层次对数据集进行划分,从而形成属性的聚类结构,数据集划分可“自底向上”,也可“自顶向下”。
Extra12-总结
- 本章的知识脉络如下
- 本章大概只有一个核心重点:K均值聚类,要完全明白其思想、伪代码,要达到能够手写的水平
- 然后两个距离度量稍微看一眼就行;其他的,大概知道咋回事就行