安偉濤 薛安榮 張宇
摘 要:針對中醫(yī)八綱辨證診斷模型因人工設(shè)定參數(shù)不準(zhǔn)確導(dǎo)致模型訓(xùn)練時間過長、無法收斂和易忽略癥狀與證型間的一對多關(guān)系導(dǎo)致診斷結(jié)果存在證型遺漏的問題,提出利用深度置信網(wǎng)絡(luò)RBM機制,通過對輸入的樣本特征向量逐層進行擬合獲得模型最佳權(quán)重與閾值,從而解決參數(shù)設(shè)定問題;同時采用二元關(guān)聯(lián)多標(biāo)簽分類算法解決一對多關(guān)系,提高診斷結(jié)果準(zhǔn)確率。實驗表明,改進后的算法有效可行。
關(guān)鍵詞:中醫(yī)診斷;中醫(yī)八綱辨證;深度學(xué)習(xí);多標(biāo)簽學(xué)習(xí);TensorFlow
DOI:10. 11907/rjdk. 182225
中圖分類號:TP301文獻標(biāo)識碼:A文章編號:1672-7800(2019)003-0025-05
0 引言
在長期與疾病的斗爭中,中醫(yī)演化并形成了一套獨特、完整的理論體系[1],為人類健康作出了不可磨滅的貢獻。但傳統(tǒng)中醫(yī)診斷不確定性、經(jīng)驗性和模糊性等特點嚴(yán)重制約了中醫(yī)發(fā)展[2],因此中醫(yī)辨證的科學(xué)化與智能化發(fā)展引起廣泛關(guān)注。
在不同歷史時期,歷代醫(yī)家根據(jù)不同的理論基礎(chǔ)提出了不同辨證方法,其中八綱辨證理論是各種辨證方法的指導(dǎo)綱領(lǐng)[3],成為中醫(yī)智能辨證研究的基礎(chǔ)。已有研究利用人工神經(jīng)網(wǎng)絡(luò)技術(shù)與多層前向神經(jīng)網(wǎng)絡(luò)構(gòu)建中醫(yī)八綱辨證模型[4],該模型突破了傳統(tǒng)神經(jīng)網(wǎng)絡(luò)神經(jīng)元形式單一的特點,提高了對輸入數(shù)據(jù)的處理能力,同時模型具有一定的學(xué)習(xí)能力,辨證準(zhǔn)確率達到70%以上,但該模型對病例樣本訓(xùn)練的參數(shù)需要依靠人工設(shè)定,由于人工設(shè)定參數(shù)具有一定隨機性,可能導(dǎo)致網(wǎng)絡(luò)訓(xùn)練時間過長和模型無法收斂。此外,該模型忽略癥狀與證型間存在的一對多關(guān)系,即忽略了同一個病人可能同時患有多種證型的情況,導(dǎo)致該模型診斷結(jié)果有遺漏。
深度置信網(wǎng)絡(luò)訓(xùn)練機制是模擬人類大腦學(xué)習(xí)機制建立的,即深度信念網(wǎng)絡(luò)可以對簡單的特征進行組合、重構(gòu)得到更加抽象的特征表達[5-6],該過程與人類大腦對外界信息的處理機制非常類似。在實際應(yīng)用中,深度置信網(wǎng)絡(luò)可以通過自動對特征進行學(xué)習(xí)的機制[7],對樣本特征進行逐層擬合,獲取模型最佳參數(shù)。因此,本文提出利用深度置信網(wǎng)絡(luò)訓(xùn)練病例樣本模型,從而解決人工設(shè)定參數(shù)的問題。針對癥狀與證型間存在的一對多關(guān)系,提出使用多標(biāo)簽分類算法解決該該問題。由于二元關(guān)聯(lián)[8]分類算法思路簡單、效果出色,因此提出利用二元關(guān)聯(lián)多標(biāo)簽分類算法和深度置信網(wǎng)絡(luò)對中醫(yī)診斷中的病例樣本進行模型訓(xùn)練和預(yù)測,從而提高模型診斷準(zhǔn)確率。
1 基于深度學(xué)習(xí)的多標(biāo)簽分類算法
1.1 深度置信網(wǎng)絡(luò)
Geoffrey Hinton等[9]于2006年首次提出深度置信網(wǎng)絡(luò)(DBN)的概念,DBN是以受限的玻爾茲曼機RBM為基礎(chǔ)發(fā)展起來的模型。RBM[10]是一種生成模型,可建立測試數(shù)據(jù)與標(biāo)簽之間的聯(lián)合概率分布,通過訓(xùn)練相鄰兩層節(jié)點間的權(quán)重,讓整個網(wǎng)絡(luò)按照最大概率優(yōu)化模型參數(shù)。
(1)受限的玻爾茲曼機。RBM是一種基礎(chǔ)神經(jīng)網(wǎng)絡(luò)模型[11],其結(jié)構(gòu)如圖1所示。RBM由可視層[v]和隱含層[h]組成,層內(nèi)節(jié)點之間沒有連接,層與層之間的節(jié)點全連接,[w]為對應(yīng)兩層神經(jīng)元連接的強度參數(shù)。節(jié)點狀態(tài)分為激活狀態(tài)和未激活狀態(tài),在計算中一般用二進制的0表示未激活狀態(tài),1表示激活狀態(tài)。
(2)權(quán)值計算模型構(gòu)建。RBM屬于能量模型[12]。利用公式(1)定義樣本輸入向量[v]和隱含層向量[h]之間的能量函數(shù)值,該能量函數(shù)描述模型狀態(tài)的測度,能量越小則系統(tǒng)狀態(tài)越穩(wěn)定。
通過對最大似然函數(shù)進行求導(dǎo)運算,得到概率最大值,從而確定當(dāng)概率最大時的權(quán)值。
1.2 多標(biāo)簽學(xué)習(xí)
多標(biāo)簽分類算法的實質(zhì)是根據(jù)待預(yù)測實例(特征屬性和標(biāo)簽屬性),在M種候選標(biāo)簽集中選擇概率最大的標(biāo)簽集合作為該待預(yù)測實例的標(biāo)簽集合。
1.3 基于深度置信網(wǎng)絡(luò)的二元關(guān)聯(lián)分類模型
(2)基于深度置信網(wǎng)絡(luò)的二元關(guān)聯(lián)分類模型構(gòu)建?;谏疃戎眯啪W(wǎng)絡(luò)的二元關(guān)聯(lián)多標(biāo)簽分類算法,首先利用深度置信網(wǎng)絡(luò)的RBM機制對中醫(yī)八綱病例樣本進行訓(xùn)練,通過不斷擬合初始向量獲得模型最優(yōu)參數(shù),并保存模型;然后,利用二元關(guān)聯(lián)多標(biāo)簽分類算法思想,將多標(biāo)簽分類轉(zhuǎn)換成多個單標(biāo)簽分類,針對每個標(biāo)簽利用訓(xùn)練好的深度置信網(wǎng)絡(luò)模型作為分類器,判斷每個標(biāo)簽是否屬于待分類樣本,最終輸出所有結(jié)果并集。具體算法為:
步驟(1)-步驟(2)為訓(xùn)練癥狀集的輸入和標(biāo)準(zhǔn)化處理;步驟(4)-步驟(6)初始化RBM的連接權(quán)重參數(shù)[w],可視層偏置量[a]和隱含層偏置量[b];步驟(7)-步驟(10)利用條件分布概率計算隱含層節(jié)點狀態(tài);步驟(11)-步驟(14)利用條件分布概率公式計算可見層階段狀態(tài);步驟(15)-步驟(23)對RBM權(quán)重參數(shù)、偏置量參數(shù)更新和保存;步驟(24)-步驟(28)為待測樣本的預(yù)測;步驟(29)返回待分類樣本x的標(biāo)簽集合y。
1.4 算法分析
2 實驗與分析
2.1 實驗方案
為客觀評價本文算法的表現(xiàn),選用平均預(yù)測精度(Avg-Precision)、覆蓋度(Coverage)、排名損失率(Ranking-loss)、漢明損失(Hamming-Loss)、1錯誤率(One-Error)為評價指標(biāo)[16]。
實驗基于開源深度學(xué)習(xí)框架TensorFlow[17],利用TensorFlow搭建網(wǎng)絡(luò)模型,利用Tensor數(shù)據(jù)結(jié)構(gòu)存儲和傳遞所有數(shù)據(jù),利用SGD函數(shù)隨機梯度下降完成樣本訓(xùn)練。同時為盡可能避免過擬合現(xiàn)象,利用dropput工具設(shè)置一個drop閾值,可以降低過擬合現(xiàn)象。在所有分類算法中,使用相同的訓(xùn)練樣本和測試樣本集。為使實驗結(jié)果具有說服力,采用10倍交叉驗證的方法驗證實驗結(jié)果,任意一種評價指標(biāo)都是數(shù)據(jù)集進行10次實驗結(jié)果的平均值。
2.2 實驗參數(shù)
(1)權(quán)重和偏置量初始化。權(quán)重矩陣、隱含層偏置量及可見層偏置量是在訓(xùn)練中獲得的,但是模型在訓(xùn)練之前需設(shè)定一個初始值,一般采用隨機賦值方式。本實驗權(quán)重向量采用正太分布N(0,0.01)的隨機數(shù),通過破壞不同神經(jīng)元間的對稱性,從而提高模型泛化能力。隱含層偏置量初始化為0,可見層偏置量按公式(8)初始化,有利于獲取正確的輸出邊緣統(tǒng)計。其中[ai]表示第i可見層偏置量參數(shù),[pi]表示訓(xùn)練樣本中第i個特征處于激活狀態(tài)的樣本所占比例。
(2)隱層單元數(shù)確定。隱層單元數(shù)的選擇非常重要,如果選擇過少,可能不足以訓(xùn)練神經(jīng)網(wǎng)絡(luò);如果選擇過多,雖然可以提高精度,但也會使模型復(fù)雜化,導(dǎo)致訓(xùn)練時間過長。因此選擇一個合理的隱層單元個數(shù)非常重要。本實驗通過設(shè)置隱含層個數(shù)分別為10、20、30、40、50、60、70、80、90、100,分別得到模型的召回率、準(zhǔn)確率及F1值3個評價指標(biāo)。如圖3所示,當(dāng)隱層單元數(shù)在70左右時,模型召回率、準(zhǔn)確率和F1值均可達到較高的值,因此本實驗選擇隱層單元為70。
(3)學(xué)習(xí)速率確定。學(xué)習(xí)速率是指模型在訓(xùn)練過程中權(quán)值每次的變化量,一般將學(xué)習(xí)速率確定為[0.01,0.1]。如果學(xué)習(xí)速率過低會導(dǎo)致模型訓(xùn)練緩慢,收斂時間長;如果學(xué)習(xí)速率設(shè)置過高則收斂快但不穩(wěn)定,使系統(tǒng)無法得到最優(yōu)權(quán)值。為獲得與最優(yōu)權(quán)值更接近的權(quán)值參數(shù),平衡矛盾,實驗增加動態(tài)學(xué)習(xí)速率(momentum),將本次訓(xùn)練計算出的調(diào)整梯度與前次調(diào)整梯度結(jié)合,將前次調(diào)整梯度乘以一個動態(tài)學(xué)習(xí)速率。
2.3 實驗數(shù)據(jù)
(1)數(shù)據(jù)來源。數(shù)據(jù)集為文獻[18]的中醫(yī)八綱辨證數(shù)據(jù)以及通過網(wǎng)絡(luò)收集到的八綱病例,共500例。為使樣本更具有普遍性,針對中醫(yī)八綱每一類證型病例均選取相同數(shù)量的訓(xùn)練數(shù)據(jù)集,每一類證型均選擇相同數(shù)量的測試集。
(2)數(shù)據(jù)擴充。由于深度置信網(wǎng)絡(luò)是深層次網(wǎng)絡(luò)結(jié)構(gòu),具有很強的學(xué)習(xí)能力,在模型訓(xùn)練過程中可能會學(xué)習(xí)到樣本數(shù)據(jù)中的噪聲和異常數(shù)據(jù),導(dǎo)致模型產(chǎn)生過擬合現(xiàn)象,模型過擬合會導(dǎo)致模型在后期對樣本進行預(yù)測時不能正確分類以及模型泛化能力太差的問題[19]。為了防止過擬合現(xiàn)象,需有大量訓(xùn)練數(shù)據(jù)。在網(wǎng)絡(luò)上收集以及在文獻中使用的八綱辨證病例樣本數(shù)據(jù)有限,屬于小樣本,顯然不能滿足深度置信網(wǎng)絡(luò)對數(shù)據(jù)量的要求,因此需要對現(xiàn)有樣本數(shù)據(jù)進行擴充。
擴充樣本需要找到樣本分布規(guī)律,才能保證樣本擴充合理性。根據(jù)文獻[20]可知,針對每一個證型相關(guān)癥狀貢獻度的不同,有幾個癥狀貢獻度較大,大多數(shù)癥狀貢獻度很小,在閾值為0.015~0.02時,針對證型對應(yīng)的癥狀數(shù)據(jù)符合冪律分布。為驗證八綱證型與對應(yīng)癥狀數(shù)據(jù)符合冪律分布,對現(xiàn)有數(shù)據(jù)進行冪律分布檢驗。
假設(shè)樣本數(shù)據(jù)服從冪律分布,具體分布函數(shù)為:
因此驗證樣本數(shù)據(jù)服從冪律分布,只需對樣本數(shù)據(jù)庫[(x,y)]取對數(shù),然后驗證是否為線性方程即可。對[(x,y)]取以10為底的對數(shù),然后用Matlab對樣本數(shù)據(jù)進行擬合,擬合結(jié)果如圖4所示。
根據(jù)圖像可知,樣本分布比較符合冪律分布,根據(jù)樣本數(shù)據(jù)冪律分布規(guī)律,隨機生成數(shù)據(jù)擴充樣本數(shù)據(jù),為深度置信網(wǎng)絡(luò)對數(shù)據(jù)量的要求,使用統(tǒng)計軟件生成80 000條病例數(shù)據(jù),隨機抽取70%作為訓(xùn)練樣本,30%作為測試樣本。
(3)數(shù)據(jù)預(yù)處理。在實驗中,選擇80 000例中醫(yī)八綱辨證病例樣本作為訓(xùn)練樣本,每種證型病例訓(xùn)練樣本為10 000例。將24 000例病例樣本作為實驗測試集,其中八類證型各占3 000例。為保證實驗順利進行,需對原始癥狀數(shù)據(jù)集進行標(biāo)準(zhǔn)化處理。
由于癥狀數(shù)據(jù)集的每個元素測量單位不同,不同屬性區(qū)別很大,因此需要對原始癥狀集數(shù)據(jù)進行標(biāo)準(zhǔn)化處理,采用min-max離差歸一化算法[21],將原始癥狀數(shù)據(jù)集映射到[0,1]區(qū)間。
由于病人患病癥狀分布不均勻,臨床癥狀數(shù)據(jù)集中存在部分癥狀缺失,本實驗采用NaN填充缺失值。對于可見層與隱含層之間的權(quán)重和偏置訓(xùn)練,若使用每個樣本逐個訓(xùn)練的方法會使運算效率過低,導(dǎo)致大數(shù)據(jù)和高維數(shù)據(jù)訓(xùn)練時間過長。在實踐中,為充分利用CPU和矩陣計算的便捷性,往往將樣本分割成小片(mini-batchers),每次計算一個mini-batcher。為在計算多個mini-batchers,同時保證進行訓(xùn)練時學(xué)習(xí)速率固定不變,參數(shù)更新時,梯度使用平均梯度。平均梯度計算公式為:
其中[Nbatch]為mini-batchers數(shù)據(jù)的長度,當(dāng)[Nbatch=1]時,相當(dāng)于單樣本學(xué)習(xí)。對于[Nbatch]的大小,總體上不宜過大,如果過大梯度敏感度下降,會使模型錯過最優(yōu)值。為實驗計算方便,本實驗取10的整倍數(shù),且同為標(biāo)簽數(shù)量的整數(shù)倍,最終選取200。
2.4 實驗結(jié)果與分析
人工神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)最大的區(qū)別是包含不同的網(wǎng)絡(luò)隱層,所以對模型不同數(shù)量的網(wǎng)絡(luò)隱層進行實驗。本次實驗共有5個驗證指標(biāo),表1給出了每種算法在5種評價指標(biāo)上的實驗結(jié)果。其中平均精度預(yù)測指標(biāo)數(shù)值越大,表示算法表現(xiàn)越好;其它指標(biāo)數(shù)值越低,表示算法性能越好。表中“↑”符號表示數(shù)值越大性能越好,“↓” 符號表示數(shù)值越小越好。“[±]”符號表示10次試驗的平均值[±]標(biāo)準(zhǔn)差。每個指標(biāo)中的最佳結(jié)果在相應(yīng)評價指標(biāo)上用粗體顯示。
由表1數(shù)據(jù)清楚表明,基于DBN的二元關(guān)聯(lián)多標(biāo)簽分類算法在一定范圍內(nèi),隨著網(wǎng)絡(luò)模型隱含層數(shù)目的增多,模型平均預(yù)測精度、覆蓋度、排名損失率、漢明損失和1錯誤5項指標(biāo)性能均成遞增趨勢。其中隱含層值為1時,表示傳統(tǒng)人工神經(jīng)網(wǎng)絡(luò)模型的各項性能指數(shù),由此可見本文構(gòu)建的深度置信網(wǎng)絡(luò)的二元關(guān)聯(lián)分類模型與傳統(tǒng)人工神經(jīng)網(wǎng)絡(luò)模型相比,在各項性能上均有很大提升。
為充分說明本文設(shè)計的基于深度學(xué)習(xí)的多標(biāo)簽分類算法有效性,在中醫(yī)數(shù)據(jù)下,與ML-KNN算法、BSVM算法、Rank-SVM等常用的多標(biāo)簽分類算法在5種評價指標(biāo)上進行比較,采用柱狀圖的形式將實驗結(jié)果進行展示,如圖5所示。從柱狀圖上可以清晰發(fā)現(xiàn),基于DBN的多標(biāo)簽學(xué)習(xí)算法的5種評價指標(biāo)均表現(xiàn)優(yōu)秀,而且各項指標(biāo)比常用多標(biāo)簽分類算法高5%~10%。因此本文設(shè)計的基于深度置信網(wǎng)絡(luò)的二元關(guān)聯(lián)分類算法是有效的。
3 結(jié)語
針對現(xiàn)有中醫(yī)八綱辨證模型因人工設(shè)定參數(shù)不準(zhǔn)確導(dǎo)致模型訓(xùn)練時間過長和無法收斂問題,提出利用深度學(xué)習(xí)的RBM機制對病例樣本進行逐層擬合,獲得模型最佳權(quán)重與閾值,從而解決參數(shù)設(shè)定問題。此外針對現(xiàn)有診斷模型忽略癥狀與證型間一對多關(guān)系,提出采用二元關(guān)聯(lián)分類算法解決一對多關(guān)系問題,并利用開源深度學(xué)習(xí)框架TensorFlow和經(jīng)過擴充后的中醫(yī)八綱辨證數(shù)據(jù)對模型進行實驗驗證。實驗結(jié)果表明本文設(shè)計的中醫(yī)“八綱辨證”模型相比現(xiàn)有模型能更好地表示中醫(yī)證型和癥狀之間的關(guān)系,提高了中醫(yī)八綱辨證診斷準(zhǔn)確率。該研究思路可應(yīng)用于中醫(yī)智能辨證體系中,為病證規(guī)范化及辨證智能化提供參考。
參考文獻:
[1] 顧漫. 中醫(yī)學(xué)的起源與上古四方醫(yī)學(xué)知識的匯集[C]. 第二屆學(xué)術(shù)年會暨中醫(yī)藥傳統(tǒng)知識保護國際學(xué)術(shù)大會,2014:20-25.
[2] 韋堂軍,程銀. 略論傳統(tǒng)中醫(yī)的腫瘤辨治觀[J]. 世界科學(xué)技術(shù)-中醫(yī)藥現(xiàn)代化,2015,17(4):891-896.
[3] 溫維,張梅奎. 中醫(yī)發(fā)展困境及對策探討[J]. 醫(yī)學(xué)與社會,2014,27(2):65-67.
[4] 吳蕓,周昌樂,張志楓. 中醫(yī)舌診八綱辨證神經(jīng)網(wǎng)絡(luò)知識庫構(gòu)建[J]. 計算機應(yīng)用研究,2006,15(5):188-189.
[5] ZHAO B,F(xiàn)ENG J S,WU X. A survey on deep learning-based fine-grained object classification and semantic segmentation[J]. International Journal of Automation and Computing,2017,14(2):119-135.
[6] SONG X D,ZHANG G L. Modeling spatio-temporal distribution of soil moisture by deep learning-based cellular automata model[J]. Journal of Arid Land,2016,8(5):734-748.
[7] 曾明星,李桂平,周清平,等. 從MOOC到SPOC:一種深度學(xué)習(xí)模式建構(gòu)[J]. 中國電化教育,2015,4 (11):28-34.
[8] CHARTE F,ANTONIO J. Dealing with difficult minority labels in imbalanced multi-label data sets[J]. ?Neurocomputing, 2016,11(10):110-123.
[9] GOODFELLOW I J,ERHAN D,LUC CARRIER P,et al. Challenges in representation learning: a report on three machine learning contests[J]. Neural Networks,2015,41(9):64-71.
[10] 麥超,鄒維寶. 稀疏受限玻爾茲曼機研究綜述[J]. 計算機工程與科學(xué),2017,39(7):1379-1384.
[11] 酆勇,熊慶宇,石為人,等. 一種基于受限玻爾茲曼機的說話人特征提取算法[J]. 儀器儀表學(xué)報,2016,37(2):256-262.
[12] 張春霞,姬楠楠,王冠偉. 受限波爾茲曼機[J]. 工程數(shù)學(xué)學(xué)報,2015,36(2):159-173.
[13] 李思男,李寧,李戰(zhàn)懷. 多標(biāo)簽數(shù)據(jù)挖掘技術(shù):研究綜述[J]. 計算機科學(xué),2013,40(4):14-21.
[14] 秦鋒,黃俊,程澤凱,等. 多標(biāo)簽分類器準(zhǔn)確性評估方法的研究[J]. 計算機技術(shù)與發(fā)展,2010,20 (2):46-49.
[15] CHARTE F,RIVERA A J, JESUS M J, et al. Dealing with difficult minority labels in imbalanced? multi-label data sets[J].? Neurocomputing,2016,40(3):45-78.
[16] 劉方園,王水花,張煜東. 深度置信網(wǎng)絡(luò)模型及應(yīng)用研究綜述[J]. 計算機工程與應(yīng)用,2018,54(1):11-18+47.
[17] 吳蕓,周昌樂. 中醫(yī)八綱辨證神經(jīng)網(wǎng)絡(luò)構(gòu)造技術(shù)研究[J]. 計算機工程與應(yīng)用,2008,12(11):243-245+248.
[18] HOUBORG R,MCCABE M F. A hybrid training approach for leaf area index estimation via cubist and random forests machine-learning[J]. ISPRS Journal of Photogrammetry and Remote Sensing,2018,67(8):135-138.
[19] 劉建偉,劉媛,羅雄麟. 深度學(xué)習(xí)研究進展[J]. 計算機應(yīng)用研究,2014,31(7):1921-1930+1942.
[20] 鐘濤. 基于復(fù)雜系統(tǒng)方法的慢性胃炎中醫(yī)問診證候建模研究[D]. 上海:華東理工大學(xué),2014.
[21] DATTA S N. Min-max and max-min principles for the solution of 2 + 1 Dirac fermion in magnetic field, graphene lattice and layered diatomic materials[J].? Chemical Physics Letters,2018,7(9):692.
(責(zé)任編輯:江 艷)