聚类为什么通常需要特征缩放?
简化版
基于距离的聚类必须处理特征尺度,因为单位较大的维度会支配距离和簇形状。缩放方式应匹配分布、稀疏性和业务权重,并且只在训练数据拟合;标准化不是自动正确,权重本身就是对“相似”的定义。
详细版
- K-Means、层次聚类和 DBSCAN 都依赖距离尺度。
- StandardScaler 易受极端值影响。
- RobustScaler 用中位数和 IQR 抵抗长尾。
- 稀疏矩阵中心化会破坏稀疏性。
- 人为特征权重要通过稳定性和下游价值验证。
完整版教学
一、问题定义与核心直觉
欧氏距离把各维平方差相加。收入以万元计、访问次数以个位计时,收入会压倒访问行为;算法得到的不是“自然簇”,而是当前坐标单位下的簇。
缩放后仍需考虑相关特征重复计权。五个高度相关的活跃度变量相当于把同一概念放大五次,可用特征选择、PCA 或领域分组权重缓解。
二、机制与公式
d(x,z)^2=sum_j alpha_j*((x_j-z_j)/scale_j)^2
alpha_j represents deliberate feature weight
scale_j 与业务权重 α_j 共同定义几何:前者消除量纲,后者有意强调某类差异。两者不能混为一谈;若用 StandardScaler,极端值会同时改变均值与标准差,长尾数据应与 RobustScaler、对数变换等候选比较。
三、带数字的推演
两用户年龄相差 10、收入相差 2 万。原始平方距离为 10^2+20000^2;若标准差分别为 10 和 4 万,缩放后为 1^2+0.5^2=1.25,两个维度才处于可比较量级。
这个例子并不证明 z-score 必然最合理,只说明未经处理的单位会支配欧氏距离。对稀疏词袋做中心化还会把大量零变为非零,应使用保稀疏变换或选择适合稀疏表示的相似度。
四、方案对比
| 方案 | 优势 | 代价或边界 |
|---|---|---|
| StandardScaler | 近似对称连续变量 | 离群值会拉大方差 |
| RobustScaler | 长尾和异常值较稳健 | 分位数在小样本不稳 |
| MaxAbsScaler | 保留稀疏零结构 | 不能消除偏移 |
五、工程执行流程
按主体/时间切分 -> 检查分布与单位 -> 训练折拟合 scaler -> 聚类
-> 逆尺度解释中心 -> 比较多种缩放的稳定性 -> 固化特征顺序与参数
若业务人为提高某组特征权重,应记录权重理由,并比较权重前后的簇稳定性、画像与下游收益。否则聚类变化可能只是人为坐标重标定,而不是数据出现了新结构。
六、边界条件与上线代价
one-hot 特征与连续变量混合时,欧氏距离未必表达合理语义,可考虑 Gower 距离、k-prototypes 或分别建模。
生产侧若单位从元改成万元而 scaler 未同步,归簇会整体漂移;需要 schema、量纲和缩放参数的版本校验。
关键判断:缩放不是清洗细节,而是在定义“两个样本有多像”。
七、常见误区与追问
-
误区:无监督没有标签,所以缩放不存在泄漏。 全量拟合会把未来分布带入训练表示。
-
追问:所有特征都做 z-score 吗? 要按分布、稀疏性和语义选择。
-
误区:缩放只影响收敛速度。 它直接改变距离和最终簇。
-
追问:相关特征有什么风险? 重复维度会对同一概念隐式加权。
-
追问:如何验证缩放方案? 比较重采样稳定性、画像合理性和下游收益。
八、加强记忆
缩放不是清洗细节,而是在定义“两个样本有多像”。先处理单位和长尾,再审查重复计权,最后把 scaler 与聚类模型作为一个不可分割的版本发布。