陳 年,金 濤,王建民
(清華大學 軟件學院,北京100084)
臨床路徑是指由一組專業(yè)人員制定的,針對某一特定的疾病、診斷或手術(shù)的標準化的治療護理模式。運用臨床路徑可以起到優(yōu)化診療過程、評估治療效果、節(jié)約醫(yī)療資源等作用。根據(jù)國家衛(wèi)計委2017年發(fā)布的《醫(yī)療機構(gòu)臨床路徑管理指導原則》第六、七條要求,醫(yī)療機構(gòu)應(yīng)當建立臨床路徑管理工作制度,并成立臨床路徑管理工作體系,負責臨床路徑管理工作[1]。
已有的工作大多都集中于臨床路徑的創(chuàng)建和應(yīng)用方向,但臨床路徑創(chuàng)建的數(shù)據(jù)基礎(chǔ)是沒有運用臨床路徑時的醫(yī)療數(shù)據(jù)或者醫(yī)務(wù)人員經(jīng)驗,因此需要經(jīng)過實踐檢驗。實踐發(fā)現(xiàn),雖然符合國家標準的臨床路徑入徑率較高,但變異率往往也很高,多表現(xiàn)為臨床路徑中缺乏需要的醫(yī)囑,這可能是病人病情復雜多變導致的?;谏鲜銮闆r,對已有臨床路徑進行優(yōu)化以降低其變異率,是一個亟待解決的問題。
為解決該問題,本文以已有的臨床路徑在醫(yī)院應(yīng)用后得到的變異醫(yī)囑數(shù)據(jù)為基礎(chǔ),對已有臨床路徑進行優(yōu)化以降低其變異率。研究面臨的主要挑戰(zhàn)有:
(1)醫(yī)囑數(shù)據(jù)是以醫(yī)囑為單位的散亂數(shù)據(jù),需要處理以得到醫(yī)囑階段等信息。
(2)需要從上述數(shù)據(jù)中挖掘出可推薦醫(yī)囑加入臨床路徑中。
(3)需要對加入醫(yī)囑的數(shù)目與降低的變異率加以權(quán)衡。
針對以上挑戰(zhàn),在深入分析已有本地臨床路徑及其在醫(yī)療機構(gòu)應(yīng)用后得到的醫(yī)療數(shù)據(jù)的基礎(chǔ)上,本文首先對常規(guī)的遺傳算法進行可行性分析,證明其效果達到預(yù)期;然后調(diào)研了常用的遺傳算法改進方法,分析其是否適用于本文研究內(nèi)容,并將適用的方法實際應(yīng)用到醫(yī)療數(shù)據(jù)上,進行了性能評估;在上述過程中,發(fā)現(xiàn)變異算子與“基因”間關(guān)系密切,基于Word2vec得到的醫(yī)囑間關(guān)系,提出了一種新的變異算子改進方法。
本文工作及思路的整體流程如圖1所示,主要貢獻包括:
(1)使用遺傳算法挖掘得到可推薦醫(yī)囑。
(2)針對實際問題,對遺傳算法進行了適配和改進,并提出一種新的基于Word2vec的遺傳算法變異算子改進方法。
(3)對上述方法進行了試驗評估,驗證了所提方法的有效性。
關(guān)于遺傳算法的綜述中,席裕庚等[2]總結(jié)得比較全面,但時間偏早,且對基因操作方法的描述過于簡潔;葛繼科等[3]對基因操作方法的原理和運用方法描述得比較詳細,但只涉及了常用的方法;馬永杰等[4]全面介紹了遺傳算法的原理、發(fā)展和運用,但偏向近年來的進展而略過了常用方法。
關(guān)于改進遺傳算法的研究,楊宇明等[5]討論了遺傳算法運行過程中的一種適應(yīng)度變換法——線性尺度變換法的實施方法,并給出了具體變換公式及其實施建議;郭曉原[6]對適應(yīng)度的自適應(yīng)調(diào)整以及選擇算子的改進作了深入研究,并將改進后的遺傳算法應(yīng)用在函數(shù)優(yōu)化及PID參數(shù)整定問題上;于瑩瑩等[7]針對旅行商問題,提出了基于貪婪算法生成初始種群和自適應(yīng)概率調(diào)節(jié)的遺傳算法改進方法,并用偽代碼列出了算法整體流程。
關(guān)于臨床路徑挖掘的研究,LANG等[8]從噪聲處理、變異探測等7個方面分析了7種過程挖掘算法在臨床路徑挖掘上的表現(xiàn),其中效果最好的是WEIJTERS等[9]使用的啟發(fā)式挖掘算法和DE MEDEIROS等[10]使用的遺傳挖掘算法,這兩種方法對噪聲的魯棒性強。YANG等[11]分析了2004~2013年的37項研究,探索了臨床路徑設(shè)計的過程發(fā)現(xiàn)、變異分析與控制、持續(xù)評價與改進3個方面的研究,并分析了這些方法的不足之處。莫天宇[12]和黃俊捷等[13]都作了基于挖掘算法建立臨床路徑的研究,給出了這些算法的詳細使用流程,并介紹了臨床路徑相關(guān)概念。徐嘯等[14]提出一種通過主題模型將診療活動聚合成主題,然后挖掘得到臨床路徑模型的方法。
周練[15]和熊富林等[16]總結(jié)了Word2vec這一最新技術(shù)理論的合集,重點介紹了Word2vec 的核心架構(gòu)連續(xù)詞袋模型(Continuous Bag of Words,CBOW)及skip-gram,并對這一技術(shù)在中英文語料處理中的應(yīng)用進行了探討。
綜上所述,①目前關(guān)于遺傳算法綜述類的文獻少有算法性能的定量對比;②關(guān)于改進遺傳算法的研究;通常把重點放在某一步驟的改進方法上;③關(guān)于臨床路徑挖掘的研究則專注于算法之間的性能對比,而非算法內(nèi)不同改進方法的對比。本文結(jié)合上述三者,將改進遺傳算法應(yīng)用于臨床路徑挖掘問題,并對不同改進方法的效果進行了對比。
定義1臨床路徑。由一組專業(yè)人員制定的,針對某一特定的疾病、診斷或手術(shù)的,標準化的治療護理模式。
定義2醫(yī)囑項目。臨床路徑的最小粒度單位,是診療過程中使用的關(guān)于飲食、用藥、醫(yī)療耗材、檢查或手術(shù)等方面的指示,每項醫(yī)囑只對應(yīng)一項內(nèi)容。
定義3臨床路徑階段。臨床路徑的粒度單位,是診療過程的一種劃分。
定義4臨床診療日?;颊咴\療過程中有診療記錄的某一天。
臨床路徑與診療實例示例如圖2所示。
定義5變異醫(yī)囑項目。若醫(yī)院人工制定的臨床路徑在當前和下一階段均不包含該醫(yī)囑項目,則該醫(yī)囑項目被視為變異醫(yī)囑項目。
定義6入徑率。病例進入臨床路徑第二階段,且第一階段內(nèi)的異常醫(yī)囑項目不超過 20%,即視為入徑病例,否則未入徑。
(1)
定義7變異率。病例在入徑的基礎(chǔ)上,全部診療過程存在變異醫(yī)囑項目,即視為變異病例。
(2)
定義8最大醫(yī)囑數(shù)。單階段可以向臨床路徑新增的醫(yī)囑的最大數(shù)目,是“新增醫(yī)囑——降低變異率效果”關(guān)系的一種制約方法。(需要制約方法的原因是:如果可以無限制地新增醫(yī)囑,只要將所有變異醫(yī)囑加入臨床路徑就可以將變異率降至零,但這種臨床路徑過于“通用”而少“具體針對性”。)
本文實驗采用北京清華長庚醫(yī)院提供的“腹股溝疝臨床路徑”及其部分時間段內(nèi)的43個腹股溝疝病人的醫(yī)囑數(shù)據(jù)。原始數(shù)據(jù)以醫(yī)囑記錄(即一次醫(yī)囑項目的使用記錄)為基本單位,每條數(shù)據(jù)都有47個數(shù)據(jù)項,共計1 173條。
數(shù)據(jù)預(yù)處理流程如圖3所示,主要分為3個步驟:提取數(shù)據(jù)、劃分階段、識別變異醫(yī)囑。
(1)一條醫(yī)囑記錄了將近50個數(shù)據(jù)項,首先要找出所需的重要數(shù)據(jù)項。本文中提取并使用的數(shù)據(jù)項及其意義如下:
醫(yī)囑號(ORDER_NO)為每條醫(yī)囑記錄的獨特編號,類似于數(shù)據(jù)庫中的NO。
醫(yī)囑名稱(ORDER_NAME)為醫(yī)囑項目的中文名稱,如“Ⅰ級護理”。
醫(yī)囑代號(CLINIC_ITEM_CODE)為代表醫(yī)囑的英文字母+數(shù)字編號,如“G05-101”代表“Ⅰ級護理”。
患者編號(PATIENT_ID)為每個患者的獨特編號。
來訪編號(VISIT_ID)為每次來訪的獨特編號,與患者編號是“n對1”的關(guān)系。
醫(yī)囑時間(TIME)為醫(yī)囑記錄對應(yīng)的時間,精確到秒。
(2)分析上述數(shù)據(jù)項,得到病人——診療日——醫(yī)囑項目的對應(yīng)關(guān)系,然后根據(jù)階段的起止時間劃分診療日對應(yīng)的臨床路徑階段。
階段的劃分有3個基本性質(zhì):
1)診療日內(nèi)多階段。一個診療日可以對應(yīng)多個連續(xù)階段。
2)診療日間階段單調(diào)不減。時間上靠后的診療日的階段不可能比時間上靠前的診療日階段靠前。
3)診療日內(nèi)醫(yī)囑無序??紤]到實際情況,同一診療日內(nèi)的醫(yī)囑項目不區(qū)分先后。
(3)基于上述性質(zhì)以及醫(yī)囑項目—診療日的對應(yīng)關(guān)系,可以辨別出與臨床路徑不吻合的變異醫(yī)囑及其對應(yīng)的階段。
預(yù)處理得到的數(shù)據(jù)是當前臨床路徑的完整模型、每個階段的變異醫(yī)囑列表以及各種數(shù)據(jù)項之間的對應(yīng)關(guān)系,其中臨床路徑模型的數(shù)據(jù)結(jié)構(gòu)如圖4所示。
臨床路徑優(yōu)化問題,換言之就是如何從醫(yī)囑數(shù)據(jù)中提取出可推薦醫(yī)囑的問題,優(yōu)化流程如圖5所示。
本章基于醫(yī)療數(shù)據(jù)和人工制定的臨床路徑,在第3章數(shù)據(jù)預(yù)處理的基礎(chǔ)上,重點介紹了如何使用挖掘算法得到推薦醫(yī)囑項,以及對遺傳挖掘算法進行改進的方法。具體內(nèi)容如下:
在將遺傳算法應(yīng)用于臨床路徑優(yōu)化問題前,首先需要進行可行性分析,確認這一思路的可行性,設(shè)計了運用遺傳算法挖掘得到所需信息的流程;在可行性分析實驗中,發(fā)現(xiàn)常規(guī)遺傳算法存在效率低下等問題,對遺傳算法進行了改進,對各種改進方法的效果進行了評估,并結(jié)合Word2vec提出一種新的變異算子改進方法。
(1)整體輸入:基于醫(yī)療數(shù)據(jù)建立的當前臨床路徑模型、每個階段的變異醫(yī)囑列表。
(2)整體輸出:每個階段的最優(yōu)醫(yī)囑組合、得到最優(yōu)解平均所需時間。
(3)遺傳算法輸入:適應(yīng)度函數(shù)、變異醫(yī)囑列表、最大醫(yī)囑數(shù)。
(4)遺傳算法輸出:最優(yōu)醫(yī)囑組合、種群變化數(shù)據(jù)等。
(5)Word2vec輸入:病人——醫(yī)囑數(shù)據(jù)、臨床路徑包含的醫(yī)囑列表。
(6)Word2vec輸出:醫(yī)囑對應(yīng)的向量。
遺傳算法的基本思想是“模擬自然進化過程,搜索最優(yōu)解”,其通用流程如圖6所示,下面介紹各步驟的改進方法。
4.2.1 自定義適應(yīng)度函數(shù)
使用遺傳算法的目的是在限定可新增醫(yī)囑的最大數(shù)目的條件下,找到最能降低變異率的醫(yī)囑組合。基于該目的,適應(yīng)度函數(shù)應(yīng)設(shè)定為將醫(yī)囑組合加入臨床路徑后變異率降低的數(shù)值,但在可行性分析時發(fā)現(xiàn)變異率變化范圍過小等問題,考慮到遺傳算法的效果已經(jīng)得到證明(詳見5.1節(jié)),性能評估部分改用“減少的變異醫(yī)囑數(shù)”作為適應(yīng)度。
L代表該醫(yī)囑組合,Lo代表舊臨床路徑對應(yīng)的醫(yī)囑列表,則L的適應(yīng)度為:
Fitness(L)=Variations(Lo)-Variations(Lo∪L)。
(3)
用變異醫(yī)囑數(shù)作為評判標準的優(yōu)勢在于提高區(qū)分度,從臨床意義上看,即使無法使病人由變異病人轉(zhuǎn)為正常,降低使用的變異醫(yī)囑數(shù)也是一種優(yōu)化。不足之處是,變異醫(yī)囑數(shù)與變異率并非線性關(guān)系,兩種指標應(yīng)結(jié)合使用。在可行性研究的基礎(chǔ)上,變異率已經(jīng)優(yōu)化至最低,因此采用變異醫(yī)囑數(shù)作為適應(yīng)度。
4.2.2 自定義編碼
編碼方式是遺傳算法的核心,關(guān)系到后續(xù)環(huán)節(jié)的方案選取。常用如下編碼方式:
(1)采用實數(shù)編碼 可行性分析實驗中選用了這種編碼方式。具體流程如下:
1)設(shè)定最大醫(yī)囑數(shù)n。
2)用實數(shù)列表X代替醫(yī)囑列表。存在按什么順序編號,編號的意義是什么的問題。
3)以減少的變異醫(yī)囑數(shù)y作為評判標準,得到適應(yīng)度函數(shù)f(X)=y。這一函數(shù)的實際意義是:如果向現(xiàn)有臨床路徑中插入這n個醫(yī)囑,數(shù)據(jù)中有y個病人會從變異轉(zhuǎn)為正常。
4)針對函數(shù)f,使用遺傳算法找到使y盡可能高的X的較優(yōu)解。
具體到臨床路徑優(yōu)化問題上,編碼過程如圖7所示。
(2)采用非數(shù)值編碼 非數(shù)值編碼的優(yōu)點是列表內(nèi)元素直接代表醫(yī)囑,相互獨立,無需解釋醫(yī)囑間關(guān)系,且在“選擇”操作時比較方便。其缺點是選用醫(yī)囑數(shù)量固定,不能靈活取舍。具體流程如下:
1)設(shè)定最大醫(yī)囑數(shù)n。
2)用整數(shù)列表X代替醫(yī)囑列表。
3)以減少的變異醫(yī)囑數(shù)y作為評判標準,得到適應(yīng)度函數(shù)f(X)=y。這一函數(shù)的實際意義是:如果向現(xiàn)有臨床路徑中插入這n個醫(yī)囑,數(shù)據(jù)中有y個變異醫(yī)囑轉(zhuǎn)為正常醫(yī)囑。
4)針對函數(shù)f,使用遺傳算法找到使y盡可能高的X的較優(yōu)解。
(3)采用二進制編碼 二進制編碼的優(yōu)點是沒有限制新增醫(yī)囑的數(shù)量,因此在“交叉”和“變異”操作時比較方便,而且可以簡便地加入、修改懲罰函數(shù)。其缺點是向量稀疏,效率較低。具體流程如下:
1)設(shè)定懲罰函數(shù)p(n),其中n為新增醫(yī)囑數(shù)。
2)用二進制列表X代替醫(yī)囑列表。
3)減少的變異醫(yī)囑數(shù)y作為評判標準,得到適應(yīng)度函數(shù)f(X)=y-p(n)。這一函數(shù)的實際意義是:如果向現(xiàn)有臨床路徑中插入這n個醫(yī)囑,數(shù)據(jù)中有y個變異醫(yī)囑轉(zhuǎn)為正常醫(yī)囑,但考慮到新增醫(yī)囑的代價,扣除p(n)。
4)針對函數(shù)f,使用遺傳算法找到使y-p(n)盡可能高的X的較優(yōu)解。
4.2.3 選擇算子改進方法
在進行選擇之前,先對適應(yīng)度進行歸一化處理。
常用的選擇方法如下:
(1)隨機采樣/輪盤賭 其基本思想是“某個體被選擇的概率與其適應(yīng)度成正比”,具體方法是根據(jù)舊種群中個體的適應(yīng)度決定選中概率,然后隨機復制一個個體加入新種群,重復直至新種群被填滿。
(2)排序選擇 先對個體適應(yīng)度進行排序,然后按順序手動分配概率。這種方法需要靠經(jīng)驗手動決定個體保存的概率,或者用其他算法經(jīng)實驗得到最好的參數(shù),考慮到本文探討的是遺傳算法的效率,這么做是本末倒置,因此沒有選用此方法。
(3)隨機比賽 隨機選出舊種群中的一部分個體,將其中適應(yīng)度最高的一個加入新種群,重復直至新種群被填滿??紤]到本文研究的問題得到適應(yīng)度所需計算時間較短,該方法與輪盤賭沒有本質(zhì)區(qū)別,因此沒有選用。
常用的改進方法如下:
(1)最優(yōu)個體保留 將舊種群中適應(yīng)度最高的個體直接保留到新種群中,確保全局收斂。
(2)適應(yīng)度尺度變換 基本思想是“縮放適應(yīng)度,使其符合需要”。這里選用自適應(yīng)線性尺度變換,前期適應(yīng)度差距較大時縮小差距,防止前期較優(yōu)個體迅速統(tǒng)治整個種群,后期適應(yīng)度差距較小時放大差距,使變異出的更優(yōu)秀個體能迅速擴大優(yōu)勢,跳出局部最優(yōu)解,縮放參數(shù)與適應(yīng)度的最值和平均值相關(guān)??s放公式[5]如下:
(4)
(5)
判斷前后期的界限依靠經(jīng)驗。經(jīng)過實驗發(fā)現(xiàn),本文研究的問題中適應(yīng)度差距普遍偏小,因此直接進入后期放大階段。
4.2.4 交叉算子改進方法
“交叉”操作首先將種群中的個體兩兩配對,然后互換一些基因。
常用的交叉方法如下:
(1)單點交叉 隨機設(shè)置一個交叉點,兩個個體互換該點前或者后的基因,可以理解成一種特殊的雙點交叉,且效果一般比雙點交叉差,因此沒有選用。
(2)雙點交叉 隨機設(shè)置兩個交叉點,兩個個體互換兩點之間的基因,適用于二進制編碼。
(3)多點交叉 交叉點大于2,介于雙點交叉和均勻交叉之間,因此沒有選用。
(4)均勻交叉 每個基因都有一定概率與另一個個體相同位置上的基因互換,要求交叉的兩個個體長度相同。
(5)算術(shù)交叉 兩個個體線性組合成新的個體,適用于實數(shù)編碼,因此沒有選用。
(6)啟發(fā)式交叉 需要引入專業(yè)知識,因此沒有選用。
4.2.5 變異算子改進方法
“變異”操作的目的是引入新基因。常用的變異方法如下:
(1)均勻變異 每個個體的每個基因都有小概率變異。
(2)常規(guī)位變異 每個個體都有一定概率發(fā)生變異,當確定一個個體發(fā)生變異后,再隨機指定發(fā)生變異的基因。這與均勻變異沒有太大差別,因此沒有選用。
(3)自適應(yīng)變異 根據(jù)種群情況自我調(diào)整概率。這里選用概率自適應(yīng)二元突變,個體間兩兩配對,由兩個個體的相似度決定變異概率,越相似變異概率越高,反之則越低。
(4)高斯變異 類似“正態(tài)分布隨機數(shù)”,只適用于實數(shù)編碼,因此沒有選用。
此外,本文提出了一種基于Word2vec方法得到的醫(yī)囑向量,判斷基因變異成不同基因的概率的改進方法(詳見4.3節(jié)),適用于非數(shù)值編碼。
Word2vec是一類通過學習訓練語料獲得詞向量的語言模型,其核心架構(gòu)分為CBOW和skip-gram兩種。兩種架構(gòu)都由輸入層、隱藏層、輸出層組成,不同之處在于CBOW模型通過上下文預(yù)測當前詞,skip-gram模型則通過當前詞預(yù)測上下文。本文中使用的不是模型的預(yù)測能力,而是其隱藏層(即詞向量),因此在兩種架構(gòu)上都作了嘗試。
本文提出了一種新的遺傳算法變異算子改進方法,其基本原理如下:
(1)如果兩個詞語經(jīng)常在一句話里出現(xiàn),說明二者存在關(guān)聯(lián);同理,如果兩個醫(yī)囑項目經(jīng)常被一起使用,說明存在關(guān)聯(lián)。
(2)Word2vec模型可以發(fā)現(xiàn)這種關(guān)聯(lián),將詞語轉(zhuǎn)換為詞向量,同理可以將醫(yī)囑轉(zhuǎn)換為醫(yī)囑向量。
(3)在遺傳算法的變異過程中,尤其是后期,局部最優(yōu)解和更好的解之間的差距往往只是一個醫(yī)囑,而且兩者的這一個醫(yī)囑通常存在關(guān)聯(lián),類似“換藥(大)”和“換藥(小)”。將醫(yī)囑向量應(yīng)用于變異過程,趨向于變異為關(guān)聯(lián)較大的醫(yī)囑,有利于擺脫局部最優(yōu)解。
基于病人——文本、醫(yī)囑——詞語的類推,通過病人——醫(yī)囑數(shù)據(jù),訓練得到醫(yī)囑對應(yīng)的詞向量以及醫(yī)囑之間的相似度,在“變異”操作時,每一個變異的基因按照其與其他基因的相似度,依照輪盤賭方法變異成新的基因,具體流程如圖8所示。從本質(zhì)上看,這是一種基于“基因”間關(guān)系修改變異概率以加快收斂速度的改進方法。
本章介紹實驗結(jié)果及結(jié)果評估。
本節(jié)介紹遺傳算法對于臨床路徑路徑變異率影響的實驗效果,實驗中采用北京清華長庚醫(yī)院提供的“腹股溝疝臨床路徑”及其部分時間段內(nèi)的 43 個腹股溝疝病人的醫(yī)囑數(shù)據(jù)。
表1所示為不同優(yōu)化方法對變異率的降低效果對比。
表1 與其他算法算法的對比
可以看到,遺傳算法在將復雜度降低到可接受程度的同時,效果接近甚至等同于直接遍歷,具備實用價值。
本節(jié)介紹遺傳算法經(jīng)過不同方法改進后,在臨床路徑優(yōu)化問題上的不同表現(xiàn)。如圖9所示為非數(shù)值編碼前提下,不同方法改進的遺傳算法的效率對比;如圖10所示為二進制編碼前提下,不同方法改進的遺傳算法的效率對比。
圖9中的“count”指是最大醫(yī)囑數(shù),考慮到非數(shù)值編碼情況下沒有懲罰機制,最大醫(yī)囑數(shù)等于選用的醫(yī)囑數(shù)。因此,count越大,計算代價越大,變異率降低得越多。對效率的評價指標是“達到最優(yōu)解平均所需時間”,單位為s,由于遺傳算法的隨機性較大,視count數(shù)不同,每組實驗重復20~30次取平均值。
改進的方法用編號表示:①尺度變換;②最優(yōu)保存;③引入Word2vec;④均勻交叉;⑤雙點交叉;⑥均勻變異;⑦自適應(yīng)變異。其中引入Word2vec方法經(jīng)預(yù)實驗發(fā)現(xiàn)CBOW架構(gòu)和skip-gram架構(gòu)效果相差不大,因此采用二者的平均值。
圖9說明,按效率從高至低排序,尺度變換+最優(yōu)保存>尺度變換≈最優(yōu)保存>經(jīng)典遺傳算法(即沒有使用任何方法改進),但當count數(shù)占變異醫(yī)囑總數(shù)比例太大時,進行尺度變換的代價可能超過其對收斂速度的提高效果。而引入Word2vec方法得到醫(yī)囑向量后,當count=5時效率下降,count=10時持平,count=20時效率提高,說明其對收斂速度的提高效果在count較大時更加明顯。考慮到word2vec得到醫(yī)囑向量的準確度和數(shù)據(jù)量大小直接相關(guān),而且直接按歐氏距離判斷醫(yī)囑關(guān)系然后影響變異率只是對醫(yī)囑向量的粗淺應(yīng)用,這一方法在院級或更大級別的數(shù)據(jù)集上可能有更好的實用前景??傮w而言,非數(shù)值編碼情況下,改進后的遺傳算法性能提高了約50%~55%。
圖10說明,按效率從高至低排序,均勻交叉+自適應(yīng)變異>均勻交叉+均勻變異>雙點交叉+均勻變異??紤]到交叉和變異相互獨立,均勻交叉+自適應(yīng)變異的組合效果最好。二進制編碼情況下,改進后的遺傳算法性能提高了約77%。
結(jié)合實驗,本文結(jié)論如下:
(1)遺傳算法用于優(yōu)化臨床路徑的效果接近甚至相當于遍歷(即最優(yōu)解),且計算時間遠低于遍歷,具備可行性。
(2)關(guān)于遺傳算法各種改進方法對性能的提升,非數(shù)值編碼效果最好的是輪盤賭、尺度變換、最優(yōu)保存、均勻交叉、自適應(yīng)變異的組合,二進制編碼效果最好的是輪盤賭、均勻交叉、自適應(yīng)變異的組合,性能分別提升了50%和77%。
(3)在上述效果最好的改進方法的基礎(chǔ)上,結(jié)合Word2vec方法后,count較大情況下的性能提高了約5%。
本文仍存在以下不足:
(1)文中只測試了常用的遺傳算法改進方法,沒有涉及最新研究成果。
(2)由于本文研究重點是算法應(yīng)用于實際問題的性能分析,也由于數(shù)據(jù)本身限制,實驗中沒有考慮醫(yī)囑跨階段、藥物劑量等問題。
(3)Word2vec方法效果并不明顯,主要原因是現(xiàn)有數(shù)據(jù)不足以反映出醫(yī)囑間的完整關(guān)系,因此得到的只是改進的趨勢,仍有較大的改進空間。
(4)只考慮了新增醫(yī)囑,沒有修改已有臨床路徑,主要是因為刪改路徑需要多方面考量,而本文的目的只是獲得可供參考的推薦醫(yī)囑。
基于上述問題,今后可從以下方向進行改進:
(1)補充遺傳算法的其他改進方法,如小生境、災(zāi)變算子等。
(2)補充細節(jié)部分,以便應(yīng)用于實際。涉及到藥物劑量、價格、醫(yī)保等問題,需要與專業(yè)醫(yī)務(wù)人員合作。
(3)在更好的神經(jīng)網(wǎng)絡(luò)架構(gòu)和更大數(shù)據(jù)集基礎(chǔ)上,對醫(yī)囑間關(guān)系進行進一步分析。此外,將Word2vec得到的醫(yī)囑向量直接用于調(diào)整概率的思路太過直接,應(yīng)該在分析向量特性后設(shè)計更好的運用方法。
(4)與醫(yī)務(wù)人員合作,分析醫(yī)囑權(quán)重,進一步給出臨床路徑修改意見。