本發(fā)明屬于數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí)分類領(lǐng)域,尤其涉及一種基于低差異度數(shù)列交叉檢驗的數(shù)據(jù)分類優(yōu)化方法及系統(tǒng)。
背景技術(shù):
目前,監(jiān)督機(jī)器學(xué)習(xí)(supervisedmachinelearning)技術(shù)在人工智能輔助醫(yī)療數(shù)據(jù)分類的已經(jīng)開始得到應(yīng)用。其思想為用一個監(jiān)督機(jī)器學(xué)習(xí)分類算法統(tǒng)計模型(下簡稱分類學(xué)習(xí)模型),通過統(tǒng)計大量已經(jīng)被人類分類的醫(yī)療歷史數(shù)據(jù),來學(xué)習(xí)人類的分類能力,從而達(dá)到輔助人類來準(zhǔn)確對醫(yī)療數(shù)據(jù)進(jìn)行分類的目的。通常情況下,其實施流程為:
(1)首先收集一個數(shù)據(jù)集,內(nèi)含大量就診人員的臨床診斷歷史數(shù)據(jù),其中包括這些就診人員的各種醫(yī)學(xué)和生化檢驗的特征信息(比如血壓,心率等特征)和就診人員的分類標(biāo)簽(比如把就診人員分成健康人員或病患,輕度患病或重度患病,就診人員的細(xì)胞存活或死亡等類別);(2)然后采用一種監(jiān)督機(jī)器學(xué)習(xí)方法,設(shè)立一個分類學(xué)習(xí)模型(比如,采用邏輯回歸算法,建立一個線性回歸模型),對這個數(shù)據(jù)集做交叉驗證(crossvalidation,亦稱循環(huán)估計)。交叉驗證包括訓(xùn)練和測試兩個部分。通常情況下,該數(shù)據(jù)集的樣本被隨機(jī)分入到k個子集里,利用k-1個子集來訓(xùn)練模型,映射訓(xùn)練集中就診人員的特征和和醫(yī)生的診斷分類之間的關(guān)系。余下一個子集作來對之前訓(xùn)練好的模型進(jìn)行測試,衡量之前在訓(xùn)練集中得到的特征和診斷分類之間的映射關(guān)系是否也存在于測試集的數(shù)據(jù)里,由此得到一個預(yù)測分類準(zhǔn)確率。(3)如果準(zhǔn)確率達(dá)到或超過預(yù)先設(shè)定的合格分類水平,則該統(tǒng)計模型通過交叉檢驗,可以直接被部署應(yīng)用;如果準(zhǔn)確度不高,則需要研究人員修改統(tǒng)計模型或使用另外一種監(jiān)督機(jī)器學(xué)習(xí)方法,重做交叉測試,直到通過為止。
理想的交叉檢驗方法必須遵守子集代表性(representativesubsets)條件。也就是說每個子集必須從全部樣本歷史數(shù)據(jù)(下簡稱全部樣本數(shù)據(jù))中均勻取樣。均勻取樣的目的是希望減少每個子集與全部數(shù)據(jù)之間的偏差,使得特征和診斷分類之間的映射關(guān)系在每個子集里都能很好得存在。這k個子集數(shù)據(jù)應(yīng)為全部樣本數(shù)據(jù)的有代表性的縮小版,盡最大可能地保留全部樣本數(shù)據(jù)的特征和診斷分類之間的映射信息。其中,最常用的交叉檢驗方法是隨機(jī)10-折交叉檢驗(randomk-foldcrossvalidation,k=10)。
該方法先對全部樣本數(shù)據(jù)中得每個樣本的序號進(jìn)行編號。然后利用一個計算機(jī)生產(chǎn)的偽隨機(jī)數(shù)列(pseudorandomnumbersequence)。該數(shù)列所有數(shù)字為不重復(fù)的整數(shù),最小為1,最大為全部樣本數(shù)據(jù)的樣本量。這些數(shù)字在該數(shù)列里排列的次序為隨機(jī)的。每個數(shù)字對應(yīng)全部樣本數(shù)據(jù)一個樣本的序號。先將該偽隨機(jī)數(shù)列分成10個等份,然后把每個等份里的偽隨機(jī)數(shù)所對應(yīng)的全部樣本數(shù)據(jù)樣本抽出放入到一個子集中,依次把全部樣本數(shù)據(jù)樣本分配到10個子集里。
每次實驗輪流用取一份子集做測試集,余下的9份作為訓(xùn)練集。每次先在訓(xùn)練集上訓(xùn)練模型,得到相應(yīng)的假設(shè)統(tǒng)計模型,然后用測試集測試假設(shè)統(tǒng)計模型,計算該模型的預(yù)測分類準(zhǔn)確率。隨機(jī)k折交叉檢驗需要循環(huán)進(jìn)行k次實驗,即每一子集都會作為一次測試集,因此會得到k個預(yù)測分類準(zhǔn)確率。最后取這k個預(yù)測分類準(zhǔn)確率的平均值(以下稱為k折平均預(yù)測分類準(zhǔn)確率)為該模型的評價指標(biāo),用于跟預(yù)先設(shè)定的合格分類水平進(jìn)行比較。
這種交叉檢驗方法依賴一個計算機(jī)生成的偽隨機(jī)數(shù)列,而偽隨機(jī)數(shù)列的產(chǎn)生則依賴于隨機(jī)種子。使用一個偽隨機(jī)數(shù)列劃分子集會對于隨機(jī)種子非常敏感。如果使用不同的隨機(jī)種子,每次做交叉檢驗,都會劃分都可能把全部樣本數(shù)據(jù)樣本劃分到不同的子集里。如果同一個模型重復(fù)做若干次交叉檢驗,每次交叉驗證的時候會得到不同的k折平均預(yù)測分類準(zhǔn)確率。因此,為了抵消隨機(jī)數(shù)列帶來的子集不確定性,研究人員往往需要用不同的隨機(jī)種子重復(fù)幾十次該交叉檢驗過程,然后對這幾十個k折平均預(yù)測分類準(zhǔn)確率求平均值,作為該模型的預(yù)測分類準(zhǔn)確率。但是重復(fù)幾十次不光計算成本較大,而且也不能很好地解決子集缺乏代表性問題。也就是說,即使重復(fù)幾十次交叉檢驗,每個子集的預(yù)測分類準(zhǔn)確率依然差別很大(即子集之間的預(yù)測分類準(zhǔn)確率標(biāo)準(zhǔn)方差較大,最好和最低預(yù)測分類準(zhǔn)確率的間距較大)。
綜上所述,針對醫(yī)療信息系統(tǒng)的數(shù)據(jù)庫內(nèi)的樣本數(shù)據(jù)做交叉檢驗的過程中,往往采用現(xiàn)有的隨機(jī)k折交叉檢驗方法來對當(dāng)前訓(xùn)練完成的分類學(xué)習(xí)模型進(jìn)行交叉檢驗,以評估其預(yù)測分類準(zhǔn)確率,比如:
對1000個來自醫(yī)療信息系統(tǒng)的數(shù)據(jù)庫內(nèi)的心臟樣本數(shù)據(jù)進(jìn)行分類,其中,每個心臟數(shù)據(jù)樣本的分類標(biāo)簽為健康和不健康,每個心臟樣本的生化檢驗的特征信息(包括每個心臟所屬患者的年齡、性別、胸部疼痛類別、靜止血壓、血清膽固醇含量、空腹血糖和最大心率);將1000個心臟樣本數(shù)據(jù)隨機(jī)分到10個子集中,利用這10個子集來對一個分類學(xué)習(xí)模型進(jìn)行交叉檢驗。由于每個子集內(nèi)的心臟數(shù)據(jù)樣本依賴一個計算機(jī)生成的偽隨機(jī)數(shù)列,使用一個偽隨機(jī)數(shù)列劃分的這10個子集缺乏代表性,該模型極有可能在訓(xùn)練的時候不能很好地反映特征和分類標(biāo)簽的映射關(guān)系,因此測試效果不好或無意義,導(dǎo)致研究人員對該分類學(xué)習(xí)模型作出錯誤的評估,進(jìn)而降低了醫(yī)療數(shù)據(jù)分類的效率。
技術(shù)實現(xiàn)要素:
為了解決上述技術(shù)問題,本發(fā)明的第一目的是提供一種基于低差異度數(shù)列交叉檢驗的數(shù)據(jù)分類優(yōu)化方法。該方法能夠提高模型交叉檢驗的效率。
本發(fā)明的一種基于低差異度數(shù)列交叉檢驗的數(shù)據(jù)分類優(yōu)化方法,包括:
步驟1:從醫(yī)療信息系統(tǒng)的數(shù)據(jù)庫中提取就診人員歷史醫(yī)療數(shù)據(jù),所述就診人員歷史醫(yī)療數(shù)據(jù)包括分類標(biāo)簽和生化檢驗的特征信息;利用提取的就診人員歷史醫(yī)療數(shù)據(jù)構(gòu)建出樣本數(shù)據(jù)矩陣;
步驟2:對樣本數(shù)據(jù)矩陣進(jìn)行降維處理得到的一維數(shù)列作為抽樣框架,再結(jié)合一個均勻分布的低差異度數(shù)列,將提取的醫(yī)療數(shù)據(jù)樣本數(shù)據(jù)矩陣均勻分成k個子集;其中k為大于1的正整數(shù);
步驟3:根據(jù)一個監(jiān)督機(jī)器學(xué)習(xí)分類算法,構(gòu)建一個分類學(xué)習(xí)模型,用k個子集中的數(shù)據(jù)進(jìn)行交叉檢驗;其中用k-1個子集訓(xùn)練該分類學(xué)習(xí)模型,得到該分類學(xué)習(xí)模型的各項系數(shù);然后用余下的一個子集做測試,得到該分類學(xué)習(xí)模型的預(yù)測分類準(zhǔn)確率;依次循環(huán)k次,最后對得到的k個預(yù)測分類準(zhǔn)確率求平均值,得到該分類學(xué)習(xí)模型的平均預(yù)測分類準(zhǔn)確率;
步驟4:判斷該分類學(xué)習(xí)模型的平均預(yù)測分類準(zhǔn)確率是否大于或等于預(yù)設(shè)預(yù)測分類準(zhǔn)確率閾值,若是,則該分類學(xué)習(xí)模型符合要求;否則,提示研究人員修改該分類學(xué)習(xí)模型或使用另外一個監(jiān)督機(jī)器學(xué)習(xí)分類算法構(gòu)建新的模型,返回步驟3。
該方法還包括:將待分類的醫(yī)療數(shù)據(jù)輸入至符合要求的分類學(xué)習(xí)模型中進(jìn)行分類并輸出分類結(jié)果。
進(jìn)一步的,所述步驟1中的樣本數(shù)據(jù)矩陣的第一列由相應(yīng)就診人員樣本的分類標(biāo)簽構(gòu)成,其他列由相應(yīng)就診人員樣本的生化檢驗的特征信息構(gòu)成。
其中,就診人員樣本的分類標(biāo)簽包括就診人員的細(xì)胞存活和死亡,或就診人員健康和就診人員不健康,疾病驗證輕微或嚴(yán)重等。
就診人員樣本的生化檢驗的特征信息包括血壓、心率、血糖含量和血細(xì)胞含量。除了上述生化檢驗的特征信息之外,還包括其他現(xiàn)有特征信息,此處將不再舉例說明。
進(jìn)一步的,所述步驟2的具體過程,包括:
步驟2.1:構(gòu)建由至少一種降維方法組成的降維方法集合,利用降維方法分別對樣本數(shù)據(jù)矩陣進(jìn)行降維處理,得到相應(yīng)一維數(shù)列;再分別對相應(yīng)一維數(shù)列進(jìn)行離差標(biāo)準(zhǔn)化,得到相應(yīng)離差標(biāo)準(zhǔn)化一維數(shù)列;離差標(biāo)準(zhǔn)化一維數(shù)列中每個數(shù)據(jù)的取值均介于0-1之間,且小數(shù)點后保留預(yù)設(shè)位數(shù)(比如保留3位或4位等);
步驟2.2:利用圓周率π的正整數(shù)倍的小數(shù)部分構(gòu)建一系列低差異數(shù),并且使得該低差異數(shù)的小數(shù)點后保留數(shù)字位數(shù)與步驟2.1預(yù)設(shè)小數(shù)點后保留數(shù)字位數(shù)相等;
比較每個低差異數(shù)和離差標(biāo)準(zhǔn)化一維數(shù)列中數(shù)據(jù)的大小,將與所述低差異度數(shù)相等的數(shù)據(jù)逐個分配到預(yù)設(shè)的k個臨時容器里;一直循環(huán)本步驟,直到把離差標(biāo)準(zhǔn)化一維數(shù)列的數(shù)值分配到k個臨時容器里,每個臨時容器為一個子集。
由于k個臨時容器里每個離差標(biāo)準(zhǔn)化一維數(shù)列上的數(shù)字對應(yīng)樣本數(shù)據(jù)矩陣中的一個樣本(即矩陣的一行),可以從樣本數(shù)據(jù)矩陣相對應(yīng)的樣本分配到相對應(yīng)的k個子集中。每個子集中的樣本數(shù)相等,且子集樣本數(shù)的總和等于全集數(shù)據(jù)矩陣中所代表的樣本數(shù)。
進(jìn)一步的,本發(fā)明采用降維方法來保留樣本數(shù)據(jù)矩陣的最重要信息,降維后的離差標(biāo)準(zhǔn)化一維數(shù)列作為抽樣框架(samplingframe)。
不同的降維方法保留樣本數(shù)據(jù)矩陣信息的程度會略有不同。
降維方法可以使用:主成分分析方法、核主成分分析方法、因子分析方法、截斷奇異值分解方法和多維度尺度分析方法,或者其他現(xiàn)有的降維方法。
本發(fā)明可以使用單個降維方法,也可以用降維方法集合來包括兩個、三個或其他數(shù)量的降維方法,依次對樣本數(shù)據(jù)矩陣進(jìn)行降維。
進(jìn)一步的,本發(fā)明需要用一個低差異數(shù)在離差標(biāo)準(zhǔn)化一維數(shù)列中匹配相等的數(shù)值。小數(shù)點后保留預(yù)設(shè)位數(shù)會影響匹配的精度,位數(shù)越多,精度越高,但計算時間越長。保留預(yù)設(shè)位數(shù)可以設(shè)為3位,4位,5位或6位。
進(jìn)一步的,所述步驟3具體包括:
步驟3.1:根據(jù)一個監(jiān)督機(jī)器學(xué)習(xí)分類算法,建立一個分類學(xué)習(xí)模型;
其中,監(jiān)督機(jī)器學(xué)習(xí)分類算法可以包括任何一種現(xiàn)成的監(jiān)督機(jī)器學(xué)習(xí)分類算法,比如邏輯回歸,神經(jīng)網(wǎng)絡(luò)、決策樹或樸素貝葉斯;分類學(xué)習(xí)模型是一個算法的實施實例,比如一個線性回歸模型是邏輯回歸算法的實施實例;
步驟3.2:使用上述k個子集的數(shù)據(jù)對該分類學(xué)習(xí)模型進(jìn)行循環(huán)交叉驗證,得到相應(yīng)k個預(yù)測分類準(zhǔn)確率并存儲至一個臨時結(jié)果集合內(nèi);
步驟3.3:對臨時結(jié)果集合中的k個預(yù)測分類準(zhǔn)確率求平均值,將該平均值存入平均預(yù)測準(zhǔn)確率集合中。
本發(fā)明采用保留樣本數(shù)據(jù)矩陣的最重要信息的一維數(shù)列作為抽樣框架(samplingframe)和低差異度數(shù)列均勻分布的性質(zhì),本發(fā)明能實現(xiàn)每個子集之間差異度較小且都能代表樣本數(shù)據(jù)矩陣的信息,提高分類學(xué)習(xí)模型的訓(xùn)練效率,從而降低每個子集之間的預(yù)測分類準(zhǔn)確率的差異,也進(jìn)一步提高最終的k折平均預(yù)測分類準(zhǔn)確率。
本發(fā)明的第二目的是提供一種基于低差異度數(shù)列交叉檢驗的數(shù)據(jù)分類優(yōu)化系統(tǒng)。
本發(fā)明的一種基于低差異度數(shù)列交叉檢驗的數(shù)據(jù)分類優(yōu)化系統(tǒng),包括:
樣本數(shù)據(jù)導(dǎo)入模塊,其用于從醫(yī)療信息系統(tǒng)的數(shù)據(jù)庫中提取就診人員歷史醫(yī)療數(shù)據(jù),所述就診人員歷史醫(yī)療數(shù)據(jù)包括分類標(biāo)簽和生化檢驗的特征信息;利用提取的就診人員歷史醫(yī)療數(shù)據(jù)構(gòu)建出樣本數(shù)據(jù)矩陣;
子集數(shù)據(jù)分配模塊,其用于對樣本數(shù)據(jù)矩陣進(jìn)行降維處理得到的一維數(shù)列作為抽樣框架,再結(jié)合一個均勻分布的低差異度數(shù)列,將提取的醫(yī)療數(shù)據(jù)樣本數(shù)據(jù)矩陣均勻分成k個子集;其中k為大于1的正整數(shù);
交叉檢驗?zāi)K,其用于根據(jù)一個監(jiān)督機(jī)器學(xué)習(xí)分類算法,構(gòu)建一個分類學(xué)習(xí)模型,用k個子集中的數(shù)據(jù)進(jìn)行交叉檢驗;其中用k-1個子集訓(xùn)練該分類學(xué)習(xí)模型,得到該分類學(xué)習(xí)模型的各項系數(shù);然后用余下的一個子集做測試,得到該分類學(xué)習(xí)模型的預(yù)測分類準(zhǔn)確率;依次循環(huán)k次,最后對得到的k個預(yù)測分類準(zhǔn)確率求平均值,得到該分類學(xué)習(xí)模型的平均預(yù)測分類準(zhǔn)確率;
分類學(xué)習(xí)模型優(yōu)化模塊,其用于判斷該分類學(xué)習(xí)模型的平均預(yù)測分類準(zhǔn)確率是否大于或等于預(yù)設(shè)預(yù)測分類準(zhǔn)確率閾值,若是,則該分類學(xué)習(xí)模型符合要求;否則,提示研究人員修改該分類學(xué)習(xí)模型或使用另外一個監(jiān)督機(jī)器學(xué)習(xí)分類算法構(gòu)建新的模型。
該系統(tǒng)還包括:數(shù)據(jù)分類模塊,其用于將待分類的醫(yī)療數(shù)據(jù)輸入至符合要求的分類學(xué)習(xí)模型中進(jìn)行分類并輸出分類結(jié)果。
進(jìn)一步的,在所述樣本數(shù)據(jù)導(dǎo)入模塊中,樣本數(shù)據(jù)矩陣的每一行代表一個就診人員樣本,樣本數(shù)據(jù)矩陣的列由相應(yīng)就診人員樣本的分類標(biāo)簽和生化檢驗的特征信息構(gòu)成。
其中,就診人員樣本的分類標(biāo)簽包括就診人員存活和就診人員死亡,或就診人員健康和就診人員不健康,疾病嚴(yán)重程度輕和高。就診人員樣本的生化檢驗的特征信息包括血壓、心率、血糖含量和血細(xì)胞含量。
除了上述生化檢驗的特征信息之外,還包括其他現(xiàn)有特征信息,此處將不再舉例說明。
進(jìn)一步的,所述子集數(shù)據(jù)分配模塊,包括:
降維模塊,其用于構(gòu)建由至少一種降維方法組成的降維方法集合,利用降維方法分別對樣本數(shù)據(jù)矩陣進(jìn)行降維處理,得到相應(yīng)一維數(shù)列;再分別對相應(yīng)一維數(shù)列進(jìn)行離差標(biāo)準(zhǔn)化,得到相應(yīng)離差標(biāo)準(zhǔn)化一維數(shù)列;離差標(biāo)準(zhǔn)化一維數(shù)列中每個數(shù)據(jù)的取值均介于0-1之間,且小數(shù)點后保留預(yù)設(shè)位數(shù)(比如保留3位或4位等);
樣本數(shù)據(jù)分配模塊,其用于利用圓周率π的正整數(shù)倍的小數(shù)部分構(gòu)建一系列低差異數(shù),并且使得該低差異數(shù)的小數(shù)點后保留數(shù)字位數(shù)與預(yù)設(shè)小數(shù)點后保留數(shù)字位數(shù)相等;
比較每個低差異數(shù)和離差標(biāo)準(zhǔn)化一維數(shù)列中數(shù)據(jù)的大小,將與所述低差異度數(shù)相等的數(shù)據(jù)逐個分配到預(yù)設(shè)的k個臨時容器里;一直循環(huán)本步驟,直到把離差標(biāo)準(zhǔn)化一維數(shù)列的數(shù)值分配到k個臨時容器里,每個臨時容器為一個子集。
由于k個臨時容器里每個離差標(biāo)準(zhǔn)化一維數(shù)列上的數(shù)字對應(yīng)樣本數(shù)據(jù)矩陣中的一個樣本(即矩陣的一行),可以從樣本數(shù)據(jù)矩陣相對應(yīng)的樣本分配到相對應(yīng)的k個子集中。每個子集中的樣本數(shù)相等,且子集樣本數(shù)的總和等于全集數(shù)據(jù)矩陣中所代表的樣本數(shù)。
進(jìn)一步的,本發(fā)明采用降維方法來保留樣本數(shù)據(jù)矩陣的最重要信息,降維后的離差標(biāo)準(zhǔn)化一維數(shù)列作為抽樣框架(samplingframe)。
不同的降維方法保留樣本數(shù)據(jù)矩陣信息的程度會略有不同。
降維方法可以使用:主成分分析方法、核主成分分析方法、因子分析方法、截斷奇異值分解方法和多維度尺度分析方法,或者其他現(xiàn)有的降維方法。
本發(fā)明可以使用單個降維方法,也可以用降維方法集合來包括兩個、三個或其他數(shù)量的降維方法,依次對樣本數(shù)據(jù)矩陣進(jìn)行降維。
進(jìn)一步的,本發(fā)明需要用一個低差異數(shù)在離差標(biāo)準(zhǔn)化一維數(shù)列中匹配相等的數(shù)值。小數(shù)點后保留預(yù)設(shè)位數(shù)會影響匹配的精度,位數(shù)越多,精度越高,但計算時間越長。保留預(yù)設(shè)位數(shù)可以設(shè)為3位,4位,5位或6位。
進(jìn)一步的,所述交叉檢驗?zāi)K,包括:
分類學(xué)習(xí)模型構(gòu)建模塊,其用于根據(jù)一個監(jiān)督機(jī)器學(xué)習(xí)分類算法,建立一個分類學(xué)習(xí)模型;其中,監(jiān)督機(jī)器學(xué)習(xí)分類算法可以包括任何一種現(xiàn)成的監(jiān)督機(jī)器學(xué)習(xí)分類算法,比如邏輯回歸,神經(jīng)網(wǎng)絡(luò)、決策樹或樸素貝葉斯;分類學(xué)習(xí)模型是一個算法的實施實例,比如一個線性回歸模型是邏輯回歸算法的實施實例;
預(yù)測分類準(zhǔn)確率存儲模塊,其用于使用上述k個子集的數(shù)據(jù)對該分類學(xué)習(xí)模型進(jìn)行循環(huán)交叉驗證,得到相應(yīng)k個預(yù)測分類準(zhǔn)確率并存儲至一個臨時結(jié)果集合內(nèi);
平均預(yù)測分類準(zhǔn)確率計算模塊,其用于對臨時結(jié)果集合中的k個預(yù)測分類準(zhǔn)確率求平均值,將該平均值存入平均預(yù)測準(zhǔn)確率集合中。
本發(fā)明還提供另一種基于低差異度數(shù)列交叉檢驗的醫(yī)療數(shù)據(jù)分類學(xué)習(xí)模型優(yōu)化的系統(tǒng)。
本發(fā)明的另一種基于低差異度數(shù)列交叉檢驗的醫(yī)療數(shù)據(jù)分類學(xué)習(xí)模型優(yōu)化的系統(tǒng),包括:
數(shù)據(jù)采集裝置,其被配置為:從醫(yī)療信息系統(tǒng)的數(shù)據(jù)庫中提取就診人員歷史數(shù)據(jù);所述就診人員歷史數(shù)據(jù)包括分類標(biāo)簽和生化檢驗的特征信息;及
數(shù)據(jù)分類優(yōu)化服務(wù)器,其被配置為:
接收就診人員歷史醫(yī)療數(shù)據(jù),構(gòu)建樣本數(shù)據(jù)矩陣,對樣本數(shù)據(jù)矩陣進(jìn)行降維處理得到的一維數(shù)列作為抽樣框架,再結(jié)合一個均勻分布的低差異度數(shù)列,將提取的醫(yī)療數(shù)據(jù)樣本數(shù)據(jù)矩陣均勻分成k個子集;
根據(jù)一個監(jiān)督機(jī)器學(xué)習(xí)分類算法,構(gòu)建一個分類學(xué)習(xí)模型,用k個子集中的數(shù)據(jù)進(jìn)行交叉檢驗。其中用k-1個子集訓(xùn)練該模型,得到該模型的各項系數(shù)。然后用余下的一個子集做測試,得到預(yù)測分類準(zhǔn)確率。依次循環(huán)k次,最后對這k個預(yù)測分類準(zhǔn)確率求平均值;
判斷該分類學(xué)習(xí)模型的k折平均預(yù)測分類準(zhǔn)確率是否大于或等于預(yù)設(shè)預(yù)測分類準(zhǔn)確率閾值,若是,則該分類學(xué)習(xí)模型符合要求;否則,提示研究人員修改該分類學(xué)習(xí)模型或使用另外一個監(jiān)督機(jī)器學(xué)習(xí)分類算法構(gòu)建新的模型。
進(jìn)一步的,所述數(shù)據(jù)分類優(yōu)化服務(wù)器,還被配置為:
將待分類的醫(yī)療數(shù)據(jù)輸入至符合要求的分類學(xué)習(xí)模型中進(jìn)行分類并輸出分類結(jié)果。
進(jìn)一步的,所述數(shù)據(jù)分類優(yōu)化服務(wù)器,還被配置為:
利用降維方法分別對樣本數(shù)據(jù)矩陣進(jìn)行降維處理,得到相應(yīng)一維數(shù)列;再分別對相應(yīng)一維數(shù)列進(jìn)行離差標(biāo)準(zhǔn)化,得到相應(yīng)離差標(biāo)準(zhǔn)化一維數(shù)列;離差標(biāo)準(zhǔn)化一維數(shù)列中每個數(shù)據(jù)的取值均介于0-1之間,且小數(shù)點后保留預(yù)設(shè)位數(shù);
利用圓周率π的正整數(shù)倍的小數(shù)部分構(gòu)建一系列低差異數(shù),并且使得該低差異數(shù)的小數(shù)點后保留數(shù)字位數(shù)與步驟2.1預(yù)設(shè)小數(shù)點后保留數(shù)字位數(shù)相等。比較小數(shù)點后保留預(yù)設(shè)位數(shù)的離差標(biāo)準(zhǔn)化一維數(shù)列和一個低差異度數(shù)列中數(shù)據(jù)的大小,將與所述低差異度數(shù)列中相等的數(shù)據(jù)逐個分配到預(yù)設(shè)的k個臨時容器里。一直循環(huán)直到把一維數(shù)列的數(shù)值分配到k個臨時容器里,每個臨時容器為一個子集。
由于k個臨時容器里每個一維數(shù)列上的數(shù)字對應(yīng)樣本數(shù)據(jù)矩陣中的一個樣本(即矩陣的一行),可以從樣本數(shù)據(jù)矩陣相對應(yīng)的樣本分配到相對應(yīng)的k個子集中。每個子集中的樣本數(shù)相等,且子集樣本數(shù)的總和等于全集數(shù)據(jù)矩陣中所代表的樣本數(shù)。
建立一個監(jiān)督機(jī)器學(xué)習(xí)分類學(xué)習(xí)模型。使用上述k個子集的數(shù)據(jù)對該分類學(xué)習(xí)模型進(jìn)行循環(huán)交叉驗證,得到相應(yīng)預(yù)測分類準(zhǔn)確率并存儲至一個臨時結(jié)果集合內(nèi)。對臨時結(jié)果集合中的k個預(yù)測分類準(zhǔn)確率求平均值,將該平均值存入預(yù)測準(zhǔn)確率集合中。
最后判斷醫(yī)療數(shù)據(jù)的分類學(xué)習(xí)模型的預(yù)測分類準(zhǔn)確率是否大于或等于預(yù)設(shè)預(yù)測分類準(zhǔn)確率閾值,若是,則醫(yī)療數(shù)據(jù)的分類學(xué)習(xí)模型符合要求,則可以部署該模型,將新的待分類的醫(yī)療數(shù)據(jù)至該模型進(jìn)行分類并輸出分類結(jié)果;否則,繼續(xù)對分類學(xué)習(xí)模型進(jìn)行修改或使用另外一種監(jiān)督機(jī)器學(xué)習(xí)分類算法構(gòu)建新的模型。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:
本發(fā)明利用超越數(shù)π(圓周率)的小數(shù)點后數(shù)字有無限不循環(huán)的特征來產(chǎn)生一個均勻分布的低差異度數(shù)列,來取代目前隨機(jī)k-折交叉檢驗技術(shù)中使用的一個隨機(jī)數(shù)列,然后利用降維方法來保留樣本數(shù)據(jù)矩陣的最重要信息到一個一維數(shù)列,該一維數(shù)列離差標(biāo)準(zhǔn)化后作為抽樣框架。利用這兩個數(shù)列可以將全部樣本數(shù)據(jù)均勻地分成若干個子集,實現(xiàn)子集之間的低差異度,進(jìn)而能夠得到當(dāng)前訓(xùn)練完成的分類學(xué)習(xí)模型可靠的預(yù)測分類準(zhǔn)確率,而且在無需改進(jìn)具體機(jī)器學(xué)習(xí)算法的情況下,大大提高了分類學(xué)習(xí)模型的訓(xùn)練效率,減少了交叉檢驗計算時間,最終減少了醫(yī)療數(shù)據(jù)分類過程的時間,提高了醫(yī)療數(shù)據(jù)分類的效率。
附圖說明
構(gòu)成本申請的一部分的說明書附圖用來提供對本申請的進(jìn)一步理解,本申請的示意性實施例及其說明用于解釋本申請,并不構(gòu)成對本申請的不當(dāng)限定。
圖1是本發(fā)明的一種基于低差異度數(shù)列交叉檢驗的醫(yī)療數(shù)據(jù)分類學(xué)習(xí)模型優(yōu)化方法的流程圖。
圖2是本發(fā)明的一種基于低差異度數(shù)列交叉檢驗的醫(yī)療數(shù)據(jù)分類學(xué)習(xí)模型優(yōu)化方法的具體實施流程圖。
圖3是將樣本數(shù)據(jù)矩陣均勻分成k個子集。
圖4是子集對分類學(xué)習(xí)模型進(jìn)行交叉驗證的流程圖。
圖5是本發(fā)明的一種基于低差異度數(shù)列交叉檢驗的數(shù)據(jù)分類優(yōu)化系統(tǒng)結(jié)構(gòu)示意圖。
圖6是本發(fā)明的另一種基于低差異度數(shù)列交叉檢驗的數(shù)據(jù)分類優(yōu)化系統(tǒng)結(jié)構(gòu)示意圖。
具體實施方式
應(yīng)該指出,以下詳細(xì)說明都是例示性的,旨在對本申請?zhí)峁┻M(jìn)一步的說明。除非另有指明,本文使用的所有技術(shù)和科學(xué)術(shù)語具有與本申請所屬技術(shù)領(lǐng)域的普通技術(shù)人員通常理解的相同含義。
需要注意的是,這里所使用的術(shù)語僅是為了描述具體實施方式,而非意圖限制根據(jù)本申請的示例性實施方式。如在這里所使用的,除非上下文另外明確指出,否則單數(shù)形式也意圖包括復(fù)數(shù)形式,此外,還應(yīng)當(dāng)理解的是,當(dāng)在本說明書中使用術(shù)語“包含”和/或“包括”時,其指明存在特征、步驟、操作、器件、組件和/或它們的組合。
圖1是本發(fā)明的一種基于低差異度數(shù)列交叉檢驗的數(shù)據(jù)分類優(yōu)化方法的流程圖。
如圖1所示的基于低差異度數(shù)列交叉檢驗的數(shù)據(jù)分類優(yōu)化方法,包括:
步驟1:從醫(yī)療信息系統(tǒng)的數(shù)據(jù)庫中提取就診人員歷史醫(yī)療數(shù)據(jù),所述就診人員歷史醫(yī)療數(shù)據(jù)包括分類標(biāo)簽和生化檢驗的特征信息;利用提取的就診人員歷史醫(yī)療數(shù)據(jù)構(gòu)建出樣本數(shù)據(jù)矩陣。
具體地,就診人員樣本的分類標(biāo)簽包括就診人員存活和就診人員死亡,或就診人員健康和就診人員不健康,或疾病驗證輕微或嚴(yán)重等。
就診人員樣本的生化檢驗的特征信息包括血壓、心率、血糖含量和血細(xì)胞含量。除了上述生化檢驗的特征信息之外,還包括其他現(xiàn)有特征信息,此處將不再舉例說明。
下面以樣本為美國克利夫蘭市醫(yī)院的心臟病就診數(shù)據(jù)為例:
從醫(yī)療數(shù)據(jù)庫獲得297個就診人員的歷史數(shù)據(jù),得到297個就診人員樣本,就診人員的分類標(biāo)簽為心血管造影疾病嚴(yán)重狀況,從0到4,“0”表示正常,“4”表示心血管的直徑嚴(yán)重變小或嚴(yán)重堵塞,“1-3”表示心血管的直徑嚴(yán)重變小不同程度或嚴(yán)重堵塞不同程度。
就診人員樣本的生化檢驗的特征信息包括:年齡,性別,胸部疼痛類別,靜止血壓,血清膽固醇含量,空腹血糖,心電圖結(jié)果,最大心率,運動引起的心絞痛,相對于其余的運動誘發(fā)心電圖st段壓低值,心電圖st段的斜率,大血管被透視著色數(shù)及地貧因素。
全部樣本數(shù)據(jù)矩陣r是一個297行*14列的矩陣。
在該步驟中,通過計算樣本數(shù)據(jù)矩陣r的行數(shù),即可得到樣本數(shù)據(jù)矩陣r中的樣本總量s。本例s=297,而且本實施例設(shè)定子集數(shù)k=10,那么繼續(xù)可計算出10個子集里每個子集的樣本數(shù)w,w=s/k且w取整數(shù),即w=30。
步驟2:對樣本數(shù)據(jù)矩陣進(jìn)行降維處理得到的一維數(shù)列,再結(jié)合一個均勻分布的低差異度數(shù)列,將提取的就診人員歷史醫(yī)療數(shù)據(jù)均勻分成k個子集。
具體地,如圖2和3所示,所述步驟2的具體過程,包括:
步驟2.1:構(gòu)建由至少一種降維方法組成的降維方法集合,利用降維方法分別對樣本數(shù)據(jù)矩陣進(jìn)行降維處理,得到相應(yīng)一維數(shù)列;再分別對相應(yīng)一維數(shù)列進(jìn)行離差標(biāo)準(zhǔn)化,得到相應(yīng)離差標(biāo)準(zhǔn)化一維數(shù)列;離差標(biāo)準(zhǔn)化一維數(shù)列中每個數(shù)據(jù)的取值均介于0-1之間,且小數(shù)點后保留預(yù)設(shè)位數(shù)(比如保留3位或4位等);
步驟2.2:利用圓周率π的正整數(shù)倍的小數(shù)部分構(gòu)建一系列低差異數(shù),并且使得該低差異數(shù)的小數(shù)點后保留數(shù)字位數(shù)與步驟2.1預(yù)設(shè)小數(shù)點后保留數(shù)字位數(shù)相等。比較每個低差異數(shù)和離差標(biāo)準(zhǔn)化一維數(shù)列中數(shù)據(jù)的大小,將與所述低差異度數(shù)相等的數(shù)據(jù)逐個分配到預(yù)設(shè)的k個臨時容器里。一直循環(huán)本步驟,直到把離差標(biāo)準(zhǔn)化一維數(shù)列的數(shù)值分配到k個臨時容器里,每個臨時容器為一個子集。由于k個臨時容器里每個離差標(biāo)準(zhǔn)化一維數(shù)列上的數(shù)字對應(yīng)樣本數(shù)據(jù)矩陣中的一個樣本(即矩陣的一行),可以從樣本數(shù)據(jù)矩陣相對應(yīng)的樣本分配到相對應(yīng)的k個子集中。每個子集中的樣本數(shù)相等,且子集樣本數(shù)的總和等于全集數(shù)據(jù)矩陣中所代表的樣本數(shù)。
在具體實施中,設(shè)置降維方法集合,可以只使用一個降維方法,也可以包括兩個、三個或其他數(shù)量。需要說明的是,降維方法可以是任何現(xiàn)有的降維方法,比如主成分分析方法、核主成分分析方法、因子分析方法、截斷奇異值分解方法和多維度尺度分析方法。
在該步驟中,如圖2和3所示,具體的步驟2.1過程包括:
a)初始化降維方法編號f為0(即第一種方法);
b)判斷降維方法編號f是否是4(即最后一種方法)。如果為否,則:
b.1.)使用當(dāng)前降維方法將全部樣本數(shù)據(jù)矩陣降到一維數(shù)列ζ(即從14列降到只有一列)。
b.2.)對ζ進(jìn)行離差標(biāo)準(zhǔn)化,得到z_ζ(即值介于0-1之間)。接下來執(zhí)行步驟2.2,降維方法編號f自增1,之后返回b)。
c)如果降維方法編號f等于4(即最后一種方法),接下來執(zhí)行步驟4:
具體的步驟2.2過程包括
步驟2.2.1:設(shè)置小數(shù)點保留數(shù)字的位數(shù)
具體地,
a)初始化小數(shù)點保留數(shù)字的位數(shù)d為3。
b)判斷d是否為6,如果為否,則進(jìn)入步驟2.2.2。
c)如果d等于6,則降維方法編號f自增一(即指向下一個降維方法),循環(huán)執(zhí)行該步驟,直到降維方法編號f等于4(即最后一種方法)。
需要說明的是,設(shè)置小數(shù)點保留數(shù)字的位數(shù)是為了設(shè)置不同的匹配精度,保留位數(shù)越高越精確但計算時間越多。
步驟2.2.2:分配樣本數(shù)據(jù)至k個子集(k=10)
具體地,如圖2和3所示,
a)從之前的幾個步驟輸入全集數(shù)據(jù)矩陣r,每個子集的樣本數(shù)w,子集數(shù)k,離差標(biāo)準(zhǔn)化后的一維數(shù)列z_ζ和小數(shù)點后保留的位數(shù)d。在本例中,樣本數(shù)據(jù)矩陣r是一個297行x14列的矩陣。w為30。k為10個子集。
b)將z_ζ中的每個數(shù)字只保留小數(shù)點后d位,d已經(jīng)在步驟2.2.1中設(shè)置好。
c)初始化g等于1。
d)初始化單個子集內(nèi)已有的樣本量s為0。
e)設(shè)置空集合k,內(nèi)含k個空子集,初始化當(dāng)前子集編號k_id為0(即指向第一個空子集)。
f)為當(dāng)前子集選擇樣本:
f.1)判斷k_id是否等于k-1(即k中的最后一個子集),如果為否,則:
f.1.1)判斷當(dāng)前子集內(nèi)已有的樣本量s已經(jīng)等于w,如果為否,則:
●產(chǎn)生一個低差異數(shù)lds,使之等于g與圓周率(即3.141592653589793238462)的積的小數(shù)部分,保留小數(shù)點后d位。
●在z_ζ內(nèi)找到與lds一致的數(shù)字a。
●獲取a在z_l內(nèi)的正向序號a_i。在r中獲得a_i所對應(yīng)的那行數(shù)據(jù),存入當(dāng)前子集中。
●a的值改為999,使得a永不會再被選中。
·s自增一。
·g自增一。
·循環(huán)執(zhí)行f.1.1步驟,直到s=w
f.1.2.)如果當(dāng)前子集內(nèi)已有的樣本量s已經(jīng)等于w,則子集編號k_id自增一
f.1.3.)s歸零。
f.1.4.)循環(huán)執(zhí)行f.1.步驟,直到當(dāng)前子集是k中的最后一個子集。
f.2)如果當(dāng)前子集是k中的最后一個子集,則將r中余下未被選的數(shù)據(jù)放入最后一個子集。
g)返回k,內(nèi)含k個子集數(shù)據(jù)(在本例中,為10個子集)。執(zhí)行步驟3。
步驟3,用k個子集數(shù)據(jù)對該分類學(xué)習(xí)模型進(jìn)行交叉驗證(其中包含訓(xùn)練和測試),得到若干個相應(yīng)的預(yù)測分類準(zhǔn)確率指標(biāo),并存儲至預(yù)測分類準(zhǔn)確率集合內(nèi)。
具體地,如圖4所示:
a)從步驟2輸入k(在本例中,為10個子集)。
b)初始化當(dāng)前測試集編號test_id=0(即指向k中的第一個子集數(shù)據(jù))。
b.1.)判斷test_id是否等于k-1(即當(dāng)前測試集已經(jīng)是k個子集中的最后一個),如果為否,則:
b.1.1.)將當(dāng)前測試集之外的k中其他子集合并,作為訓(xùn)練集。
b.1.2.)利用訓(xùn)練子集訓(xùn)練一個監(jiān)督機(jī)器學(xué)習(xí)算法的統(tǒng)計模型,比如邏輯回歸(logisticregression),樸素貝葉斯(
b.1.3.)使用測試子集檢驗b.1.2中訓(xùn)練好的統(tǒng)計模型。即把測試子集的13個特征列代入b.1.2中得到多分量的邏輯回歸模型,通過分別乘以b.1.2中得到的回歸系數(shù),預(yù)測出測試子集里每個樣本的分類標(biāo)簽(在本例中為心血管造影疾病嚴(yán)重狀況的五個等級)。通過對比預(yù)測出測試子集里每個樣本的預(yù)測分類標(biāo)簽和實際分類標(biāo)簽,計算出在這個測試子集中,該統(tǒng)計模型的預(yù)測準(zhǔn)確率。
b.1.4.記錄在這個測試子集中,該統(tǒng)計模型的預(yù)測準(zhǔn)確率到一個臨時預(yù)測準(zhǔn)確率集合中。
b.1.5.)測試集編號test_id自增一,指向k中的下一個子集數(shù)據(jù)。循環(huán)執(zhí)行b步驟,直到判斷測試集已經(jīng)是k個子集中的最后一個。
c)測試集已經(jīng)是k個子集中的最后一個,則計算k次循環(huán)后該外部機(jī)器學(xué)習(xí)算法模型泛化指標(biāo)的平均值,即求臨時預(yù)測準(zhǔn)確率集合中的10個數(shù)值的平均值(稱作k折平均預(yù)測分類準(zhǔn)確率),存儲入一個平均預(yù)測準(zhǔn)確率集合中。
d)接下來返回步驟2。
步驟4:步驟2和步驟3的循環(huán)完成后,平均預(yù)測準(zhǔn)確率集合中共包含20個k折平均預(yù)測分類準(zhǔn)確率(即4x5,小數(shù)點后保留位數(shù)d的四種設(shè)置乘以五種降維方法f)。在這個20個指標(biāo)里找到最高者,判斷其是否大于或等于預(yù)設(shè)預(yù)測分類準(zhǔn)確率閾值,若是,則該分類學(xué)習(xí)模型符合要求;否則,提示研究人員修改該分類學(xué)習(xí)模型或使用另外一個監(jiān)督機(jī)器學(xué)習(xí)分類算法構(gòu)建新的模型,返回步驟3。
該方法還包括:將待分類的醫(yī)療數(shù)據(jù)輸入至符合要求的分類學(xué)習(xí)模型中進(jìn)行分類并輸出分類結(jié)果。
在本例中,由于10個子集之間差異度較小,都能代表全集矩陣的信息,該邏輯回歸模型得到了很好的訓(xùn)練,所以最佳的平均預(yù)測分類準(zhǔn)確率為60.51%,10個子集之間的預(yù)測分類準(zhǔn)確率很接近(最高和最低預(yù)測分類準(zhǔn)確率間的差距為20%,標(biāo)準(zhǔn)方差為0.058)。該邏輯回歸模型也用傳統(tǒng)的隨機(jī)10-折交叉檢驗來訓(xùn)練和測試,并且重復(fù)30次(即用30個不同的隨機(jī)種子產(chǎn)生30個不同的偽隨機(jī)數(shù)列),平均預(yù)測分類準(zhǔn)確率為57.91%(最高和最低預(yù)測分類準(zhǔn)確率間的差距為50%,標(biāo)準(zhǔn)方差為0.083)。
為了證明本方法的有益結(jié)果,使用另外8個醫(yī)學(xué)數(shù)據(jù)集做對比(見表一)。進(jìn)一步地,我們使用另外一種分類算法--決策樹(一種非參數(shù)、非線性分類算法)對這些數(shù)據(jù)集分別用本發(fā)明和傳統(tǒng)隨機(jī)10折交叉檢驗法做分析。對比結(jié)果顯示在表二和表三。
表一9個醫(yī)學(xué)數(shù)據(jù)集描述性統(tǒng)計
注明:標(biāo)簽不均勻度指的是樣本分類標(biāo)簽的分布是否均勻(0為最均勻)
表二邏輯回歸交叉檢驗結(jié)果對比
表三決策樹交叉檢驗結(jié)果對比
實驗結(jié)果表明,在使用同一種機(jī)器學(xué)習(xí)算法且參數(shù)設(shè)置完全相同的情況下,使用本方法訓(xùn)練和測試模型后,邏輯回歸分類算法的準(zhǔn)確率(classificationaccuracy)平均提高了1%,最高和最低預(yù)測準(zhǔn)確率區(qū)間變小了100%,標(biāo)準(zhǔn)方差(variance)降低18%;決策樹算類方法的準(zhǔn)確率平均提高了31%,最高和最低預(yù)測準(zhǔn)確率區(qū)間變小了149%,方差降低40%。實驗證明,由于本發(fā)明能明顯降低訓(xùn)練集和測試集之間的差異度,研究人員在不改進(jìn)監(jiān)督機(jī)器學(xué)習(xí)分類算法的情況下,使用本發(fā)明來訓(xùn)練統(tǒng)計模型,預(yù)測分類準(zhǔn)確率有明顯的提升且和穩(wěn)定性能指標(biāo)更好(即最高和最低預(yù)測準(zhǔn)確率區(qū)間和標(biāo)準(zhǔn)方差都變得更小)。
本發(fā)明的該方法利用超越數(shù)π(圓周率)的小數(shù)點后數(shù)字有無限不循環(huán)的特征來產(chǎn)生一個均勻分布的低差異度數(shù)列,來取代目前隨機(jī)k-折交叉檢驗技術(shù)中使用的一個隨機(jī)數(shù)列,然后利用降維方法來保留樣本數(shù)據(jù)矩陣的最重要信息到一個一維數(shù)列作為抽樣框架(samplingframe),利用這兩個數(shù)列可以將全部樣本數(shù)據(jù)均勻地分成若干個子集,實現(xiàn)子集之間的低差異度,進(jìn)而能夠得到當(dāng)前訓(xùn)練完成的分類學(xué)習(xí)模型可靠的預(yù)測分類準(zhǔn)確率,而且在無需改進(jìn)具體機(jī)器學(xué)習(xí)算法的情況下,大大提高了預(yù)設(shè)分類學(xué)習(xí)模型的訓(xùn)練效率,減少了交叉檢驗計算時間,最終減少了醫(yī)療數(shù)據(jù)分類過程的時間,提高了醫(yī)療數(shù)據(jù)分類的效率。
圖5是本發(fā)明的一種基于低差異度數(shù)列交叉檢驗的數(shù)據(jù)分類優(yōu)化系統(tǒng)結(jié)構(gòu)示意圖。
如圖5所示,本發(fā)明的一種基于低差異度數(shù)列交叉檢驗的數(shù)據(jù)分類優(yōu)化系統(tǒng),包括:
(a)樣本數(shù)據(jù)導(dǎo)入模塊,其用于(1)從醫(yī)療信息系統(tǒng)的關(guān)系型數(shù)據(jù)庫中提取多個就診人員的歷史數(shù)據(jù),生成一個全集數(shù)據(jù)矩陣,每一行是一個就診者樣本,第一列為就診者的醫(yī)生診斷分類標(biāo)簽(比如健康或不健康,輕度患病或嚴(yán)重患病,存活或死亡等等),其余的每一列是就診者的一個特征(比如血壓,心率等);需要說明的是,這樣能夠快速準(zhǔn)確地查看就診人員樣本的分類標(biāo)簽,但是就診人員樣本的分類標(biāo)簽也可以設(shè)置在其他列,并不影響本發(fā)明的整體交叉檢驗方法的效果。(2)計算全集數(shù)據(jù)矩陣的總樣本數(shù),以及平均分配到k個子集里的每個子集的樣本數(shù)。
下面以樣本為美國克利夫蘭市醫(yī)院的心臟病就診數(shù)據(jù)為例說明:
從醫(yī)療數(shù)據(jù)庫獲得297個就診人員的歷史數(shù)據(jù),得到297個就診人員樣本,就診人員的分類標(biāo)簽為心血管造影疾病嚴(yán)重狀況,從0到4,“0”表示正常,“4”表示心血管的直徑嚴(yán)重變小或嚴(yán)重堵塞,“1-3”表示心血管的直徑嚴(yán)重變小不同程度或嚴(yán)重堵塞不同程度。
就診人員樣本的生化檢驗的特征信息包括:年齡,性別,胸部疼痛類別,靜止血壓,血清膽固醇含量,空腹血糖,心電圖結(jié)果,最大心率,運動引起的心絞痛,相對于其余的運動誘發(fā)心電圖st段壓低值,心電圖st段的斜率,大血管被透視著色數(shù)及地貧因素。
通過計算樣本數(shù)據(jù)矩陣r的行數(shù),即可得到樣本數(shù)據(jù)矩陣r中的樣本總量s。本例s=297,而且本實施例設(shè)定子集數(shù)k=10,那么繼續(xù)可計算出10個子集里每個子集的樣本數(shù)w,w=s/k且w取整數(shù),即w=30。
(b)子集數(shù)據(jù)分配模塊,其用于對樣本數(shù)據(jù)矩陣進(jìn)行降維處理得到的一維數(shù)列作為抽樣框架,再結(jié)合一個均勻分布的低差異度數(shù)列,將提取的醫(yī)療數(shù)據(jù)樣本數(shù)據(jù)矩陣均勻分成k個子集;其中k為大于1的正整數(shù)。
所述子集數(shù)據(jù)分配模塊,包括:
降維模塊,其用于構(gòu)建由至少一種降維方法組成的降維方法集合,利用降維方法分別對樣本數(shù)據(jù)矩陣進(jìn)行降維處理,得到相應(yīng)一維數(shù)列;再分別對相應(yīng)一維數(shù)列進(jìn)行離差標(biāo)準(zhǔn)化,得到相應(yīng)離差標(biāo)準(zhǔn)化一維數(shù)列;離差標(biāo)準(zhǔn)化一維數(shù)列中每個數(shù)據(jù)的取值均介于0-1之間,且小數(shù)點后保留預(yù)設(shè)位數(shù)(比如保留3位或4位等);
樣本數(shù)據(jù)分配模塊,其用于利用圓周率π的正整數(shù)倍的小數(shù)部分構(gòu)建一系列低差異數(shù),并且使得該低差異數(shù)的小數(shù)點后保留數(shù)字位數(shù)與預(yù)設(shè)小數(shù)點后保留數(shù)字位數(shù)相等;
比較每個低差異數(shù)和離差標(biāo)準(zhǔn)化一維數(shù)列中數(shù)據(jù)的大小,將與所述低差異度數(shù)相等的數(shù)據(jù)逐個分配到預(yù)設(shè)的k個臨時容器里;一直循環(huán)本步驟,直到把離差標(biāo)準(zhǔn)化一維數(shù)列的數(shù)值分配到k個臨時容器里,每個臨時容器為一個子集。
由于k個臨時容器里每個離差標(biāo)準(zhǔn)化一維數(shù)列上的數(shù)字對應(yīng)樣本數(shù)據(jù)矩陣中的一個樣本(即矩陣的一行),可以從樣本數(shù)據(jù)矩陣相對應(yīng)的樣本分配到相對應(yīng)的k個子集中。每個子集中的樣本數(shù)相等,且子集樣本數(shù)的總和等于全集數(shù)據(jù)矩陣中所代表的樣本數(shù)。
進(jìn)一步的,本發(fā)明采用降維方法來保留樣本數(shù)據(jù)矩陣的最重要信息,降維后的離差標(biāo)準(zhǔn)化一維數(shù)列作為抽樣框架(samplingframe)。
不同的降維方法保留樣本數(shù)據(jù)矩陣信息的程度會略有不同。
降維方法可以使用:主成分分析方法、核主成分分析方法、因子分析方法、截斷奇異值分解方法和多維度尺度分析方法,或者其他現(xiàn)有的降維方法。
本發(fā)明可以使用單個降維方法,也可以用降維方法集合來包括兩個、三個或其他數(shù)量的降維方法,依次對樣本數(shù)據(jù)矩陣進(jìn)行降維。
進(jìn)一步的,本發(fā)明需要用一個低差異數(shù)在離差標(biāo)準(zhǔn)化一維數(shù)列中匹配相等的數(shù)值。小數(shù)點后保留預(yù)設(shè)位數(shù)會影響匹配的精度,位數(shù)越多,精度越高,但計算時間越長。保留預(yù)設(shè)位數(shù)可以設(shè)為3位,4位,5位或6位。
(c)交叉檢驗?zāi)K,其用于(1)根據(jù)一種監(jiān)督機(jī)器學(xué)習(xí)分類算法,建立一個統(tǒng)計模型(比如使用邏輯回歸算法,建立一個線性回歸模型);(2)用樣本數(shù)據(jù)分配模塊中得到的k個子集數(shù)據(jù),對該統(tǒng)計模型進(jìn)行循環(huán)交叉檢驗;(3)保存所獲得的預(yù)測分類準(zhǔn)確率到臨時集合中;(4)對臨時集合中的k個預(yù)測分類準(zhǔn)確率求平均值,將該平均值存入預(yù)測準(zhǔn)確率集合中。
需要說明的是,在所述交叉檢驗?zāi)K中建立一個監(jiān)督機(jī)器學(xué)習(xí)分類學(xué)習(xí)模型。監(jiān)督機(jī)器學(xué)習(xí)分類算法可以包括任何一種現(xiàn)成的監(jiān)督機(jī)器學(xué)習(xí)分類算法,比如邏輯回歸,神經(jīng)網(wǎng)絡(luò)、決策樹或樸素貝葉斯。分類學(xué)習(xí)模型是一個算法的實施實例。比如一個線性回歸模型是邏輯回歸算法的實施實例。
(d)分類學(xué)習(xí)模型優(yōu)化模塊,其用于判斷該分類學(xué)習(xí)模型的平均預(yù)測分類準(zhǔn)確率是否大于或等于預(yù)設(shè)預(yù)測分類準(zhǔn)確率閾值,若是,則該分類學(xué)習(xí)模型符合要求;否則,提示研究人員修改該分類學(xué)習(xí)模型或使用另外一個監(jiān)督機(jī)器學(xué)習(xí)分類算法構(gòu)建新的模型。
該系統(tǒng)還包括:數(shù)據(jù)分類模塊,其用于將待分類的醫(yī)療數(shù)據(jù)輸入至符合要求的分類學(xué)習(xí)模型中進(jìn)行分類并輸出分類結(jié)果。
本發(fā)明的該系統(tǒng)利用超越數(shù)π(圓周率)的小數(shù)點后數(shù)字有無限不循環(huán)的特征來產(chǎn)生一個均勻分布的低差異度數(shù)列,來取代目前隨機(jī)k-折交叉檢驗技術(shù)中使用的一個隨機(jī)數(shù)列,然后利用降維方法來保留樣本數(shù)據(jù)矩陣的最重要信息到一個一維數(shù)列作為抽樣框架(samplingframe),利用這兩個數(shù)列可以將全部樣本數(shù)據(jù)均勻地分成若干個子集,實現(xiàn)子集之間的低差異度,進(jìn)而能夠得到當(dāng)前訓(xùn)練完成的分類學(xué)習(xí)模型可靠的預(yù)測分類準(zhǔn)確率,而且在無需改進(jìn)具體機(jī)器學(xué)習(xí)算法的情況下,大大提高了預(yù)設(shè)分類學(xué)習(xí)模型的訓(xùn)練效率,減少了交叉檢驗計算時間,最終減少了醫(yī)療數(shù)據(jù)分類過程的時間,提高了醫(yī)療數(shù)據(jù)分類的效率。
圖6是本發(fā)明的另一種基于低差異度數(shù)列交叉檢驗的數(shù)據(jù)分類優(yōu)化系統(tǒng)結(jié)構(gòu)示意圖。
如圖6所示,本發(fā)明的另一種基于低差異度數(shù)列交叉檢驗的數(shù)據(jù)分類優(yōu)化系統(tǒng),包括:數(shù)據(jù)采集裝置和數(shù)據(jù)分類優(yōu)化服務(wù)器。
(1)數(shù)據(jù)采集裝置,其被配置為:從醫(yī)療信息系統(tǒng)的數(shù)據(jù)庫中提取就診人員歷史數(shù)據(jù);所述就診人員歷史數(shù)據(jù)包括分類標(biāo)簽和生化檢驗的特征信息。
具體地,就診人員樣本的分類標(biāo)簽包括就診人員存活和就診人員死亡,或就診人員健康和就診人員不健康。
就診人員樣本的生化檢驗的特征信息包括血壓、心率、血糖含量和血細(xì)胞含量。除了上述生化檢驗的特征信息之外,還包括其他現(xiàn)有特征信息,此處將不再舉例說明。
下面以樣本為美國克利夫蘭市醫(yī)院的心臟病就診數(shù)據(jù)為例:
從醫(yī)療數(shù)據(jù)庫獲得297個就診人員的歷史數(shù)據(jù),得到297個就診人員樣本,就診人員的分類標(biāo)簽為心血管造影疾病嚴(yán)重狀況,從0到4,“0”表示正常,“4”表示心血管的直徑嚴(yán)重變小或嚴(yán)重堵塞,“1-3”表示心血管的直徑嚴(yán)重變小不同程度或嚴(yán)重堵塞不同程度。
就診人員樣本的生化檢驗的特征信息包括:年齡,性別,胸部疼痛類別,靜止血壓,血清膽固醇含量,空腹血糖,心電圖結(jié)果,最大心率,運動引起的心絞痛,相對于其余的運動誘發(fā)心電圖st段壓低值,心電圖st段的斜率,大血管被透視著色數(shù)及地貧因素。
(2)數(shù)據(jù)分類優(yōu)化服務(wù)器,其被配置為:
接收就診人員歷史醫(yī)療數(shù)據(jù),構(gòu)建樣本數(shù)據(jù)矩陣,對樣本數(shù)據(jù)矩陣進(jìn)行降維處理得到的一維數(shù)列作為抽樣框架,再結(jié)合一個均勻分布的低差異度數(shù)列,將提取的醫(yī)療數(shù)據(jù)樣本數(shù)據(jù)矩陣均勻分成k個子集;
根據(jù)一個監(jiān)督機(jī)器學(xué)習(xí)分類算法,構(gòu)建一個分類學(xué)習(xí)模型,用k個子集中的數(shù)據(jù)進(jìn)行交叉檢驗。其中用k-1個子集訓(xùn)練該模型,得到該模型的各項系數(shù)。然后用余下的一個子集做測試,得到預(yù)測分類準(zhǔn)確率。依次循環(huán)k次,最后對這k個預(yù)測分類準(zhǔn)確率求平均值;
判斷該分類學(xué)習(xí)模型的k折平均預(yù)測分類準(zhǔn)確率是否大于或等于預(yù)設(shè)預(yù)測分類準(zhǔn)確率閾值,若是,則該分類學(xué)習(xí)模型符合要求;否則,提示研究人員修改該分類學(xué)習(xí)模型或使用另外一個監(jiān)督機(jī)器學(xué)習(xí)分類算法構(gòu)建新的模型。
進(jìn)一步的,所述數(shù)據(jù)分類優(yōu)化服務(wù)器,還被配置為:
將待分類的醫(yī)療數(shù)據(jù)輸入至符合要求的分類學(xué)習(xí)模型中進(jìn)行分類并輸出分類結(jié)果。
進(jìn)一步的,所述數(shù)據(jù)分類優(yōu)化服務(wù)器,還被配置為:
利用降維方法分別對樣本數(shù)據(jù)矩陣進(jìn)行降維處理,得到相應(yīng)一維數(shù)列;再分別對相應(yīng)一維數(shù)列進(jìn)行離差標(biāo)準(zhǔn)化,得到相應(yīng)離差標(biāo)準(zhǔn)化一維數(shù)列;離差標(biāo)準(zhǔn)化一維數(shù)列中每個數(shù)據(jù)的取值均介于0-1之間,且小數(shù)點后保留預(yù)設(shè)位數(shù);
利用圓周率π的正整數(shù)倍的小數(shù)部分構(gòu)建一系列低差異數(shù),并且使得該低差異數(shù)的小數(shù)點后保留數(shù)字位數(shù)與步驟2.1預(yù)設(shè)小數(shù)點后保留數(shù)字位數(shù)相等。比較小數(shù)點后保留預(yù)設(shè)位數(shù)的離差標(biāo)準(zhǔn)化一維數(shù)列和一個低差異度數(shù)列中數(shù)據(jù)的大小,將與所述低差異度數(shù)列中相等的數(shù)據(jù)逐個分配到預(yù)設(shè)的k個臨時容器里。一直循環(huán)直到把一維數(shù)列的數(shù)值分配到k個臨時容器里,每個臨時容器為一個子集。
由于k個臨時容器里每個一維數(shù)列上的數(shù)字對應(yīng)樣本數(shù)據(jù)矩陣中的一個樣本(即矩陣的一行),可以從樣本數(shù)據(jù)矩陣相對應(yīng)的樣本分配到相對應(yīng)的k個子集中。每個子集中的樣本數(shù)相等,且子集樣本數(shù)的總和等于全集數(shù)據(jù)矩陣中所代表的樣本數(shù)。
建立一個監(jiān)督機(jī)器學(xué)習(xí)分類學(xué)習(xí)模型。使用上述k個子集的數(shù)據(jù)對該分類學(xué)習(xí)模型進(jìn)行循環(huán)交叉驗證,得到相應(yīng)預(yù)測分類準(zhǔn)確率并存儲至一個臨時結(jié)果集合內(nèi)。對臨時結(jié)果集合中的k個預(yù)測分類準(zhǔn)確率求平均值,將該平均值存入預(yù)測準(zhǔn)確率集合中。
最后判斷醫(yī)療數(shù)據(jù)的分類學(xué)習(xí)模型的預(yù)測分類準(zhǔn)確率是否大于或等于預(yù)設(shè)預(yù)測分類準(zhǔn)確率閾值,若是,則醫(yī)療數(shù)據(jù)的分類學(xué)習(xí)模型符合要求,則可以部署該模型,將新的待分類的醫(yī)療數(shù)據(jù)至該模型進(jìn)行分類并輸出分類結(jié)果;否則,繼續(xù)對分類學(xué)習(xí)模型進(jìn)行修改或使用另外一種監(jiān)督機(jī)器學(xué)習(xí)分類算法構(gòu)建新的模型。
本發(fā)明的該系統(tǒng)利用超越數(shù)π(圓周率)的小數(shù)點后數(shù)字有無限不循環(huán)的特征來產(chǎn)生一個均勻分布的低差異度數(shù)列,來取代目前隨機(jī)k-折交叉檢驗技術(shù)中使用的一個隨機(jī)數(shù)列,然后利用降維方法來保留樣本數(shù)據(jù)矩陣的最重要信息到一個一維數(shù)列作為抽樣框架(samplingframe),利用這兩個數(shù)列可以將全部樣本數(shù)據(jù)均勻地分成若干個子集,實現(xiàn)子集之間的低差異度,進(jìn)而能夠得到當(dāng)前訓(xùn)練完成的分類學(xué)習(xí)模型可靠的預(yù)測分類準(zhǔn)確率,而且在無需改進(jìn)具體機(jī)器學(xué)習(xí)算法的情況下,大大提高了預(yù)設(shè)分類學(xué)習(xí)模型的訓(xùn)練效率,減少了交叉檢驗計算時間,最終減少了醫(yī)療數(shù)據(jù)分類過程的時間,提高了醫(yī)療數(shù)據(jù)分類的效率。
上述雖然結(jié)合附圖對本發(fā)明的具體實施方式進(jìn)行了描述,但并非對本發(fā)明保護(hù)范圍的限制,所屬領(lǐng)域技術(shù)人員應(yīng)該明白,在本發(fā)明的技術(shù)方案的基礎(chǔ)上,本領(lǐng)域技術(shù)人員不需要付出創(chuàng)造性勞動即可做出的各種修改或變形仍在本發(fā)明的保護(hù)范圍以內(nèi)。