3. 可解释人工智能入门
在保险核保场景中,模型给出的“拒保”“加费”“除外责任”等结论,必须让核保人、客户与监管方都能理解其依据。可解释人工智能(Explainable AI,XAI)正是解决这一问题的技术体系。本章从可解释性的定义出发,梳理解释类型、全局与局部解释的差异,以及内在可解释与事后可解释两条技术路线,为后续核保决策审计打下概念基础。
一、核心原理:什么是可解释性
可解释性是指人类能够理解模型为何做出某一预测的程度。它并非模型的单一属性,而是模型、任务、用户与场景四者共同作用的结果。对核保而言,可解释性至少包含三层含义:
- 可理解性:核保人能读懂模型输出的理由,例如“因既往症风险评分偏高而加费”。
- 可追溯性:每个结论能回溯到具体输入特征、规则或训练数据来源。
- 可审计性:第三方可复现决策路径,验证其是否符合监管与公司政策。
需要强调,可解释性不等于“简单模型”。一个线性模型若特征工程复杂,同样难以解释;而复杂模型配合恰当的解释方法,也能提供清晰依据。可解释性的目标是让决策依据对目标受众可见、可验证、可质疑。
二、解释类型:从不同维度理解解释
解释类型可按多个维度划分,核保实践中常见的分类如下:
| 维度 | 类型 | 核保场景示例 |
|---|---|---|
| 作用范围 | 全局解释 / 局部解释 | 全局:整体核保规则重要性;局部:某客户为何被拒保 |
| 产生时机 | 内在可解释 / 事后可解释 | 内在:决策树规则;事后:对黑盒模型做SHAP分析 |
| 表达形式 | 特征贡献 / 规则 / 反事实 / 示例 | 特征贡献:年龄+15分;反事实:若BMI降至24则标准承保 |
| 受众对象 | 面向核保人 / 面向客户 / 面向监管 | 核保人看特征贡献;客户看反事实建议;监管看审计日志 |
理解这些类型有助于在系统设计时按需选择解释方式,而不是对所有场景套用同一种输出。
三、全局解释与局部解释
全局解释描述模型整体行为,回答“模型通常看重哪些因素”。例如,通过排列重要性或全局SHAP汇总,发现核保模型中“既往症数量”“BMI”“吸烟史”是影响承保结论的前三大特征。全局解释适合模型评审、监管报备和产品策略调整。
局部解释针对单个预测,回答“为什么这个客户得到这个结论”。例如,某客户被加费,局部解释显示:年龄贡献+8分、BMI贡献+12分、家族史贡献+5分,而运动习惯贡献-3分。局部解释是核保人向客户沟通、处理申诉的关键依据。
四、内在可解释与事后可解释
内在可解释指模型本身结构透明,如线性回归、决策树、规则引擎。核保中常见的“评分卡”就是典型内在可解释模型:每个特征对应固定分值,加总后落入承保区间。其优点是审计直接、无需额外解释工具;缺点是表达能力有限,难以捕捉复杂交互。
事后可解释指对已训练好的复杂模型(如梯度提升树、神经网络)施加解释方法。常见技术包括:
- SHAP:基于博弈论分配特征贡献,支持全局与局部解释。
- LIME:在局部扰动样本,拟合可解释的代理模型。
- 反事实解释:寻找最小特征变化,使结论翻转,如“若血糖降至正常范围则可标准承保”。
- 注意力机制:在序列模型中显示模型关注哪些输入片段。
事后解释的挑战在于:解释本身可能不稳定,同一客户在不同运行中可能得到不同贡献排序。因此,核保审计追踪必须记录解释方法的版本、参数与随机种子,确保可复现。
# 示例:使用SHAP对核保模型做局部解释
import shap
explainer = shap.TreeExplainer(underwriting_model)
shap_values = explainer.shap_values(applicant_features)
# 输出:年龄 +0.08,BMI +0.12,吸烟史 +0.15,运动习惯 -0.03
五、案例与场景:核保拒保的可解释沟通
某寿险公司对一位45岁男性做出拒保决定。若仅输出“模型评分不足”,客户必然申诉。引入可解释模块后,系统生成如下局部解释:
- 主要拒保因素:收缩压165mmHg(贡献+0.22)、空腹血糖7.8mmol/L(贡献+0.18)、BMI 31(贡献+0.14)。
- 保护因素:无吸烟史(贡献-0.05)、规律运动(贡献-0.04)。
- 反事实建议:若收缩压控制在140mmHg以下且空腹血糖低于6.1mmol/L,模型预测可转为加费承保。
核保人据此与客户沟通,既说明拒保依据,也给出可操作的改善路径。同时,审计日志记录了解释版本、特征快照与模型哈希,满足监管回溯要求。
六、误区与复盘
复盘要点:在核保可解释决策系统中,建议建立“解释需求清单”,明确每个决策节点需要哪种解释、面向谁、以什么形式呈现、保留多久。只有将可解释性嵌入流程,而非附加在模型之外,审计追踪才能真正闭环。