張喜科 ,趙文華 ,付先軍 ,馬志慶 **,魏國輝 ,**
(1.山東中醫(yī)藥大學(xué)智能與信息工程學(xué)院 濟(jì)南 250355;2.山東中醫(yī)藥大學(xué)中醫(yī)藥經(jīng)典理論教育部重點實驗室 濟(jì)南 250355)
中藥藥性理論是傳統(tǒng)中醫(yī)藥的重要組成部分,中藥寒、熱、溫、涼四性理論又是中藥藥性理論的核心內(nèi)容之一。四性反映了中藥對人體寒熱變化的作用傾向,其中寒與涼、溫與熱只是程度上的差異并沒有本質(zhì)上的區(qū)別。從本質(zhì)屬性講,四性可以歸結(jié)為寒熱兩性[1-2]。臨床治療中,寒熱辨證是中醫(yī)辨別疾病病因病性最基本的綱領(lǐng)[3]。因此,正確識別中藥寒熱藥性對中醫(yī)辨證施治、組方遣藥具有重要意義。
相關(guān)研究表明:決定中藥寒熱藥性的主要依據(jù)是藥效,而藥效的基礎(chǔ)是其所含物質(zhì)成分[4-12]。因此,中藥的物質(zhì)成分是產(chǎn)生寒熱藥性的基礎(chǔ)。從中藥的物質(zhì)成分角度研究中藥寒熱藥性識別主要包含兩方面的內(nèi)容:一是如何表征中藥的物質(zhì)成分;二是如何判別中藥的寒熱藥性。近年來,中藥寒熱藥性成為研究熱點[13]。研究者采用中藥物象[14]、中藥無機(jī)物質(zhì)含量[15]、代謝組學(xué)[16]、三維熒光光譜[17]、中藥化學(xué)指紋圖譜[18-19]和中藥化合物分子描述符[20-22]等方式表征中藥的物質(zhì)成分,之后通過構(gòu)建人工智能模型識別中藥的寒熱藥性。薛付忠團(tuán)隊選用中藥物象屬性表征中藥成分,使用人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network,ANN)、主成分-線性判別分析和偏最小二乘模型識別中藥寒熱藥性[23-25]。王振國團(tuán)隊通過構(gòu)建支持向量機(jī)(Support Vector Machine,SVM)模型研究發(fā)現(xiàn)中藥寒熱藥性與無機(jī)物質(zhì)的種類和含量具有相關(guān)性[15]。聶斌等[16]采用中藥代謝組學(xué)數(shù)據(jù)表征中藥特征,構(gòu)建隨機(jī)森林模型識別寒熱中藥。Long等[20]、Fu等[21]和 Wei等[22]應(yīng)用分子描述符表征中藥的化合物成分并構(gòu)建SVM、K近鄰(k-Nearest Neighbor,KNN)和極限學(xué)習(xí)機(jī)模型識別中藥的寒熱藥性。
筆者所在課題組研究發(fā)現(xiàn)中藥化學(xué)指紋圖譜可以用于識別中藥寒熱藥性,使用中藥紫外光譜數(shù)據(jù)結(jié)合距離度量算法對中藥寒熱藥性識別進(jìn)行了嘗試[18-19],但識別效果一般。在此基礎(chǔ)上,本研究采用4種溶劑(無水乙醇、蒸餾水、氯仿、石油醚)提取中藥成分的紫外光譜數(shù)據(jù)。單溶劑不能提取中藥的全部物質(zhì)成分,通過多溶劑提取中藥的物質(zhì)成分更有利于對中藥寒熱藥性進(jìn)行全面分析。但中藥紫外光譜數(shù)據(jù)大多具有樣本量偏小、特征偏多等特點,若繼續(xù)使用已有研究采用的經(jīng)典分類器,則識別效果不好。經(jīng)過大量實驗發(fā)現(xiàn),集成學(xué)習(xí)算法可以很好地適應(yīng)中藥紫外光譜數(shù)據(jù)的特點,已有研究將集成學(xué)習(xí)算法應(yīng)用于基于氣味指紋圖譜的中藥鑒定,取得了不錯的效果[26]。本研究將新的集成學(xué)習(xí)算法引入基于中藥紫外光譜數(shù)據(jù)的寒熱藥性識別,通過設(shè)計大量驗證實驗,從多個方面證實了集成學(xué)習(xí)算法應(yīng)用于中藥寒熱藥性識別的可行性。同時,本研究將一種全新的可視化方式引入中藥寒熱藥性研究,通過中藥寒熱特征標(biāo)記可視化的方式探索了中藥寒熱特征標(biāo)記與寒熱藥性識別結(jié)果的關(guān)系。
與經(jīng)典分類算法的目標(biāo)函數(shù)只使用損失函數(shù)不同,XGBoost[27]算法的目標(biāo)函數(shù)由損失函數(shù)和模型復(fù)雜度兩部分組成。中藥紫外光譜數(shù)據(jù)大多具有樣本量偏小等特點,大部分經(jīng)典分類模型應(yīng)用于中藥紫外光譜數(shù)據(jù)時會處于過擬合狀態(tài)。模型復(fù)雜程度越高,對于訓(xùn)練集的識別效果越好(偏差?。?,但對于測試集的識別效果較差(方差大),模型的泛化能力較弱。XGBoost模型的目標(biāo)函數(shù)如下所示,其中,第一部分用于衡量偏差的大小,偏差越大模型的識別效果越差;第二部分用于衡量方差的大小,模型的復(fù)雜程度越高,對于訓(xùn)練集的擬合越好但在測試集上的表現(xiàn)差異大。因此,為了達(dá)到模型的整體最優(yōu),需要綜合考慮偏差和方差的影響。XGBoost算法在目標(biāo)函數(shù)上的改變使其生成的模型不易發(fā)生過擬合,具有更強(qiáng)的泛化能力,可以更好地適應(yīng)中藥紫外光譜數(shù)據(jù)的特點。
SHAP[28-31]是一種模型事后解釋的算法,可以對復(fù)雜的機(jī)器學(xué)習(xí)模型的識別結(jié)果進(jìn)行解釋。本研究以61味中藥的紫外光譜數(shù)據(jù)集作為模型的輸入,模型的輸出為中藥的寒熱藥性。基于XGBoost算法構(gòu)建的中藥寒熱藥性識別模型在識別準(zhǔn)確率方面表現(xiàn)良好,但準(zhǔn)確率的提升帶來了可解釋性的下降。由于基于XGBoost算法構(gòu)建的中藥寒熱藥性識別模型幾乎是一個黑箱模型,導(dǎo)致我們對模型的具體構(gòu)建過程并不了解,使用傳統(tǒng)的feature importance僅能反映各寒熱特征標(biāo)記的重要程度,但無法了解各寒熱特征標(biāo)記與寒熱藥性識別結(jié)果的具體聯(lián)系。SHAP值的優(yōu)勢在于,其不僅可以反映各寒熱特征標(biāo)記對寒熱藥性識別結(jié)果的影響程度,而且可以準(zhǔn)確指明影響程度的正負(fù)性。SHAP值通過量化每個特征標(biāo)記對模型識別結(jié)果所做的貢獻(xiàn)來對模型的識別結(jié)果進(jìn)行解釋。若xi表示第i個樣本,xij表示第i個樣本的第j個特征,yi表示模型對該樣本的識別值,ybase表示模型的基線(通常為所有樣本目標(biāo)變量的均值),則SHAP值服從以下等式:
其中,f(xij)為xij的SHAP值,f(xik)為第i個樣本的第k個特征標(biāo)記對最終識別結(jié)果yi的貢獻(xiàn)值,f(xik)>0時,表明該特征標(biāo)記提升了識別值,對識別結(jié)果起正向作用;反之,則降低了識別值,對識別結(jié)果起反向作用。
本研究選用藥性明確且具有代表性的61味中藥(30味寒性藥,31味熱性藥,如表1所示)。研究分別測量了在不同溶劑(無水乙醇、蒸餾水、氯仿、石油醚)中61味中藥對紫外波長400-190 nm的吸收度。圖1、2分別為寒性中藥薄荷和熱性中藥干姜的紫外吸收度曲線,兩曲線對比結(jié)果顯示,寒熱中藥的紫外吸收度曲線在吸收峰的形狀、所在位置及強(qiáng)度上存在一定差異。
表1 研究選用的61味中藥
圖1 薄荷(石油醚溶劑)不同紫外波長吸收度曲線
圖2 干姜(石油醚溶劑)不同紫外波長吸收度曲線
表2 不同溶劑下模型識別的ACC和AUC
本研究的XGBoost模型基于Python語言構(gòu)建,寒熱特征標(biāo)記可視化基于SHAP實現(xiàn)。
采用準(zhǔn)確率(Accuracy,ACC)和受試者工作特征曲線下方的面積大小(Area Under Curve,AUC)兩種評價指標(biāo)衡量單溶劑下模型的性能;采用ACC評價指標(biāo)衡量多溶劑下模型的性能。ACC和AUC值越大,模型性能越好。
圖3 不同溶劑下模型識別的ROC曲線
為了證明本文模型在寒熱藥性識別任務(wù)上的優(yōu)勢,設(shè)計對比實驗比較本文模型與已有研究采用的ANN[23]、SVM[15,20]和KNN[21]模型在上述兩種評價指標(biāo)上的差異。
1.5.1 穩(wěn)定性評價
本研究采用留一法對模型的穩(wěn)定性進(jìn)行評估。留一法使用的訓(xùn)練集與原始數(shù)據(jù)集相比只減少了一個樣本,這使得留一法中被實際評估的模型與使用原始數(shù)據(jù)集訓(xùn)練出的模型基本相似,評估結(jié)果比較準(zhǔn)確。就本研究使用的61味中藥紫外光譜數(shù)據(jù)而言,不同溶劑(無水乙醇、蒸餾水、氯仿、石油醚、多溶劑)下實驗分別重復(fù)進(jìn)行61次,每次留出1味中藥樣本作為測試集,剩余60味中藥樣本作為訓(xùn)練集。
1.5.2 外推評價
在模型的外推性能評估中,本研究隨機(jī)將原始數(shù)據(jù)集中各約20味寒熱中藥樣本作為訓(xùn)練集,剩余中藥樣本作為測試集。為了消除分組的偶然性對實驗結(jié)果可能造成的偏差,實驗重復(fù)進(jìn)行10次計算平均值和方差。
不同溶劑(無水乙醇、蒸餾水、氯仿、石油醚)下模型識別的ACC和AUC如表2所示,ROC曲線如圖3所示。實驗結(jié)果表明,石油醚溶劑下的紫外光譜數(shù)據(jù)最適合用于寒熱藥性識別,氯仿、蒸餾水溶劑下的紫外光譜數(shù)據(jù)在寒熱藥性識別上的表現(xiàn)次之,無水乙醇溶劑下的紫外光譜數(shù)據(jù)在寒熱藥性識別上的表現(xiàn)較差,在后續(xù)多溶劑實驗中,可以考慮只融合石油醚、氯仿和蒸餾水3種溶劑下的紫外光譜數(shù)據(jù)。
表3 單溶劑多模型穩(wěn)定性比較結(jié)果
表4 多溶劑多模型穩(wěn)定性比較結(jié)果
表5 單溶劑多模型外推比較結(jié)果
表6 多溶劑多模型外推比較結(jié)果
表7 寒熱藥性總體識別的精確率、召回率和F1值
表8 寒熱藥性總體識別的混淆矩陣
鑒于石油醚溶劑下的紫外光譜數(shù)據(jù)在寒熱藥性識別上的表現(xiàn)最好,無水乙醇溶劑下的紫外光譜數(shù)據(jù)在寒熱藥性識別上的表現(xiàn)較差。因此,在設(shè)計對比實驗比較4種模型的性能時,單溶劑選取石油醚溶劑下的紫外光譜數(shù)據(jù)作為原始數(shù)據(jù),多溶劑融合石油醚、氯仿和蒸餾水3種溶劑下的紫外光譜數(shù)據(jù)作為原始數(shù)據(jù)。本文模型在單溶劑和多溶劑下與ANN、SVM和KNN模型的穩(wěn)定性表現(xiàn)分別如表3、4所示,實驗結(jié)果顯示,本文模型的穩(wěn)定性優(yōu)于參與比較的3種模型。
單溶劑和多溶劑下本文模型與ANN、SVM和KNN模型的外推性能表現(xiàn)分別如表5、6所示,實驗結(jié)果顯示,本文模型在外推表現(xiàn)上優(yōu)于參與比較的3種模型。
綜合表3-6的實驗結(jié)果可以得出結(jié)論:與已有研究采用的經(jīng)典機(jī)器學(xué)習(xí)模型相比,本文模型在單溶劑和多溶劑下均具有更好的穩(wěn)定性和外推性能,更加適應(yīng)中藥寒熱藥性識別任務(wù)的需要。
本研究使用留一法評估模型的總體識別性能,寒熱藥性總體識別ACC為85.2%(52/61),寒熱藥性總體識別的精確率、召回率和F1值(F1值可以看作是精確率和召回率的調(diào)和平均數(shù),是一種同時兼顧精確率和召回率的度量方式)如表7所示。表8為寒熱藥性總體識別的混淆矩陣,9味中藥藥性被誤判,側(cè)柏、柴胡、金銀花、毛知母、梔子5味寒性中藥被識別為熱性中藥,白芥子、半夏、附子、天南星4味熱性中藥被識別為寒性中藥。通過繪制上述9味藥性被誤判的中藥的紫外吸收度曲線(見圖4),并與兩種典型的寒熱中藥薄荷、干姜的紫外吸收度曲線進(jìn)行對比,結(jié)果顯示,藥性被誤判的9味中藥的紫外吸收度曲線與其相異藥性的中藥的紫外吸收度曲線在吸收峰的形狀、所在位置或強(qiáng)度上存在相似性,這是導(dǎo)致其藥性被誤判的主要原因。
圖5為61味中藥寒熱特征標(biāo)記重要性排行。實驗結(jié)果顯示,61味中藥在石油醚溶劑下對紫外波長400、301、299、256、267、373、265、226、368和251 nm的吸收度對于其寒熱藥性識別發(fā)揮重要作用。從整體角度來看,紫外波長400 nm的吸收度對于61味中藥寒熱藥性識別最重要。
圖4 藥性被誤判的中藥(石油醚溶劑)不同紫外波長吸收度曲線
本研究以寒性中藥薄荷、車前子,熱性中藥白胡椒、蓽茇4種中藥寒熱特征標(biāo)記可視化的方式進(jìn)一步分析中藥寒熱特征標(biāo)記與寒熱藥性識別結(jié)果的關(guān)系。寒熱特征標(biāo)記貢獻(xiàn)度為負(fù),則該特征標(biāo)記對于該味中藥為寒性特征標(biāo)記;貢獻(xiàn)度為正,則該特征標(biāo)記為熱性特征標(biāo)記。貢獻(xiàn)度的絕對值大小表示該特征標(biāo)記對于寒熱藥性識別結(jié)果的影響程度大小,本研究將貢獻(xiàn)度的絕對值大于0.5的特征標(biāo)記視為重要特征標(biāo)記。圖6-7分別為寒性中藥薄荷和車前子的寒熱特征標(biāo)記貢獻(xiàn)度可視化效果圖。圖8-9分別為熱性中藥白胡椒和蓽茇的寒熱特征標(biāo)記貢獻(xiàn)度可視化效果圖。實驗結(jié)果顯示,寒性中藥在紫外波長400和267 nm的吸收度具有相似性,而熱性中藥在紫外波長400、299和301 nm的吸收度具有相似性。
本研究通過單味中藥寒熱特征標(biāo)記可視化的方式,分析了寒熱中藥在不同紫外波長吸收度上的差異??梢暬慕Y(jié)果表明,有相似的紫外光譜的中藥具有相似的藥性?;诠P者所在課題組已有研究得出的結(jié)論:中藥的化學(xué)指紋圖譜可以有效表征中藥的物質(zhì)成分。本研究從中藥寒熱特征標(biāo)記可視化的角度初步證明了:物質(zhì)成分相似的中藥具有相似的藥性。
圖5 寒熱特征標(biāo)記重要性排行
圖6 薄荷寒熱特征標(biāo)記貢獻(xiàn)度
圖7 車前子寒熱特征標(biāo)記貢獻(xiàn)度
圖8 白胡椒寒熱特征標(biāo)記貢獻(xiàn)度
理論上講,決定中藥寒熱藥性的主要依據(jù)是藥效,而藥效的基礎(chǔ)是其所含物質(zhì)成分,寒性中藥能夠調(diào)理熱證,熱性中藥能夠調(diào)理寒證,應(yīng)具有相應(yīng)的物質(zhì)基礎(chǔ)[5]。在前期研究中,筆者所在課題組發(fā)現(xiàn)中藥的化學(xué)指紋圖譜可以用來識別中藥的寒熱藥性。課題組使用距離度量算法對中藥寒熱藥性識別進(jìn)行了嘗試。由于中藥紫外光譜數(shù)據(jù)大多具有樣本量偏小、特征偏多等特點,導(dǎo)致經(jīng)典分類器的識別效果一般。因此,本研究引入新的集成學(xué)習(xí)算法對中藥紫外光譜數(shù)據(jù)進(jìn)行寒熱藥性識別。穩(wěn)定性評價中,提出的模型在單溶劑下的ACC和AUC分別為0.852、0.865;多溶劑下的ACC為0.770。外推評價中,提出的模型在單溶劑下的ACC和AUC分別為0.810、0.828;多溶劑下的ACC為0.786。經(jīng)過實驗驗證,提出的模型在單溶劑和多溶劑下均具有更好的穩(wěn)定性和外推性能。實驗結(jié)果表明,新的集成學(xué)習(xí)算法能夠更好地適應(yīng)中藥紫外光譜數(shù)據(jù)的特點,與經(jīng)典分類器相比,寒熱藥性識別效果更好。從寒熱藥性識別的角度,本研究初步證明了中藥的紫外光譜與中藥的寒熱藥性存在相關(guān)性,即有相似的紫外光譜的中藥具有相似的藥性。初步證明了物質(zhì)成分相似的中藥其藥性是相似的。
圖9 蓽茇寒熱特征標(biāo)記貢獻(xiàn)度
中藥的寒熱藥性,寒性和熱性是一個相對的概念。每一味中藥都可以看作是一劑復(fù)方,無論是寒性中藥還是熱性中藥,其內(nèi)都同時含有寒性和熱性物質(zhì),只是寒熱物質(zhì)的種類和數(shù)量的不同配伍才使中藥表現(xiàn)為寒性和熱性。當(dāng)寒性物質(zhì)在種類和數(shù)量上占主導(dǎo)地位時,該味中藥表現(xiàn)為寒性;而當(dāng)熱性物質(zhì)占主導(dǎo)地位時,該味中藥表現(xiàn)為熱性。本研究將一種全新的可視化方式引入中藥寒熱藥性研究,首先對中藥寒熱特征標(biāo)記的feature importance進(jìn)行可視化,從而在整體層面上對決定中藥寒熱藥性的重要特征標(biāo)記進(jìn)行初步的認(rèn)識。然后以寒性中藥薄荷、車前子,熱性中藥白胡椒、蓽茇4種中藥為例,對單味中藥寒熱特征標(biāo)記進(jìn)行可視化表達(dá),直觀地展示了各寒熱特征標(biāo)記對最終寒熱藥性識別結(jié)果的貢獻(xiàn)度??梢暬Y(jié)果表明,寒性中藥在紫外波長400和267 nm的吸收度具有相似性,而熱性中藥在紫外波長400、299和301 nm的吸收度具有相似性。從中藥寒熱特征標(biāo)記可視化的角度,本研究進(jìn)一步證明了相同藥性的中藥的紫外光譜具有相似性。進(jìn)一步證明了如果中藥的物質(zhì)成分是相似的,那么藥性是相似的。
在本研究中,我們建立了一個基于集成學(xué)習(xí)的中藥寒熱藥性識別方案。該方案通過多溶劑下的中藥紫外光譜數(shù)據(jù)表征中藥的物質(zhì)成分,采用集成學(xué)習(xí)模型對中藥紫外光譜數(shù)據(jù)進(jìn)行寒熱藥性識別。穩(wěn)定性和外推實驗結(jié)果表明,本文模型能夠更好地適應(yīng)中藥紫外光譜數(shù)據(jù)的特點,穩(wěn)定性和外推性能均顯著優(yōu)于經(jīng)典模型,在寒熱藥性識別上具有更高的識別準(zhǔn)確率。本研究還通過中藥寒熱特征標(biāo)記可視化的方式進(jìn)一步分析中藥寒熱特征標(biāo)記與寒熱藥性識別結(jié)果的關(guān)系??梢暬慕Y(jié)果表明,相同藥性的中藥的紫外光譜具有相似性。中藥寒熱藥性識別和寒熱特征標(biāo)記可視化的結(jié)果初步證明,物質(zhì)成分相似的中藥具有相似的藥性。