k-means 给每只股票发一张唯一的『风格身份证』:要么成长、要么价值,边界上的股票被硬塞进某一边。但真实资产风格是渐变的——一只『半成长半价值』的股票,硬分类会抹掉这个信息。GMM 把每个风格群建模成一个高斯分布,输出的不是标签而是责任度(responsibility):这只股票 62% 像成长、35% 像价值。合成实验:3 个真实风格群、协方差形状各异且相互重叠,GMM 分类准确率 89.0% 碾压 k-means 的 68.3%——因为 k-means 只会画球形边界,而 GMM 的满协方差能贴合拉长、倾斜的簇。更关键的是 GMM 自带『不确定度报告』:15.7% 的资产最大责任度低于 0.8,这些正是躺在风格边界上的股票,k-means 对它们的标签几乎是抛硬币。用 BIC 选簇数,K=3 处 BIC 达到最小值 1755.2,精确对上真实群数。纯 numpy 实现 EM 算法(E 步算责任度、M 步更新均值协方差权重),拆穿 GMM 总比 k-means 好/EM 保证全局最优/责任度=真实概率/K 越大似然越高所以越好/满协方差永远优于对角五类陷阱(中阶)。