1. 聚类特点
- 应用:a. 发现样本共同的群体cluster; b. 可作为监督学习中稀疏特征的预处理(进行特征分桶); c. 发现图片边缘
- 聚类使用的信息:样本与样本间的相似度,相似度评判指标有欧式距离(常用,2范数)、曼哈顿距离(1范数)、余弦距离(不能证明一定收敛,内积)Jaccard相似度,Pearson相似度,核函数映射后距离(做特征映射,如设置高阶项,非线性聚类,每两类的分类边界不是直线)。GMM是通过属于不同类别的概率进行判断
- 聚类方法:K-means:确定K值,硬聚类:GMM:确定K值,给概率;层次聚类:不用指定K值,树状层叠
2. K-means聚类
- 步骤
1).输入样本点和聚类个数K
2). 初始化K聚类个聚类中心
3). 计算所有样本到各个聚类中心的距离,选小的投靠
4). 重新计算聚类中心 uk=1Ck∑n∈Ckxn
5). 迭代3,4步至收敛,收敛条件是每个样本到对应聚类中心的距离之和不在有很大变化 - 损失函数:表征了样本散度,高类间距,低类内聚,设
rnk∈{0,1}
表示样本x_n是否属于第k类,相当与EM算法中的隐变量Z,概率为0/1
J(u,r)=∑n=1N∑k=1Krnk||xn−un||2
3. K-means存在问题与处理方式
- 初始聚类中心敏感,收敛到局部最低点
1) 选择距离远的样本点作为初始中心。初始第一个中心,第二个选离他最远的点,第三个选离前两个最远的点
2) 多初始化几次,多跑几遍 - K值选定,K值很大训练较慢
1) 肘点法(数据量大不适用)
2) 借助其它feature进行聚类,用其他特征(方法)先分一边,在此基础上对每一类再用k-means聚类
3) 剔除法。某类别中样本较少,可能意义不大,可以去掉这些类,重新训练
例子:对80W商品图片进行聚类1W类。
1)可以先对商品描述做one-hot encoding,先聚200类,再在200类中再并行聚类。
2)对类别中样本交少的点可能不太有意义,对该类去掉 - 样本每个维度特征对聚类影响度不同。如果一个特征1~2000取值,其它两个特征0~5取值,此时特征1明显对结果影响很大,此时可以进行归一化操作,加权重,或去掉特征1.
- 对异常点敏感,找均值最近的样本点代替
- 对团状区分好,环状的‘非凸’形状不好,考虑做特征映射或谱聚类
- 每个样本只能属于一类,是硬聚类,考虑层次聚类或GMM
4. 层次聚类和GMM
- 层次聚类:由底部到顶部和由顶部到底部两种方法,找类间最近的两类合并为一类,每次都要遍历所有样本点间的距离。速度慢