基于混合模型与EM算法的无敏感属性公平机器学习实践

机器学习公平性混合模型期望最大化算法
于 2026-05-28 03:04:58 修改
·本内容遵循CC 4.0 BY-SA版权协议

1. 项目概述与核心挑战

在构建机器学习模型时,我们常常面临一个两难境地:如何在不牺牲预测准确性的前提下,确保模型的决策是公平的?这个问题在信贷审批、招聘筛选、司法风险评估等直接影响个人福祉的高风险领域尤为尖锐。传统的公平性干预,如直接删除“性别”或“种族”这类敏感属性,往往治标不治本。因为其他看似中立的特征,如“居住地邮编”、“购物习惯”或“职业经历”,很可能与敏感属性高度相关,成为“代理变量”,让歧视以更隐蔽的方式卷土重来。

我最近深入实践了一个项目,核心就是应对这个挑战:在无法直接获取或使用敏感属性标签的情况下,如何从数据中识别并剥离与敏感属性相关的信息,从而构建一个既准确又公平的预测模型。这听起来有点像“无米之炊”,但我们的“米”就藏在数据的分布模式里。我们采用的核心工具是混合模型,特别是高斯混合模型分类混合模型,配合期望最大化算法来“盲猜”出每个样本可能属于的敏感群体。

这个项目的核心洞见,也是所有从业者必须理解的准确性-公平性权衡:当你试图从数据中彻底抹去与敏感属性相关的信号时,你很可能也在丢弃一部分对预测目标至关重要的信息。这就好比为了确保收音机不收到任何杂音,你把信号强度也调到了最低。我们的工作,就是通过严谨的数学建模和大量的实验,量化这个权衡,并找到在具体业务约束下的最优操作点。

2. 核心思路:从数据分布中“盲解”敏感属性

2.1 为什么混合模型是合适的工具?

当敏感属性A(例如,种族、性别)未知时,我们观察到的特征X的分布,实际上是由不同敏感群体对应的子分布混合而成的。举个例子,在收入预测中,“工作经验”和“教育程度”这两个特征的联合分布,在男性和女性群体中可能存在系统性差异(例如,均值不同、方差不同)。这种差异不是随机的噪音,而是反映了潜在的社会结构性因素。

混合模型正是为描述此类数据而生。它假设观测数据来自K个不同的子总体(即“混合成分”),每个成分对应一个潜在的敏感群体类别。我们的目标是通过观测到的特征X,反向推断出每个样本属于各个潜在群体的后验概率。

高斯混合模型 适用于连续型特征。假设我们有d个连续特征,对于属于第k个敏感群体的个体,其特征向量服从一个多元高斯分布:X | A=k ~ N(μ_k, Σ_k)。这里,μ_k是第k个群体的特征均值向量,Σ_k是协方差矩阵。整个数据集的分布就是这些高斯分布的加权和:P(X) = Σ_{k=1}^K π_k * N(X | μ_k, Σ_k),其中π_k是群体k的先验概率。

分类混合模型 则适用于离散型特征。假设我们有D个分类特征,每个特征有M_d个类别。对于第k个群体,第d个特征取第m个类别的概率为θ_{k,d,m}。那么,一个样本的特征向量X的似然就是各特征类别概率的乘积(在给定群体下条件独立):P(X | A=k) = Π_{d=1}^D Π_{m=1}^{M_d} (θ_{k,d,m})^{I{X_d=m}}

关键理解:混合模型的有效性依赖于一个核心假设——不同敏感群体在特征空间中的分布是可分离的。这种分离度(在公式中常体现为均值μ的差异或概率θ的差异)越大,我们事后从X中推断A的准确性就越高。反之,如果不同群体的特征分布完全重叠,那么从数据中就不可能识别出任何群体信息,公平性问题也就不存在了(因为模型无法利用群体信息进行区分)。现实中的挑战通常处于这两者之间。

2.2 期望最大化算法:如何执行“盲解”?

知道了模型形式,接下来就是参数估计。由于敏感属性A是隐变量,我们无法直接使用最大似然估计。这时,期望最大化算法 就成了不二之选。EM算法通过迭代的“猜”和“改”两个步骤,逐步逼近最优参数。

E步:软分配 给定当前模型参数(混合权重π_k,高斯分布的μ_k, Σ_k或分类分布的θ_{k,d,m}),计算每个样本i属于每个群体k的后验责任γ_{ik}γ_{ik} = P(A_i=k | X_i) = [π_k * P(X_i | A_i=k)] / [Σ_{j=1}^K π_j * P(X_i | A_j=j)] 这个γ_{ik}是一个概率值,表示样本i“软归属”于群体k的程度。它构成了我们估计的敏感属性矩阵Â

M步:参数更新 利用E步计算出的“软标签”γ_{ik}作为权重,重新估计模型参数,使得当前模型下数据的期望似然最大。

  • 对于GMM:更新π_k为所有样本γ_{ik}的平均值;更新μ_k为以γ_{ik}为权重的特征均值;更新Σ_k为以γ_{ik}为权重的协方差。
  • 对于分类混合模型:更新θ_{k,d,m}为,在属于群体k的样本中(按γ_{ik}加权),特征d取值为m的比例。

EM算法会持续迭代E步和M步,直到参数变化小于某个阈值或似然函数收敛。最终,我们不仅得到了模型参数,更重要的是得到了每个样本的敏感属性后验概率γ_{ik},即我们需要的Â

实操心得:EM算法对初始值敏感。糟糕的初始化可能导致收敛到局部最优,得到毫无意义的群体划分。在实践中,我通常会采用多次随机初始化并选择似然最高的结果,或者使用K-means聚类的结果作为GMM的初始中心。对于分类数据,则可以随机初始化概率向量。

3. 公平性干预:从估计到矫正

拿到估计的敏感属性Â后,我们的目标不是用它来做预测,而是消除它对预测模型的影响。这里我们采用一种经典的预处理方法:残差化

3.1 残差化操作详解

假设我们的预测特征集包含两部分:与敏感属性可能相关的特征X_a(例如,职业、消费记录),以及其他特征X_z(例如,信用历史长度、账户余额)。我们的预测目标是Y(例如,是否违约)。

  1. 构造设计矩阵:将估计出的敏感属性Â(一个n×K的矩阵,每行是样本i属于K个群体的概率向量)作为回归自变量之一。
  2. 回归与求残差:将X_a(可能还包括X_z,取决于设计)对Â进行线性回归(对于连续特征)或逻辑回归(对于二元特征)。然后,计算回归的残差U = X_a - X_a_hat。这里的U可以理解为X_a中无法被估计的敏感属性Â所解释的部分。
  3. 构建公平预测模型:使用残差U(而非原始的X_a)和X_z一起作为特征,去训练最终预测Y的模型(如逻辑回归、梯度提升树等)。

数学原理:这个过程在理论上等同于从X_a中投影掉了在Â张成的空间上的分量。如果Â是对真实A的良好估计,那么U就近似与A独立。用U进行预测,模型就无法利用X_a中与A相关的信息来进行可能带有偏见的决策。

3.2 准确性-公平性权衡的数学刻画

这是整个项目的理论核心。我们可以用决定系数R^2来量化这个权衡。

  • R^2_x:使用原始特征(X_a, X_z)预测Y时模型所解释的方差比例。
  • R^2_a:使用残差化后的特征(U, X_z)预测Y时模型所解释的方差比例。

理论推导(基于线性模型和GMM假设)给出了一个清晰的结论: R^2_a = R^2_x - [β_a^T * μ^T * Σ_A * μ * β_a] / Var(Y) 其中,β_aX_a在真实模型中的系数,μ是群体间特征均值差异,Σ_A是敏感属性的协方差矩阵。

这个公式揭示了权衡的本质

  • 组间分离度 (μ)μ越大,不同群体的特征差异越明显,X_a携带的关于A的信息就越强。此时,原始模型R^2_x会很高,因为模型可以“利用”这种群体差异来提升预测精度。
  • 公平性干预的代价:然而,μ越大,上述公式中减去的项也越大。这意味着,当我们通过残差化移除X_a中与A相关的部分后,性能损失(R^2_x - R^2_a)也越严重。模型从群体差异中获得的“收益”有多大,在追求公平时需要付出的“代价”就有多大
  • 极限情况:当μ → ∞(群体特征完全分离),R^2_x → 1(原始模型近乎完美),但R^2_a → 0(公平模型几乎失去所有预测能力)。当μ → 0(群体特征无差异),R^2_x ≈ R^2_a,公平性干预几乎不造成精度损失。

4. 仿真实验:在受控环境中验证理论

为了直观理解上述理论,并测试方法的稳健性,我们设计了一系列仿真实验。

4.1 敏感属性估计精度

实验1:高斯混合模型 我们生成一个三组分(K=3)的GMM数据,设定最小组分中心间距μ_min。理论分析给出了在指定错误率水平α下所需的最小分离度μ*_min。实验结果与理论高度吻合:当实际μ_min超过μ*_min时,基于EM算法的分类器错误率确实降到了α以下。这证实了,只要群体间特征差异足够大,我们就能以高概率从数据中准确还原出潜在的群体结构。

实验2:分类混合模型 我们生成了包含3个二元分类特征的数据,研究两个因素对估计精度的影响:

  1. 群体先验概率p的影响:当两个群体的特征分布不可区分时,分类器精度随|p-0.5|线性变化,本质上是退化为猜测先验概率。当特征分布可区分时,精度在p=0.5时最低,并向p→0p→1时趋近于1。
  2. 组分分离度的影响:固定p=0.5,逐渐增大两个群体在某个特征上的概率差|θ_{2,1} - θ_{1,1}|。结果如预期所示,估计精度随分离度的增加而单调上升。

避坑指南:这个实验提醒我们,样本的群体比例(p)会显著影响估计难度。在现实数据中,如果某个群体样本极少(p很小),即使其特征分布有差异,也可能难以准确估计。此时需要考虑过采样、代价敏感学习或贝叶斯先验等方法进行修正。

4.2 公平性调整后的预测效能

实验3:调整后R²的衰减 我们构造一个简单的线性模型:Y = X_a + X_z + ε,其中X_a = μA + eX_z为噪声。通过改变μ来模拟不同的群体分离度。然后分别计算使用原始X_a和残差化后UR^2。结果清晰显示,随着μ增大,原始模型的R^2_x上升,而公平调整后的R^2_a下降,且下降的极限值与理论预测值完美吻合。这直观展示了公平性干预带来的预测效能损失。

4.3 结合变量选择的回归与分类

实验4 & 5:高斯混合下的回归与分类 在更复杂的设定中,我们生成了多个与敏感属性A相关的混合特征Z1...Z4,以及大量无关特征。响应变量Y只与其中部分特征相关。我们对比了两种策略:

  1. 正确模型:使用与Y真正相关的特征。
  2. SEMMS变量选择模型:使用一种公平性感知的变量选择方法。

我们研究了不同群体分离度(μ)和公平性惩罚强度(λ)下,模型误差与公平性指标(如平均距离MD)的变化。

  • 结果趋势:增大公平性惩罚λ,在所有设置下都会导致预测错误率上升,同时降低组间性能差异(MD下降),印证了权衡的存在。
  • 变量选择的影响:变量选择策略的效果好坏参半。当μ较大时,与A强相关但不与Y直接相关的特征(如Z3)可能因均值突出而被错误选中,这反而会损害模型性能。这说明,在公平性约束下,单纯的统计显著性或预测强度不足以指导变量选择,必须考虑特征与敏感属性的关联

实验6:分类混合下的逻辑回归 我们在分类数据上应用了带公平性惩罚的逻辑回归。设置了两种系数模式:

  • 模式一:最大的系数分配给与A最相关的特征X1
  • 模式二:最大的系数分配给与A最不相关的特征X3

实验发现,在模式一下,施加公平性惩罚会导致错误率急剧上升,因为模型被迫削弱了最主要的预测信号。而在模式二下,同样的惩罚对准确性的影响要小得多,因为主要预测信号本身与敏感属性关联弱。这给了我们一个至关重要的工程启示:在特征工程阶段,应尽可能寻找或构造那些与预测目标强相关、但与敏感属性弱相关的特征。这是缓解准确性-公平性权衡的最有效手段之一。

5. 真实数据应用与效果评估

理论仿真之后,我们最终要在真实数据上检验方法的有效性。我们选择了三个经典的数据集:Adult(收入预测)、COMPAS(再犯风险评估)和ARRHYTHMIA(心律失常诊断)。

5.1 数据集与实验设置

  • Adult:目标预测收入是否>50K,敏感属性为性别。我们选择年龄、关系状态、婚姻状态作为估计敏感属性的相关变量,拟合一个高斯-分类混合模型。
  • COMPAS:目标预测再犯风险,敏感属性为种族(处理为非洲裔与非非洲裔)。为确保模型可识别性,我们仅使用十进制分数、年龄、犯罪率和性别作为相关变量。
  • ARRHYTHMIA:目标预测心律失常,敏感属性为性别。这是一个高维数据集,我们首先使用SEMMS进行变量选择,然后在选出的6个QRS持续时间相关特征上拟合高斯混合模型。

对于每个数据集,我们将数据按7:3划分为训练集和测试集。使用Adam优化器训练带公平性惩罚的逻辑回归模型。我们与多个基线方法对比,包括:无约束的原始模型、使用真实敏感属性进行约束的Oracle模型、对抗性重加权学习、基于合成过采样的公平分类平衡、相关特征移除法以及FairRF方法。

5.2 评估指标

我们从准确性公平性两个维度进行评估:

  • 准确性:分类准确率。
  • 公平性
    • ∆EO:均衡几率差距。计算不同群体间真正例率和假正例率的最大绝对差值。理想值为0。
    • ∆DP/MD:人口统计均等差距/平均距离。我们主要报告平均距离,作为组间性能差异的代理指标。理想值为0。

5.3 实验结果分析

敏感属性估计质量:我们的EM方法在Adult数据集上达到了0.70的AUC,与最先进的公平性方法(如FairWS)结果(0.76-0.77)具有可比性。在更复杂的COMPAS和ARRHYTHMIA数据集上,AUC分别为0.62和0.57。这表明,即使在真实、嘈杂的数据中,混合模型也能对潜在的敏感群体结构进行有意义的估计。

预测性能与公平性

  • Adult数据集:通过选择合适的正则化参数λ=0.3,我们的方法将公平性差距(∆DP/MD)降低到了约0.058,相比原始模型(0.089)改善了约35%,而准确率仅从0.856下降到0.837,损失约1%。在∆EO指标上也达到了与最优基线方法相当的水平。
  • COMPAS数据集:我们的方法取得了所有对比方法中最公平的结果(MD最低),同时准确率(0.678)与最佳基线(0.681)相比仅有轻微下降。考虑到该数据集的复杂性和噪声,0.68左右的准确率已是各方法的上限,我们的方法在几乎不损失精度的情况下显著提升了公平性。
  • ARRHYTHMIA数据集:同样观察到了明确的权衡曲线:随着λ增大,MD下降,准确率也逐步降低。

权衡曲线可视化:我们绘制了准确率和平均距离MD随公平性惩罚λ变化的曲线。在所有数据集上,曲线都呈现出经典的“权衡”形状:追求更高的公平性(更低的MD),必然伴随一定程度的准确性损失。我们的方法的价值在于,它提供了一条平滑、可控的路径,让模型开发者可以根据具体应用场景的容忍度,在这条曲线上选择合适的操作点。

6. 常见问题与实战排查技巧

在实际部署这套方法时,你肯定会遇到各种问题。以下是我从多次实践中总结出的核心排查清单:

问题1:EM算法不收敛或收敛到很差的局部最优解。

  • 可能原因:初始化太差;数据中存在异常值;混合组分数K设置错误。
  • 解决步骤
    1. 多次随机初始化:运行EM算法多次(如50-100次),从不同的随机参数开始,选择似然函数值最高的那次结果。
    2. 使用K-means初始化:对于GMM,先用K-means聚类得到簇中心和样本标签,用这些结果来初始化μ_kΣ_kπ_k,通常比完全随机初始化更稳定。
    3. 检查K值:使用赤池信息准则或贝叶斯信息准则等模型选择标准,或通过轮廓系数等聚类评估指标,来辅助确定合适的混合组分数K。在公平性场景中,K通常对应敏感属性的类别数(如性别为2,种族可能更多)。
    4. 数据预处理:检查并处理异常值。对于连续特征,考虑标准化或归一化,特别是当不同特征量纲差异巨大时。

问题2:估计出的敏感属性Â与真实情况偏差很大,导致后续公平性调整无效甚至有害。

  • 可能原因:特征选择不当,用于估计Â的特征本身与真实敏感属性A关联很弱;或者不同群体的特征分布重叠严重(分离度μ太小)。
  • 解决步骤
    1. 特征相关性分析:在可能的情况下,利用一个小的、带有真实A标签的验证集,计算候选特征与A之间的统计关联(如点双列相关系数、卡方检验等),选择关联性强的特征用于混合模型。
    2. 分离度诊断:观察拟合后的混合模型参数。对于GMM,检查各组分均值μ_k之间的距离是否显著;对于分类混合,检查不同组分的概率向量θ_{k,d}是否差异明显。如果差异很小,则意味着从数据中推断A本身就很困难,此时应谨慎依赖Â,或考虑其他不需要显式估计A的公平性方法(如对抗性去偏)。
    3. 后验概率的熵:检查样本的后验概率向量γ_i。如果很多样本的γ_i接近均匀分布(即熵很高),说明模型对其群体归属非常不确定,这提示估计不可靠。

问题3:应用公平性调整后,模型性能下降远超预期。

  • 可能原因:预测目标Y与敏感属性A之间存在过强的、无法被观测特征解释的关联;或者用于残差化的特征X_a中包含了大量对预测Y至关重要的、且与A无关的信息,被错误地移除了。
  • 解决步骤
    1. 量化权衡:绘制类似我们实验中“准确率-MD”的权衡曲线。如果曲线在初始阶段(λ很小时)MD下降很快而准确率暴跌,说明准确性-公平性权衡非常尖锐。这可能是一个根本性的数据问题,需要与业务方重新讨论公平性约束的合理性。
    2. 精细化特征分组:仔细审查X_a(与A相关的特征)和X_z(其他特征)的划分。确保X_a中的特征确实是理论上或经验上与A相关的。将与A无关但对Y重要的特征坚决留在X_z中。
    3. 尝试部分调整:不一定对所有X_a特征进行残差化。可以计算每个特征与估计Â的偏相关系数,只对那些相关性超过某个阈值的特征进行残差化处理。

问题4:在高维数据(如ARRHYTHMIA)上运行缓慢或内存不足。

  • 可能原因:GMM的协方差矩阵参数随特征维度d呈平方级增长;EM算法迭代次数多。
  • 解决步骤
    1. 变量选择先行:像我们做的那样,先使用SEMMS或其他特征选择方法(如基于L1正则化的方法)大幅降低特征维度。
    2. 约束协方差矩阵:采用对角协方差矩阵(假设特征间条件独立)甚至球状协方差矩阵(所有特征方差相同)。这能极大减少参数数量,加速计算,并在高维下往往效果更好,避免过拟合。
    3. 使用增量EM或在线EM:对于超大规模数据,可以考虑能分批处理数据的EM变种算法。

问题5:如何处理同时包含连续型和分类型特征的混合数据?

  • 解决方案:采用混合类型混合模型。正如我们在Adult数据集实验中所做,假设连续特征部分服从高斯分布,分类特征部分服从分类分布,且在给定敏感群体下所有特征条件独立。这样,整个数据集的似然就是高斯密度和分类概率的乘积。E步中计算后验概率时需同时考虑两部分;M步中则分别用对应类型的更新公式来更新高斯参数和分类概率参数。现有的统计软件包(如R的mclust, Python的sklearn.mixtureBayesianGaussianMixture结合自定义分类似然)可以辅助实现,但自定义实现能提供更大的灵活性。

最后,我想强调的是,机器学习公平性不是一个纯粹的算法问题,而是一个贯穿业务理解、数据评估、算法设计、结果验证和持续监控的系统工程。本文介绍的基于混合模型的去偏方法,为我们提供了一套强大的、可解释的技术工具。但它并非银弹。在启动任何公平性项目前,最关键的步骤是与法律、伦理和业务专家坐在一起,明确“公平”在具体上下文中的定义(是机会均等、人口均等还是其他),并确定可接受的性能损失边界。只有这样,技术上的权衡曲线才能真正指导我们做出负责任的、有价值的决策。

清华出品 机器学习技术课程 统计学习方法第二版系列课程 第14章 聚类方法 共52页.pptx
本课程涵盖了机器学习的多个核心主题,包括感知机、k-近邻、贝叶斯分类器、决策树、逻辑回归、SVM、核函数、adaboost、EM算法、隐马尔科夫模型、条件随机场、无监督学习概论,以及奇异值分解和主成分分析等
passionSnail
57
基于项目反应理论的试题参数估计方法
##### 3.4 EM算法(Expectation-Maximization Algorithm)- **优点**: - 在处理含有缺失数据的问题时非常有效。 - 计算相对简单,易于实现。
516
Oracle数据库DBA管理手册 9 11-13.rar
**数据加密**:讨论如何保护敏感数据,包括表空间加密、列加密以及Oracle Advanced Security选项。5.
4
英语常用前缀表.doc
-ability、-ibility:抽象名词(例如:stability 稳定,sensibility 敏感性)2.
dchw66
24
中控考勤标准软件V3
权限管理:支持多级权限设置,确保敏感信息的安全,同时便于管理层级之间的协同工作。7. 异常处理:对于未打卡、忘打卡等情况,软件提供了补签、申诉等功能,确保公平公正。8.
33
常用英语前缀、后缀、词根表.doc
**en-**,**em-**:表示"在,用于,使",如`encage`(关入笼子)和`embed`(嵌入)。14.
wsbhm62
54
14、理解随机算法的性能
本文探讨了随机算法在电子设计自动化(EDA)领域的性能表现,重点分析了实验观察、随机模型构建及EM算法的应用。通过大量实验数据,揭示了随机算法结果的不确定性及其对输入变化的敏感性,并提出了使用高斯混合模型EM算法进行性能评估的方法。文章还介绍了ABC工具的实际应用优化策略。
49
【信息科学工程学】【运营科学】第二篇 C4信息通信网络运营 (C4) ——数据中心网络运营01
本文构建了面向数据中心网络运营(C4.41xxxx)的带宽预留算法分类框架,覆盖云边协同、数据中心内部及数据中心互联三大场景。重点阐述R1固定带宽预留在拍卖、优化、博弈论、机器学习、控制理论等七类机制下的实现方法,结合时间维度(离线/在线/预测/实时)、资源类型(带宽/算力/存储联合)网络拓扑(Fat-Tree、Clos、多跳云边)进行系统性建模。强调RDMA、RoCEv2、网络切片等关键技术约束下的确定性保障算法
flyair_China
1140