一、SHAP与ADMET概述:从“黑箱”到“可解释”的第一步
大家好,欢迎来到这门课程。今天咱们先聊个基础问题:为什么要把SHAP和ADMET放在一起讲?
我之前在药企做AI模型落地时,遇到过一件挺尴尬的事——模型预测准确率高达95%,但药化同事死活不信。为什么?因为模型只说“这个分子毒性高”,但说不出“为什么高”。说白了,这就是典型的黑箱困境。你想想看,在药物研发这种“一步错,全盘输”的领域,谁敢信一个说不清理由的模型?
所以,这门课的核心目标就一个:用SHAP这把“手术刀”,把ADMET预测模型的决策过程剖开给你看。
1.1 SHAP:模型解释的“通用语言”
SHAP全称是SHapley Additive exPlanations。名字挺长,但思想很简单——它借鉴了博弈论里的夏普利值(Shapley Value),用来衡量每个特征对最终预测结果的“贡献度”。
它的核心优势有两个:
- 一致性:特征贡献的排序不会因为模型本身的变化而翻车。我用过LIME,同样一个样本,跑两次结果可能不一样,但SHAP不会。
- 局部与全局兼顾:既能告诉你“这个分子为什么毒性高”(局部解释),也能告诉你“整个数据集里哪个特征最重要”(全局解释)。
在实际项目中,SHAP会输出一个SHAP值矩阵,形状跟你输入的特征矩阵一样。每一行代表一个样本,每一列代表一个特征,数值的正负表示该特征对预测结果是“推高”还是“拉低”。
# SHAP输出的基本结构示例
# shape: (n_samples, n_features)
shap_values = explainer.shap_values(X_test)
# 每个样本的预测值 = 基准值 + 所有特征的SHAP值之和
prediction = shap_values[0].sum() + base_value
举个简单的例子:某个分子的logP(脂水分配系数)特征SHAP值为+0.3,意味着这个特征把预测的毒性风险拉高了0.3个单位。你想想看,这种量化信息,比单纯说“logP很重要”有用多了。
1.2 ADMET:药物研发的“生死线”
ADMET是吸收(Absorption)、分布(Distribution)、代谢(Metabolism)、排泄(Excretion)、毒性(Toxicity)五个维度的统称。做药物研发的朋友都知道,候选化合物的ADMET性质,是最终能不能成药的关键。
我见过不少项目,药效数据漂亮得不得了,结果一测ADMET——肝脏毒性超标、半衰期太短、生物利用度只有5%。嗯,只能推倒重来。那叫一个心疼。
ADMET预测的几个常见痛点:
- 数据不平衡:毒性样本往往很少,模型容易“无视”毒性。
- 特征维度高:分子描述符动辄上千个,鬼知道哪些有用。
- 模型可解释性差:药化同事拿着预测报告问“为什么这个分子会高转运”,你只能支支吾吾说“模型算出来的”——这种场景,太尴尬了。
而SHAP,正是解决最后一个痛点的利器。
1.3 课程目标:成为“懂药又懂AI”的人
这门课共30章,我们不聊虚的。每章解决一个具体问题,每章都有代码和可视化落地。
第1章作为开篇,我们把这门课的核心知识体系先梳理清楚。下面这张图,就是整门课的骨架。
从这张图能看明白:整门课的逻辑是数据→模型→SHAP→ADMET应用。我们不只讲SHAP怎么算,更重要的是:SHAP的结论怎么帮药化团队做决策?
1.4 这门课跟其他SHAP教程有什么不同?
老实说,市面上讲SHAP的教程不少,但大多是用鸢尾花数据集、房价数据集举例子。嗯,那些例子对入门可以,但跟你实际工作中的ADMET预测问题——差距太大了。
| 对比维度 | 通用SHAP教程 | 本课程 |
|---|---|---|
| 数据来源 | UCI、Kaggle通用数据集 | 分子描述符、分子图、指纹 |
| 预测任务 | 分类、回归通用任务 | ADMET各属性二分类/回归 |
| 模型类型 | XGBoost、LightGBM等树模型 | 同上 + GNN + 深度学习模型 |
| SHAP图解读 | 通用特征重要性 | 结合ADMET领域知识解读 |
| 最终交付物 | 一张图/一个数字 | 可落地药物设计建议 |
你看这个对比就明白了——我不是来教你怎么调包的,我是来教你怎么解决问题的。
1.5 你准备好学习了吗?
再说说我自己的经历。以前做ADMET预测,模型跑完就完事,报告里只写准确率、AUC、F1。直到有一次,我们一个候选化合物在体外实验全部通过,体内实验却因为代谢稳定性差直接毙了。事后复盘,模型其实已经“看穿”了这个问题——某个CYP代谢相关的描述符SHAP值特别高,但当时我们根本没去解读。
从那以后,我就养成了一个习惯:每次模型训练完,第一件事不是看指标,而是跑SHAP分析,看看模型到底“看中”了哪些特征,这些特征有没有药化上的合理性。
总结一下本章重点
好,第1章的内容就这些。记住三个关键点:
- SHAP是什么:一种基于博弈论的特征贡献度计算方式,核心优势是一致性和可解释性。
- ADMET为什么重要:药物研发中,ADMET性质决定了化合物能不能真正成为药物。
- 课程目标:把SHAP这把刀磨快,真正用到ADMET预测的实战场景中去,而不是停留在理论层面。
下章我们开始动真格的——搭建SHAP分析环境,准备好数据和工具。等你准备好了,咱们就开始。