社区民警老周最近头疼得很。他管辖的片区里,医保基金接连“失血”:有人伪造病历骗保,有人和药店合伙开“幽灵药单”,还有人把一次普通感冒包装成“豪华体检套餐”。老周一个人、一个本子,根本看不过来。于是他请来一位聪明的助手——一套“医保侦探系统”:它先把每张理赔单的细节量化成一张张“线索卡”,再画出涉案人员之间的“关系网”,接着用“经验口诀”搭配“数据直觉”筛出重点嫌疑人,最后让老周亲自上门核实,避免冤枉好人。这篇文章就沿着老周办案的故事,把医保欺诈检测(Medicare FWA)的完整链路讲清楚:如何从海量理赔中发现“碰瓷专业户”、如何画出骗保团伙的关系网、又如何让机器与人协作把案子办成铁案。

岗位关联

掌握这套检测链路,是你进入医保与保险风控领域的基本功,也是让算法在真实业务中落地、实打实挽回资金损失的硬本领。

目录
  1. 可视化演示
  2. 欺诈问题分析
  3. 数据特征工程
  4. 图异常检测
  5. 规则与模型
  6. 误报审查
  7. 性能与实战
  8. AI 应用场景
  9. Python 演示
  10. 常见误区
  11. 面试题

可视化演示

展示医疗保险理赔欺诈检测的特征空间异常散点、提供商-理赔图异常检测、以及规则+模型双阶段检测管道。

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

特征空间异常 正常理赔聚集中心 欺诈理赔偏离 z>3 频率-金额特征检测离群点

欺诈问题分析

老周的社区不大,但医保基金却年年“失血”。他翻开近三年的报案记录:有人把一次普通的感冒包装成“全套高端体检”,有人明明是摔伤却报成“交通事故后遗症”,还有病人和诊所串通,批量开“幽灵处方”。老周意识到,这不是个别坏人,而是一个分工明确的“骗保江湖”。江湖中的人各怀鬼胎,有人故意造假,有人顺手占便宜,还有人只是没按规矩办事——这三种情况,医疗领域统称为 FWA:Fraud(欺诈)、Waste(浪费)、Abuse(滥用)。欺诈是有预谋的虚假申报,浪费是没有必要的过度医疗,滥用是不合规但未必故意的操作。三者都在掏空医保基金,但性质和治理方式完全不同。

老周明白,不能一概而论地“抓人”。真正的难点在于:第一,标注稀缺,被确认欺诈的理赔只占总量极少数(通常不足 1%),模型能学的“坏例子”太少;第二,对抗性强,欺诈者会根据规则调整手法,规则一紧他们就换剧本;第三,数据规模大,比如美国 Medicare 每年处理超过 10 亿条理赔,单条理赔的实时打分必须毫秒级完成。这些难点交织在一起,让“从海量正常中捞出异常”变成一场概率战。用贝叶斯公式可以理解为什么这么难:

老周把这些思考写进了新笔记本的扉页:“看单子不能只凭感觉,要把三个妖怪分清楚,再用概率说话。” 这一页,就是整套检测系统的出发点。

P(Fraud∣Claim)=P(Claim∣Fraud)⋅P(Fraud)P(Claim)P(Fraud \mid Claim) = \frac{P(Claim \mid Fraud) \cdot P(Fraud)}{P(Claim)}
这条公式告诉我们:即便某种理赔模式在欺诈案件中非常典型,但欺诈本身实在太稀少(先验极低),最终判为欺诈的后验概率依然很小——所以我们要小心“看着像就是”的直觉。
  1. 先验概率 $P(Fraud)$不看理赔内容前,一条理赔是欺诈的概率;好比老周知道辖区报案里约 1% 是碰瓷,但具体到某一单,他不敢妄下结论。
    P(Fraud)P(Fraud)
  2. 似然项 $P(Claim \mid Fraud)$已知欺诈时,出现这种理赔模式的概率;例如骗保团伙的“病历模板”永远只有那几句话,特征非常集中。
    P(Claim∣Fraud)P(Claim \mid Fraud)
  3. 证据因子 $P(Claim)$这种理赔模式在全部理赔中出现的总概率;如果连正常理赔也大量出现同样的模式,这个模式的可疑度就要打折。
    P(Claim)P(Claim)
  4. 后验概率 $P(Fraud \mid Claim)$看到一条具体理赔后,它确实是欺诈的概率;老周看完卷宗后“心里咯噔一下”,就是后验概率飙升的瞬间。
    P(Fraud∣Claim)P(Fraud \mid Claim)

数据特征工程

老周有个泛黄的笔记本,每页都写满嫌疑人的“特征”:出险时间、伤情描述、就医选择、用药偏好。时间一长,他发现碰瓷的人有共同点:总在周五下午报案、描述伤情时像背课文一样流利、总去同一家小诊所开高价药。笔记本里的每条记录,就是原始线索。在算法世界里,这个笔记本叫“特征工程”:原始理赔数据是半结构化的表格,包含诊断编码(ICD-10)、手术编码(CPT)、金额、日期、医生 ID、医院 ID。要让模型“看懂”,必须把这些原始字段加工成有判别力的数值特征。

特征按对象可分为四大类。理赔层面:单笔金额的均值与抖动幅度、同一患者短期重复理赔次数、诊断与治疗是否匹配——比如感冒却开了核磁共振,就值得怀疑。患者层面:历史理赔总次数、慢病基础标签、就诊机构分散度——一个“老病号”突然频繁换医院,背后可能有猫腻。医疗服务者层面:医生单日开单量、平均每单金额、开单时间分布——凌晨三点还在大量开单的内科医生,老周会多问一句。时序层面:相邻理赔的时间间隔、月末与季末的突增、节假日模式。这些特征交织在一起,才构成老周笔记本上“立体的人物画像”。

一个容易踩的细节是量纲问题:金额动辄上万,频次只有个位数。如果不做标准化,模型会天然被“大数字”带偏。因此要对特征做归一化处理:

老周把笔记本交给新来的助理整理成电子表格,每列都是量化的特征。他说:“好线索和坏线索的差别,就藏在这些数字里。”

z=x−μσz = \frac{x - \mu}{\sigma}
标准化让不同量纲的特征(金额几万元、频次十几次)能放在同一把尺子上比较,避免建模时“大数欺负小数”。
  1. 原始值 $x$某个特征的一次实际取值,比如某位医生单日开单 28 张;这是老周笔记本上的一条原始记录。
    x=28x = 28
  2. 均值 $\mu$该特征在所有样本上的平均值,比如辖区医生平均单日开单 12 张;它是衡量“正常水平”的基准线。
    μ=12\mu = 12
  3. 标准差 $\sigma$该特征的波动幅度,开单量的标准差约为 5 张;它描述大家“偏离平均的程度”。
    σ=5\sigma = 5
  4. 标准化值 $z$原始值距离均值几个标准差,$(28-12)/5 = 3.2$,说明这位医生远超典型水平,醒目程度瞬间拉满。
    z=28−125=3.2z = \frac{28 - 12}{5} = 3.2

图异常检测

单看每个人的特征,碰瓷专业户未必显眼——他们每次都精心伪装成普通患者。但老周把关系网一画,问题就浮出水面:同一批人总在固定时间出现在同一家诊所,诊所又总是推荐同一个“康复中心”。单独看每个节点都正常,放到网上一看,却形成一个密不透风的小圈子。这就是图异常检测的思路:把患者、医生、医院、药店看作图中的节点,把“就诊”“开药”“转诊”看作连接节点的边。一个正常的医疗网络应该像城市的毛细血管一样分布均匀,而骗保团伙会聚集成高度互通的“黑团”,在图上格外扎眼。

构建三部图(患者→医生→医院)之后,常用三类方法。一是社区发现(如 Louvain 算法):把网络划分成若干子集团,找出内部连接异常紧密的团伙候选区。二是节点异常评分:用 Node2Vec 等方法学习节点嵌入,再用孤立森林等无监督模型找出与邻居“格格不入”的异常节点——一个病人跑来跑去见了 200 位医生,就非常可疑。三是边权特征:统计两个节点之间的交互频次与金额,用 Jaccard 相似度衡量他们关系的“专一度”。

老周盯着画满圆圈和箭头的关系网,圈出那个密不透风的小圈子,感慨道:“单打独斗的骗子好抓,成团伙的就要靠这张网了。”

J(A,B)=∣A∩B∣∣A∪B∣J(A, B) = \frac{|A \cap B|}{|A \cup B|}
两个医生各自接诊过的患者集合重叠得越多,“共同客户”比例就越高;如果两个医生几乎共享同一批患者,那他们很可能在“资源共享”甚至串通。
  1. 交集 $|A \cap B|$医生 A 和医生 B 共同接诊过的患者人数;好比两个小卖部的常客名单中重叠的名字。
    ∣A∩B∣|A \cap B|
  2. 并集 $|A \cup B|$两人接诊过的总人数,重复只算一次;老周把两份名单合并后的总长度。
    ∣A∪B∣|A \cup B|
  3. 比值 $J(A, B)$重叠人数占总人数的比例,范围 0 到 1;越接近 1,说明两医生几乎“共享客户”。
    J(A,B)∈[0,1]J(A, B) \in [0, 1]
  4. 阈值判定当 J 超过一定值(如 0.6)且金额异常高,就标记为串通嫌疑,送入人工审查名单。
    J(A,B)>0.6⇒alertJ(A, B) > 0.6 \Rightarrow \text{alert}

规则与模型

老周办案有两套本事。一套是师傅传下来的“经验口诀”:“频繁报案必有鬼,深夜开单要盯紧。”这套口诀简单直接、人人能懂,但难免挂一漏万。另一套是他在警校学的统计思维:他会计算哪个辖区的报案率异常,哪些人组合出现的概率低到不自然。口诀是规则,统计是模型。老周知道,单靠哪一边都抓不全骗子。成熟的 FWA 检测系统普遍采用“规则 + 模型”双引擎:规则引擎由医保专家把业务红线固化成 if-then 语句,例如“同一医生单日开单超过 50 张直接告警”;机器学习模型则从海量历史标注中自动学习复杂模式。

规则引擎的优点是透明可控,但它无法捕捉多维特征的复杂交互。监督模型(逻辑回归、梯度提升树)能自动学习非线性关系,但依赖高质量标注。真实场景中欺诈标注极少,常用 PU learning(正例-未标注学习):把少量已确认的欺诈作为正例,其余全部视为“未标注”而非“负例”,用两阶段训练逼近真实分布。最后,通过加权融合把规则得分与模型得分合并,得到一个最终风险分:

老周把口诀抄在纸上交给系统,系统再把统计规律揉进公式。他笑道:“老经验不丢,新套路也能防。”

P(y=1∣x)=11+e−(β0+β1x1+β2x2+⋯+βpxp)P(y=1 \mid x) = \frac{1}{1 + e^{-(\beta_0 + \beta_1 x_1 + \beta_2 x_2 + \cdots + \beta_p x_p)}}
逻辑回归把每个特征的“可疑度贡献”加权求和,再经过 S 形曲线压缩成 0 到 1 之间的概率值;权重越大,代表该特征对欺诈判断的影响越大。
  1. 线性组合 $\beta_0 + \beta_1 x_1 + \cdots + \beta_p x_p$每个特征乘以对应权重后相加,相当于老周心里快速打分:“金额高记 2 分,频次高记 1 分,单日单量大记 3 分”。
    β0+∑j=1pβjxj\beta_0 + \sum_{j=1}^{p} \beta_j x_j
  2. Sigmoid 函数 $\frac{1}{1 + e^{-t}}$把打分从负无穷到正无穷压缩到 0 到 1,相当于把分数折算成“可疑百分比”。
    11+e−t\frac{1}{1 + e^{-t}}
  3. 权重 $\beta_j$特征的重要性,由数据训练自动学习;正如老周整理旧案后明白,“单日单量”比“患者年龄”更有区分力。
    βj\beta_j
  4. 输出 $P(y=1 \mid x)$最终认为这条理赔是欺诈的概率;超过阈值就进入审查名单,等待老周核实。
    P(y=1∣x)∈[0,1]P(y=1 \mid x) \in [0, 1]

误报审查

起初系统上线,老周挺高兴,但麻烦很快来了——每周告警名单几十人,他挨个排除,结果十有八九是冤枉的。药店老板是正经生意人,被他上门问话后气得直投诉;一位常去复查的糖尿病老人被反复“关照”,寒了心。老周这才意识到,抓错好人比抓漏坏人更伤社区元气。这正是 FWA 检测必须认真对待的误报问题:欺诈率极低时,即便模型精确率达到 95%,每 100 条告警里也可能有 80 条是误报。用精确率(Precision)可以量化这个现象:

提高精确率的同时不能丢掉召回率,否则骗子更嚣张。实用策略是构建“人机闭环”:模型按风险分排序输出 Top K 名单,专家抽样复核,复核结果作为新标注回灌模型;同时用 SHAP 等可解释工具告诉专家“为什么告警”——比如某案例被标记是因为“金额超过同病种均值 4 倍且转诊链闭环”,专家几秒就能判断对错。主动学习则优先挑选模型最“犹豫”的样本请求标注,让有限的专家精力花在刀刃上。老周把“先核实再定性”写进了系统流程:让机器跑得快,让人把得准。如今他再敲门,心里有底了。

Precision=TPTP+FPPrecision = \frac{TP}{TP + FP}
精确率衡量“系统说有问题的人里,真正有问题的比例”。在低先验场景下,精确率天然被拉低,因此不能只看整体准确率。
  1. 真正例 $TP$系统告警且事实确认欺诈的数量;比如老周查实了 3 个碰瓷专业户。
    TP=3TP = 3
  2. 假正例 $FP$系统告警但实际无辜的数量;比如那 3 位被冤枉的药店老板。
    FP=3FP = 3
  3. 求和 $TP + FP$系统总共发出的告警数;老周这周一共收到 6 条告警。
    TP+FP=6TP + FP = 6
  4. 比值 $Precision$告警的“含金量”;$\frac{3}{6} = 50\%$,意味着每抓 2 人就有 1 人被冤枉。
    Precision=36=0.5Precision = \frac{3}{6} = 0.5

性能与实战

社区大了,老周不可能一天跑遍所有街道。他给自己定规矩:早晚高峰去菜市场、学校门口巡逻,深夜去夜市蹲点。同样,FWA 系统面对每天数百万条理赔,不可能对每条都做复杂的图计算和模型推理——必须知道把算力花在哪里。性能优化的核心是“分层筛选”:第一层用轻量规则和线性模型做粗筛,把 99% 的普通理赔快速放行;第二层只对进入初筛名单的 1% 做图分析和深度模型重排序。这样既保证覆盖面,又控制成本。

针对类不平衡,常见做法是欠采样(随机丢弃部分正常样本)或 SMOTE 过采样(在少数类样本之间插值合成新样本),让训练集不至被“正常”淹没。评估指标不能只看准确率——全部预测为正常也有 99% 准确率。要综合看 F1 分数:

最后一个重点是:模型会“过期”。欺诈者会学习新规则,医保政策也会调整。因此要监控特征分布漂移,定期重训;日常运维中保存每条告警的“裁决结果”,形成持续学习的数据飞轮。如今老周的巡逻路线图越来越智能——哪条街骗保高发,哪个时段容易出幺蛾子,系统比他还清楚。他感叹:“好系统不是一次性工程,而是像老民警一样,天天在长本事。”

F1=2⋅Precision⋅RecallPrecision+RecallF1 = \frac{2 \cdot Precision \cdot Recall}{Precision + Recall}
F1 是精确率与召回率的调和平均数,惩罚“偏科”:只追求抓得准而漏掉大半,或只追求抓得全而误伤一片,F1 都不会高。
  1. 召回率 $Recall$真正的欺诈中被抓出来的比例,防止“漏网之鱼”。
    Recall=TPTP+FNRecall = \frac{TP}{TP + FN}
  2. 精确率 $Precision$告警中真实欺诈的占比,防止“误伤好人”。
    Precision=TPTP+FPPrecision = \frac{TP}{TP + FP}
  3. 调和平均 $\frac{2PR}{P+R}$对两个指标取折中分数;F1 接近 1 才说明系统既准又全。
    2⋅Precision⋅RecallPrecision+Recall\frac{2 \cdot Precision \cdot Recall}{Precision + Recall}
  4. 在线应用每周重新计算 F1 与各阈值下的精确率曲线,动态调整告警阈值,让系统适应最新骗术。
    F1→max⁡F1 \to \max

AI 应用场景

省级医保局智能监管平台

阶段:数据特征工程 + 规则模型融合 + 误报审查

解决的问题:传统人工审核每月只能抽检约 2% 的理赔,漏检严重。AI 平台对全量理赔做特征评分,规则与模型融合打分,将疑似案件压降至 3% 交由专家复核,让有限的稽查人力聚焦在最可疑的案子上。

具体案例:某省医保局接入两年历史理赔数据,构建“患者-医生-医院”三部图,发现 12 个疑似串通骗保团伙,追回基金损失约 8000 万元,同时通过 SHAP 解释避免了大量对合规诊所的误伤。

商业健康险理赔反欺诈

阶段:图异常检测 + 监督模型 + 误报审查

解决的问题:商业保险公司每年因理赔欺诈损失可观,传统规则引擎只能拦截明显伪造件,对隐蔽的团伙作案无能为力。

具体案例:某保险公司用 Node2Vec 学习医生与药房节点的图嵌入,再叠加孤立森林做异常评分,识别出异常的“患者-药房”共现模式,成功发现一个借用老年人医保卡套取慢病药物的团伙,止损上千万元。

医院合规自检系统

阶段:特征工程 + 误报审查

解决的问题:医院难免有个别医生开单激进,被医保局事后处罚损失大。与其等外部稽查,不如内部先自查自纠。

具体案例:某三甲医院部署合规自检系统,每周对全院开单行为做特征扫描,提前预警“诊断与检查不匹配”的案例,提醒医生补充依据或调整方案,既规范了诊疗行为,也大幅降低了被处罚的风险。

Python 演示

python34 行
import numpy as npfrom sklearn.linear_model import LogisticRegression # 1. simulate claim datarng = np.random.RandomState(42)n = 2000amount = rng.gamma(2, 500, n)freq = rng.poisson(3, n).astype(float)doc_volume = rng.poisson(10, n).astype(float)history = rng.poisson(5, n).astype(float)X = np.column_stack([amount / 1000, freq, doc_volume, history]) # 2. generate fraud labels with low priorz = -6.0 + 0.8 * X[:, 0] + 0.5 * X[:, 1] + 0.4 * X[:, 2] + 0.2 * X[:, 3]y = rng.binomial(1, 1 / (1 + np.exp(-z)) * 0.05) # 3. train a supervised modelmodel = LogisticRegression(max_iter=1000)model.fit(X, y)score = model.predict_proba(X)[:, 1] # 4. expert rules: high amount and high frequencyrule = (X[:, 0] > 2.0) & (X[:, 1] > 5) # 5. ensemble score = 0.6 * model + 0.4 * rulefinal = 0.6 * score + 0.4 * rule.astype(float) # 6. show top 20 suspicious claimstop = np.argsort(final)[-20:][::-1]print("=== Top 20 suspicious claims ===")for i in top:    print("claim#%d amount=%.0f freq=%.0f model=%.2f rule=%d final=%.2f"          % (i, amount[i], freq[i], score[i], int(rule[i]), final[i]))print("fraud rate in top20: %.2f" % y[top].mean())
目的:用模拟理赔数据,完整演示“逻辑回归 + 专家规则 + 加权融合”的 FWA 检测流程,并输出 Top 嫌疑理赔名单。
  1. y = rng.binomial(1, 1 / (1 + np.exp(-z)) * 0.05)用伯努利分布模拟“欺诈先验概率极低”的现实,让正例只占极少数,还原真实场景中的类不平衡。
  2. model = LogisticRegression(max_iter=1000)创建逻辑回归分类器,用四个特征学习欺诈概率,权重由数据自动拟合。
  3. rule = (X[:, 0] > 2.0) & (X[:, 1] > 5)专家规则:理赔金额超过 2000 元且频次超过 5 次就触发告警,代表业务红线。
  4. final = 0.6 * score + 0.4 * rule.astype(float)加权融合:模型分占 60%、规则命中占 40%,取两者之长。
  5. top = np.argsort(final)[-20:][::-1]按融合分从高到低取前 20 条,生成人工复核名单。
  6. print("fraud rate in top20: %.2f" % y[top].mean())打印 Top20 中真实欺诈的占比,直观检验融合方案的精确率。

常见误区

误区欺诈检测不就是个分类问题吗?我直接上个 XGBoost,把有标注的样本丢进去训练,准确率刷到 99%,模型肯定很好用。

正解欺诈率通常不足 1%,正负样本严重失衡。如果直接训练,模型学到的是“全部预测为正常”就能把准确率刷到 99%——但它一个骗子也抓不到。必须显式处理不平衡:过采样、欠采样、PU learning,或改用异常检测框架,并围绕精确率与召回率调优,而不是盯着准确率。

为何常见:因为普通分类教程的示例数据大多是平衡的,初学者误把“准确率高”当成“模型好”,忽略了欺诈检测中“罕见而不合理”这一本质。

误区既然规则是业务专家定的,那命中规则肯定就是欺诈,不需要再复核,直接拉黑名单就行。

正解规则是“线索”而非“证据”。比如“单人单日开单超 50 张”这条规则,可能只是因为某个社区诊所当天在做大型义诊。真实系统中,规则告警的准确率可能只有 10%~30%,仍需人工复核后才能定性,否则会制造大量误报并引发投诉。

为何常见:规则以简单 if-then 形式呈现,给人一种“确定性”的错觉,很容易让人忘记数据本身有噪声、业务场景有例外。

误区都什么年代了还用孤立森林?必须上 Graph Neural Network,端到端训练才显得有技术含量,效果肯定更好。

正解FWA 场景的图常常包含上亿节点,GNN 训练成本极高,标注不足时还容易过拟合。实践中,Louvain 社区发现 + Node2Vec + 孤立森林已经能解决大部分团伙识别问题,且可解释性更好。技术选型要看投入产出比,不能为了炫技而牺牲稳定性和可维护性。

为何常见:技术人容易被“新工具”吸引,加上论文普遍强调 GNN 的 SOTA 效果,忽略了工业界的成本与工程约束。

误区告警出来一查一个准,精确率 99%,那这系统肯定很牛,领导一定会满意。

正解精确率和召回率此消彼长。把阈值调高,可能只剩最“明显”的欺诈会被抓,大量隐蔽欺诈会漏掉。实际项目要看业务目标:医保局偏好“高召回 + 中精确”以尽量追回资金,而商业公司可能更在意精确率以避免打扰客户。两者必须一起看,用 F1、P-R 曲线综合评估。

为何常见:人天生对“抓错人”的反感强于“放过坏人”,因此容易忽略漏报带来的长期隐性损失。

面试题

Q1. Medicare FWA 中 FWA 分别指什么?

单选题 · easy

  • A.欺诈、浪费、滥用← 正确答案
  • B.欺诈、滥用、错误
  • C.浪费、滥用、错误
  • D.欺诈、浪费、误诊

答案:A。FWA 是 Fraud(欺诈)、Waste(浪费)、Abuse(滥用)的缩写。A 项完整且正确;B/C/D 中“错误”“误诊”都不属于 FWA 的组成部分,属于干扰项。

Q2. 欺诈检测中“类不平衡”的核心表现是?

单选题 · easy

  • A.正负样本数量差距悬殊← 正确答案
  • B.特征维度之间强相关
  • C.模型参数数量严重过多
  • D.训练集测试集分布不同

答案:A。类不平衡指欺诈样本(正例)远少于正常样本(负例),常低于 1%,此时朴素分类器会全部预测为正常。B 是特征共线性,C 是过拟合风险,D 是数据漂移,均属于其他问题。

Q3. 以下哪些属于理赔特征工程中的可用特征?

多选题 · mid

  • A.单笔理赔金额← 正确答案
  • B.患者历史理赔次数← 正确答案
  • C.医生单日开单量← 正确答案
  • D.患者医保卡密码

答案:ABC。理赔金额、患者历史理赔次数、医生单日开单量分别对应理赔层面、患者画像、服务者画像,都是典型特征。医保卡密码是隐私凭证,既不可用也不该作为模型输入。

Q4. 构建“患者-医生-医院”三部图的主要目的是?

单选题 · mid

  • A.让数据可视化更好看
  • B.发现串通骗保团伙← 正确答案
  • C.减小数据存储压力
  • D.替代全部特征工程

答案:B。三部图把医疗关系建模成网络,社区发现和节点异常检测可以暴露“高度互通”的团伙结构。A 是副产品,C 与图存储逻辑不符,D 过度夸大——图方法是对特征工程的补充而非替代。

Q5. 精确率(Precision)的公式是?

单选题 · easy

  • A.TP / (TP + FP)← 正确答案
  • B.TP / (TP + FN)
  • C.TN / (TN + FP)
  • D.FP / (FP + TN)

答案:A。精确率 = 真正例 /(真正例 + 假正例),回答“告警里有多少是真的”。B 是召回率,C 是特异度,D 是假正例率,都属于其他混淆矩阵派生指标。

Q6. FWA 检测中“规则引擎 + 模型融合”的常见做法有?

多选题 · extreme

  • A.加权求和得最终分← 正确答案
  • B.分层级联粗筛精排← 正确答案
  • C.用规则直接替代模型
  • D.把规则命中选择为特征← 正确答案

答案:ABD。加权平均、分层级联、规则作为特征输入模型都是工业界常用融合方式。C 用规则完全替代模型会失去对复杂模式的捕捉能力,不是融合而是技术倒退。

Q7. 人机闭环中“主动学习”的核心思想是?

单选题 · mid

  • A.让模型自动标注全部数据
  • B.挑最不确定样本请专家标注← 正确答案
  • C.让模型自行修改业务规则
  • D.直接取消人工复核环节

答案:B。主动学习挑选模型最“犹豫”、信息量最大的样本交给专家标注,用有限的标注预算最大化模型收益。A 违背人机协作本质,C/D 与主动学习无关。

Q8. SMOTE 过采样的原理是?

单选题 · hard

  • A.直接复制少数类样本扩充
  • B.少数类样本间插值合成新点← 正确答案
  • C.随机删除多数类样本
  • D.加权惩罚损失函数

答案:B。SMOTE 在少数类样本的近邻之间随机取点插值,生成“看起来合理”的新样本。A 是朴素过采样,C 是欠采样,D 是代价敏感学习,均不是 SMOTE。

Q9. 用贝叶斯公式理解欺诈检测难点时,“先验概率极低”会导致?

单选题 · mid

  • A.后验概率难以达到告警阈值← 正确答案
  • B.逻辑回归无法完成训练
  • C.特征不必再做标准化
  • D.图算法一定全部失效

答案:A。P(Fraud) 极低时,即便某模式在欺诈里很典型(似然高),P(Fraud|Claim) 依然可能很小。A 正是“看着像却不是”的数学根源;B/C/D 都是无根据的推断。

Q10. 以下哪些是 FWA 系统落地时的性能优化手段?

多选题 · hard

  • A.分层筛选先粗后精← 正确答案
  • B.对全量数据跑 GNN 重训练
  • C.欠采样或 SMOTE 平衡样本← 正确答案
  • D.定期监控特征漂移并重训← 正确答案

答案:ACD。分层筛选减少高成本计算量,采样平衡提升训练效果,漂移监控保证模型长期有效。B 对全量数据跑 GNN 训练成本极高且收益有限,在工业场景中不是推荐做法。