張麟宇,涂志瑩,杭少石,張柏林,初佃輝
哈爾濱工業大學 計算機科學與技術學院,山東 威海264209
真實、有效、完備的數據集意味著機器學習模型將有較好的輸入,模型通過學習發現規律,挖掘并分析當中的關聯規則與信息,可以很好地為現實中社會生產活動提供知識決策。另外,從提升模型的泛化能力出發,也應該相應地增大訓練數據的規模。
中國作為世界上最大的發展中國家,人口老齡化程度已經比肩中高收入國家群體,并在未來30 年(到2050年)將迅速攀升,超過高收入國家群體。缺乏相關的信息化技術以及成熟的康養公共服務設施的輔助,康養數據的采集和獲取是比較困難的。真實、有效的數據集的缺失,成為了研究相關工作的障礙。
針對這一問題,本團隊從慢病康復訓練指導入手,通過長期的社區公益服務采集了某市的社區康養的標準數據。在此基礎上,本文提出了一種基于機器學習的三階段數據生成模型,以采集到小樣本數據集為基礎,實現了大批量具有區域養老人群特征的樣本數據生成。該模型在第一階段使用基于樹形結構的基礎屬性生成策略,按照自上而下的思想,生成符合原始數據集分布的基礎屬性樣本;接著提出了基于樸素貝葉斯的基礎行為能力指標生成策略,將基礎行為能力指標的生成轉化為分類問題進行實現;第三階段,又提出了基于多元線性回歸的高階行為能力指標生成策略,在前兩個階段的基礎上,通過選定合適的自變量,擬合9 個線性回歸方程,完成高階行為能力指標數據的生成。最后,通過整合三個階段的結果,完成了康復養老數據的生成工作。
另外,本文利用了模型生成的數據集,設計了基于神經網絡的分類推薦模型,在將生成的數據集反饋給康復專家驗證、篩選、標注之后,經過屬性特征提取,把其輸入到模型當中,實現了康復訓練計劃推薦的任務。
與傳統的機器學習不同,現在基于神經網絡的深度學習模型通常采用多層的網絡結構,其復雜程度較高,因此也需要盡可能多的數據進行訓練。而訓練模型所必須的海量訓練數據樣本難以獲取已經成為阻礙深度學習技術進一步推廣的一個普遍性難題。目前,學術界提出了很多解決小樣本數據集上學習的方法。一種常見的思路是把小樣本的數據應用到改進后的算法中。文獻[10]提出了基于卷積神經網絡的小樣本圖像識別方法,結合了深度學習與遷移學習技術,先在卷積神經網絡中對相關領域的大數據集進行預訓練,提取預訓練模型的權重和樣本特征,應用到目標小數據集中對模型進行初始化,然后展開訓練。但是該方法受到了相關領域大規模數據集的限制,無法很好地應用到缺少大規模數據集的工作當中。
小樣本的模型學習問題,在不使用大數據集輔助的情況下,文獻[11]提出了一種迭代提升欠采樣模型(under sampling with iteratively boosting,USIB),進行疾病預測。該方法迭代地從多數類樣本中進行欠采樣,構建多組弱分類器,通過加權組合的方式集成一個強分類器,提高模型的學習能力。但是基于該方法更多地關注錯誤分類和分類置信度不高的樣本去改善模型的預測能力,并沒有真正實現數據生成的任務。
集成方法也是解決小樣本學習的常用方法,通過融合集成技術和采樣技術,充分利用了兩者的優點。Liu等人提出了EasyEnsemble集成算法,結合了Bagging和欠采樣技術。在此基礎上,Liang和Cohn提出了UBagging 算法,該算法將Bagging 應用到不平衡數據集訓練中,不斷增加負樣本采樣數量來訓練多個分類器,集成多個分類器提高整體分類性能。融合集成技術和采樣技術的算法通過多次采樣解決了單次采樣中樣本信息缺失問題,但是每次隨機性地采樣,忽略了分類器之間的關系,限制了模型的整體性能。
另一種常用的方法是在已有數據集的基礎上,進行特定技術的處理來增加樣本的數量。文獻[14]提出了一種深度卷積生成對抗網絡(deep convolutional generative adversarial networks,DCGANs),通過設計生成器與判別器,學習圖像中物體到場景的層次化表征信息,最終生成新的圖像數據集。文獻[15]提出了一種基于Wasserstein GAN 的小樣本數據增強方法,使用訓練集樣本訓練GAN 后生成模擬樣本數據,擴增訓練集樣本規模。雖然GAN 方法的生成不用考慮樣本屬性間的內在聯系,但是GAN 在實際應用當中會存在一些問題:
(1)無法進行穩定的訓練,導致生成模型生成無意義的輸出,對于離散型數據的學習效果較差;
(2)生成的數據的可解釋性差,有時GAN生成的樣本只是對真實樣本的簡單改動,導致生成樣本的多樣性較差。
綜上,已有的數據生成方法存在著隨機性、盲目性,并且有模型參數選擇和復雜程度的限制。研究新的數據模型,并將其應用到相關工作當中具有重要意義。
本次用于擴充的康復養老數據集包含140 條數據,每個樣本包含老年人的基礎屬性、行為能力評估指標以及行為能力評估階段等信息。
在樣本數據方面,通過對采集到的樣本數據進行分類,可以得到基礎屬性、行為能力評估指標和行為能力評估階段等類別信息,其中每個分類包含的屬性如下:
(1)基礎屬性:姓名、年齡、家庭條件、殘疾原因、殘疾類型、殘疾等級。
(2)基礎行為能力評估指標:翻身、坐、站、轉移。
(3)高階行為能力評估指標:步行或驅動輪椅、上下臺階、進食、穿脫衣物、洗漱、入廁、交流、日常家務、社會活動。
(4)行為能力評估階段:康復初期、恢復期、治愈期。
在數據生成的模型設計中,本文分為了三個階段:第一階段按照基于樹形結構的規則自上而下生成樣本的基礎屬性;第二階段對于基礎的行為能力指標的生成,使用貝葉斯模型來實現;第三階段,使用多元線性回歸生成高階行為能力指標。具體的模型設計流程圖如圖1所示。

圖1 數據生成模型Fig. 1 Data generation model
在原始數據集當中基礎屬性包括了性別、年齡、殘疾類型、殘疾原因、殘疾等級共5個維度特征,且它們在數據集中都呈現出一定的分布規律。如果要同時生成各個維度的值,則會忽略它們之間的相關性;如果只是簡單地用隨機的方法生成各個維度的值,則生成的數據會不滿足原始數據集的分布,失去有效性和真實性。因此,本節提出了基于樹形結構的基礎屬性生成策略:考慮先根據殘疾類型的分布情況,采用改進后的輪盤賭算法確定生成樣本的殘疾類型,然后以此為根節點,性別特征為其子節點,利用條件分布,再次使用改進后的輪盤賭算法確定性別特征;以此類推,按照樹形結構的思想,不斷利用條件分布,采用改進后的輪盤賭算法,自上而下地確定各個維度的值,最終實現基礎屬性的生成。
在確定了生成策略之后,本文對原數據進行了預處理,從原數據集中篩選出真實可用的80 條數據。對這些數據的基礎屬性進行統計分析,樣本的分布呈現出一定的規律,各個基礎屬性統計分布如表1所示。

表1 基礎屬性統計分布Table 1 Basic attribute statistical distribution
常見的輪盤賭算法通常需要先計算適應度比例,即對于數量為的養老康復樣本,給每個個體x一個適應度值(x),則每個特征值的選擇概率為:

然后計算每個個體的累計概率,即每個個體之前所有個體的選擇概率之和:

在確定了累計概率之后,隨機生成一個數組,數組的長度為,元素值的范圍屬于[0,1],然后有序排列,用于確定個體是否能夠被選擇。若累計概率q大于隨機生成數組中的[],則x被選擇,將繼續比較[],若不大于,則不選擇,比較下一個個體x+1,以此類推,從而確定生成屬性。
在樣本的數據集中,要生成的基礎屬性中的特征值只有一個,在輪盤賭算法中即每次需要選擇出來的個體只有一個,為了能夠方便地控制選擇的個體的數量,本文改進了輪盤賭算法,在函數參數中增加了一個控制生成個體數量的參數。具體的算法如下所示。
基于條件分布的輪盤賭算法
輸入:殘疾類型分布數組,性別條件分布數組,年齡條件分布數組,殘疾原因條件分布數組,殘疾等級條件分布數組。

通過對原始數據集的處理、分析、統計,按照樹形結構的思想,采用改進后的輪盤賭算法,實現了基礎屬性的生成。
貝葉斯方法是以貝葉斯原理為基礎,使用概率統計的知識對樣本數據集進行分類,因此有著較好的統計和數學基礎,分類的準確率較高。該方法通過使用數據集中統計出的先驗概率和后驗概率,既避免了只使用先驗知識的主觀偏見,也避免了單獨使用樣本信息的過擬合現象。
樸素貝葉斯分類,以貝葉斯定理為基礎,并且使用條件獨立性假設的方法,先通過已給定的訓練集,以特征屬性之間獨立作為前提假設,學習從輸入到輸出的聯合概率分布,再基于學習到的模型,輸入求出使得后驗概率最大的輸出。
設有樣本數據集={,,…,s},對應樣本數據的特征屬性集={,,…,x},且類變量為={,,…,y},即可以分為y個類別。其中,,…,x相互獨立且隨機,則的先驗概率=(),的后驗概率=(|)。由樸素貝葉斯算法可得,后驗概率可以由先驗概率、證據()、類條件概率(|)以及在給定樣本類別時計算得出公式如下:

由以上兩公式可以得出后驗概率為:

由于在每次的計算過程中()的大小是一樣的,在比較后驗概率的時候,只比較上式的分子部分即可。最終可以得到一個樣本數據屬于類別y的樸素貝葉斯計算公式:

在樣本的康復養老數據集中,樣本的基礎行為能力評估指標包含翻身、坐、站、轉移共四項,每項指標的評估分為0、1、2、3四個等級,評估得分越高表明該項指標的能力越強。因此,對于每項基礎行為能力評估指標的生成,可以看作一個分類問題。通過計算原數據集中樣本的基礎屬性(性別、年齡、殘疾類型、殘疾原因、殘疾等級)之間的相關性,如表2 所示的基礎屬性的Spearman 相關性系數矩陣,可以發現它們之間有較低的關聯程度,即使用樸素貝葉斯算法,考慮每個特征之間的獨立性假設是合理的。

表2 樣本基礎屬性Spearman相關性系數矩陣Table 2 Spearman correlation coefficient matrix of sample basic attributes
在分析了樣本基礎屬性間的基礎屬性后,通過預先設定好的數值化規則進行基礎屬性約束,設原始數據集的基礎屬性的數值化矩陣1,原始數據集的基礎行為能力評估指標的數值化標簽數組1,階段一中生成的基礎屬性的數值化矩陣2;將1、2 以及1輸入到樸素貝葉斯模型中,最終得到模型預測出的基礎行為能力指標。
數據生成的第二階段,本文使用樸素貝葉斯算法,通過原數據集的訓練,分別得到翻身、坐、站、轉移四個基礎行為能力評估指標的生成模型,再利用階段一中已生成的基礎屬性,最終得到每個生成樣本的基礎行為能力評估指標。
在回歸分析中,如果有兩個或兩個以上的自變量,就稱為多元回歸。在現實中,一個現象結果的出現往往是與多個因素相聯系的,由多個自變量的最優組合共同來預測或估計因變量,比只用一個自變量進行預測或估計更有效,更符合實際,因此多元線性回歸的應用場合常常更為廣泛。多元線性回歸模型如下:

式中,為常數項,β(=1,2,…,)表示在其他變量保持不變時,X增加或減少一個單位時的平均變化量,被稱為偏回歸系數。同樣,被稱為殘差,表示去除個自變量對影響后的隨機誤差。通常,多元線性回歸模型的應用需要滿足如下條件:
(1)與,,…,X之間具有線性關系;
(2)各個樣本的觀察值Y(=1,2,…,)相互獨立;
(3)殘差服從均值為0,方差為的正態分布,等價于對任意一組自變量,,…,X值,因變量具有相同的方差,并且服從正態分布。
使用最小二乘法,根據樣本數據求得模型參數估計值:

通過建立多元線性回歸方程求解:


最后確定,,…,b的值,得到最終的多元線性回歸方程。
在康復養老的數據集中,高階行為能力評估指標包含步行或驅動輪椅、上下臺階、進食、穿脫衣物、洗漱、入廁、交流、日常家務、社會活動等九項指標,每項指標分為0、1、2、3四個等級,得分越高表示該項能力越強。通過統計原數據各項能力指標的相關性,本文發現基礎行為能力指標與高階行為能力指標之間有較強的相關性。當指標得分被看作連續性數值時,兩者具有一定的線性關系。基于上述分析,在數據生成的第三階段,本文采用多元線性回歸算法,通過對原始數據集的訓練,針對不同的高階行為能力指標,分別構建了對應的回歸方程。
在自變量的選擇過程中,本文采取了逐步回歸法進行篩選。該方法將前進法和后退法相結合,首先使用前進法挑選變量,然后將已入選的自變量使用后退法進行剔除,在整個過程中,通過觀察實驗中設定的相關檢驗標準,選擇和剔除合適的自變量,最后建立較優的回歸方程。
通過統計和實驗發現,當同時引入翻身、坐、站、轉移四項作為自變量放入方程當中,多元線性回歸模型的效果最好。在完成模型的訓練之后,將第二階段生成的基礎行為能力評估指標數據作為輸入,可以完成高階行為能力評估指標的生成。然后根據整個行為能力評估指標可以得到評估階段;最后整合每個生成樣本的基礎屬性、行為能力評估指標以及評估階段可以得到一個完整的生成數據集。
在現實中,在得到了一個樣本的基礎屬性、行為能力評估指標以及行為能力評估階段后,康復專家就可以根據這些特征進行一些康復訓練計劃的推薦,用于輔助患者的康復治療。因此,將模型生成的數據集反饋給康復專家,經過專家的評審、篩選和標注,最后可以形成一批標注后的完整數據集。在此基礎上,可以設計一個模型,用于康復計劃的推薦。
在得到了樣本的數據信息后,統計需要推薦的項目包含運動康復目標、生活自理能力康復目標、生活適應能力康復目標、康復訓練項目、康復療法、康復訓練強度、康復訓練組數共7項。
通過對樣本數據的整理、統計后,得到的具體推薦數據如表3所示。

表3 推薦模型樣本數據展示Table 3 Sample data presentation of recommended model
其中,雖然每項計劃的內容為文本數據,但是內容的劃分是分類別的。因此考慮構建基于神經網絡的分類模型,用于實現康復訓練計劃的推薦。
具體的推薦任務劃分為多分類任務和多標簽分類任務。根據康復訓練計劃數據的特點,其中運動康復目標、生活自理能力康復目標、生活適應能力康復目標、康復訓練強度、康復訓練組數五項推薦屬于多分類任務,康復訓練項目與康復療法的推薦屬于多標簽分類任務。
對于每個樣本而言,它都包含性別、年齡、殘疾類型、殘疾原因、殘疾等級、行為能力評估指標以及行為能力評估階段七項基本信息,在分類推薦模型設計之前,需要先確定樣本的特征屬性和模型的輸入。在現實中,專業的康復醫護人員根據殘疾人的各項生理特征以及康復過程信息進行康復計劃的制定,在與康復專家溝通之后,通過分析殘疾人的特征屬性和影響康復計劃推薦的主要因素,本文設計了一個基于神經網絡的樣本特征提取模型。具體的特征向量提取模型設計如圖2所示。

圖2 樣本特征提取模型Fig. 2 Sample feature extraction model
首先,經過數據的預處理,將樣本的基本信息中的屬性數字化,然后將數字化的特征通過嵌入層的映射變換為16 維或32 維的低維特征。使用={,,…,x}表示樣本基礎信息中的各個特征項,通過激活函數ReLU的非線性變換得到低維特征,接著通過全連接層將各個低維特征拼接融合,得到樣本特征,放入到隱藏層當中,最終得到400維的高階融合特征向量。
在網絡結構的設計中,本文將特征提取模型中得到的向量作為分類網絡的輸入層,通過隱藏層的加工抽象,選擇合適的損失函數完成輸出。
在網絡的輸出層中,對于不同的分類任務,模型使用了不同的損失函數。針對多分類任務,模型使用了Softmax 交叉熵損失函數,針對多標簽分類任務,數據中類別標簽是獨立且不互斥的,因此可以將其視為多個二分類任務,使用Sigmoid 交叉熵損失函數。
在現實中,康復師對患者進行行為能力評估時存在較多的不確定性和主觀因素,有時評估指標得分在0~4 之間并沒有嚴格的區分度。例如當一個樣本中“站”這項行為能力指標的真實值為2,其作為測試數據放入模型當中,被預測出的結果為0 或1 或3時,都應該給其一定的正確權重,而不是直接判錯。即在分析階段二的生成模型的準確率時不能完全按照分類問題的準確率的計算來定義。
通過與康復養老方面的專家溝通,本文定義了正確程度評價矩陣,用來合理地計算模型的準確性。
對于數據規模為的測試數據集,T表示第個測試樣本的第個評估指標的真實值,P表示第個測試樣本的第個評估指標的預測值,則第個測試樣本第個評估指標被預測的正確程度D為:

那么,第個指標預測模型的準確率計算為:

利用上述公式,得到正確程度評價矩陣如表4所示。

表4 正確程度評價矩陣Table 4 Matrix of correctness degree evaluation
在設計好了正確程度矩陣,改進了評價的標準之后,對模型的準確率進行了實驗驗證,設定實驗迭代次數為10,分別計算了未使用正確程度評價矩陣和改進后的評價標準,繪制出了“翻身”基礎行為能力指標的生成模型準確率折線圖,如圖3所示。

圖3 翻身行為能力指標生成實驗結果Fig. 3 Experimental results of ability index of turning over
從圖3中可以發現,在使用了定義的正確程度評價矩陣衡量之后,模型的準確率可以達到80%。在改進了階段二實驗的評價算法之后得到了較高的模型準確率,說明階段二的生成是可解釋的。
在第三階段生成高階行為能力指標時,本文總共構建了9個回歸方程,因變量整體對方程的解釋使用了和值,各個變量對方程的顯著性影響使用了值,并且統計列出了各個方程自變量的系數。其中、、、分別為自變量翻身、坐、站、轉移,各個方程的和值如表5所示。

表5 各個回歸方程R2與F值統計表Table 5 Each regression equation R2 and F value
其中,以翻身、坐、站、轉移為自變量,步行或驅動輪椅為因變量,擬合出的回歸方程的系數、標準差、值、值的結果如表6所示。

表6 回歸方程1的實驗結果Table 6 Experimental results of regression equation 1
從表5中可以發現,和值最高達到0.612和32.140,說明選取的變量整體可以對方程進行解釋。在衡量每個變量對方程影響的顯著性時使用了檢驗,其中當值小于0.05 時,表示拒絕原假設,即表明該自變量與因變量有一定的回歸關系,且對方程有較高的顯著性影響。
在生成階段一中,實驗保證了生成出的數據是符合原數據集分布的,在生成階段二和階段三中也選取了合適的實驗評價指標,保證了其結果的可靠性。基于以上工作,還需要對整個生成模型的實驗結果進行分析和評估。因此,本文設計了Spearman相關性系數矩陣余弦相似度計算的方法進行實現。
先計算出原數據集中各個特征維度之間的Spearman相關性系數矩陣1,然后計算生成數據集的各個特征維度之間的Spearman 相關性系數矩陣2,之后將兩者做余弦相似度計算,得到1 和2之間的相似度用來衡量生成數據的質量。
在具體的操作過程中,本文設定了不同的數據集生成的Batch Size,生成數據集的大小分別從100到1 000,控制每批次生成數據規模的大小。此外,在每次得到生成的數據集之后,計算數據集的Spearman相關系數矩陣,然后統計出了3個不同的矩陣相似度,用來與文中提出的模型的實驗結果進行對比。其中表示生成階段二、三都使用樸素貝葉斯的方法后矩陣1 和2 的相似度;表示生成階段二使用樸素貝葉斯,階段三使用多元線性回歸并將高階行為能力指標得分四舍五入后矩陣1和2 的相似度;則表示生成階段二使用樸素貝葉斯,階段三使用多元線性回歸后矩陣1 和2 的相似度。最后,在得到了每次實驗的結果之后,統計并繪制了實驗結果折線圖如圖4所示。

圖4 矩陣相似度計算折線圖Fig. 4 Result of matrix similarity calculation
從圖4的數據可以看出,相似度會有極值點的出現,但隨著生成數據集規模的增大,矩陣相似度趨于穩定,且具體表現為、以及分別在0.725、0.800、0.850 這3 個值上下波動。其中的值最大,說明通過本文提出的模型生成出的數據很大程度上和原數據集在各個特征維度的相關性上也保持了一致,從實驗結果上驗證了生成數據集的真實性和可靠性。
在本節的實驗中,使用了三階段生成模型并經過康復專家標注后的數據集。在具體的實驗過程中,為了避免隨機性對實驗結果造成影響,本文做了5次實驗,每次實驗隨機選取80%的數據作為訓練數據集,剩下的20%作為測試數據集,取5 次實驗的平均值作為最終結果。多分類任務1~5 分別為運動康復目標推薦、生活自理能力康復目標推薦、生活適應能力康復目標推薦、康復訓練強度推薦、康復訓練組數推薦,本文使用準確率Acc 進行評估;對于多標簽分類任務,本文使用AUC(area under curve)進行評估。得到的實驗結果如表7、表8所示。

表7 多分類任務的實驗結果Table 7 Experimental results of multi-classification tasks %

表8 多標簽分類任務的實驗結果Table 8 Experimental results of multi-label classification tasks %
從實驗結果來看,多分類任務的Acc 可以達到77%,多標簽分類任務的AUC可以達到65%,說明分類推薦模型有較好的效果,可以為后續的研究提供一些參考。
本文提出了一種基于機器學習的三階段數據生成模型。實驗表明,生成模型的第一個階段保證了生成后的數據集和原數據集有相同的屬性分布;在第二階段,通過設計正確程度矩陣驗證了基礎行為能力指標的生成結果可以達到80%;生成階段三提出的基于多元線性回歸的高階行為能力指標生成策略保證了生成數據集繼承了原始數據集屬性之間的相關性。此外,通過注入專家知識,本文有效地篩選和標注了生成數據,在此基礎上,實現的多分類任務的Acc 可以達到77%,多標簽分類任務的AUC 可以達到65%。
盡管本文所提出的基于機器學習的三階段生成模型可以生成一個完備有效的數據集,但是目前對生成數據集的利用有限。后續將進一步優化生成模型,并在相關的系統平臺中開放相關數據集和模型接口,以便在此基礎上做更多的研究工作。