想象你走进一家只挂着“拒绝”两个字的贷款审批室,考官不给任何理由,你只能拿着被拒信一头雾水地离开:是收入不够?负债太高?还是职业不稳?这时,一位“剧本修改师”悄悄做了一个实验:他把收入从30万改成33万,其他信息原封不动地重新提交,居然通过了;他又试着把负债从2万改成1.9万,结果依然是拒绝。他于是递给你一张纸条:“想翻盘,先把年收入提到33万。”这种“如果当初改变了什么,结局就会不同”的解释,就是反事实解释。Wachter方法正是自动生成这类解释的经典算法,它像一位精打细算的剧本修改师:不推翻重来,只改动最小、翻盘最快。本文就用这个“命运重来”的故事,带你从原理到实战,完整认识Wachter方法。

岗位关联

学会Wachter方法,你就能为AI决策系统配上“改命说明书”,从只会说“模型拒绝”进化到直接告诉用户“怎样改才能通过”,这是AI从业者最值钱的可解释性技能之一。

目录
  1. 可视化演示
  2. 1. 反事实解释基础
  3. 2. Wachter核心原理
  4. 3. 目标函数设计
  5. 4. 梯度下降求解
  6. 5. 特征调优约束
  7. 6. 质量评估标准
  8. 7. 局限与展望
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

展示Wachter反事实解释方法三维度:优化目标(损失函数平衡预测改变与距离)、距离约束与特征可变性(可变特征vs固定特征)、可行动性与多样性(多反事实候选与行动性检验),理解基于优化的反事实解释原理。

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

Wachter优化目标与损失函数 原始样本x与反事实x\' 优化迭代路径 L=lambda*(f(x\')-y\')+d(x,x\') 损失函数平衡预测改变与特征距离,寻找最小修改的反事实样本。

1. 反事实解释基础

故事回到那间贷款审批室。命运考官只给结论,不给理由;而剧本修改师并不问考官“你凭什么拒绝”,他只是反复微调剧本里的几个数字,观察结局如何变化。一旦发现“只要把年收入改成33万,结局就从‘拒绝’变‘通过’”,他就把这个改动方案交给用户。这种“对特定个体而言,改变哪个特征就能翻转决策结果”的说明,就是反事实解释。

反事实解释与我们常说的“敏感分析”并不一样。敏感分析问的是“哪个输入拨盘动一下,输出变化最大”;反事实解释问的是“最少动哪几个拨盘,能让结果彻底翻盘”。前者像摸一台机器的各个旋钮看哪个影响大,后者像拿到一张专属的“捷径地图”,告诉你从当前位置到目标结果的最短路线。

在机器学习中,假设模型是 \(f\),当前样本是 \(x\),模型预测是“拒绝”。反事实解释试图找到一个新的 \(x'\),它与 \(x\) 非常相似,但模型对 \(x'\) 的预测变成了“通过”。Wachter方法正是通过最优化手段自动搜索这种 \(x'\) 的经典算法,常被用于信贷审批、医疗诊断、招聘筛选等需要向用户解释“为什么被拒”的场景。

所以,剧本修改师的核心工作不是重写整个剧本,而是精准地改一两个关键字,让原本的悲剧迎来反转。

2. Wachter核心原理

剧本修改师有个职业信条:绝不让主角为了翻盘去“转世投胎”。他不会把“保安”改成“科学家”,因为那样改动太大,用户根本做不到;他只会把“没有担保人”改成“有担保人”,把“月收入8000”改成“月收入1.2万”。这个信条在Wachter方法里被翻译成两个词:邻近性,即整体改动距离足够小;稀疏性,即被修改的特征个数越少越好。

Wachter方法的原理并不复杂:把反事实解释看作一个带约束的最优化问题——在保证模型预测翻盘的前提下,寻找离当前样本最近的替代样本。这里的“最近”由距离函数定义,可以是欧氏距离,也可以是加权曼哈顿距离;而“翻盘”则要求新样本的模型输出贴近我们想要的目标类别。

可以看到,Wachter方法的灵魂就是“最小修改换翻盘”。它不关心模型为什么拒绝,只关心如何用最小的代价让模型改变主意。这也正是反事实解释与特征重要性解释的根本区别:前者输出一个具体行动方案,后者只输出一张泛泛的“影响力排行榜”。

xCF=arg⁡min⁡x′d(x,x′),s.t. f(x′)≈y′x_{\mathrm{CF}}=\arg\min_{x'} d(x,x'), \quad \text{s.t.}\ f(x')\approx y'
  1. 反事实样本 \(x_{\mathrm{CF}}\)最终输出给用户的“修改版剧本”。
    xCF=arg⁡min⁡x′d(x,x′)x_{\mathrm{CF}} = \arg\min_{x'} d(x,x')
  2. 最小化改动距离 \(d(x,x')\)在所有候选剧本里,挑一份改动总幅度最小的。
    d(x,x′)=∥x′−x∥d(x,x') = \lVert x' - x \rVert
  3. 翻盘约束 \(f(x')\approx y'\)修改后的样本必须让模型输出逼近目标结果,例如“通过”。
    f(x′)≈y′f(x')\approx y'

3. 目标函数设计

剧本修改师手上有两个互相打架的目标:一是让考官点头,二是让改动最小。如果他只盯着翻盘,可能把剧本改得面目全非;如果只盯着改动小,可能永远无法翻盘。Wachter方法用一个“谈判官” \(\lambda\) 来调和两方:\(\lambda\) 越大,越优先保证翻盘;\(\lambda\) 越小,越优先保证改动少。

在Wachter的原始论文中,这个带约束的优化问题被转化为一个可微的无约束目标函数:前面是预测误差平方项,负责把模型输出拉向目标;后面是距离惩罚项,负责约束改动幅度。为了让不同量纲的特征可以公平比较,距离项通常用特征的平均绝对偏差(MAD)做标准化。

这个公式看起来像一份合同:左边是“必须让结果翻盘”的硬指标,右边是“尽量别大改”的软约束,\(\lambda\) 就是写在合同里的权重。实际操作时,\(\lambda\) 太小可能翻不了盘,太大又可能给出一个不切实际的极端方案,需要反复调参。

min⁡x′  λ(f(x′)−y′)2+∑i=1n∣xi′−xi∣MADi\min_{x'} \; \lambda \left( f(x') - y' \right)^2 + \sum_{i=1}^{n} \frac{|x'_i - x_i|}{\mathrm{MAD}_i}
  1. 目标类别 \(y'\)我们希望模型输出的目标值,例如“通过”对应的1。
    y′=1y' = 1
  2. 预测损失 \((f(x') - y')^2\)衡量修改后的预测离目标有多远,离得越远惩罚越大。
    (f(x′)−y′)2\left( f(x') - y' \right)^2
  3. 加权距离 \(\sum |x'_i - x_i| / \mathrm{MAD}_i\)对所有特征改动量做标准化求和,得到总改动幅度。
    ∑i=1n∣xi′−xi∣MADi\sum_{i=1}^{n} \frac{|x'_i - x_i|}{\mathrm{MAD}_i}
  4. 平衡系数 \(\lambda\)决定“翻盘”和“少改”谁更重要。
    λ>0\lambda > 0

4. 梯度下降求解

剧本修改师不靠灵感,他更像一个盲人在山坡上摸索下山的路:每走一步,先用脚尖试探哪个方向坡度向下最陡,就往那个方向挪一小步。在Wachter方法中,这座“山坡”就是目标函数,而“坡度”就是目标函数对输入特征的梯度。

为了让梯度下降能够运行,Wachter方法要求模型对输入可微——神经网络、逻辑回归这类模型天然满足;树模型则不能直接求梯度,需要借助代理模型。求解时,一般从原始样本 \(x\) 出发作为初始点,然后反复执行更新:计算损失对 \(x'\) 的梯度,沿负梯度方向移动一小步,直到模型预测接近目标或达到最大迭代次数。

梯度下降把“寻找反事实”变成了“沿山路下坡”。它不保证一次成功,却保证每一步都在朝目标靠近。实际工程中,学习率过大容易在终点附近反复横跳,过小则可能迟迟走不到翻盘点,所以通常需要配合步长衰减或多起点重启。

x′(t+1)=x′(t)−η[2λ(f(x′)−y′)∇f(x′)+sign⁡(x′−x)MAD]x'^{(t+1)} = x'^{(t)} - \eta \left[ 2\lambda \left( f(x') - y' \right) \nabla f(x') + \frac{\operatorname{sign}(x' - x)}{\mathrm{MAD}} \right]
  1. 当前修改版 \(x'^{(t)}\)第 \(t\) 步时的样本,也是即将被进一步修改的“半成品剧本”。
    x′(t)x'^{(t)}
  2. 步长 \(\eta\)每次沿山坡向下迈的步子大小,也叫学习率。
    η>0\eta > 0
  3. 翻盘梯度 \(2\lambda(f(x')-y')\nabla f(x')\)预测误差对输入求导,告诉修改师“往哪个方向改能让预测更快逼近目标”。
    2λ(f(x′)−y′)∇f(x′)2\lambda \left( f(x') - y' \right) \nabla f(x')
  4. 距离梯度 \(\operatorname{sign}(x'-x)/\mathrm{MAD}\)代表“少折腾”的方向,提醒修改师别走太远。
    sign⁡(x′−x)MAD\frac{\operatorname{sign}(x' - x)}{\mathrm{MAD}}

5. 特征调优约束

剧本里有红线,修改师不能碰。比如主角的“出生年月”“母亲姓名”这类特征,现实中根本不可能更改;再比如“已有犯罪记录”这种一旦发生就无法撤销的事实。若反事实解释建议用户“把年龄改小5岁”,哪怕距离再小、预测翻盘再快,也是废纸一张。

因此,Wachter方法在实践中必须加入特征权重和硬约束。特征权重 \(w_i\) 表示“改变这个特征的代价”:代价越高,权重越大,优化时越不愿意动它;对于完全不可动特征,则直接放进固定特征集合 \(\mathcal{F}\),要求 \(x'_i = x_i\)。这样一来,修改师就是在戴着镣铐跳舞,给出的方案才真正可执行。

加入约束后,Wachter方法从“寻找数学上的最小改动”升级为“寻找现实中最合理、最可执行的改动”。这就像修改师先把所有“雷区”标注出来,再在安全区域里寻找最短路径,用户拿到方案时才不会哭笑不得。

min⁡x′  λ(f(x′)−y′)2+∑i=1nwi∣xi′−xi∣MADi,s.t. xi′=xi (i∈F)\min_{x'} \; \lambda \left( f(x') - y' \right)^2 + \sum_{i=1}^{n} w_i \frac{|x'_i - x_i|}{\mathrm{MAD}_i},\quad \text{s.t.}\ x'_i = x_i\ (i\in \mathcal{F})
  1. 特征权重 \(w_i\)代表修改第 \(i\) 个特征的行动成本,权重越大越不愿改动。
    wi≥0w_i \ge 0
  2. 标准化距离 \(w_i |x'_i - x_i|/\mathrm{MAD}_i\)把权重、差值、量纲统一放进同一个式子。
    ∣xi′−xi∣MADi\frac{|x'_i - x_i|}{\mathrm{MAD}_i}
  3. 固定集合 \(\mathcal{F}\)存放不可变特征的“红线名单”。
    i∈Fi \in \mathcal{F}
  4. 硬约束 \(x'_i = x_i\)强制这些特征保持原值,一步都不许动。
    xi′=xix'_i = x_i

6. 质量评估标准

剧本修改师交方案时,用户总要连问三句话:第一,“结局真的变了吗?”第二,“你改了我多少东西?”第三,“你让我改的这些事,我做得到吗?”这三句话对应着反事实解释的三个核心质量指标:有效性、邻近性、可行动性。

有效性指反事实样本的模型预测确实变成了目标类别;邻近性指反事实样本与原始样本的总体距离越小越好;可行动性则强调改动方案要符合现实约束与成本。此外,稀疏性也很重要:改动的特征越少,用户越容易理解和执行。一个高质量的Wachter解释,应当同时满足“翻得了盘、改得少、做得到”。

评估标准决定了我们是拿到一份“理论上成立”的公式,还是一份“真正能帮到人”的说明书。很多反事实解释之所以被业务方拒收,不是因为预测没翻盘,而是因为建议用户“调整年龄”或“删除违约记录”,完全不具备可行动性。

Q(x′)=1[f(x′)=y′]⏟有效性−αd(x,x′)⏟邻近性−βcost(x,x′)⏟可行动性Q(x') = \underbrace{\mathbf{1}\left[ f(x') = y' \right]}_{\text{有效性}}- \alpha \underbrace{d(x,x')}_{\text{邻近性}}- \beta \underbrace{\mathrm{cost}(x,x')}_{\text{可行动性}}
  1. 指示函数 \(\mathbf{1}[\cdot]\)若预测成功翻盘,取1,否则取0,它是解释有效的“一票通过项”。
    1[f(x′)=y′]\mathbf{1}\left[ f(x') = y' \right]
  2. 邻近性 \(d(x,x')\)改动距离越小,扣分越少。
    α d(x,x′)\alpha\, d(x,x')
  3. 可行动成本 \(\mathrm{cost}(x,x')\)用户执行建议时需要付出的现实代价,金额、时间、精力都算。
    β cost(x,x′)\beta\, \mathrm{cost}(x,x')
  4. 总质量 \(Q(x')\)分数越高,说明这份“改命方案”越靠谱。
    Q(x′)Q(x')

7. 局限与展望

剧本修改师也有自己的烦恼:有时候,同一份剧本存在两条截然不同的翻盘路线——改收入能过,改负债也能过——他不知道该推荐哪一条;有时候,他精心算出的方案在现实世界根本走不通,比如“把征信查询次数减去3次”。这些正是Wachter方法的软肋:解不唯一、可能被对抗性地操纵、并且不保证因果有效性。

Wachter方法生成的只是“模型局部行为的开环副本”,而不是“世界运行规律的因果结论”。用户按它的建议提高收入,模型确实可能改判,但真实世界中的收入提高还会引发其他连锁反应,这是原版方法无法建模的。因此,近年的研究开始把因果图、可行动性集合、鲁棒优化引入反事实搜索,让解释更稳健、更贴近现实。

虽然Wachter方法还不够完美,但“最小修改翻盘”这个思想启发了大量后续工作。今天的反事实解释已经不是一句简单的“如果当初”,而是正在成为人机信任体系中一块不可或缺的拼图。

xactionable′=arg⁡min⁡x′∈Ad(x,x′),s.t. f(x′)=y′x'_{\mathrm{actionable}} = \arg\min_{x'\in\mathcal{A}} d(x,x'), \quad \text{s.t.}\ f(x')=y'
  1. 可行动集合 \(\mathcal{A}\)所有现实中可执行的改动方案构成的集合,砍掉所有“红线”和“不可能任务”。
    A\mathcal{A}
  2. 可行动反事实 \(x'_{\mathrm{actionable}}\)在可执行范围内距离原始样本最近的那个方案。
    xactionable′x'_{\mathrm{actionable}}
  3. 约束 \(f(x')=y'\)同时保证模型预测成功翻盘。
    f(x′)=y′f(x')=y'

AI 应用场景

银行信贷审批

阶段:模型解释与决策支持

解决的问题:传统风控模型通常只输出“拒绝”,客户打电话来质问“凭什么”,客服只能重复固定话术。Wachter方法自动为每个被拒客户生成专属解释:“每月还款额降低2000元即可获批”,让客服有据可依,客户也知道下一步该怎么做。

具体案例:某消费金融公司接入Wachter方法后,对拒绝样本自动计算反事实方案,并通过短信推送给用户。结果显示,用户二次申请比例提高约18%,投诉量显著下降。

医疗辅助诊断

阶段:临床决策辅助

解决的问题:医生面对AI给出的“高风险”判断,往往不知道是哪些指标触发了警报。Wachter方法可指出“如果糖化血红蛋白降至7.0以下,风险评级会从高危降到中危”,辅助医生制定干预方案。

具体案例:在糖尿病并发症预测模型中,系统对每位患者输出“最小指标修改建议”。医生发现,建议集中在糖化血红蛋白和血压两个可干预指标上,临床采纳率明显高于单纯的“概率分数”。

招聘简历筛选

阶段:公平性与可解释审计

解决的问题:应聘者被AI“一键淘汰”后完全不知道原因,容易引发公平性质疑。Wachter方法为每位淘汰者生成一条“如果具备XX证书或3年行业经验,就会进入面试”的改进路径,既体现透明,又帮助候选人成长。

具体案例:某招聘平台使用Wachter方法生成落选反馈后发现,反馈页面的二次访问率提升27%,用户对平台“黑箱筛选”的抱怨显著减少。

Python 演示

python29 行
import numpy as np def sigmoid(z):    return 1.0 / (1.0 + np.exp(-z)) def model(x):    w = np.array([3.0, -2.0])    b = -0.1    return sigmoid(np.dot(w, x) + b) def wachter_counterfactual(x0, y_target=1.0, lam=5.0, lr=0.05, steps=300):    w = np.array([3.0, -2.0])    b = -0.1    x = x0.copy()    mad = np.array([1.0, 1.0])    for _ in range(steps):        p = sigmoid(np.dot(w, x) + b)        grad_ce = 2 * (p - y_target) * p * (1 - p) * w        grad_dist = np.sign(x - x0) / mad        x = x - lr * (lam * grad_ce + grad_dist)    return x if __name__ == "__main__":    x0 = np.array([-1.4, 0.6])    x_cf = wachter_counterfactual(x0)    print("原始样本预测:", round(model(x0), 4))    print("反事实样本预测:", round(model(x_cf), 4))    print("反事实样本:", np.round(x_cf, 3))    print("改动距离:", np.round(np.abs(x_cf - x0), 3))
目的:用Python实现一个简化版Wachter方法,对一个可微逻辑回归模型求解“最小修改反事实”,演示如何从“拒绝”翻盘为“通过”。
  1. p = sigmoid(np.dot(w, x) + b)算出“命运考官”对当前修改版剧本的打分概率。
  2. grad_ce = 2 * (p - y_target) * p * (1 - p) * w计算翻盘损失对输入特征的梯度,决定往哪个方向改。
  3. grad_dist = np.sign(x - x0) / mad计算距离惩罚项的梯度,劝阻修改师别改太远。
  4. x = x - lr * (lam * grad_ce + grad_dist)沿负梯度方向更新一步,兼顾“翻盘”和“少改”。
  5. print("反事实样本预测:", round(model(x_cf), 4))最后验证这份新剧本是否真的让预测翻转成功。

常见误区

误区我以为是像“平行世界导航”一样,把所有能翻盘的改法全部枚举出来,做成一张清单让用户挑。

正解Wachter方法是一个最优化过程,它只给出一个(或少数几个)在目标函数意义下“最小改动”的方案,并不会穷举所有可能。它更像剧本修改师只挑选一条最短捷径,而不是画完整张城市地图。

为何常见:因为“反事实”这个词让人联想到“如果当初”的无数种平行可能,而忽视了Wachter本身是个求极值的优化方法。

误区看到它使用梯度下降,就以为只有能求出梯度的模型才能用它,黑盒模型完全没办法做反事实解释。

正解如果模型不可微,我们依然可以借助代理模型、随机搜索或进化算法来近似求解同一个“最小修改”目标。不过这些方式往往更慢、更不稳定,所以原版Wachter方法才偏爱可微模型。

为何常见:因为大多数资料都直接展示梯度更新公式,初学者容易把“实现工具”误当成“方法边界”。

误区总认为距离损失越小,解释就越完美,如果能只改0.001个单位就翻盘,那简直是最优解。

正解反事实解释还要考虑稀疏性和可行动性。建议用户把“年龄减小0.001岁”距离确实小,但毫无意义;把“信用卡负债降低2万元”可能距离稍大,却能让用户真正执行。

为何常见:因为数学目标里“距离”最直观,而“现实可行性”难以量化,容易被忽略。

误区以为Wachter方法告诉我们“把收入提高3万就能获批”,就等于证明了收入和贷款审批之间存在因果规律。

正解Wachter方法本质上是在拟合模型决策边界,它描述的是“模型眼里”的局部行为,而不是真实世界的因果机制。提高收入可能引发其他特征变化,因果结论需要额外的因果推断工具。

为何常见:因为生活语言中“如果……就会……”天然带因果味道,而数学上它只是反事实条件句的近似。

面试题

Q1. Wachter方法生成反事实解释时,最核心的追求是什么?

单选题 · easy

  • A.生成样本要完全随机
  • B.翻盘之外还要改动最小← 正确答案
  • C.计算速度要尽量最快
  • D.解释文字要尽量最短

答案:B。Wachter方法的核心是“以最小修改换取预测翻转”。随机生成、速度最快、文字最短都不是它的设计目标。好比剧本修改师优先思考的是“改哪里最少能翻盘”,而不是“改得够不够花哨”。

Q2. Wachter目标函数中的距离项通常用哪种统计量做标准化?

单选题 · mid

  • A.均值绝对偏差← 正确答案
  • B.标准差开根号
  • C.最大值最小值之差
  • D.训练样本的中位数

答案:A。Wachter原论文使用均值绝对偏差(MAD)对各特征做标准化,以便让不同量纲的特征在距离计算中公平竞争。“标准差开根号”概念错乱;极差和中位数虽然也能标准化,但不是Wachter方法的经典选择。

Q3. 下列哪些指标属于反事实解释的质量评估维度?

多选题 · mid

  • A.有效性← 正确答案
  • B.邻近性← 正确答案
  • C.可行动性← 正确答案
  • D.隐藏层数

答案:ABC。有效性指预测是否真的翻转,邻近性指改动距离是否够小,可行动性指方案在现实中是否可行。隐藏层数描述模型结构,与解释质量无关。这就像评价“改命方案”要看是否翻盘、改多少、做不做得到,而不是看命运考官戴了几顶帽子。

Q4. 在Wachter方法的目标函数中,超参数λ(拉姆达)主要发挥什么作用?

单选题 · hard

  • A.决定优化算法的学习率
  • B.权衡预测翻转与特征距离← 正确答案
  • C.控制模型的网络深度
  • D.指定初始样本的位置

答案:B。λ是预测损失项和距离惩罚项之间的平衡系数:λ越大越强调翻盘,λ越小越强调少改。学习率是优化器自己的参数,网络深度是模型结构,初始样本位置来自输入数据,三者都与λ无关。

Q5. 反事实解释回答的问题,最像下面哪一句?

单选题 · easy

  • A.如果多考十分能否录取← 正确答案
  • B.全班成绩平均是多少
  • C.明天出门要不要带伞
  • D.这道菜应该放多少盐

答案:A。“如果多考十分能否录取”是典型的反事实问题:给定一个微小改变,重新评估结果。全班平均分是统计描述,出门带伞是预测天气,放盐是做菜经验,都不符合“假设改动→结果翻转”的结构。

Q6. Wachter方法的已知局限包括哪些?

多选题 · hard

  • A.反事实答案不一定唯一← 正确答案
  • B.生成的解释可能不具可行动性← 正确答案
  • C.能直接证明特征间的因果关系
  • D.对不可微模型的适用性有限← 正确答案

答案:ABD。Wachter方法使用梯度下降,可能收敛到不同局部最优,因此解不唯一;如果没有加约束,它可能给出“改年龄”这类不可行动建议;对不可微模型难以直接求梯度。它并不提供因果证明,只是模型局部行为的近似。

Q7. 用梯度下降求解Wachter目标时,参数的更新方向是?

单选题 · mid

  • A.沿损失函数负梯度方向← 正确答案
  • B.沿损失函数正梯度方向
  • C.沿随机方向反复试探
  • D.沿训练集全局统计方向

答案:A。梯度指向损失上升最快方向,负梯度才指向下降最快方向。Wachter方法要让目标函数下降,所以必须沿负梯度更新。正梯度会让损失增大,随机或全局统计方向则没有优化保证。

Q8. 一个高质量反事实解释通常希望修改特征的个数?

单选题 · easy

  • A.越少越好← 正确答案
  • B.越多越好
  • C.等于特征总数
  • D.完全随机决定

答案:A。修改的特征越少,用户越容易理解和执行,这就是“稀疏性”。改动越多,方案越复杂、成本越高。等于特征总数等于把整个剧本重写,完全随机决定更是毫无意义。

Q9. 为了提升反事实解释的可行动性,常采用哪些做法?

多选题 · mid

  • A.固定年龄等不可变特征← 正确答案
  • B.给不同特征设置权重← 正确答案
  • C.忽略所有业务约束
  • D.用MAD处理量纲差异← 正确答案

答案:ABD。把年龄等不可变特征设置为固定值并加入硬约束,能避免给出“转世投胎”式建议;给不同特征设置权重,能体现修改成本不同;MAD标准化能让不同量纲公平比较。忽略业务约束恰恰会导致方案不可执行。

Q10. 在Wachter方法中,把带约束优化问题转化为无约束优化时,常用手段是什么?

单选题 · hard

  • A.把预测误差作为等式约束保留
  • B.把两项损失加权求和← 正确答案
  • C.把距离项作指数变换
  • D.把初始点随机移位

答案:B。Wachter方法通过加权求和,把“翻盘”和“少改”两个目标合并成一个可微的目标函数。这不等于完全保留等式约束,也没有对距离做指数变换,更不是改变初始点。相当于把“必须翻盘”和“尽量少改”写进同一份合同,用λ定权重。