張嘉琪,張?jiān)虑伲惤?/p>
(太原理工大學(xué)信息與計(jì)算機(jī)學(xué)院,山西晉中 030600)
中醫(yī)是我國(guó)的傳統(tǒng)醫(yī)學(xué),脈診是中醫(yī)理論中始創(chuàng)于公元前的獨(dú)特疾病診斷方法之一,李時(shí)珍所著的《瀕湖脈學(xué)》通過(guò)七言詩(shī)對(duì)脈象特征進(jìn)行了簡(jiǎn)潔、形象的描述。目前脈診多通過(guò)醫(yī)生的主觀觸感來(lái)實(shí)現(xiàn),由于缺乏脈象識(shí)別的統(tǒng)一標(biāo)準(zhǔn),同一個(gè)病人可能會(huì)被診斷出不同的脈象;而且醫(yī)生通常以自己的呼吸作為時(shí)間單位來(lái)計(jì)算病人的脈搏[1]。所以,如何用現(xiàn)代技術(shù)獲得脈象的特征,并依此特征客觀準(zhǔn)確地診斷疾病成為受關(guān)注的研究課題。
最早記載脈診的是《史記》,敘述了春秋時(shí)期扁鵲善于望、聞、問(wèn)、切而成為當(dāng)時(shí)的名醫(yī),其中“切”即切脈,也就是脈診[2]。除此之外,從春秋時(shí)期的《黃帝內(nèi)經(jīng)》《難經(jīng)》等,到東漢時(shí)期的具有傳世意義的《傷寒雜病論》,再到之后的《脈經(jīng)》《瀕湖脈學(xué)》等,中醫(yī)診脈在我國(guó)的歷史長(zhǎng)河中已傳世兩千多年[3]。在古代,為了方便老百姓就醫(yī)看病,記載最多的方法就是“賜藥”。尤其是在宋元時(shí)期,“賜藥”的實(shí)例更多:如在南宋朝廷給京城臨安的居民送藥;宋高宗時(shí)期要求派出醫(yī)官為百姓看病巡診開方治?。凰涡⒆跁r(shí)期要求大多數(shù)的醫(yī)官挨家挨戶巡診百姓并發(fā)放藥品。當(dāng)時(shí),受地理?xiàng)l件、交通能力的制約,能夠受此恩澤的百姓仍然有限。而今,雖然醫(yī)學(xué)有了更大的發(fā)展,但由于多種多樣的原因,看病難的問(wèn)題依然存在。在互聯(lián)網(wǎng)高度發(fā)展的今天,人們已通過(guò)互聯(lián)網(wǎng)做到千里診病,其中最常見的就是電子病歷、遠(yuǎn)程會(huì)診、遠(yuǎn)程護(hù)理等新科技的產(chǎn)物[4]。對(duì)于脈診,也已出現(xiàn)通過(guò)脈象儀與人體的接觸,獲取脈象的信息進(jìn)而繪制成脈象波形圖,之后通過(guò)這些信息和脈象波形圖并依據(jù)中醫(yī)脈診知識(shí)進(jìn)行數(shù)據(jù)分析,推斷出具體的脈象進(jìn)而診斷測(cè)試者的身體狀況。因此,脈診的準(zhǔn)確率直接關(guān)系到診斷的準(zhǔn)確率,既降低資源和時(shí)間的消耗,也有助于高效準(zhǔn)確的科學(xué)脈診。
針對(duì)上述問(wèn)題,本文提出了一種以脈象圖分析法為指導(dǎo)思想,以強(qiáng)化學(xué)習(xí)為框架,融和馬爾可夫決策和蒙特卡羅搜索(Monte Carlo Search,MCS)算法的脈象診斷方法,以達(dá)到減少訓(xùn)練數(shù)據(jù)集和訓(xùn)練學(xué)習(xí)時(shí)間,對(duì)整個(gè)診斷過(guò)程進(jìn)行可視化的解釋說(shuō)明并提高準(zhǔn)確率的目標(biāo)。
目前的脈象識(shí)別研究大多采用脈象信號(hào)、脈象波形圖以及脈象圖譜的特征參數(shù)作為研究數(shù)據(jù),并采用深度學(xué)習(xí)的方法進(jìn)行數(shù)據(jù)挖掘,最終對(duì)脈象進(jìn)行識(shí)別判斷。脈象圖是脈象的重要描述工具,它形象地展現(xiàn)出心臟循環(huán)脈動(dòng)對(duì)血管造成擠壓、變形及振動(dòng)而形成實(shí)時(shí)的變化,通過(guò)具體的10 個(gè)特征參數(shù)用數(shù)字來(lái)精準(zhǔn)描述脈象。同理脈象圖譜則是通過(guò)8 個(gè)不同的圖譜參數(shù)來(lái)反映脈象的實(shí)時(shí)特征。中醫(yī)脈象是一種受多種因素影響的不平穩(wěn)的周期信號(hào),脈象圖的變化常常會(huì)由未知原因在短時(shí)間內(nèi)迅速發(fā)生變化,內(nèi)含未知的模糊邊界,加之脈象的生成機(jī)制尚不完全明確,因此對(duì)脈象信號(hào)的分析研究仍不能對(duì)中醫(yī)脈診進(jìn)行定性分析的研究[5]。中醫(yī)脈診要參照人手動(dòng)脈的寸、關(guān)、尺等部位的脈搏信號(hào)進(jìn)行全面分析診斷,而脈象信號(hào)圖缺乏對(duì)脈象典型特點(diǎn)的定性分析和脈位、脈數(shù)、脈形、脈勢(shì)的準(zhǔn)確信息[5]。因此對(duì)脈位、脈數(shù)、脈形、脈勢(shì)等脈象特征進(jìn)行定量并作為客觀、科學(xué)的脈象分析的重要參考特征成為研究的主要內(nèi)容之一。
針對(duì)脈象波形圖的分析方法,目前有采用支持向量機(jī)、隨機(jī)森林等淺層機(jī)器學(xué)模型以及反向傳播神經(jīng)網(wǎng)絡(luò)(Back Propagation Neural Network,BPNN)、卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)、循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)以及概率神經(jīng)網(wǎng)絡(luò)(Probabilistic Neural Network,PNN)等深度學(xué)習(xí)模型。郭紅霞等[6]將PNN 方法和脈象圖譜數(shù)據(jù)運(yùn)用到了脈象識(shí)別,PNN 相較其他神經(jīng)網(wǎng)絡(luò)模型學(xué)習(xí)過(guò)程簡(jiǎn)單,訓(xùn)練速度更快,適合分類,表現(xiàn)出較好的容錯(cuò)性;利用相同的數(shù)據(jù),李磊[7]使用三層BPNN 對(duì)脈象進(jìn)行識(shí)別分析。陳星池等[8]利用脈搏波信號(hào)數(shù)據(jù),將極限學(xué)習(xí)機(jī)(Extreme Learning Machine,ELM)、BPNN 和支持向量機(jī)進(jìn)行脈象識(shí)別的對(duì)比;郭彥杰[9]、胡楊生[10]分別在eox 移動(dòng)智能血氧監(jiān)測(cè)儀器獲得脈搏波形數(shù)據(jù)集,使用RNN和CNN進(jìn)行了脈象識(shí)別的研究,RNN 的時(shí)序性特征適用于通過(guò)脈搏波的變化過(guò)程對(duì)脈象進(jìn)行分類識(shí)別;顏建軍等[11]使用了Z-BOXI型脈象數(shù)字化采集分析儀獲得的冠心病脈象數(shù)據(jù),并利用遞歸圖、CNN對(duì)健康脈象和冠心病脈象進(jìn)行了區(qū)分研究。
從現(xiàn)有脈象識(shí)別的研究來(lái)看,神經(jīng)網(wǎng)絡(luò)類的方法都有效達(dá)到了良好的識(shí)別效果。神經(jīng)網(wǎng)絡(luò)等深度學(xué)習(xí)算法存在一些可待改善的地方:1)神經(jīng)網(wǎng)絡(luò)類算法需要進(jìn)行數(shù)據(jù)訓(xùn)練,這需要大量的標(biāo)記數(shù)據(jù);2)訓(xùn)練過(guò)程缺乏可解釋性等問(wèn)題,難以說(shuō)明所以然的問(wèn)題仍然存在;3)大量訓(xùn)練導(dǎo)致的數(shù)據(jù)處理時(shí)間較長(zhǎng),開發(fā)框架相對(duì)復(fù)雜,對(duì)環(huán)境有較高的要求。因此,本文針對(duì)以上三個(gè)問(wèn)題提出相應(yīng)的解決方法:在中醫(yī)診脈的理論基礎(chǔ)上,結(jié)合強(qiáng)化學(xué)習(xí)的理論知識(shí),根據(jù)數(shù)據(jù)特征和脈診過(guò)程選擇了強(qiáng)化學(xué)習(xí)方案。其中,馬爾可夫決策被用于描述脈象數(shù)據(jù)間的關(guān)系,蒙特卡羅搜索被用于強(qiáng)化學(xué)習(xí)的獎(jiǎng)勵(lì)策略。強(qiáng)化學(xué)習(xí),是一種通過(guò)交互的目標(biāo)導(dǎo)向?qū)W習(xí)的方法,不斷探索與試錯(cuò),利用基于正/負(fù)獎(jiǎng)勵(lì)的方式進(jìn)行學(xué)習(xí),而馬爾可夫決策過(guò)程則是用于模擬這個(gè)學(xué)習(xí)過(guò)程,蒙特卡羅搜索通過(guò)求解學(xué)習(xí)過(guò)程并獲得最優(yōu)策略。該方法是一種自我學(xué)習(xí)過(guò)程,不需要大量訓(xùn)練數(shù)據(jù)集,且識(shí)別過(guò)程可解釋,處理時(shí)間相對(duì)較少。
脈象識(shí)別相關(guān)研究多對(duì)訓(xùn)練數(shù)據(jù)集有較高要求,不但數(shù)量要求多且質(zhì)量要求高。因此,本文研究以中醫(yī)診斷中的脈象圖分析法為指導(dǎo)思想,選擇馬爾可夫決策過(guò)程(Markov Decision Process,MDP)和蒙特卡羅搜索相結(jié)合作為主要的研究方法。該方法可根據(jù)先驗(yàn)知識(shí),并根據(jù)每一種脈象的特征數(shù)據(jù)的取值范圍,對(duì)先驗(yàn)知識(shí)數(shù)據(jù)進(jìn)行標(biāo)記。針對(duì)脈象診斷的行為過(guò)程和具體情況,特征選擇和路徑分類被用于縮短經(jīng)驗(yàn)軌跡、降低資源占用并提高準(zhǔn)確率的目標(biāo)。直接使用馬爾可夫決策過(guò)程和蒙特卡羅搜索,容易產(chǎn)生冗長(zhǎng)的路徑,進(jìn)而影響到識(shí)別結(jié)果的準(zhǔn)確性。為解決此問(wèn)題,本文提出了一種改進(jìn)方法:首先,采用特征選擇方法,通過(guò)與正常脈象的對(duì)比,優(yōu)先選出異常脈象的顯著特征;其次,以篩選出的顯著特征為基礎(chǔ),分別建立脈位失常、脈率失常和脈型失常3 條路徑;最后,通過(guò)馬爾可夫決策過(guò)程和蒙特卡羅搜索對(duì)處理后的數(shù)據(jù)集進(jìn)行分析處理,從而達(dá)到減少經(jīng)歷不必要的狀態(tài)和行為,最終改善較長(zhǎng)訓(xùn)練時(shí)間和資源浪費(fèi)等問(wèn)題。除此之外,在模型不斷的訓(xùn)練中,將形成經(jīng)驗(yàn)軌跡記憶庫(kù),不斷地更新模型的轉(zhuǎn)移概率,達(dá)到脈象識(shí)別的目標(biāo)。本文系統(tǒng)的框架如圖1所示。
圖1 本文系統(tǒng)框架Fig.1 Framework of proposed system
模型首先要通過(guò)學(xué)習(xí)先驗(yàn)知識(shí),獲得每種脈象所形成的經(jīng)驗(yàn)軌跡、狀態(tài)閾值,并作為實(shí)驗(yàn)數(shù)據(jù)的識(shí)別依據(jù),然后將每種脈象在狀態(tài)變化時(shí)的轉(zhuǎn)換概率進(jìn)行記錄并用于模型的更新。在這之后將實(shí)驗(yàn)數(shù)據(jù)根據(jù)專家結(jié)果分為單一脈象和相兼脈象。本文首先把單一脈象的識(shí)別作為研究對(duì)象,通過(guò)提案模型計(jì)算得到相應(yīng)的狀態(tài)值,并與狀態(tài)閾值集的數(shù)據(jù)進(jìn)行對(duì)比得出相應(yīng)的模型識(shí)別結(jié)果。將模型識(shí)別結(jié)果和專家結(jié)果進(jìn)行對(duì)比:如果結(jié)果一致說(shuō)明識(shí)別正確;若結(jié)果不一致,則將經(jīng)驗(yàn)軌跡存入經(jīng)驗(yàn)軌跡記憶庫(kù),并更新相應(yīng)脈象的狀態(tài)閾值集,進(jìn)一步更新模型的參數(shù)。
《瀕湖脈學(xué)》中對(duì)脈象的觸感給出了清晰的定義,而文獻(xiàn)[12]則采用現(xiàn)代儀器作為描述的方式,將各類異常脈象在脈象波形圖的特點(diǎn)進(jìn)行了具體的數(shù)值定義。心臟在一次跳動(dòng)之后,血管會(huì)受到壓力而發(fā)生變形,致使動(dòng)脈的容積和血液流動(dòng)發(fā)生一系列的變化。這些變化就被脈象儀捕捉到并繪制成波形圖,如圖2 所示是一個(gè)基本的脈象波形圖,并在圖中注明了重要參數(shù)。脈象圖分析法中給出的具體參數(shù)以及《瀕湖脈學(xué)》中對(duì)脈象特征定義的具體參數(shù),將作為實(shí)驗(yàn)所用的先驗(yàn)知識(shí),讓本文方法能判斷具體脈型需要哪些對(duì)應(yīng)的行為參數(shù)。
圖2 脈象波形Fig.2 Pulse condition waveform
根據(jù)脈象儀所獲取的波形圖數(shù)據(jù),可以獲取到波段常用的指標(biāo)。
1)U 角:又稱上升角,為主波上升支與時(shí)間橫軸所形成的夾角,反映血管彈性、粘性。
2)P 波:即主波幅、主波峰頂?shù)拇怪本嚯x,代表心臟收縮期動(dòng)脈管壁所承受的壓力和容積。
3)P 角:主波的上升支和下降支之間所形成的夾角,反映血管彈性和血流情況。
4)t1:U→P 為流入時(shí)間,即到達(dá)主波頂?shù)臅r(shí)間,與血液流入動(dòng)脈所受阻力大小相關(guān)。
5)T波:重搏前波,T波的數(shù)值是脈象分類的重要指標(biāo)。
6)V波:降中峽,其幅度反映了外周血管的特征。
7)D波:重搏波,反映血管彈性和血液流動(dòng)狀態(tài)。
8)t:U→U'時(shí)間為脈波周期時(shí)間。
由此,脈搏波形圖從血管、血液等特征對(duì)脈象進(jìn)行了狀態(tài)描述。
除此之外,文獻(xiàn)[12]根據(jù)脈象的典型特征將異常脈象分為脈率失常、脈位失常、脈型失常3 大類以及10 大特殊脈象。本文首先選擇3 大類的異常脈象作為研究對(duì)象。3 大異常脈象類型分別為:脈率異常、脈位異常、脈型異常,具體的分類在2.4 節(jié)中介紹。相關(guān)的識(shí)別數(shù)據(jù)除上述脈象圖指標(biāo)外,脈率、脈位等脈象特征,也是該實(shí)驗(yàn)的兩個(gè)重要數(shù)據(jù)項(xiàng)。實(shí)驗(yàn)設(shè)計(jì)將依照中醫(yī)理論給出的具體思想和參數(shù)作為本文脈象分類的理論基礎(chǔ)。
強(qiáng)化學(xué)習(xí)是一套通用的學(xué)習(xí)框架,主要是在環(huán)境交互過(guò)程中,通過(guò)獎(jiǎng)勵(lì)r、狀態(tài)s、動(dòng)作a這3個(gè)信號(hào)實(shí)現(xiàn)學(xué)習(xí)和求解最優(yōu)策略的過(guò)程。強(qiáng)化學(xué)習(xí)的數(shù)學(xué)基礎(chǔ)理論是基于馬爾可夫決策過(guò)程,并構(gòu)建相應(yīng)的數(shù)學(xué)表達(dá),然后利用諸如動(dòng)態(tài)規(guī)劃、蒙特卡羅、時(shí)間差分等數(shù)學(xué)方法對(duì)其進(jìn)行求解,從而搭建一套自適應(yīng)、自學(xué)習(xí)的強(qiáng)化學(xué)習(xí)決策體系[13]。針對(duì)馬爾可夫決策過(guò)程中抽象出的經(jīng)驗(yàn)軌跡集,本文采用蒙特卡羅搜索方法進(jìn)行求解,并獲取最優(yōu)策略。蒙特卡羅搜索需要完整的經(jīng)驗(yàn)軌跡,這一特點(diǎn)可用于對(duì)后期的脈象識(shí)別過(guò)程進(jìn)行相應(yīng)的解釋。將用馬爾可夫決策過(guò)程詳細(xì)地模擬脈象識(shí)別的強(qiáng)化學(xué)習(xí)的學(xué)習(xí)過(guò)程,以及蒙特卡羅搜索對(duì)強(qiáng)化學(xué)習(xí)的求解過(guò)程。
2.3.1 馬爾可夫決策過(guò)程
馬爾可夫決策過(guò)程(MDP)被用于強(qiáng)化學(xué)習(xí),它要求系統(tǒng)的一個(gè)狀態(tài)與當(dāng)前狀態(tài)有關(guān),而與之前或者更早的狀態(tài)沒(méi)有關(guān)系,以及其序貫決策的特點(diǎn)與本文實(shí)驗(yàn)所用數(shù)據(jù)中數(shù)據(jù)項(xiàng)無(wú)關(guān)聯(lián)的特征相符。馬爾可夫決策過(guò)程如下:
其中,S代表狀態(tài)集,且S={s1,s2,…,sn},si表示時(shí)間狀態(tài)i下的實(shí)時(shí)狀態(tài)。本文將脈診識(shí)別需要考察的15 個(gè)重要脈象特征和判斷學(xué)習(xí)過(guò)程是否“終止”作為狀態(tài),則S的定義如下:
S={“脈位”,“節(jié)律”,“脈力”,“脈型”,“脈沖”,“脈率”,“脈搏”,“U 角”,“P 波”,“P 角”,“t1”,“T 波”,“D 波”,“V波”,“t”,“終止”}
Xi={xi,0,xi,1,…,xi,14}是本文實(shí)驗(yàn)的數(shù)據(jù),將作為馬爾可夫決策過(guò)程的輸入數(shù)據(jù)。p表示在狀態(tài)si執(zhí)行動(dòng)作ai之后,轉(zhuǎn)移到下一個(gè)狀態(tài)s'的概率,例如psa=P(s'|si,ai),初始的轉(zhuǎn)移概率都設(shè)為1,伴隨著模型的不斷學(xué)習(xí)轉(zhuǎn)移概率也會(huì)不斷更新。而A則為動(dòng)作集,其表達(dá)式為A={a1,a2,…,an},其中,ai表示時(shí)間狀態(tài)i下所采取的動(dòng)作,例如在狀態(tài)si=“脈力”時(shí)所采取的具體動(dòng)作有“無(wú)力”及“有力”,分別記作:ai,0=“無(wú)力”和ai,1=“有力”,這里ai=ai,1=“有力”。相應(yīng)的r作為獎(jiǎng)勵(lì),即在狀態(tài)si執(zhí)行動(dòng)作ai后轉(zhuǎn)移到狀態(tài)s'所獲得的獎(jiǎng)勵(lì)ri,其中ri=R(si,ai)。最終生成一條由S、A、r組成的經(jīng)驗(yàn)軌跡序列,記為:{S,A,r}。
為使用本文的實(shí)驗(yàn)數(shù)據(jù),在未經(jīng)數(shù)據(jù)選擇和路徑分類處理的情況下得到一條經(jīng)歷全部狀態(tài)和行為的結(jié)脈的經(jīng)驗(yàn)軌跡,其具體步驟如下:
步驟1 當(dāng)前所在的狀態(tài)s0(脈位),執(zhí)行動(dòng)作a0(脈位:中),狀態(tài)轉(zhuǎn)移到s1(節(jié)律),獲得獎(jiǎng)勵(lì)為0。
步驟2 此時(shí)狀態(tài)為s1(節(jié)律),執(zhí)行動(dòng)作a1(節(jié)律:不齊),狀態(tài)轉(zhuǎn)移到s2(脈力),獲得獎(jiǎng)勵(lì)為-1(節(jié)律:不齊時(shí),相應(yīng)的獎(jiǎng)勵(lì)為-1;齊時(shí),獎(jiǎng)勵(lì)為0)。
步驟3 此時(shí)狀態(tài)處于s2(脈力),執(zhí)行動(dòng)作a2(脈力:有力),獲得獎(jiǎng)勵(lì)為1(脈力分為:有力、中、無(wú)力、軟、不齊,相對(duì)應(yīng)的獎(jiǎng)勵(lì)值為1、0、-1、-2、-3),狀態(tài)轉(zhuǎn)移到s3(脈型)。
……
步驟15 此時(shí)狀態(tài)處于s14(t),執(zhí)行動(dòng)作a14(U→U'時(shí)間:0.67,在正常值范圍),獲得獎(jiǎng)勵(lì)為0,狀態(tài)轉(zhuǎn)移到s15(終止)。
根據(jù)特征數(shù)據(jù)的正常值與異常值的差異程度,本文研究對(duì)獎(jiǎng)勵(lì)給予相應(yīng)的定義。當(dāng)特征值優(yōu)于正常值時(shí),給予的獎(jiǎng)勵(lì)為正的分值;當(dāng)特征值劣于正常值時(shí)給予為負(fù)的分值。獎(jiǎng)勵(lì)的分值依據(jù)特征的不同程度給予定義。例如對(duì)脈力有5 種程度的定義,分別為有力、中、無(wú)力、軟和不齊,其中:中為正常值,故定義脈力程度為中時(shí),獎(jiǎng)勵(lì)分值為0;脈力程度為有力時(shí),其特征值優(yōu)于脈力程度中,故定義其獎(jiǎng)勵(lì)分值為1;脈力程度無(wú)力、軟和不齊均劣于脈力程度中,其中脈力程度軟和不齊更劣于脈力程度無(wú)力,故其分值分別定義為-1、-2和-3。
到這里,一個(gè)完整的馬爾可夫決策過(guò)程結(jié)束了,獲得一條經(jīng)驗(yàn)軌跡:s0(脈位),a0(中),r0,s1(節(jié)律),a1(不齊),r1,s2(脈力),a2(有力),r2,s3(脈型),…,s14(t),a14(0.67),r14,s15(終止),如圖3所示。
2.3.2 蒙特卡羅搜索
蒙特卡羅搜索(MCS)能夠處理免模型的任務(wù),其無(wú)須依賴環(huán)境的完備知識(shí),只需重復(fù)收集從環(huán)境中進(jìn)行采樣得到的經(jīng)驗(yàn)軌跡(由馬爾可夫決策過(guò)程獲得),基于經(jīng)驗(yàn)軌跡級(jí)數(shù)據(jù)的計(jì)算,可獲得最終的累積獎(jiǎng)勵(lì)。
利用蒙特卡羅搜索直接從環(huán)境中采集獲得經(jīng)驗(yàn)軌跡,并根據(jù)經(jīng)驗(yàn)軌跡的數(shù)據(jù)進(jìn)行計(jì)算,最終獲得該策略下的累計(jì)獎(jiǎng)勵(lì)。
在環(huán)境未知時(shí),則根據(jù)策略π進(jìn)行采樣,從起始狀態(tài)s0出發(fā),執(zhí)行該策略T步后達(dá)到一個(gè)終止?fàn)顟B(tài)sT,從而獲得一條完整的經(jīng)驗(yàn)軌跡,如式(1)所示:
由2.3.1 節(jié)的介紹可得s0(脈位)、a0(中)、r0=0、s1(節(jié)律)、a1(不齊)、r1=-1、s2(脈力)、a2(有力)、r2=1、s3(脈型)、……、s14(t)、a14(0.67)、r14=0、s15(終止)。
對(duì)于m時(shí)刻狀態(tài)為sT,未來(lái)折扣累計(jì)獎(jiǎng)勵(lì)如式(2)所示:
蒙特卡羅法利用經(jīng)驗(yàn)軌跡的平均未來(lái)折扣累計(jì)獎(jiǎng)勵(lì)G作為狀態(tài)值的期望:
而強(qiáng)化學(xué)習(xí)的目標(biāo)是求解最優(yōu)策略π*,得到最優(yōu)策略的一個(gè)常用方法是求解狀態(tài)值函數(shù)νπ(s)的期望:
根據(jù)本文研究的部分?jǐn)?shù)據(jù)項(xiàng)具有取值范圍的限定這一特性,相應(yīng)得到的結(jié)果也具有相應(yīng)的范圍特性,故本文采用先驗(yàn)知識(shí)中每種脈象的每項(xiàng)數(shù)據(jù)的最小值及最大值都進(jìn)行模型計(jì)算,獲取相應(yīng)的最小狀態(tài)值νmin以及最大狀態(tài)值νmax,從而得到相應(yīng)脈象的狀態(tài)閾值集并記作νpulse?name,i。本文使用部分脈象的數(shù)據(jù)作說(shuō)明如表1 所示,限于篇幅,給出了除P 角之外的其他14 個(gè)脈象特征,可見部分脈象特征為范圍特性,應(yīng)用其最小值和最大值分別計(jì)算最小狀態(tài)值νmin以及最大狀態(tài)值νmax。因此,本文方法改用閾值狀態(tài)值作為判斷依據(jù)。將訓(xùn)練過(guò)程中識(shí)別某個(gè)脈象時(shí)產(chǎn)生的策略及該策略下所獲得的狀態(tài)值νπ(s)不斷更新到狀態(tài)閾值集中,即:
表1 脈象閾值Tab.1 Pulse condition thresholds
在實(shí)驗(yàn)前,根據(jù)每項(xiàng)特征數(shù)值可取的范圍對(duì)數(shù)據(jù)進(jìn)行檢測(cè),以察覺異常值,因此閾值會(huì)確定在有限范圍內(nèi),以保證每種識(shí)別策略的可信性。
因?yàn)椴糠謹(jǐn)?shù)據(jù)項(xiàng)有限定值的情況導(dǎo)致結(jié)果出現(xiàn)雷同值;其次由于直接采用原始數(shù)據(jù)會(huì)產(chǎn)生冗長(zhǎng)的經(jīng)驗(yàn)軌跡,導(dǎo)致準(zhǔn)確率降低以及冗余的狀態(tài)和行為;為此本文提出了一種改方法:路徑分類和特征選擇。
對(duì)經(jīng)驗(yàn)軌跡進(jìn)行分類改進(jìn),依照中醫(yī)脈象圖分析法,根據(jù)脈象的典型特征將脈象進(jìn)行分類,分類依據(jù)如圖4 所示,并設(shè)置不同的經(jīng)驗(yàn)軌跡的初始狀態(tài),如下:
圖4 脈象經(jīng)驗(yàn)軌跡初始狀態(tài)分類Fig.4 Initial state classification of pulse condition experience trajectories
S0={“節(jié)律”,“脈力”,“速率”,“脈速”}
除此之外,為了達(dá)到每種脈象都獨(dú)有一條經(jīng)驗(yàn)軌跡和縮短經(jīng)驗(yàn)軌跡的目標(biāo),通過(guò)與正常脈象進(jìn)行特征對(duì)比,抽取異常特征構(gòu)成相應(yīng)的特征組合,從而達(dá)到縮短經(jīng)驗(yàn)軌跡的目標(biāo)。根據(jù)脈象數(shù)據(jù)的特征,本文將使用適合低維數(shù)據(jù)的異常數(shù)據(jù)檢測(cè)方法Z-score 評(píng)分機(jī)制[14]進(jìn)行改進(jìn)之后作為特征選擇的方法。例如,Xi={xi,0,xi,1,…,xi,14}對(duì)每一項(xiàng)數(shù)據(jù)進(jìn)行距離計(jì)算,計(jì)算式如下:
其中:xi,j代表一個(gè)數(shù)據(jù)點(diǎn);μj是第j個(gè)脈象特征數(shù)據(jù)的均值。根據(jù)脈象識(shí)別的特點(diǎn),將平脈(正常脈)的特征值作為比較對(duì)象,那么μj就是平脈第j個(gè)脈象特征的值。δj是j列數(shù)據(jù)的標(biāo)準(zhǔn)差,其值將隨著數(shù)據(jù)量的增加逐值更新。獲取Zi,j值之后對(duì)其進(jìn)行判斷,如式(7)所示:
如果|Zi,j|大于閾值Zthr,j則說(shuō)明該值為異常值,將其數(shù)據(jù)存入到新的數(shù)組序列中,作為后續(xù)實(shí)驗(yàn)的實(shí)際數(shù)據(jù)值脈率失常的一條脈象數(shù)據(jù)的經(jīng)驗(yàn)路徑,經(jīng)過(guò)與正常脈象的特征進(jìn)行對(duì)比,從15 個(gè)特征值中選擇出5 個(gè)具有顯著異常的特征。由經(jīng)驗(yàn)軌跡分類可知,其初始狀態(tài)s0=“節(jié)律”,相應(yīng)的經(jīng)驗(yàn)軌跡為:s0(速率),a0(慢),r0=-1,s1(脈力),a1(有力),r1=1,s2(節(jié)律),a2(不齊),r2=-1,s3(脈速),a3(65),r3=-1,s4(終止)。其長(zhǎng)度由原來(lái)的15 個(gè)狀態(tài)、14 個(gè)行為及其獎(jiǎng)勵(lì),縮短到5 個(gè)狀態(tài)和4 個(gè)行為及其獎(jiǎng)勵(lì),達(dá)到了縮短經(jīng)驗(yàn)軌跡和狀態(tài)值唯一性的目標(biāo)。如圖5 所示,通過(guò)路徑選擇和特征選擇的操作,每一次脈象識(shí)別都有唯一的經(jīng)驗(yàn)軌跡和對(duì)應(yīng)的狀態(tài)結(jié)果值,最終達(dá)到準(zhǔn)確識(shí)別的目標(biāo)。具體過(guò)程如算法1所示。
Fig.5 優(yōu)化的經(jīng)驗(yàn)軌跡效果Fig.5 Effect of optimized experience trajectory
算法1 優(yōu)化路徑特征分類脈象識(shí)別算法getPulseCondition(Xi)。
算法 2 Z-score 評(píng)分機(jī)制的特征選擇算法getEigenvalues(Xi)。
其中:μj是j列數(shù)據(jù)的均值;δj是j列數(shù)據(jù)的標(biāo)準(zhǔn)差;Zthr,j為閾值。
算法3 馬爾可夫決策與蒙特卡羅搜索算法getPulseName(F,Xi)。
本文實(shí)驗(yàn)的先驗(yàn)知識(shí),包括27 種基礎(chǔ)脈象,其中包括:平、滑、動(dòng)、澀、弦等,并分別對(duì)每一種脈象進(jìn)行了14 項(xiàng)特征參數(shù)的具體值描述。而先驗(yàn)知識(shí)的來(lái)源有兩部分:一部分是中醫(yī)醫(yī)生對(duì)《瀕湖脈學(xué)》中的定義進(jìn)行總結(jié),而這部分主要是脈象的基礎(chǔ)特征;而另一部分則是文獻(xiàn)[12]所提供,其對(duì)每一種脈象波形圖中重要參數(shù)給出了具體的取值范圍。
實(shí)驗(yàn)的數(shù)據(jù)通過(guò)脈象信息采集儀采集,對(duì)象為60 歲左右的老年人,采集時(shí)間歷時(shí)約半年。所采集的數(shù)據(jù)有中醫(yī)專家的標(biāo)注,經(jīng)過(guò)標(biāo)注后的數(shù)據(jù)中分為單一脈象和相兼脈象兩種。本文先選擇單一脈象用于驗(yàn)證模型的可行性。每一組數(shù)據(jù)都由15項(xiàng)具體參數(shù)值組成,具體如下。
1)Pulse position:脈位,用于描述脈象所出現(xiàn)的位置,分為浮、中、沉三種。
2)Pulse rhythm:節(jié)律,用于描述脈象的跳動(dòng)節(jié)奏,分為齊、不齊。
3)Pulse force:脈力,描述把脈時(shí)感受到的脈象的力量,有軟、無(wú)力、中、有力、不齊五種。
4)Pulse shape:脈型,簡(jiǎn)單將脈象的形狀分為b、abc、ac、a這四類,其中a、b、c分別表示主波、重搏前波和重搏波。
5)Pulse potential:脈勢(shì),從另一個(gè)角度來(lái)描述脈象的力量,即分為低平虛、正常和強(qiáng)三種。
6)Pulse rate:脈搏,即對(duì)脈搏進(jìn)行慢、緩、中、遲和快的分類。
7)Pulse speed:脈搏速率,即對(duì)脈搏進(jìn)行具體數(shù)字的采集。
而其他數(shù)據(jù)參數(shù)為脈象波形圖的重要參數(shù)項(xiàng),如圖2 及相關(guān)說(shuō)明。為了實(shí)驗(yàn)的操作方便對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,并將數(shù)據(jù)轉(zhuǎn)換成集合的形式,每一個(gè)集合包括脈象名稱及上述的15項(xiàng)參數(shù)值,例如X1={x1,0,x1,1,…,x1,14}。
實(shí)驗(yàn)中,把預(yù)處理后未經(jīng)優(yōu)化的數(shù)據(jù)直接運(yùn)用到由馬爾可夫決策過(guò)程和蒙特卡羅搜索組成的模型中,實(shí)驗(yàn)結(jié)果表明存在經(jīng)驗(yàn)軌跡混雜和資源浪費(fèi)等問(wèn)題。為此,本文實(shí)驗(yàn)根據(jù)文獻(xiàn)[12]中所給出的分類標(biāo)準(zhǔn),將重點(diǎn)參數(shù)值作為經(jīng)驗(yàn)軌跡的起始狀態(tài);此外,將每組數(shù)據(jù)與正常脈象(平脈)的各數(shù)據(jù)項(xiàng)進(jìn)行了對(duì)比,將異常數(shù)據(jù)項(xiàng)作為特征提取的對(duì)象。經(jīng)過(guò)路徑選擇和特征優(yōu)化處理,最終達(dá)到了縮短經(jīng)驗(yàn)軌跡、減少時(shí)間和資源的浪費(fèi)、提高準(zhǔn)確率的目標(biāo)。
為驗(yàn)證本文方法,將同一數(shù)據(jù)分別使用PNN 模型、RNN模型進(jìn)行脈象識(shí)別,將每一組數(shù)據(jù)歸一化為樣本矢量。其中,在PNN 模型中不考慮代價(jià)因子對(duì)脈象診斷的影響都取值為1;文獻(xiàn)[6]研究表明PNN 對(duì)脈象診斷準(zhǔn)確率的結(jié)果不會(huì)因?yàn)槟P统瑓?shù)的取值而過(guò)于敏感。其次,選擇RNN 模型作為對(duì)比,RNN 模型類似于本文模型的狀態(tài)之間相關(guān)性特征,并在脈象識(shí)別研究中表現(xiàn)良好[15]。文獻(xiàn)[6]為了滿足RNN 模型的訓(xùn)練要求,將數(shù)據(jù)劃分70%作為訓(xùn)練數(shù)據(jù)集,30%作為測(cè)試集。
對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行分析,選擇模型識(shí)別脈型的真正率(True Positive Rate,TPR)、真負(fù)率(True Negative Rate,TNR)作為模型評(píng)估的指標(biāo),TPR 描述模型真正識(shí)別的能力,TNR 表示在噪聲數(shù)據(jù)情況下識(shí)別的能力,具體的計(jì)算式如下:
其中:TP表示真正脈象的數(shù)量;FN表示沒(méi)被正確識(shí)別的數(shù)量;FP表示錯(cuò)誤識(shí)別的數(shù)量;TN表示正確識(shí)別錯(cuò)誤數(shù)據(jù)的數(shù)量。為了應(yīng)用該評(píng)估模型,實(shí)驗(yàn)數(shù)據(jù)分別增設(shè)了K={0.1,0.2,0.3,0.5}比例的噪聲數(shù)據(jù),用于檢測(cè)模型對(duì)噪聲樣本的敏感度。表2為模型在不同比例噪聲數(shù)據(jù)下的真正率(TPR)、真負(fù)率(TNR)以及準(zhǔn)確率(Accuracy)。
表2 不同模型診斷性能對(duì)比Tab.2 Comparison of diagnostic performance of different models
除了通過(guò)真正率和真負(fù)率評(píng)估模型針對(duì)不同比例噪聲數(shù)據(jù)的識(shí)別能力,本文還采用F1度量來(lái)評(píng)價(jià)模型的穩(wěn)定性和診斷性能。F1度量的計(jì)算式如下:
其中Total為樣本總量。根據(jù)F1度量值越大越穩(wěn)定、性能就越好的原則,可以得出本文所提出的模型相較于其他兩種模型表現(xiàn)出更好的診斷性能和穩(wěn)定性;且在面對(duì)含有不同比例噪聲數(shù)據(jù)的情況,本文所提出的模型都表現(xiàn)較好,如表3所示。
表3 不同模型診斷F1對(duì)比 單位:%Tab.3 F1comparison of different model diagnosis unit:%
在實(shí)驗(yàn)用時(shí)方面,本文模型相較于其他模型的實(shí)驗(yàn)時(shí)間減少了約90%,明顯降低了時(shí)間消耗。依照該實(shí)驗(yàn)的數(shù)據(jù)特點(diǎn):部分?jǐn)?shù)據(jù)為具體數(shù)字,部分有限定取值范圍(脈位、脈型、節(jié)律等),PNN模型相較于單一脈象圖數(shù)據(jù)的實(shí)驗(yàn)表現(xiàn)出脈象識(shí)別準(zhǔn)確率明顯降低的特征。而RNN 模型在本文所用數(shù)據(jù)的情況下,仍保持較高的準(zhǔn)確率和良好的性能。本文模型的準(zhǔn)確率在對(duì)比實(shí)驗(yàn)中相對(duì)較優(yōu),針對(duì)真數(shù)據(jù)和噪聲數(shù)據(jù)的識(shí)別都有良好表現(xiàn),驗(yàn)證了其可行性及對(duì)本文實(shí)驗(yàn)數(shù)據(jù)特征擁有較好的適應(yīng)性。綜合實(shí)驗(yàn)結(jié)果顯示,本文模型可較大幅度縮短識(shí)別時(shí)間,且模型構(gòu)建過(guò)程相對(duì)簡(jiǎn)單,能應(yīng)對(duì)稀疏數(shù)據(jù)集的處理。同時(shí),經(jīng)驗(yàn)軌跡可以作為脈象識(shí)別的過(guò)程,用于解決數(shù)據(jù)處理過(guò)程中的“黑箱”問(wèn)題。
為解決中醫(yī)醫(yī)生脈診時(shí)由醫(yī)生的個(gè)體感知差異帶來(lái)的脈象診斷不一致的問(wèn)題,本文利用脈象儀獲取的數(shù)據(jù),并依據(jù)傳統(tǒng)中醫(yī)診脈的思想,探尋利用強(qiáng)化學(xué)習(xí)方法以實(shí)現(xiàn)準(zhǔn)確診斷脈象。本文采用馬爾可夫決策過(guò)程結(jié)合蒙特卡羅搜索的方法設(shè)計(jì)診斷模型,為了降低冗余,設(shè)計(jì)出脈診數(shù)據(jù)特征選擇及路徑分類策略。本文模型與概率神經(jīng)網(wǎng)絡(luò)(PNN)模型和循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)模型進(jìn)行對(duì)比的實(shí)驗(yàn)結(jié)果表明:本文模型提高了準(zhǔn)確率,減少了時(shí)間消耗,同時(shí)減少了實(shí)驗(yàn)所需訓(xùn)練標(biāo)記數(shù)據(jù)集。與此同時(shí),實(shí)驗(yàn)過(guò)程中對(duì)經(jīng)驗(yàn)軌跡的存儲(chǔ),可用于說(shuō)明和解釋診斷過(guò)程。目前,本文僅對(duì)單一脈象進(jìn)行了分析和研究,在今后的工作中,我們將改進(jìn)方法對(duì)相兼脈象的分析,以進(jìn)一步驗(yàn)證本文模型的可行性和實(shí)用性。