劉麗蓉, 詹秀菊
(廣州中醫(yī)藥大學(xué)醫(yī)學(xué)信息工程學(xué)院,廣東廣州 510006)
蕁麻疹俗稱風(fēng)疹塊,是一種常見的過敏性疾病,是由于皮膚、黏膜小血管擴張及滲透性增加而出現(xiàn)的一種局限性水腫反應(yīng)[1]。皮損以風(fēng)團為主,大小不等,形態(tài)不一,色澤或鮮紅或濡白,分布或散在或融合成片,可發(fā)生于身體任何部位,伴有劇烈瘙癢,遷延數(shù)日至數(shù)月,且劃痕征陽性[2]。蕁麻疹癥狀嚴重者可影響患者正常生活以及工作。目前有關(guān)蕁麻疹用藥規(guī)律的研究較多[3-8],但關(guān)于蕁麻疹癥狀與證候的研究鮮有報道。本研究基于文獻資料,利用BP神經(jīng)網(wǎng)絡(luò)和支持向量機(support vector machine,SVM)分別探討蕁麻疹證候分類模型,以期為蕁麻疹的中醫(yī)辨證論治提供一定參考。
1.1 文獻數(shù)據(jù)來源 收集維普數(shù)據(jù)庫(VIP)、萬方數(shù)字化期刊、中國知網(wǎng)(CNKI)等中文數(shù)據(jù)庫中發(fā)表的有關(guān)蕁麻疹臨床治療的文獻。檢索詞為“蕁麻疹”“風(fēng)疙瘩”“風(fēng)疹塊”“鬼風(fēng)疙瘩”“尋麻疹”“風(fēng)團”“癮疹”“臨床療效”“臨床效果”“經(jīng)驗”。采用主題詞、關(guān)鍵詞、文摘檢索,并聯(lián)合邏輯詞and、or組成邏輯式進行檢索,檢索式為:題名或關(guān)鍵詞為“蕁麻疹”O(jiān)R“風(fēng)疙瘩”O(jiān)R“風(fēng)疹塊”O(jiān)R“鬼風(fēng)疙瘩”O(jiān)R“尋麻疹”O(jiān)R“風(fēng)團”O(jiān)R“癮疹”,AND文摘為“臨床療效”O(jiān)R“臨床效果”O(jiān)R“經(jīng)驗”。其中題名或關(guān)鍵詞可換成主題詞。
1.2 文獻納入標準 (1)治療手段為中醫(yī)藥治療或中西醫(yī)結(jié)合治療的文獻;(2)中醫(yī)診斷標準參照國家中醫(yī)藥管理局1994年發(fā)布的《中醫(yī)病證診斷療效標準》之“隱疹”的診斷標準,西醫(yī)診斷標準參照《安德魯斯臨床皮膚病學(xué)》中有關(guān)蕁麻疹的診斷標準[9];(3)治療有效的文獻;(4)病案資料完整,包含證候診斷、臨床表現(xiàn)、治療原則、藥方等。(5)文獻發(fā)表年限為1996年2月至2018年10月。
1.3 文獻排除標準 (1)文獻中未標明治療效果及明確標明治療效果不佳;(2)文獻數(shù)據(jù)中出現(xiàn)錯誤或者發(fā)表數(shù)據(jù)雷同的文獻;(3)動物實驗的文獻以及綜述類文獻。
1.4 文獻數(shù)據(jù)處理 由3名研究人員完成文獻篩選,其中兩人獨立按照文獻的納入標準和排除標準篩選文獻,如有爭議,由第三人做出判斷。篩選后的文獻由兩位研究人員將病例整理錄入Microsoft Excel 2010,錄入內(nèi)容包括文獻名稱、第一作者、臨床癥狀、證候,其中病例中相關(guān)術(shù)語的規(guī)范化參考《中醫(yī)癥狀鑒別診斷學(xué)》[10]、《中醫(yī)診斷學(xué)》[11]、《中醫(yī)證候鑒別診斷學(xué)》[12]。
1.5 數(shù)據(jù)分析 利用Matlab R2013a軟件,建立基于BP神經(jīng)網(wǎng)絡(luò)和SVM的蕁麻疹證候分類模型。BP神經(jīng)網(wǎng)絡(luò)是由輸入層、隱含層、輸出層組成的階層型神經(jīng)網(wǎng)絡(luò),相鄰層之間各神經(jīng)元進行全連接,而每層各神經(jīng)元之間無連接,其權(quán)值的調(diào)整采用反向傳播的學(xué)習(xí)算法[13]。本研究采用3層BP神經(jīng)網(wǎng)絡(luò)建模,建立存在于數(shù)據(jù)間的函數(shù)關(guān)系。如圖1所示,輸入層為17個中醫(yī)癥狀向量,隱含層公式計算為7,輸出層對應(yīng)風(fēng)寒束表、風(fēng)熱犯表、臟腑濕熱和其他證型共4類。
圖1 3層BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)Figure 1 Three-layer BP neural network structure
支持向量機(SVM)是將所研究的問題向真實模型的一種逼近,將原始特征用核函數(shù)進行特定變換映射到高維空間,進而分解其特征矩陣,最終把待解決的問題轉(zhuǎn)化為一個對凸二次規(guī)劃問題求解的過程[14]。SVM最優(yōu)超平面決策示意圖如圖2所示。
圖2 SVM超平面決策面示意圖Figure 2 Schematic diagram of support vector machine hyperplane decision surface
2.1 文獻檢索結(jié)果 根據(jù)“1.1項下”的檢索式,從中國知網(wǎng)共檢索到1 130篇文獻,維普1 010篇文獻,萬方813篇文獻,剔除重復(fù)文獻后共獲取文獻2 632篇。通過閱讀文獻題目,按照納入標準和排除標準刪除文獻1 952篇,剩余文獻680篇。再經(jīng)通篇閱讀全文后,篩選符合納入標準的文獻共458篇,從中提取完整的信息,具備完整信息的病例共397例。
2.2 BP神經(jīng)網(wǎng)絡(luò)證候模型的建立
2.2.1 訓(xùn)練樣本選擇 按納入標準和排除標準共篩選出符合標準的蕁麻疹病例數(shù)據(jù)為397例,每個樣本包含蕁麻疹常見的17個癥狀以及舌苔和脈象,癥狀按有無分別設(shè)置為1、0,中醫(yī)證型4類證型輸出形式設(shè)置為(0,0,0,1),(0,0,1,0),(0,1,0,0),(1,0,0,0)。從上述的蕁麻疹數(shù)據(jù)中抽取中醫(yī)癥狀及中醫(yī)證型構(gòu)成樣本集合,作為BP神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)和測試樣本。
2.2.2 網(wǎng)絡(luò)模型訓(xùn)練與分類 將397個樣本存儲于數(shù)據(jù)項data中,將皮疹、瘙癢、皮疹色紅、失眠、紅舌、淡舌、淡紅舌、薄苔、白苔、黃苔、膩苔、細脈、數(shù)脈、弦脈、浮脈、沉脈、滑脈等17個癥狀作為網(wǎng)絡(luò)模型的輸入變量,輸出層對應(yīng)風(fēng)寒束表、風(fēng)熱犯表、臟腑濕熱和其他證型,為體現(xiàn)模型的優(yōu)良性,訓(xùn)練樣本的選擇采用隨機抽取方法,從397個樣本中隨機抽取357個樣本作為訓(xùn)練樣本,隨機抽取40個樣本數(shù)據(jù)為測試樣本。采用Matlab R2013a編程,確定BP神經(jīng)網(wǎng)絡(luò)模型的結(jié)構(gòu)為17-7-4,設(shè)定訓(xùn)練函數(shù)為trainbfg函數(shù),設(shè)定最大訓(xùn)練步數(shù)為100次,學(xué)習(xí)率為0.01。以風(fēng)寒束表證為例,風(fēng)寒束表證BP神經(jīng)網(wǎng)絡(luò)的測試過程如圖3所示,其測試樣本的預(yù)測準確率為72.50%(29/40),BP神經(jīng)網(wǎng)絡(luò)分類誤差如圖4所示。利用同樣的方法與拓撲結(jié)構(gòu)進行風(fēng)熱犯表證、臟腑濕熱證與其他證型的分類器建立。風(fēng)熱犯表證分類模型測準確率90.00%(36/40),臟腑濕熱分類器準確率為87.50%(35/40),其他證型分類器模型準確率為82.50%(33/40)。
模型訓(xùn)練結(jié)果提示,風(fēng)熱犯表證在BP神經(jīng)網(wǎng)絡(luò)模型中擬合度最高,其次臟腑濕熱證,風(fēng)寒束表證最次。分析其原因,可能是由于風(fēng)寒束表證候樣本偏少,導(dǎo)致其訓(xùn)練不夠;或是針對風(fēng)寒束表證,其模型選擇的輸入因子和輸出因子不夠緊密,以至于出現(xiàn)這種現(xiàn)象。但模型訓(xùn)練結(jié)果較為理想,說明BP神經(jīng)網(wǎng)絡(luò)的穩(wěn)定性和可靠性,且模型具有較強的魯棒性(robustness,反映控制系統(tǒng)抗干擾能力的參數(shù),即系統(tǒng)的健壯性,是在異常和危險情況下系統(tǒng)生存的關(guān)鍵),提示基于BP神經(jīng)網(wǎng)絡(luò)機分類器在蕁麻疹模型應(yīng)用中具有一定的可行性。
圖3 風(fēng)寒束表證分類器分類輸出Figure 3 Classification output for wind-cold attacking exterior syndrome classifier
圖4 風(fēng)寒束表證分類器分類誤差Figure 4 Classification error of wind-cold attacking exterior syndrome classifier
2.3 SVM證候模型的建立
2.3.1 選定訓(xùn)練集與測試集 選取蕁麻疹數(shù)據(jù)397例,將癥狀設(shè)置為輸入變量,風(fēng)寒束表證、風(fēng)熱犯表證、臟腑濕熱證和其他證型分別設(shè)置為1、2、3、4,并作為輸出變量。選取357例數(shù)據(jù)作為訓(xùn)練樣本,其余每類證型提取10例數(shù)據(jù)為測試樣本。
2.3.2 SVM模型的訓(xùn)練與預(yù)測 參數(shù)懲罰因子C、核函數(shù)以及其參數(shù)的選定可影響SVM模型的性能。C越大則對數(shù)據(jù)的擬合程度越高,容易出現(xiàn)“過學(xué)習(xí)”的現(xiàn)象;當C取值過小時,則對經(jīng)驗誤差懲罰過小,就會出現(xiàn)“欠學(xué)習(xí)”的現(xiàn)象[15]。為了解決該現(xiàn)象,本研究SVM模型采用的是RBF徑向基核函數(shù),設(shè)置核函數(shù)參數(shù)t=2。利用K-CV(K-folder cross-validation,K折交叉驗證)法對SVM模型的參數(shù)c(懲罰系數(shù))和g(RBF核函數(shù)的系數(shù))計算和選取,初設(shè)置懲罰函數(shù)參數(shù)c與gamma參數(shù)g的取值范圍為[2-10,210]。利用svmcgForClass函數(shù)進行計算,得出對應(yīng)參數(shù)c和參數(shù)g模型的分類結(jié)果和準確率,通過K-CV驗證比較不同參數(shù)c和參數(shù)g的分類準確率,選擇最佳參數(shù)c和參數(shù)g。經(jīng)計算,SVM模型的最佳參數(shù)c設(shè)置為0.574 35,g設(shè)置為0.108 82。其模型測試樣本的預(yù)測正確率為92.50%(37/40)。如圖5所示。
圖5 SVM模型的實際測試集分類和預(yù)測測試集分類Figure 5 Practical test set classification and predicted test set classification in SVM model
圖5 顯示,藍色圓圈為實際輸出分類,紅色星號為期望輸出分類;分類輸出結(jié)果在很大程度上與期望結(jié)果相重合,僅有3例樣本與期望輸出不相符合。說明本研究所架構(gòu)的SVM分類器應(yīng)用于蕁麻疹證型分類科學(xué)可行,結(jié)果較好,準確率較高。
基于BP神經(jīng)網(wǎng)絡(luò)構(gòu)建的分類器的平均準確率為81.13%,SVM分類模型準確率為92.50%。結(jié)果表明,在蕁麻疹中醫(yī)證型分類應(yīng)用,SVM分類模型與BP神經(jīng)網(wǎng)絡(luò)模型均具有較好的魯棒性和穩(wěn)定性,但SVM分類模型優(yōu)于BP神經(jīng)網(wǎng)絡(luò)分類模型。
本研究利用BP神經(jīng)網(wǎng)絡(luò)與SVM分類器對蕁麻疹證候進行分類,建立以蕁麻疹17種常見的癥狀為輸入變量,以風(fēng)寒束表證、風(fēng)熱犯表證、臟腑濕熱證、其他證型共4種證型為輸出變量的證候分類模型。其模型擬合效果較好,精確度良好,SVM模型擬合效果優(yōu)于BP神經(jīng)網(wǎng)絡(luò)。
BP算法已經(jīng)被證實具有實現(xiàn)任何復(fù)雜非線性映射的功能,適合用于求解內(nèi)部機制復(fù)雜的問題,因此使用BP人工神經(jīng)網(wǎng)絡(luò)解決中醫(yī)證型問題是可行而科學(xué)的。但BP算法本質(zhì)上是梯度下降算法,所要優(yōu)化的目標函數(shù)又非常復(fù)雜,容易出現(xiàn)“鋸齒形現(xiàn)象”,令BP算法學(xué)習(xí)速度緩慢。本課題訓(xùn)練樣本量少,因此建模迭代次數(shù)較少,導(dǎo)致算法效率低下的弊端并不明顯,與SVM分類器無太大差異。更多的訓(xùn)練樣本能在一定程度上提升BP算法擬合結(jié)果的準確度,而本研究所收集的樣本數(shù)量難以支撐BP算法取得更高的準確度。SVM是一種小樣本學(xué)習(xí)方法,龐大的訓(xùn)練樣本規(guī)模反而不利于SVM的學(xué)習(xí)。因此在樣本量較少的情況下,使用SVM構(gòu)建分類器將比使用BP算法更合適。
本研究利用BP神經(jīng)網(wǎng)絡(luò)與SVM分類器可取得較好的擬合結(jié)果,提示人工神經(jīng)網(wǎng)絡(luò)技術(shù)可能適合中醫(yī)研究的需求。本研究把人工神經(jīng)網(wǎng)絡(luò)技術(shù)與蕁麻疹證型研究相結(jié)合,但因限于一些客觀條件,無法在結(jié)果數(shù)據(jù)的準確度上更進一步。就目前來看,不論是蕁麻疹證型預(yù)測模型還是SVM分類器都還只屬于理論的模型,尚在起步階段,需要進一步完善。蕁麻疹領(lǐng)域的人工神經(jīng)網(wǎng)絡(luò)研究,也需要更進一步的發(fā)展,今后需從以下方面進一步深入:第一,更大的樣本量才能實現(xiàn)更加深入的人工神經(jīng)網(wǎng)絡(luò)學(xué)習(xí),更加廣泛的涵蓋度及更加科學(xué)合理的研究結(jié)果。故在未來的研究中,應(yīng)該廣泛收集蕁麻疹臨床數(shù)據(jù),增加樣本數(shù)據(jù)量以增強訓(xùn)練效果,建立基于海量數(shù)據(jù)的、具有實用意義的蕁麻疹證型預(yù)測模型和分類器。第二,利用智能優(yōu)化算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)參數(shù),提高其模型分類器的精確度。第三,針對數(shù)據(jù)采集過程中可能出現(xiàn)誤差或者噪音等現(xiàn)象,可利用機器算法篩選SVM懲罰參數(shù),進而優(yōu)化SVM分類器模型。