《聚类算法:无监督学习中K-means与层次聚类的原理对比》

 

一、聚类算法的本质:让“相似”的数据自动归群

聚类属于无监督学习,目标是将无标签数据分为若干组(簇),核心逻辑是:

• 相似性度量:用距离(如欧氏距离)或相似度(如余弦相似度)衡量样本间的关联;

• 分组原则:簇内样本尽可能相似,簇间样本尽可能相异。
类比:图书馆按主题分类书籍,聚类算法则通过数据特征自动完成“主题分组”。

二、K-means聚类:基于中心的迭代分组

1. 核心步骤:“定位中心-分配样本-更新中心”循环

1. 初始化K个聚类中心:随机选择K个样本点或按策略初始化(如K-means++);

2. 分配样本:将每个样本分到离其最近的中心所在簇;

3. 更新中心:计算各簇样本的均值,作为新的聚类中心;

4. 重复步骤2-3:直到中心位置不再显著变化或达到最大迭代次数。

2. 数学表达与优化目标

• 目标函数(最小化簇内平方和,WSS):

\min \sum_{i=1}^{K}\sum_{x∈C_i}\|x - \mu_i\|^2

其中 C_i 是第i个簇, \mu_i 是簇中心。

3. 关键挑战与改进

• 初始化敏感:随机初始化可能导致局部最优(如K=2时,两组数据被错误合并);

◦ 改进:K-means++初始化,优先选择距离已选中心远的点,提升全局最优概率。

• K值选择:

◦ 手肘法:绘制WSS随K变化的曲线,拐点(“手肘”)处为最优K(如K=3时WSS下降明显,K=4后趋于平缓);

◦ 轮廓系数:计算样本i的轮廓值 s(i) = \frac{b(i)-a(i)}{\max(a(i),b(i))} ,其中a(i)是簇内距离,b(i)是最近簇的距离,整体轮廓系数越高,聚类效果越好。

三、层次聚类:构建数据的“树形族谱”

1. 两种聚类方向

• 凝聚式(自底向上):

1. 每个样本初始为独立簇;

2. 合并最相似的两个簇,直到达到预设簇数或停止条件;

• 分裂式(自顶向下):

1. 所有样本初始为一个簇;

2. 递归分裂最不相似的簇,直到每个簇足够小;

• 注:凝聚式更常用,计算复杂度低于分裂式。

2. 簇间距离的度量方式

• 单链接(最小距离):两簇中最近样本的距离,易形成链式聚类;

• 全链接(最大距离):两簇中最远样本的距离,倾向形成紧凑簇;

• 平均链接:两簇所有样本对的平均距离,平衡性较好;

• 沃德链接(Ward):最小化合并前后的WSS增量,适用于球形簇。

3. 可视化:树状图(Dendrogram)

• 横轴是样本,纵轴是合并距离,可通过切割树状图确定簇数(如在某距离阈值处截断,得到K个簇)。

四、K-means vs 层次聚类:核心差异对比
维度 K-means 层次聚类 
簇数K 需预先指定(影响结果) 可通过树状图动态确定 
数据假设 假设簇为球形、大小相似 无严格假设,适应任意形状 
计算复杂度 (n样本,i迭代) (全链接),大数据需优化 
异常值敏感 敏感(中心受异常值影响) 相对鲁棒(距离度量可调整) 
应用场景 大数据聚类(如用户分群) 小数据探索(如基因表达分析)、需要层次结构的场景 

五、实践案例:电商用户分群的聚类选择

1. 场景:根据用户消费金额、频次、品类偏好分群,辅助营销策略;

2. K-means方案:

◦ 用手肘法确定K=4(高消费高频、高消费低频、中消费中频、低消费低频);

◦ 对每个簇计算均值,生成用户画像;

3. 层次聚类方案:

◦ 用平均链接构建树状图,在距离阈值处截断得到5个簇;

◦ 发现“年轻妈妈群体”(购买母婴产品为主)这一细分簇,K-means因预设球形簇可能遗漏;

4. 结论:层次聚类更适合探索未知细分群体,K-means更适合规模化的常规分群。

六、聚类算法的进阶技巧与陷阱

• 数据预处理:

◦ 标准化特征(如消费金额与频次的量纲差异大,需归一化);

◦ 降维(如PCA)处理高维数据,避免“维度诅咒”;

• 距离度量适配:

◦ 文本数据用余弦距离(关注方向而非长度);

◦ 类别特征用汉明距离(不同值的特征数);

• 避免过度解读:

◦ 聚类结果是数据内在结构的反映,需结合业务定义簇的含义(如“簇1”是否为“高价值用户”需业务验证);

◦ 不同聚类算法或参数可能生成不同结果,需交叉验证。

七、总结:从“预设分组”到“结构发现”

K-means与层次聚类代表了无监督学习中两种典型思路:前者通过迭代优化实现高效分组,适合处理大规模数据;后者通过构建层次结构揭示数据的内在关联,适合探索性分析。两者的核心价值在于:无需标签即可从数据中挖掘潜在模式,为业务决策提供数据支撑——而理解它们的假设与局限,是将“数据分组”转化为“业务洞察”的关键一步。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值