想象你是山脚下一条河的资深水质监测员。过去三年,河水的酸碱度一直稳定在 7 左右,你凭着自己总结的经验,拿试纸一测就能判断一瓢水是否合格。可今年春天开始,上游建了化工厂,河水偶尔泛黄,pH 值悄悄爬向 8,你的老经验开始频频出错——明明看着正常的水,检测后却发现不达标;你觉得有问题的,反而一路绿灯。这不是你失职,而是“河水变了”。 在 AI 世界里,河水就是不断涌来的数据,你的经验就是训练好的模型。当数据背后的规律——专业上叫概念——发生改变时,模型就像拿着旧地图找新路一样失灵。这个过程称为概念漂移(Concept Drift)。更棘手的是,河水不会敲锣打鼓地告诉你“我要变了”,它可能一夜之间剧变,也可能一天天缓慢蜕变,甚至像潮汐一样周期性反复。作为监测员,你需要一套像“水质报警器”一样的机制,在问题酿成严重后果之前拉响警报。DDM 和 EDDM 正是两款经典的“水质报警器”:一个紧盯误判率,一个紧盯误判间隔,用统计学的标尺丈量数据世界的每一丝波动。

岗位关联

掌握概念漂移检测,是 AI 工程师为模型装上“火警探测器”的核心技能——让在线系统在数据异动时自动预警、自我修复,避免模型悄悄“带病上岗”。

目录
  1. 可视化演示
  2. 概念漂移认知
  3. 漂移类型识别
  4. DDM算法原理
  5. EDDM算法改进
  6. 漂移响应策略
  7. 工程落地实践
  8. AI 应用场景
  9. Python 演示
  10. 常见误区
  11. 面试题

可视化演示

展示DDM误码率追踪与2σ/3σ阈值检测、EDDM错误间距监测、以及漂移响应策略的完整流程。

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

DDM误码率追踪 稳定期错误率服从二项分布,均值pi稳定 pi+2σ超阈值触发Warning警告级 pi+3σ→Drift 3-sigma原则确认漂移需重训练

概念漂移认知

作为老练的水质监测员,你很快发现不对劲:河水表面看还是清亮亮的,但用老经验判断“水色偏绿→水质微酸”的套路,十次有八次对不上号。问题不在你的眼力,而在于“水色”和“水质”之间的关联本身变了。上游的化工厂改变了河道里的微生物结构,同样的水色,背后的化学指标已经完全不同。

在机器学习中,“水色”就是模型的输入特征 x,“水质是否达标”就是输出标签 y,而“水色→水质”的映射关系,正是模型从历史数据中学到的规律。当这条规律随时间推移而改变时,术语称为概念漂移(Concept Drift)。形式化地看,它指的是输入与输出之间的条件分布发生了改变——同样的输入,对应的输出分布已经不一样了:

概念漂移不是凭空冒出来的。环境的改变(季节更替、政策调整)、用户行为偏好的迁移(从爱逛线下到沉迷直播)、甚至数据采集设备的老化,都会让模型背后的“水情规律”悄悄改写。如果不加监测,模型的预测精度会以肉眼可见的速度下滑,而业务方往往浑然不知,直到线上指标亮起红灯才追悔莫及。因此,在线检测概念漂移,是让 AI 系统“知道自己什么时候该更新知识”的前提。

就像监测员不能抱着十年前的水质手册不放,AI 工程师也不能假设模型训练完就一劳永逸。意识到“河水会变”,是建立整套监测体系的第一步。

Pt(y∣x)≠Pt+1(y∣x)\displaystyle P_t(y \mid x) \neq P_{t+1}(y \mid x)
这个式子说明:同样的输入 x,在 t+1 时刻对应的输出分布已经和 t 时刻不同,旧模型的经验因此失效。
  1. P 表示概率分布它回答“某个事件发生的可能性有多大”,比如给定输入 x 时输出为 y 的概率:$P$
  2. x 代表输入特征模型的观测样本,比如“河水颜色、浑浊度、pH 值”:$x$
  3. y ∣ x 是条件分布给定输入 x 时输出 y 的分布,即“看到这种水色,水质达标的概率分布”:$y \mid x$
  4. 下标 t 与 t+1 是前后时刻t 表示当前时刻,t+1 表示下一时刻,把前后两个时刻的规律放在一起对比:$t, \ t+1$
  5. ≠ 表示两者不等条件分布不再相同,说明概念漂移已经发生:$\neq$

漂移类型识别

同样是水情变化,节奏却天差地别。有时是上游化工厂半夜偷排,一整罐墨绿色污水倒进河道,水色在一夜之间面目全非;有时是季节更替,气温每升高一度,藻类就多一点,河水一天天从清澈走向浑浊;还有的时候是潮汐般的反复,雨季水位上涨、旱季回落,规律循环往复。

这三种节奏,恰好对应概念漂移的三种主要类型:突发漂移(Sudden Drift)、渐进漂移(Gradual Drift)和循环漂移(Recurring Drift)。识别漂移的节奏,是为了选择合适的“报警灵敏度”——突发漂移要求系统在几个样本内反应过来,渐进漂移则允许更长的观察窗口。

突发漂移指分布在一个极短时间窗内完成切换,类似于一瓢水瞬间换了颜色;渐进漂移则像一个“换血”过程——新分布每天掺入一点,旧分布逐步退场,可以用加权混合来刻画:

把三种节奏装进脑海里,监测员就知道该用什么档位的仪器:突发漂移需要反应极快的“电子报警器”,渐进漂移更适合能捕捉长期趋势的“统计记录仪”,循环漂移则要加上“日历”提醒。接下来登场的 DDM 和 EDDM,正是两类不同档位的报警器。

突发: Pt0(y∣x)≠Pt0+Δt(y∣x),渐进: Pt(y∣x)=(1−αt)Pold(y∣x)+αtPnew(y∣x)\displaystyle \text{突发: } P_{t_0}(y \mid x) \neq P_{t_0+\Delta t}(y \mid x), \qquad \text{渐进: } P_t(y \mid x) = (1-\alpha_t) P_{\text{old}}(y \mid x) + \alpha_t P_{\text{new}}(y \mid x)
突发漂移强调“突变”,渐进漂移强调“混合”。循环漂移则是渐进与突变的周期组合,如节假日流量周期性回升。
  1. t0 与 Δt 表示突变瞬间t0 是突变发生的时刻,Δt 是很短的时间增量,两者之间的分布已截然不同:$t_0, \ \Delta t$
  2. ≠ 表示切换完成在极短时间内,条件分布从旧规律跃迁到新规律:$\neq$
  3. α_t 是混合权重从 0 逐渐增长到 1,控制新分布“掺入”旧分布的速度:$\alpha_t \in [0, 1]$
  4. 加权求和表示渐进混合当 α_t 接近 1 时,模型面对的几乎完全是新分布:$(1-\alpha_t)P_{\text{old}} + \alpha_t P_{\text{new}}$

DDM算法原理

DDM(Drift Detection Method,漂移检测方法)的工作方式很像一位尽职的哨兵,每天在岗哨上记录自己“看走眼”的次数——也就是模型预测错误的比例,专业上叫误码率或在线错误率。哨兵的逻辑很朴素:如果河道一直稳定,看走眼的频率应该在一个低位水平上小幅波动;如果突然频繁看走眼,且这种“频繁”持续恶化、超过历史最好成绩太多,就说明河水的规律变了。DDM 把这句话翻译成了数学。

假设每个样本 i 的预测是否正确记为 e_i(1 表示错误,0 表示正确)。到时刻 t 为止,累计错误率 p_t 和它的标准差 s_t 可以这样计算:

DDM 始终记得历史上表现最好的那个时刻(记为 p_min 与 s_min)。如果当前“均值+标准差”比历史最好成绩高出 2 倍标准差,进入警告区间(warning zone);高出 3 倍标准差,则宣布概念漂移发生:

哨兵的账本越记越厚,但它从不看单天的得失,而是和“最好的自己”比较。这正是 DDM 简洁而有效的原因。不过,哨兵也有短板:当变化像温水煮青蛙一样缓慢时,累计错误率被大量历史样本“稀释”,DDM 往往后知后觉。于是,一个更敏锐的同伴——EDDM 登场了。

pt=1t∑i=1tei,st=pt(1−pt)t\displaystyle p_t = \frac{1}{t}\sum_{i=1}^{t} e_i, \qquad s_t = \sqrt{\frac{p_t(1-p_t)}{t}}
warning 是“黄灯”,drift 是“红灯”。黄灯提醒工程师开始准备,红灯要求立即采取行动。
  1. p_min 与 s_min 是历史锚点历史错误率及其标准差的最优值,是“最好成绩”的基准线:$p_{\min}, s_{\min}$
  2. 2 倍标准差触发警告相对最好成绩高出 2 个标准差,错误率已明显恶化,进入警告区:$2 s_{\min}$
  3. 3 倍标准差判定漂移高出 3 个标准差,在统计学上几乎不可能由随机波动解释,宣布漂移:$3 s_{\min}$
  4. ≥ 是比较条件当前统计量达到或超过门槛,就触发对应级别的响应:$\geq$

EDDM算法改进

EDDM(Early Drift Detection Method,早期漂移检测方法)像一位经验更老道的监测员。它不只看“看走眼的比例”,还关注另一个细节:两次看走眼之间,隔了多久? 想象一下:稳定期时,哨兵可能走上大半天才犯一次迷糊;而当上游开始缓慢排污水时,河水一天天变浑,哨兵出错的节奏会越来越密——从“半天一次”变成“一炷香一次”。错误间隔的缩短,往往是渐进变化的早期信号,比错误率本身的上升来得更早。

EDDM 记录连续两次预测错误之间正确预测的样本个数,记为距离 d_i。它维护这些距离的滑动平均 p'_t 和标准差 σ'_t,并与历史最优值做比较:

EDDM 用两个经验阈值做分级告警:

如果说 DDM 是盯着“错误水位”的哨兵,EDDM 就是盯着“错误间距”的猎犬。当河水还在缓慢变浑、水位尚未明显上涨时,猎犬已经通过越来越密的脚步声嗅到了危险。正因如此,EDDM 对渐进漂移的响应速度通常优于 DDM,尤其适合用来守护那些“温水煮青蛙”式的业务场景。

pt′=1n∑i=1ndi,rt=pt′+2σt′pmax⁡′+2σmax⁡′\displaystyle p'_t = \frac{1}{n}\sum_{i=1}^{n} d_i, \qquad r_t = \frac{p'_t + 2\sigma'_t}{p'_{\max} + 2\sigma'_{\max}}
0.95 和 0.90 来自原论文的实验经验值。实际项目中,这两个阈值需要根据业务对“漏报”和“误报”的容忍度微调。
  1. 0.95 是警告阈值当前间隔表现滑落至历史最优的 95% 以下,进入预警状态:$r_t \leq 0.95$
  2. 0.90 是漂移阈值跌破最优值的 90%,判定概念漂移成立,应触发模型更新:$r_t \leq 0.90$
  3. 条件触发动作比值越小说明错误出现得越频繁,间隔被压缩得越厉害:$\Rightarrow$

漂移响应策略

报警器响了,监测员该做什么?是抱起整本水质手册扔进火里、一切从头再来,还是掏出钢笔在手册上添一行修订说明?这取决于水情变化的烈度,也取决于资源与代价的权衡。机器学习中的“漂移响应策略”回答的正是这个问题,常见策略有三类:模型重置、增量更新、告警触发调度。

  • 告警触发调度:DDM/EDDM 输出 warning 时,系统开始缓存最近样本、准备备用模型;输出 drift 时,立即执行更新流程,或切换到已备好的候补模型。这是“黄灯准备、红灯行动”的分级思想。
  • 模型重置:丢弃旧模型,用最近一段时间的缓存数据重新训练。简单直接,但成本高、响应慢,适合突发漂移。
  • 增量更新:保留旧模型的大部分知识,用新数据做在线微调。梯度下降的更新公式如下,其中 w 是模型参数,η 是学习率,∇L 是损失函数的梯度,D_t 是当前时刻的新鲜数据:

聪明的监测员不会等河水彻底变黑才动手。他会把黄灯当作“准备期”,把红灯当作“行动令”,用一套组合拳——缓存、重训、微调、切换——应对不同烈度的水情。这样,即使河水反复无常,整条河的治理体系也不会崩溃。

wt+1=wt−η∇wL(wt;Dt)\displaystyle w_{t+1} = w_t - \eta \nabla_{w} \mathcal{L}(w_t; \mathcal{D}_t)
增量更新的本质是“牵着旧知识的手,向新数据的方向走一小步”。
  1. w_t 是当前模型参数模型记忆的载体,比如神经网络的权重矩阵:$w_t$
  2. η 是学习率控制每一步更新的步长,步长太大容易忘掉旧知识,太小又跟不上变化:$\eta$
  3. ∇_w L 是损失梯度告诉参数应该往哪个方向调整,才能减少当前数据上的预测损失:$\nabla_{w} \mathcal{L}(w_t; \mathcal{D}_t)$
  4. 更新动作是沿负梯度移动参数向“损失下降的方向”迈出一小步,旧知识被保留、新知识被吸收:$w_{t+1} = w_t - \eta \cdot \text{梯度}$

工程落地实践

把监测设备从河边搬进机房,河流变成了源源不断的数据管道。现实世界的数据以每秒成千上万条的速度流过 Kafka、Flink 等流式计算框架,概念漂移检测也从“实验室里的统计公式”变成了“7×24 小时值守的自动化哨兵”。

工程落地要解决三个问题:数据怎么来?统计怎么算?告警怎么响应?实践中,工程师通常用一个滑动窗口来近似“最近这段时间”的错误率,而不是从第 1 个样本累计到当前——因为概念漂移检测关心的是“此刻”的规律,而不是“这辈子”的平均:

在实时信贷风控中,欺诈模式可能随黑产技术的升级而突然变化,DDM 可以第一时间感知;在电商推荐中,用户偏好随季节和热点渐进漂移,EDDM 能提前预警;在工业预测性维护中,设备传感器读数的分布变化往往意味着工况漂移,DDM/EDDM 与在线学习模型联动,让维护策略自动适应。从河边到机房,工具还是那套工具,但守的是 AI 系统稳健运行的底线——这就是概念漂移监测的工程价值。

---

p^t=1W∑i=1W1[y^t−i+1≠yt−i+1]\displaystyle \hat{p}_t = \frac{1}{W}\sum_{i=1}^{W} \mathbb{1}\left[\hat{y}_{t-i+1} \neq y_{t-i+1}\right]
窗口大小 W 是关键超参数:W 太小,统计噪声大;W 太大,对变化反应慢。一般结合业务节奏调参,如风控系统常用几千到几万个样本的窗口。
  1. W 是窗口大小只统计最近 W 个样本,老样本自然“过期”退场:$W$
  2. 1[·] 是指示函数方括号内的条件成立时取 1,否则取 0,用来数“错了几个”:$\mathbb{1}[\cdot]$
  3. ŷ 与 y 分别表示预测与真实标签两者不同,说明这个样本预测错了:$\hat{y} \neq y$
  4. 求和取平均得到窗口误判率窗口内错误样本占比,即“最近的误判率”:$\frac{1}{W}\sum_{i=1}^{W}$

AI 应用场景

实时信贷风控中的欺诈模式监测

阶段:模型上线后的在线监控与运维

解决的问题:传统风控模型假设欺诈模式静态不变,但黑产团伙会不断试探和更换手法。当“正常交易→欺诈”的映射关系发生漂移时,旧模型的拒绝规则迅速失效,坏账率上升。DDM 在风控日志流上逐批计算预测错误率,漂移告警触发策略切换。

具体案例:某消费金融公司每天处理 500 万笔交易,风控模型拒绝率稳定在 4%。团队在生产环境接入 DDM,对每 1000 笔交易的预测结果做在线统计。某周黑产利用新漏洞发起攻击,模型错误率从 3% 攀升到 11%,DDM 在第 3 天触发漂移告警,风控团队随即切到重训模型,避免了后续数百万的欺诈损失。

电商推荐系统的偏好漂移感知

阶段:推荐模型的实时反馈闭环

解决的问题:用户偏好会随季节、热点事件、代际更替渐进变化,不及时更新会导致点击率下滑。EDDM 的间隔分析方法能在点击率尚无明显下跌时,通过“连续推荐错误间距缩短”提前发现偏好迁移。

具体案例:某短视频平台在召回层模型上部署 EDDM,监测“用户是否点击推荐视频”的预测误差间隔。每逢节假日,EDDM 会先于业务指标恶化 6-12 小时发出 warning,运营团队据此提前推送新内容池并触发增量训练,假期推荐点击率同比提升了 18%。

Python 演示

python54 行
import mathimport random  class DDMDetector:    """简化版 DDM 概念漂移检测器"""     def __init__(self, warning_level=2.0, drift_level=3.0):        self.warning_level = warning_level        self.drift_level = drift_level        self.total_num = 0        self.error_sum = 0.0        self.p_min = float('inf')        self.s_min = 0.0        self.state = 'normal'     def update(self, y_true, y_pred):        error = 0.0 if y_true == y_pred else 1.0        self.total_num += 1        self.error_sum += error        p = self.error_sum / self.total_num        s = math.sqrt(max(p * (1 - p) / self.total_num, 1e-9))        if p + s < self.p_min + self.s_min:            self.p_min = p            self.s_min = s        if p + s > self.p_min + self.drift_level * self.s_min:            self.state = 'drift'        elif p + s > self.p_min + self.warning_level * self.s_min:            self.state = 'warning'        else:            self.state = 'normal'        return self.state  def main():    random.seed(2024)    detector = DDMDetector()    for step in range(1000):        true_label = 1 if random.random() < 0.5 else 0        if step < 500:            # 前 500 步使用旧分布, 模型错误率约 10%            pred = true_label if random.random() < 0.9 else 1 - true_label        else:            # 后 500 步概念漂移: 真实规律反转, 模型频繁出错            pred = 1 - true_label if random.random() < 0.8 else true_label        state = detector.update(true_label, pred)        if state == 'drift':            print('检测到概念漂移, 时间步:', step)            return    print('未检测到概念漂移')  if __name__ == '__main__':    main()
目的:实现一个简化版 DDM 检测器,并在模拟数据流上演示它是如何捕捉到概念漂移的。
  1. class DDMDetector:定义一个携带累计统计量的漂移检测器类,等价于哨兵的“账本”。
  2. self.error_sum += error累加错误数,这是计算误码率的基础。
  3. p = self.error_sum / self.total_num计算到当前时刻的累计错误率,对应公式中的 p_t。
  4. s = math.sqrt(max(p * (1 - p) / self.total_num, 1e-9))计算错误率的标准差 s_t,并设置下限防止除零。
  5. if p + s < self.p_min + self.s_min:当当前统计量刷新历史最好成绩时,更新 p_min 与 s_min。
  6. if p + s > self.p_min + self.drift_level * self.s_min:若超过“历史最优 + 3 倍标准差”,判定漂移。
  7. pred = 1 - true_label if random.random() < 0.8 else true_label模拟漂移发生后的数据流:真实标签与模型预测规律相反,模型开始大面积出错。
  8. if state == 'drift':一旦哨兵发出“红灯”信号,立即输出告警并终止监测流程。

常见误区

误区我以为只要输入的分布变了,就是概念漂移。反正都是“数据变了”,检测方法应该一样。

正解数据漂移关注的是输入特征本身的分布 P(x) 发生变化,而概念漂移关注的是输入与输出之间的映射 P(y|x) 发生改变。打一个比方:数据漂移是“河水颜色变了”,概念漂移是“同样的颜色对应的水质标准变了”。两者可能同时发生,但监测目标不同:前者检查特征分布,后者检查预测关系。

为何常见:两者都会导致模型精度下降,且实践中常相伴出现,新手容易混为一谈。

误区DDM 用的是累计错误率,错误多了总会超阈值,所以渐进漂移也能及时检测出来。

正解DDM 的累计机制反而成了短板。渐进漂移早期错误率提升幅度小,被大量历史正确样本“稀释”,统计量久久无法突破阈值。EDDM 改用错误间隔作为指标,间隔缩短在渐变早期就非常明显,响应更快。选型要看漂移形态:突发漂移用 DDM,渐进漂移优先 EDDM。

为何常见:DDM 名气大、实现简单,很多教程只讲 DDM,容易让人误以为它是万能的。

误区只要 DDM 报了 drift,我就马上把模型丢进训练集群,用最新数据从头训练一个新模型。

正解全量重训成本高、耗时长,而且如果只是瞬时噪声或短周期循环漂移,重训反而会破坏原本健康的模型。正确做法是分级响应:warning 阶段缓存数据、准备候选模型;drift 阶段先尝试增量更新,必要时再全量重训或切换候选模型。用比喻说:黄灯先踩刹车观察,红灯才急打方向。

为何常见:把“检测”和“行动”直接画等号,忽视了工程上成本与风险的平衡。

误区模型刚预测错了一两个样本,我赶紧去看看是不是概念漂移了。

正解单条样本的预测错误可能是噪声,任何模型都有正常错误率。漂移判断必须基于累计或窗口化的统计量——DDM 需要比较 p_t+s_t 与历史最优值,EDDM 需要比较间隔比值。就像监测员不会因为一次看走眼就宣布整条河变质,而是要看一段时间内的错误趋势。

为何常见:人对“最近一次失败”特别敏感,容易把个别波动放大成系统性变化。

面试题

Q1. 下列哪种情况最符合“概念漂移”的定义?

单选题 · easy

  • A.输入特征的空值突然增多
  • B.输入输出映射关系随时间改变← 正确答案
  • C.模型参数被恶意篡改破坏
  • D.训练数据总量持续减少

答案:B。概念漂移指输入 x 与输出 y 之间的条件分布随时间变化,即“同样的输入,规律变了”,对应 B。A 和 D 属于数据漂移范畴,C 是安全问题,都不是概念漂移。

Q2. 下面哪个例子属于突发漂移?

单选题 · easy

  • A.季节更替导致销量渐变
  • B.政策突变致审批规则瞬变← 正确答案
  • C.用户偏好随年代缓慢迁移
  • D.电商大促后流量周期起伏

答案:B。突发漂移强调“一夜之间剧变”。政策突变导致审批规则瞬间改变,正是突发漂移的典型画面,对应 B。A 与 C 是渐进漂移,D 是循环漂移。

Q3. DDM 算法中,判断是否进入“警告区间”(warning zone)的条件是?

单选题 · mid

  • A.当前错误率加历史最优错误率之和
  • B.当前错误率加标准差与历史最优比较← 正确答案
  • C.连续错误间隔的平均与标准差
  • D.模型损失函数的梯度二阶范数

答案:B。DDM 将“当前错误率 p_t + 标准差 s_t”与“历史最优 p_min + s_min”比较,超过 2 倍 s_min 时进入警告区,对应 B。A 把两个错误率相加是干扰项;C 是 EDDM 的思路;D 与漂移监测无关。

Q4. EDDM 相比 DDM 的核心改进是什么?

单选题 · hard

  • A.连续两次出错间的样本间隔← 正确答案
  • B.单批数据的平均损失值
  • C.模型参数的梯度范数大小
  • D.特征间互信息统计量

答案:A。EDDM 用连续两次预测错误之间“隔了多少个正确样本”(间隔距离)作为监测指标,间隔缩短意味着错误变密集、漂移正在发生,对应 A。B/C/D 分别属于损失监控、梯度诊断、特征分析,都不是 EDDM 的核心。

Q5. DDM 判定漂移时使用“3 倍标准差”门槛,其背后的统计含义是?

单选题 · extreme

  • A.p_t + s_t 超过 p_min 加三倍 s_min
  • B.错误率高于历史均值三个标准差← 正确答案
  • C.错误间隔缩短到历史最优的九成
  • D.模型损失下降超过三倍阈值

答案:B。3 倍标准差在统计学上意味着“几乎不可能由随机波动解释”。当前统计量高出历史最好成绩 3 个标准差,说明错误率显著恶化,判定漂移成立,对应 B。A 只是公式复述,并非“统计含义”;C 是 EDDM 的 0.90 阈值;D 混淆了损失与错误率。

Q6. 下列哪些属于概念漂移的常见类型?

多选题 · mid

  • A.突发漂移← 正确答案
  • B.渐进漂移← 正确答案
  • C.循环漂移← 正确答案
  • D.特征漂移

答案:ABC。概念漂移按变化节奏分为突发、渐进、循环三种,对应 ABC。D 的“特征漂移”指输入特征分布 P(x) 的变化,属于数据漂移范畴,不是概念漂移的类型。

Q7. DDM 进入“警告区间”时,最合适的响应动作是?

单选题 · mid

  • A.立即丢弃当前模型
  • B.进入警戒持续观察← 正确答案
  • C.直接切换离线模型
  • D.立刻停止数据流入

答案:B。warning 是“黄灯”,表示错误率开始恶化但尚未确证漂移。此时应进入警戒、缓存数据并持续观察,而不是立即重训或切换,对应 B。A/C 过于激进,D 会中断业务,都不合理。

Q8. 关于 EDDM 的阈值 0.95 与 0.90,下列说法正确的是?

多选题 · hard

  • A.0.95 是警告阈值← 正确答案
  • B.0.90 是漂移阈值← 正确答案
  • C.0.95 是漂移阈值
  • D.0.90 是警告阈值

答案:AB。EDDM 中,当前间隔统计量与历史最优的比值 r_t ≤ 0.95 时发出警告,r_t ≤ 0.90 时判定漂移。因此 A 与 B 正确,C 与 D 把两个阈值搞反了。阈值越小,代表异常越严重。

Q9. 面对渐进漂移时,下列哪种响应策略最合理?

单选题 · mid

  • A.立即触发全量重训
  • B.增量更新加定期重训← 正确答案
  • C.忽略不管直到模型崩溃
  • D.只需降低学习率即可

答案:B。渐进漂移变化缓慢,全量重训既昂贵又容易打断服务,更适合用新数据做增量微调,并配合定期重训巩固知识,对应 B。A 代价过高,C 放任不管,D 只降学习率并不解决分布偏移问题。

Q10. 下列哪些因素可能引发概念漂移?

多选题 · easy

  • A.用户行为偏好变化← 正确答案
  • B.政策法规突然调整← 正确答案
  • C.数据采集设备故障← 正确答案
  • D.服务器 CPU 温度升高

答案:ABC。概念漂移源于“输入输出映射关系”的改变。用户偏好变化、政策调整都会改变决策边界,采集设备故障也会让输入与真实规律脱节,因此 ABC 都是可能成因。D 的 CPU 温度是基础设施问题,不会直接改变输入输出关系,不是概念漂移成因。