基于XGBoost和SHAP的中药寒热药性识别及寒热特征标记可视化研究*

张喜科 ,赵文华 ,付先军 ,马志庆 **,魏国辉 ,**

(1.山东中医药大学智能与信息工程学院 济南 250355;
2.山东中医药大学中医药经典理论教育部重点实验室 济南 250355)

中药药性理论是传统中医药的重要组成部分,中药寒、热、温、凉四性理论又是中药药性理论的核心内容之一。四性反映了中药对人体寒热变化的作用倾向,其中寒与凉、温与热只是程度上的差异并没有本质上的区别。从本质属性讲,四性可以归结为寒热两性[1-2]。临床治疗中,寒热辨证是中医辨别疾病病因病性最基本的纲领[3]。因此,正确识别中药寒热药性对中医辨证施治、组方遣药具有重要意义。

相关研究表明:决定中药寒热药性的主要依据是药效,而药效的基础是其所含物质成分[4-12]。因此,中药的物质成分是产生寒热药性的基础。从中药的物质成分角度研究中药寒热药性识别主要包含两方面的内容:一是如何表征中药的物质成分;
二是如何判别中药的寒热药性。近年来,中药寒热药性成为研究热点[13]。研究者采用中药物象[14]、中药无机物质含量[15]、代谢组学[16]、三维荧光光谱[17]、中药化学指纹图谱[18-19]和中药化合物分子描述符[20-22]等方式表征中药的物质成分,之后通过构建人工智能模型识别中药的寒热药性。薛付忠团队选用中药物象属性表征中药成分,使用人工神经网络(Artificial Neural Network,ANN)、主成分-线性判别分析和偏最小二乘模型识别中药寒热药性[23-25]。王振国团队通过构建支持向量机(Support Vector Machine,SVM)模型研究发现中药寒热药性与无机物质的种类和含量具有相关性[15]。聂斌等[16]采用中药代谢组学数据表征中药特征,构建随机森林模型识别寒热中药。Long等[20]、Fu等[21]和 Wei等[22]应用分子描述符表征中药的化合物成分并构建SVM、K近邻(k-Nearest Neighbor,KNN)和极限学习机模型识别中药的寒热药性。

笔者所在课题组研究发现中药化学指纹图谱可以用于识别中药寒热药性,使用中药紫外光谱数据结合距离度量算法对中药寒热药性识别进行了尝试[18-19],但识别效果一般。在此基础上,本研究采用4种溶剂(无水乙醇、蒸馏水、氯仿、石油醚)提取中药成分的紫外光谱数据。单溶剂不能提取中药的全部物质成分,通过多溶剂提取中药的物质成分更有利于对中药寒热药性进行全面分析。但中药紫外光谱数据大多具有样本量偏小、特征偏多等特点,若继续使用已有研究采用的经典分类器,则识别效果不好。经过大量实验发现,集成学习算法可以很好地适应中药紫外光谱数据的特点,已有研究将集成学习算法应用于基于气味指纹图谱的中药鉴定,取得了不错的效果[26]。本研究将新的集成学习算法引入基于中药紫外光谱数据的寒热药性识别,通过设计大量验证实验,从多个方面证实了集成学习算法应用于中药寒热药性识别的可行性。同时,本研究将一种全新的可视化方式引入中药寒热药性研究,通过中药寒热特征标记可视化的方式探索了中药寒热特征标记与寒热药性识别结果的关系。

1.1 极端梯度提升(eXtreme Gradient Boosting,XGBoost)算法

与经典分类算法的目标函数只使用损失函数不同,XGBoost[27]算法的目标函数由损失函数和模型复杂度两部分组成。中药紫外光谱数据大多具有样本量偏小等特点,大部分经典分类模型应用于中药紫外光谱数据时会处于过拟合状态。模型复杂程度越高,对于训练集的识别效果越好(偏差小),但对于测试集的识别效果较差(方差大),模型的泛化能力较弱。XGBoost模型的目标函数如下所示,其中,第一部分用于衡量偏差的大小,偏差越大模型的识别效果越差;
第二部分用于衡量方差的大小,模型的复杂程度越高,对于训练集的拟合越好但在测试集上的表现差异大。因此,为了达到模型的整体最优,需要综合考虑偏差和方差的影响。XGBoost算法在目标函数上的改变使其生成的模型不易发生过拟合,具有更强的泛化能力,可以更好地适应中药紫外光谱数据的特点。

1.2 SHAP(SHapley Additive exPlanations)算法

SHAP[28-31]是一种模型事后解释的算法,可以对复杂的机器学习模型的识别结果进行解释。本研究以61味中药的紫外光谱数据集作为模型的输入,模型的输出为中药的寒热药性。基于XGBoost算法构建的中药寒热药性识别模型在识别准确率方面表现良好,但准确率的提升带来了可解释性的下降。由于基于XGBoost算法构建的中药寒热药性识别模型几乎是一个黑箱模型,导致我们对模型的具体构建过程并不了解,使用传统的feature importance仅能反映各寒热特征标记的重要程度,但无法了解各寒热特征标记与寒热药性识别结果的具体联系。SHAP值的优势在于,其不仅可以反映各寒热特征标记对寒热药性识别结果的影响程度,而且可以准确指明影响程度的正负性。SHAP值通过量化每个特征标记对模型识别结果所做的贡献来对模型的识别结果进行解释。若xi表示第i个样本,xij表示第i个样本的第j个特征,yi表示模型对该样本的识别值,ybase表示模型的基线(通常为所有样本目标变量的均值),则SHAP值服从以下等式:

其中,f(xij)为xij的SHAP值,f(xik)为第i个样本的第k个特征标记对最终识别结果yi的贡献值,f(xik)>0时,表明该特征标记提升了识别值,对识别结果起正向作用;
反之,则降低了识别值,对识别结果起反向作用。

1.3 数据来源

本研究选用药性明确且具有代表性的61味中药(30味寒性药,31味热性药,如表1所示)。研究分别测量了在不同溶剂(无水乙醇、蒸馏水、氯仿、石油醚)中61味中药对紫外波长400-190 nm的吸收度。图1、2分别为寒性中药薄荷和热性中药干姜的紫外吸收度曲线,两曲线对比结果显示,寒热中药的紫外吸收度曲线在吸收峰的形状、所在位置及强度上存在一定差异。

表1 研究选用的61味中药

图1 薄荷(石油醚溶剂)不同紫外波长吸收度曲线

图2 干姜(石油醚溶剂)不同紫外波长吸收度曲线

表2 不同溶剂下模型识别的ACC和AUC

1.4 模型设计

本研究的XGBoost模型基于Python语言构建,寒热特征标记可视化基于SHAP实现。

1.5 模型评价

采用准确率(Accuracy,ACC)和受试者工作特征曲线下方的面积大小(Area Under Curve,AUC)两种评价指标衡量单溶剂下模型的性能;
采用ACC评价指标衡量多溶剂下模型的性能。ACC和AUC值越大,模型性能越好。

图3 不同溶剂下模型识别的ROC曲线

为了证明本文模型在寒热药性识别任务上的优势,设计对比实验比较本文模型与已有研究采用的ANN[23]、SVM[15,20]和KNN[21]模型在上述两种评价指标上的差异。

1.5.1 稳定性评价

本研究采用留一法对模型的稳定性进行评估。留一法使用的训练集与原始数据集相比只减少了一个样本,这使得留一法中被实际评估的模型与使用原始数据集训练出的模型基本相似,评估结果比较准确。就本研究使用的61味中药紫外光谱数据而言,不同溶剂(无水乙醇、蒸馏水、氯仿、石油醚、多溶剂)下实验分别重复进行61次,每次留出1味中药样本作为测试集,剩余60味中药样本作为训练集。

1.5.2 外推评价

在模型的外推性能评估中,本研究随机将原始数据集中各约20味寒热中药样本作为训练集,剩余中药样本作为测试集。为了消除分组的偶然性对实验结果可能造成的偏差,实验重复进行10次计算平均值和方差。

2.1 稳定性比较

不同溶剂(无水乙醇、蒸馏水、氯仿、石油醚)下模型识别的ACC和AUC如表2所示,ROC曲线如图3所示。实验结果表明,石油醚溶剂下的紫外光谱数据最适合用于寒热药性识别,氯仿、蒸馏水溶剂下的紫外光谱数据在寒热药性识别上的表现次之,无水乙醇溶剂下的紫外光谱数据在寒热药性识别上的表现较差,在后续多溶剂实验中,可以考虑只融合石油醚、氯仿和蒸馏水3种溶剂下的紫外光谱数据。

表3 单溶剂多模型稳定性比较结果

表4 多溶剂多模型稳定性比较结果

表5 单溶剂多模型外推比较结果

表6 多溶剂多模型外推比较结果

表7 寒热药性总体识别的精确率、召回率和F1值

表8 寒热药性总体识别的混淆矩阵

鉴于石油醚溶剂下的紫外光谱数据在寒热药性识别上的表现最好,无水乙醇溶剂下的紫外光谱数据在寒热药性识别上的表现较差。因此,在设计对比实验比较4种模型的性能时,单溶剂选取石油醚溶剂下的紫外光谱数据作为原始数据,多溶剂融合石油醚、氯仿和蒸馏水3种溶剂下的紫外光谱数据作为原始数据。本文模型在单溶剂和多溶剂下与ANN、SVM和KNN模型的稳定性表现分别如表3、4所示,实验结果显示,本文模型的稳定性优于参与比较的3种模型。

2.2 外推比较

单溶剂和多溶剂下本文模型与ANN、SVM和KNN模型的外推性能表现分别如表5、6所示,实验结果显示,本文模型在外推表现上优于参与比较的3种模型。

综合表3-6的实验结果可以得出结论:与已有研究采用的经典机器学习模型相比,本文模型在单溶剂和多溶剂下均具有更好的稳定性和外推性能,更加适应中药寒热药性识别任务的需要。

2.3 寒热药性总体识别

本研究使用留一法评估模型的总体识别性能,寒热药性总体识别ACC为85.2%(52/61),寒热药性总体识别的精确率、召回率和F1值(F1值可以看作是精确率和召回率的调和平均数,是一种同时兼顾精确率和召回率的度量方式)如表7所示。表8为寒热药性总体识别的混淆矩阵,9味中药药性被误判,侧柏、柴胡、金银花、毛知母、栀子5味寒性中药被识别为热性中药,白芥子、半夏、附子、天南星4味热性中药被识别为寒性中药。通过绘制上述9味药性被误判的中药的紫外吸收度曲线(见图4),并与两种典型的寒热中药薄荷、干姜的紫外吸收度曲线进行对比,结果显示,药性被误判的9味中药的紫外吸收度曲线与其相异药性的中药的紫外吸收度曲线在吸收峰的形状、所在位置或强度上存在相似性,这是导致其药性被误判的主要原因。

2.4 寒热特征标记可视化

图5为61味中药寒热特征标记重要性排行。实验结果显示,61味中药在石油醚溶剂下对紫外波长400、301、299、256、267、373、265、226、368和251 nm的吸收度对于其寒热药性识别发挥重要作用。从整体角度来看,紫外波长400 nm的吸收度对于61味中药寒热药性识别最重要。

图4 药性被误判的中药(石油醚溶剂)不同紫外波长吸收度曲线

本研究以寒性中药薄荷、车前子,热性中药白胡椒、荜茇4种中药寒热特征标记可视化的方式进一步分析中药寒热特征标记与寒热药性识别结果的关系。寒热特征标记贡献度为负,则该特征标记对于该味中药为寒性特征标记;
贡献度为正,则该特征标记为热性特征标记。贡献度的绝对值大小表示该特征标记对于寒热药性识别结果的影响程度大小,本研究将贡献度的绝对值大于0.5的特征标记视为重要特征标记。图6-7分别为寒性中药薄荷和车前子的寒热特征标记贡献度可视化效果图。图8-9分别为热性中药白胡椒和荜茇的寒热特征标记贡献度可视化效果图。实验结果显示,寒性中药在紫外波长400和267 nm的吸收度具有相似性,而热性中药在紫外波长400、299和301 nm的吸收度具有相似性。

本研究通过单味中药寒热特征标记可视化的方式,分析了寒热中药在不同紫外波长吸收度上的差异。可视化的结果表明,有相似的紫外光谱的中药具有相似的药性。基于笔者所在课题组已有研究得出的结论:中药的化学指纹图谱可以有效表征中药的物质成分。本研究从中药寒热特征标记可视化的角度初步证明了:物质成分相似的中药具有相似的药性。

图5 寒热特征标记重要性排行

图6 薄荷寒热特征标记贡献度

图7 车前子寒热特征标记贡献度

图8 白胡椒寒热特征标记贡献度

理论上讲,决定中药寒热药性的主要依据是药效,而药效的基础是其所含物质成分,寒性中药能够调理热证,热性中药能够调理寒证,应具有相应的物质基础[5]。在前期研究中,笔者所在课题组发现中药的化学指纹图谱可以用来识别中药的寒热药性。课题组使用距离度量算法对中药寒热药性识别进行了尝试。由于中药紫外光谱数据大多具有样本量偏小、特征偏多等特点,导致经典分类器的识别效果一般。因此,本研究引入新的集成学习算法对中药紫外光谱数据进行寒热药性识别。稳定性评价中,提出的模型在单溶剂下的ACC和AUC分别为0.852、0.865;
多溶剂下的ACC为0.770。外推评价中,提出的模型在单溶剂下的ACC和AUC分别为0.810、0.828;
多溶剂下的ACC为0.786。经过实验验证,提出的模型在单溶剂和多溶剂下均具有更好的稳定性和外推性能。实验结果表明,新的集成学习算法能够更好地适应中药紫外光谱数据的特点,与经典分类器相比,寒热药性识别效果更好。从寒热药性识别的角度,本研究初步证明了中药的紫外光谱与中药的寒热药性存在相关性,即有相似的紫外光谱的中药具有相似的药性。初步证明了物质成分相似的中药其药性是相似的。

图9 荜茇寒热特征标记贡献度

中药的寒热药性,寒性和热性是一个相对的概念。每一味中药都可以看作是一剂复方,无论是寒性中药还是热性中药,其内都同时含有寒性和热性物质,只是寒热物质的种类和数量的不同配伍才使中药表现为寒性和热性。当寒性物质在种类和数量上占主导地位时,该味中药表现为寒性;
而当热性物质占主导地位时,该味中药表现为热性。本研究将一种全新的可视化方式引入中药寒热药性研究,首先对中药寒热特征标记的feature importance进行可视化,从而在整体层面上对决定中药寒热药性的重要特征标记进行初步的认识。然后以寒性中药薄荷、车前子,热性中药白胡椒、荜茇4种中药为例,对单味中药寒热特征标记进行可视化表达,直观地展示了各寒热特征标记对最终寒热药性识别结果的贡献度。可视化结果表明,寒性中药在紫外波长400和267 nm的吸收度具有相似性,而热性中药在紫外波长400、299和301 nm的吸收度具有相似性。从中药寒热特征标记可视化的角度,本研究进一步证明了相同药性的中药的紫外光谱具有相似性。进一步证明了如果中药的物质成分是相似的,那么药性是相似的。

在本研究中,我们建立了一个基于集成学习的中药寒热药性识别方案。该方案通过多溶剂下的中药紫外光谱数据表征中药的物质成分,采用集成学习模型对中药紫外光谱数据进行寒热药性识别。稳定性和外推实验结果表明,本文模型能够更好地适应中药紫外光谱数据的特点,稳定性和外推性能均显著优于经典模型,在寒热药性识别上具有更高的识别准确率。本研究还通过中药寒热特征标记可视化的方式进一步分析中药寒热特征标记与寒热药性识别结果的关系。可视化的结果表明,相同药性的中药的紫外光谱具有相似性。中药寒热药性识别和寒热特征标记可视化的结果初步证明,物质成分相似的中药具有相似的药性。

猜你喜欢寒性热性药性关于儿童热性惊厥的20个疑问中国生殖健康(2020年5期)2021-01-18白萝卜与中药同食,会解掉药性吗?基层中医药(2020年12期)2020-07-22关于儿童热性惊厥的20个疑问中国生殖健康(2018年5期)2018-11-06寒性体质者试试艾叶坐垫家庭科学·新健康(2016年5期)2016-05-12测一测 你是“热性体质”还是“寒性体质”海峡姐妹(2016年5期)2016-02-27半夏的化学成分及其药性、毒性研究进展中国资源综合利用(2016年10期)2016-01-22不同炮制和煎煮时间对大黄沉降药性的影响研究中国卫生标准管理(2015年25期)2016-01-14寒性体质者试试艾叶坐垫家庭医药·快乐养生(2015年7期)2015-09-10改进细菌群体趋药性算法在可用输电能力计算中的应用电测与仪表(2015年10期)2015-04-09热性惊厥首次复发的相关因素探讨西南军医(2015年6期)2015-01-23

推荐访问:寒热 药性 可视化