想象你是彩虹餐厅的总厨。A 城分店推出“爆辣招牌鱼”,因为当地客人无辣不欢,销量一飞冲天。你兴冲冲把这道菜原封不动搬到 B 城,结果客人尝了一口就放下筷子——B 城根本不吃辣。原来 A 城的火爆不是“菜好”,而是“碰巧当地口味对上了”。与此同时,店里那碗熬了八小时的牛骨汤,无论开在雪山脚下还是海边渔村,永远有人点。机器学习的“不变预测”(Invariant Prediction),就是帮 AI 找到这碗“牛骨汤”:在多个环境的数据中,识别出真正稳定影响结果的因果规律,剔除那些只在某个环境里偶然成立的虚假相关,让模型在陌生场景下依然可靠。

岗位关联

职业价值:掌握不变预测,你就能设计出跨环境、跨时间都稳定的 AI 系统,摆脱“一换数据就翻车”的窘境,这是从实验室高分走向真实世界落地的主干能力。

目录
  1. 可视化演示
  2. 不变性直觉:为什么“到哪儿都灵”才是关键
  3. 环境与数据:把世界分成几个“城市”
  4. 因果基础:从相关到因果的关键一跃
  5. 核心算法:IRM与ICP
  6. 性能特性:为什么不变预测能抗“水土不服”
  7. 优化策略:把配方调得更普适
  8. 实际案例:看看餐厅如何全球化
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

动态展示不变预测Invariant Prediction过程:多环境数据分布对比、特征残差不变性检验、因果特征筛选及跨环境稳定预测,含残差方差监控。

本节配有交互动效(进入视口后自动加载,约 3KB)。

不变预测 Invariant Prediction 环境E1 环境E2 环境E3 不变特征 Var(Y-Xβ|E)≈const 跨环境稳定因果预测

不变性直觉:为什么“到哪儿都灵”才是关键

彩虹餐厅的教训是鲜活的:A 城分店把“爆辣”当成招牌配方,但搬到 B 城就翻车;真正让餐厅活下来的是那碗在哪儿都受欢迎的牛骨汤。这个直觉是不变预测的第一步:在变化的表象下面,总有一些稳定不变的关系在起作用。我们想找的,不是某个城市里卖得最好的单品,而是所有城市都有回头客的“通用爆款”。

在机器学习里,不同的城市对应不同的环境(Environment)。环境可以是不同时间段、不同地区、不同设备,甚至不同实验条件。每个环境都有自己的数据分布。经典的监督学习只在一组数据上优化,就像只盯着 A 城的菜单做研究;而因果机器学习里的不变预测,要求我们同时看多个环境的数据,找出那些在所有环境中都保持一致的预测关系。

从技术上看,这涉及区分“相关”和“因果”。相关关系可能只在一个环境中成立,比如“辣椒销量高”和“客人满意”相关,但在不吃辣的环境里两者就断开了。因果关系则相对稳定:牛骨汤只要熬得浓,无论客人口味如何,它提供的“鲜味”都会带来好评。不变预测要学的,正是这种跨环境不塌方的机制。

如果只问“哪个特征在 A 城最有用”,答案会随着城市变化;但若问“哪个特征在所有城市都稳定有效”,答案就是那碗牛骨汤的配料。这个视角的转变,是把 AI 从“应试高手”变成“实战老师傅”的关键。

环境与数据:把世界分成几个“城市”

彩虹餐厅要做全球化,第一步是划分“分店城市”。机器学习里,我们把数据按来源划分成环境,记为 \(e\in\mathcal{E}\)。每个环境有自己的联合分布 \(P^e(X,Y)\),其中 \(X\) 是特征(食材),\(Y\) 是预测目标(客人评分)。训练时我们能拿到多个环境的数据,测试时面对的是从未见过的新环境。

如果不做区分,模型会把 A 城的“辣度”当作通用规则;如果把环境看成一个维度,我们就能统计出哪些特征在各个环境中都有效。一个朴素的目标是让模型在所有训练环境上的平均风险都低:

\[

\displaystyle \min_{f}\;\sum_{e\in\mathcal{E}_{tr}} R^{e}(f)

\]

这里的 \(R^{e}(f)\) 表示模型 \(f\) 在环境 \(e\) 上的预测风险,比如预测评分与真实评分之间的误差。

1. 环境集合:\(\mathcal{E}_{tr}\) 是所有训练环境(分店城市)的集合,遍历它对不同市场都做评估。

Etr\displaystyle \mathcal{E}_{tr}

2. 每个环境的风险:\(R^{e}(f)=\mathbb{E}_{(x,y)\sim P^{e}}[\ell(f(x),y)]\),表示模型在环境 e 的样本上损失的平均值。

Re(f)\displaystyle R^{e}(f)

3. 求和:\(\sum_{e\in\mathcal{E}_{tr}}\) 把所有环境的平均损失加起来,作为“全球平均差评率”。

∑e∈Etr\displaystyle \sum_{e\in\mathcal{E}_{tr}}

4. 最小化:\(\min_{f}\) 是寻找一个预测函数,让这个总和尽量小。

min⁡f\displaystyle \min_{f}

然而只优化平均差评率还不够:万一 A 城差评极低、B 城差评极高,平均一下很好看,但 B 城已经倒闭了。环境多样性提醒我们,光看平均不行,还必须关注每个环境的表现是否稳定——这正是下一节不变性条件要回答的问题。

因果基础:从相关到因果的关键一跃

为什么牛骨汤稳定?因为它处在“配方→鲜味→好评”的因果链上,而辣椒只在 A 城处于“辣度→好评”的偶然相关。因果图用节点和箭头表示这种机制:箭头表示“直接原因”,例如食材 X 影响评分 Y 的箭头是稳定存在的,而环境 E 可能只影响 X,不直接影响 Y。do 算子表示主动干预,比如把 B 城菜单换成牛骨汤,观察好评是否还来。

不变预测将这种直觉形式化为一个条件:如果特征子集 \(S\) 是因果充分的,那么在给定 \(X_S\) 后,标签 \(Y\) 与来自哪个环境 \(E\) 无关:

\[

\displaystyle P(Y \mid X_{S},\, E=e) \;=\; P(Y \mid X_{S}),\quad \forall e\in\mathcal{E}

\]

换句话说,控制了 S 中的变量后,环境的改变不再改变 Y 的条件分布。这就是“不变性条件”。

1. 条件概率:\(P(Y\mid X_S,E=e)\) 表示在环境 e 中,看到特征 \(X_S\) 后标签 Y 的分布。

P(Y∣XS, E=e)\displaystyle P(Y \mid X_{S},\, E=e)

2. 不随环境改变:等号右边 \(P(Y\mid X_S)\) 不含 E,说明标签的分布不依赖环境这个变量。

P(Y∣XS)\displaystyle P(Y \mid X_{S})

3. 全称量词:\(\forall e\in\mathcal{E}\) 要求所有训练和可能出现的环境都满足,而不是某一个环境碰巧成立。

∀e∈E\displaystyle \forall e\in\mathcal{E}

4. 特征子集 S:\(S\) 是要找的稳定特征集合,也是后面 ICP 算法的搜索对象。

XS\displaystyle X_{S}

这道条件就像签合同:如果一道菜在不同城市的评价只取决于食材组合,而和“城市”无关,那么它就是全球配方。有了这个标准,我们就能设计算法自动去筛选这样的人才。

核心算法:IRM与ICP

有了“不变性”标准,下一步是让机器自动找。两条经典路线:

  • ICP(不变因果预测)像一个“对照实验筛选师”:遍历候选特征子集 S,检验条件独立是否成立,把能通过检验的最小特征集作为不变特征。
  • IRM(不变风险最小化)像一个“全球品控流程”:让模型先学一个特征表示 \(\Phi(x)\),再在这个表示上学习分类器 \(w\),要求 \(w\) 在所有环境中同时最优。

IRM 的目标函数通常写成:

\[

\displaystyle \min_{\Phi, w}\;\sum_{e\in\mathcal{E}} R^{e}(w \circ \Phi) \;+\; \lambda \sum_{e\in\mathcal{E}} \left\| \nabla_w R^{e}(w \circ \Phi) \right\|^{2}

\]

1. 特征表示:\(\Phi(x)\) 把原始特征 x 变成新表示,相当于把食材提前加工成“标准化半成品”。

Φ(x)\displaystyle \Phi(x)

2. 复合预测函数:\(w\circ\Phi\) 表示先加工再打分,总模型是 \(\Phi\) 和 \(w\) 的组合。

w∘Φ\displaystyle w \circ \Phi

3. 平均风险:\(\sum_e R^e(w\circ\Phi)\) 是所有环境平均损失的求和,保证全局表现好。

∑e∈ERe(w∘Φ)\displaystyle \sum_{e\in\mathcal{E}} R^{e}(w \circ \Phi)

4. 梯度惩罚项:\(\left\| \nabla_w R^{e}(w \circ \Phi) \right\|^{2}\) 衡量 w 在各环境的“最优方向”是否一致;如果不一致,梯度不为零,惩罚变大。

∥∇wRe(w∘Φ)∥2\displaystyle \left\| \nabla_w R^{e}(w \circ \Phi) \right\|^{2}

5. 均衡系数:\(\lambda\) 控制“跨环境一致”和“平均损失”之间的取舍。

λ\displaystyle \lambda

IRM 用梯度惩罚强迫“所有分店的最优决策方向一致”。与 IRM 互补的是 ICP 的筛选式思路,它的核心条件可以写成:

\[

\displaystyle Y \perp\!\!\!\perp E \mid X_{S}

\]

1. 条件独立符号:\(Y \perp\!\!\!\perp E \mid X_S\) 表示给定 \(X_S\) 后,标签 Y 和环境 E 互不提供额外信息。

Y⊥ ⁣ ⁣ ⁣⊥E∣XS\displaystyle Y \perp\!\!\!\perp E \mid X_{S}

2. 含义:这意味着一旦知道了稳定特征 S,来自哪家分店不再影响我们对评分的预测。

⊥ ⁣ ⁣ ⁣⊥\displaystyle \perp\!\!\!\perp

IRM 相当于让每家分店的总厨都按同一本操作手册做菜;ICP 则是反复做盲测,把地域性配料剔出菜单。两者各有所长,却是同一个目标的两把扳手。

性能特性:为什么不变预测能抗“水土不服”

一个模型如果找到了稳定公式,它在新城市的翻车概率会低很多。这种能力叫分布外泛化;相对的,普通模型容易沾上“环境特有特征”,例如某家分店门口放了一台自动演奏钢琴,碰巧有钢琴的分店客流高,但这和菜品质量无关。不变预测会把这个所谓“客流高”当成虚假特征丢弃。

衡量模型是否“到哪儿都灵”,不能只看平均风险,还要看风险跨环境的波动。一种简单的稳定性度量是方差:

\[

\displaystyle \mathrm{Var}_{e\in\mathcal{E}}\left[R^{e}(f)\right] \;=\; \frac{1}{m}\sum_{e\in\mathcal{E}}\left(R^{e}(f)-\bar{R}(f)\right)^2

\]

其中 \(\bar{R}(f)\) 是所有环境风险的平均值。

1. 风险随机变量:把每个环境的风险 \(R^e(f)\) 看成一串数字,代表模型在这家分店的差评率。

Re(f)\displaystyle R^{e}(f)

2. 平均风险:\(\bar{R}(f)=\frac{1}{m}\sum_{e}R^{e}(f)\) 是所有环境风险的平均值。

Rˉ(f)\displaystyle \bar{R}(f)

3. 平方偏差:\((R^{e}(f)-\bar{R}(f))^2\) 衡量每个环境与平均水平的差距,差距越大越不稳定。

(Re(f)−Rˉ(f))2\displaystyle \left(R^{e}(f)-\bar{R}(f)\right)^2

4. 方差求和:\(\frac{1}{m}\sum_{e}\) 将平方偏差取平均,得到整体稳定性指标。

1m∑e∈E\displaystyle \frac{1}{m}\sum_{e\in\mathcal{E}}

数据里要包含多种环境,就像试吃员要来自不同城市;环境越多样,骗过你的虚假配方就越难隐藏。如果所有分店口味一模一样,模型就永远看不出“辣椒”其实只在 A 城有效。

优化策略:把配方调得更普适

彩虹餐厅想进一步优化全球配方,有几个工程上的“调味手法”:

  • 环境自动划分:当原始数据没有标明城市或批次时,用聚类或对抗学习把数据分成多个“伪环境”,让不变性约束有地方施展。
  • 数据增广:人为制造分布扰动,比如把亮度、噪声、风格做变换,让模型适应更多“奇怪口味”。
  • 正则化约束:在 IRM 中调整 \(\lambda\) 或对 \(\Phi\) 加复杂度限制,防止表示在单个环境上过拟合。
  • 可解释评估:检查模型在多个环境上的重要特征排序是否一致;如果某个特征只在特定环境下高权重,就标记为可疑。

这些策略本质上都是在“喂给模型更多样的味道”,让模型无法靠投机取巧的配料得分。环境划分得越合理,不变性约束就越可靠;增广越贴近真实部署的变化,跨环境表现就越稳。调味的最终目标不是让 A 城打五星,而是让每个城市都打四星以上。

实际案例:看看餐厅如何全球化

最后,彩虹餐厅的全球化菜单已上线,几个经典案例:

  • 医学影像诊断:不同医院使用不同品牌设备,扫描参数差异会带来大量虚假相关。把每一家医院看作一个环境,不变预测让肺炎检测模型不再依赖设备纹理,而锁定病灶本身的稳定形态。
  • 智能推荐系统:把不同城市、不同季节的用户群看作环境,剔除“本地网红商品”这类偶然特征,保留价格带、品类需求等跨地域稳定的偏好信号,新城市冷启动时推荐更准。
  • 金融风控:把不同经济周期作为环境,避免模型把“房价持续上涨”当成按时还款的原因;收入负债比等稳定变量得到保留,金融危机来临时坏账率更可控。
  • NLP语义:把不同领域的文本作为环境,找出语义角色、实体依存等不变结构,让情感分类在新闻、评论、客服对话间迁移时不掉点。

这些案例的共同点:先定义环境,再寻找跨环境不变的预测关系,最后用稳定性指标验证。这也是“在变化中找不变”这一朴素直觉在生产环境的落地。

AI 应用场景

多中心医疗影像诊断

阶段:模型训练与部署评估

解决的问题:传统模型在单一医院数据上训练,换到另一个品牌设备或扫描参数下,AUC 明显下降。原因是模型学到了设备噪声、图像亮度等虚假特征。不变预测把每个医院视为一个环境,用 IRM 约束模型依赖病理区域,使跨院诊断稳定。

具体案例:胸部 X 光肺炎筛查中,AI 团队收集三家医院的影像数据,以医院为环境。采用不变预测后,在第四家新设备的测试集上,AUC 从 0.78 提升到 0.86,误报率明显下降。

跨地域推荐系统

阶段:特征工程与模型训练

解决的问题:电商推荐模型在华东训练、华北上线后点击率骤降,因为模型过于依赖“地域性爆款”特征。不变预测通过跨城市环境识别稳定偏好(价格带、品类基础需求),减少冷启动损失。

具体案例:某电商新开华中站点,传统模型首周点击率 4.2%,不变预测模型达到 6.8%,并且不需要重新大规模收集本地数据。

跨周期信贷风控

阶段:模型监控与迭代

解决的问题:经济上行期“资产价格上涨”与“按时还款”高度相关,一旦进入衰退期相关破裂,坏账激增。不变预测把不同年份作为环境,保留收入负债比等稳定因果变量,降低周期依赖。

具体案例:某消费金融公司使用 2016-2019 年数据训练模型,2020 年疫情冲击下,不变预测模型逾期率升幅比传统模型低 40%。

Python 演示

python34 行
import numpy as np def generate_data(env, n=200, seed=0):    rng = np.random.default_rng(seed)    x1 = rng.normal(size=n)    x2 = rng.normal(size=n)    y = 1.0 * x1 + env * x2 + 0.1 * rng.normal(size=n)    X = np.column_stack([x1, x2])    return X, y def fit_coefs(subset, envs, n_pts=200):    coefs = []    for e in envs:        X, y = generate_data(e, n=n_pts, seed=0)        w = np.linalg.lstsq(X[:, subset], y, rcond=None)[0]        coefs.append(w)    return np.array(coefs) def main():    envs = [0, 1]    candidates = [(0,), (1,), (0, 1)]    best = None    best_spread = None    for subset in candidates:        coefs = fit_coefs(subset, envs)        spread = float(np.std(coefs, axis=0).sum())        print("subset", subset, "cross-env spread", round(spread, 4))        if best_spread is None or spread < best_spread:            best_spread = spread            best = subset    print("invariant feature:", best) if __name__ == "__main__":    main()
目的:用简化 ICP 的思想,在多个环境中枚举特征子集,选择跨环境回归系数波动最小的特征作为不变特征。
  1. y = 1.0 * x1 + env * x2 + 0.1 * rng.normal(size=n)生成数据时让 x2 的系数随环境变化,构造一个“虚假特征”。
  2. np.linalg.lstsq(X[:, subset], y, rcond=None)[0]对当前特征子集做最小二乘,得到该环境下的回归系数。
  3. np.std(coefs, axis=0).sum()计算系数在不同环境间的波动总和,波动越小代表越可能是环境不变的稳定特征。
  4. candidates = [(0,), (1,), (0, 1)]候选集合包含单一稳定特征、单一虚假特征和两者组合,便于对比。
  5. if __name__ == "__main__": main()提供可直接运行的程序入口。

常见误区

误区很多初学者以为把与标签相关性高的特征都删掉,模型就稳定了;或者认为不变预测等于“特征越少越好”。

正解不变预测保留的是“跨环境稳定”的特征,而不是“相关性低”的特征。比如 x1 与标签的系数始终为 1,它是一个强相关且稳定的特征,应该留下;x2 相关系数虽高,但随环境翻转,才应该被剔除。决策依据是跨环境的一致性,而非相关性的强弱。

为何常见:因为“相关性高”听起来像是“因果”,而实际机器学习里高相关可能只是环境偶然造成的,所以容易混淆。

误区以为只要把数据堆得足够多,不变预测就一定能找到不变特征;或者只要有多个环境就够了,不用管环境间差异。

正解环境之间需要有“干预式差异”,也就是同一个特征在不同环境里被有意或无意改变,才能暴露哪些关系是脆弱的。如果所有环境分布几乎一样,模型无法区分稳定和虚假特征,堆更多数据只是重复同一种口味。

为何常见:因为普通机器学习中“更多数据”几乎总是有效,但不变预测更看重数据来源的多样性,这与直觉相悖。

误区看到 IRM 目标函数里有惩罚项,就认为它只是 L2 正则化或 dropout 的变体。

正解L2 正则化惩罚模型权重本身的大小,IRM 的梯度惩罚惩罚的是“模型参数在各环境下最优方向的不一致”。即使权重很小,如果各环境的最优方向不同,IRM 惩罚照样很大;两者约束的物理含义完全不同。

为何常见:因为 IRM 公式中也有一个带 λ 的额外项,形式上很像正则化,容易按已有经验去套。

误区认为用了 ICP 或 IRM,就能输出 A→B 这样的完整因果结构。

正解不变预测主要识别“哪些特征与标签的关系在环境间不变”,它可以作为因果发现的线索,但不等同于完整因果图。完整因果图还需要干预实验、领域知识或其他因果发现算法配合。

为何常见:因为不变性条件和因果有关,初学者容易把“找到稳定关联”直接等同于“找到全部因果机制”。

误区有人说“我加个强大的 dropout 或者数据增强,单环境训练也能抵抗环境变化”。

正解单环境正则化只能让模型更平滑,无法判断哪些特征是“只在当前环境有效”的虚假特征。不变预测必须显式把环境信息放进训练过程,通过多个环境的对比才能识别不变量。没有多环境信号,模型根本没机会看到“特征与标签的关系会翻转”。

为何常见:因为数据增强确实能提升一定泛化能力,让人误以为它等同于不变预测,但两者解决问题的机制不同。

面试题

Q1. 不变预测的核心目标是?

单选题 · easy

  • A.在单一环境上误差最小
  • B.在未知环境上分布外泛化← 正确答案
  • C.删除所有与标签相关的特征
  • D.提高训练数据的拟合精度

答案:B。不变预测追求的是“换到新城市依然好用”的模型,也就是在未知环境上的分布外泛化。A 和 D 是普通监督学习的目标,C 是一个常见错误操作。就像彩虹餐厅要的不是 A 城打五星,而是每个城市都能开下去。

Q2. ICP 方法的核心条件独立假设是?

单选题 · mid

  • A.Y 与 X_S 独立于环境 E
  • B.Y 与 E 独立于特征子集 X_S← 正确答案
  • C.X 与 E 独立于标签 Y
  • D.E 与 Y 相关于特征子集 X_S

答案:B。ICP 假设给定稳定特征子集 \(X_S\) 后,标签 Y 与环境 E 条件独立,即 \(Y \perp\!\!\!\perp E \mid X_S\)。A 说的是特征与标签独立,C 方向错误,D 把独立说成了相关,都不符合定义。

Q3. IRM 中梯度惩罚项的直接作用是?

单选题 · mid

  • A.让模型权重整体变得更小
  • B.让各环境最优分类器一致← 正确答案
  • C.减少训练数据的噪声干扰
  • D.加快随机梯度下降速度

答案:B。IRM 的梯度惩罚项计算每个环境在最优分类器方向上的梯度是否一致,不一致就惩罚。它不等于权重的 L2 范数惩罚,目的也不是加速或去噪,而是让“各家分店的操作手册”趋于统一。

Q4. 在哪种情况下完全靠环境划分训练更容易失败?

单选题 · mid

  • A.训练环境之间差异非常小← 正确答案
  • B.训练环境数量足够的多
  • C.每个环境样本量都很大
  • D.特征数量远大于样本量

答案:A。如果各环境分布几乎相同,模型没有机会看到“同一特征在不同环境下关系翻转”,就无法区分稳定与虚假特征。环境数量多但差异小,相当于请了一百个口味完全一样的试吃员,信息量依然不足。

Q5. 下面哪一类的关联最符合虚假相关?

单选题 · easy

  • A.在所有环境中都不成立的关系
  • B.只在部分环境中成立的相关← 正确答案
  • C.由因果机制决定的稳定关系
  • D.样本量不足导致的随机噪声

答案:B。虚假相关是“看起来有关系,但换个环境就断裂”。B 准确描述了这种“只在部分环境中成立”的特征。A 是根本没观察到关系,C 是稳定因果,D 是噪声问题而非环境相关。

Q6. 医疗影像里引入不变预测主要解决的问题是?

单选题 · mid

  • A.图片分辨率太低无法识别病灶
  • B.不同医院设备引发的分布差异← 正确答案
  • C.医生标注速度过慢影响训练
  • D.训练数据量太小导致过拟合

答案:B。医疗影像最常见的部署问题就是跨设备、跨医院的数据分布漂移。不变预测把医院作为环境,让模型只学习病灶本身的稳定模式。分辨率、标注速度、数据量是其他问题,不是不变预测的主攻方向。

Q7. 以下哪个指标最能反映模型跨环境的稳定性?

单选题 · hard

  • A.训练集上的平均准确率
  • B.各环境风险之间的方差← 正确答案
  • C.表现最好的环境的风险
  • D.表现最差的环境的准确率

答案:B。稳定性看的是风险在不同环境之间“抖不抖”。训练集平均含乐观偏差,最好环境的风险没有代表性,最差环境准确率只是单个极端值。只有跨环境方差同时捕捉到了整体表现和波动程度。

Q8. 构建用于不变预测的多环境数据时,合理做法包括?

多选题 · mid

  • A.覆盖真实部署出现的分布变化← 正确答案
  • B.让环境间存在干预性差异← 正确答案
  • C.强制每个环境样本量完全相等
  • D.消除所有环境之间的特征共性

答案:AB。A 保证训练环境贴近真实部署,B 保证环境之间有足够差异来暴露虚假相关。C 不是必要要求,样本量可以不同;D 完全错误,环境之间需要共享一些真实因果结构,否则模型无法找到不变量。

Q9. 关于不变预测与因果发现的关系,正确的理解是?

多选题 · hard

  • A.必须知道完整因果图才能使用
  • B.可在未知因果图下寻找稳定特征← 正确答案
  • C.两者解决的是完全相同的问题
  • D.可辅助因果结构学习与验证← 正确答案

答案:BD。ICP 和 IRM 都不要求预先知道完整因果图,它们直接从多环境数据中找稳定关系,所以 B 正确。不变预测不是完整因果发现的替代品,但它的输出可以辅助因果结构学习,因此 D 正确。A 和 C 都夸大了前提或等价性。

Q10. 以下哪些属于不变预测的核心思想?

多选题 · easy

  • A.在多个环境上同时训练模型← 正确答案
  • B.约束模型在各环境表现一致← 正确答案
  • C.只用一个环境训练并做正则化
  • D.寻找跨环境稳定的特征子集← 正确答案

答案:ABD。A 是 IRM 的多环境训练,B 是不变性约束的直观表达,D 是 ICP 的特征筛选思想。C 是普通单环境训练,它没有引入环境对比,无法识别哪些特征是虚假相关。