摘要:目前,機器學(xué)習(xí)在疾病預(yù)測領(lǐng)域的應(yīng)用日益廣泛。文章介紹了SVM(支持向量機)、CART(分類與回歸樹)決策樹、KNN (K近鄰)3種機器學(xué)習(xí)算法,并將這3種算法構(gòu)建的模型應(yīng)用于心血管疾?。–VD)的預(yù)測中。結(jié)果表明,SVM模型表現(xiàn)最優(yōu)。此外,為進一步提高模型的性能和魯棒性,在這3個基模型中均融合了Bagging算法。研究結(jié)果顯示,3個模型的性能均得到了不同程度的提升,其中CART決策樹模型的性能提升最為顯著,但SVM模型仍然保持最佳表現(xiàn)。利用機器學(xué)習(xí)技術(shù)對CVD進行有效預(yù)測的方法可應(yīng)用于智能床墊上,通過監(jiān)測和分析用戶的生理數(shù)據(jù),智能化地評估心血管疾病風(fēng)險,為實現(xiàn)便捷的智能健康管理提供了一種有效途徑,對CVD的預(yù)防和診斷具有重要價值。
關(guān)鍵詞:Bagging算法;疾病預(yù)測模型;機器學(xué)習(xí);心血管疾??;智能床墊
中圖分類號:TP391" " "文獻標識碼:A" " "文章編號:1674-0688(2024)11-0020-04
0 引言
心血管疾病(CVD)是影響各年齡段人群的心臟疾病之一,是全球死亡的主要原因。世界心臟病聯(lián)盟報告,全球每年因心血管疾病死亡的人數(shù)高達2 050萬,約占全球死亡總?cè)藬?shù)的1/3[1]。在中國,心血管病的患病人數(shù)已達3.3億[2]。隨著智能家居和物聯(lián)網(wǎng)(IoT)技術(shù)的迅猛發(fā)展,智能床墊等家居產(chǎn)品作為數(shù)據(jù)驅(qū)動的健康管理設(shè)備,已能夠憑借內(nèi)置傳感器和云計算技術(shù),連續(xù)、無縫地收集用戶的各項生理數(shù)據(jù)。心血管疾病的誘因包括過量飲酒、吸煙、高血壓、高膽固醇、不良飲食習(xí)慣和家族史等,這些因素導(dǎo)致的死亡可通過早期預(yù)測進行有效干預(yù)?;跈C器學(xué)習(xí)的預(yù)測模型能夠處理復(fù)雜的數(shù)據(jù)并進行高效準確的分類和預(yù)測分析,挖掘數(shù)據(jù)的內(nèi)在模式,從而實現(xiàn)對CVD的早期預(yù)測。目前,國內(nèi)外眾多研究人員關(guān)注將機器學(xué)習(xí)方法應(yīng)用于心血管疾病預(yù)測領(lǐng)域。國內(nèi)方面,楊曄等[3]通過采集和分析睡眠狀態(tài)下的HRV(心率變異性)數(shù)據(jù),利用機器學(xué)習(xí)算法構(gòu)建CVD預(yù)測模型,為CVD的早期預(yù)測提供了新的思路和方法;李文夢[4]通過機器學(xué)習(xí)算法對心肌梗死并發(fā)癥數(shù)據(jù)集進行建模和預(yù)測,提出了一種基于極端隨機樹、隨機森林( RF)和Lasso回歸的混合嵌入式特征選擇方法,以0.01作為閾值篩選出最終參與模型構(gòu)建的特征。國外方面,Jinjri等[5]比較了SVM、KNN、LR (邏輯回歸)、DT(決策樹)和NB(樸素貝葉斯)5種機器學(xué)習(xí)算法在心血管疾病分類中的性能,得出SVM是預(yù)測心血管疾病最有效方法的結(jié)論;Olatunde等[6]則對比了Adaboost算法和Bagging算法在心血管疾病預(yù)測中對機器學(xué)習(xí)模型進行集成的效果,結(jié)果表明Bagging算法具有更優(yōu)的集成效果。
本研究旨在利用機器學(xué)習(xí)模型預(yù)測心血管疾病,采用SVM、CART、KNN 3種機器學(xué)習(xí)算法,并結(jié)合Bagging集成方法,以提高模型的性能和魯棒性,為心血管疾病的預(yù)測和預(yù)防提供依據(jù)。將本文方法應(yīng)用于智能床墊等智能家居設(shè)備上,能夠健康管理技術(shù)的創(chuàng)新,標志著健康管理系統(tǒng)的智能化升級,使其在智能家居健康設(shè)備領(lǐng)域得到更廣泛的應(yīng)用。
1 算法原理
1.1 Bagging算法
Bagging(Bootstrap Aggregating)算法是一種集成學(xué)習(xí)方法,最初由Leo Breiman于1994年提出。該算法通過以下步驟提高模型的穩(wěn)定性和預(yù)測準確性:①對原始數(shù)據(jù)集進行多次重采樣,生成多個子數(shù)據(jù)集。②針對每個重采樣得到的數(shù)據(jù)集分別訓(xùn)練一個基學(xué)習(xí)器模型,從而得到多個子模型。③集成這些子模型的預(yù)測結(jié)果[7]。對于分類任務(wù),采用以下公式對所有子模型的預(yù)測結(jié)果進行多數(shù)投票:
對于回歸任務(wù),通過以下公式對所有子模型的預(yù)測值進行平均:
1.2 支持向量機
SVM(Support Vector Machine)是一種經(jīng)典的監(jiān)督學(xué)習(xí)算法,其基本原理在于尋找一個超平面,以最大化不同類別的樣本點之間的間隔,從而實現(xiàn)分類。SVM通過以下公式尋找最優(yōu)超平面:
其中:[ω]為定義超平面方向的權(quán)重向量,它決定了超平面的朝向;[b]為超平面的偏置(或截距),用于確定超平面在特征空間中的位置。
SVM的約束條件為
其中:[ω?xi+b]是分類超平面,用于最大化分類間隔的約束,確保樣本點被正確分類。SVM通過拉格朗日乘子法或序列最小優(yōu)化(SMO)等算法求解優(yōu)化問題,從而得到最優(yōu)[ω]和[b]。對于新樣本[x],SVM根據(jù)其相對于超平面的距離進行分類:
1.3 CART決策樹
CART(Classification and Regression Tree)是決策樹算法的一種具體實現(xiàn),由Breiman等人于1984年提出。CART算法采用基尼指數(shù)(Gini)作為選擇最佳劃分特征的準則,基尼指數(shù)的公式如下:
其中:[pi]表示第[i]類在數(shù)據(jù)集[D]中的概率,[C]為類別的數(shù)量。基尼指數(shù)越小,則數(shù)據(jù)集的純度越高。CART算法選擇基尼指數(shù)最小的特征作為當前節(jié)點的最優(yōu)劃分特征。
1.4 KNN算法
KNN(K-Nearest Neighbors)算法的基本原理如下:找到待分類樣本訓(xùn)練集中與其最近的K個樣本,從而確定該樣本的分類結(jié)果。首先,計算待分類樣本與訓(xùn)練集中各樣本的距離,常見的距離度量方法包括曼哈頓距離、歐式距離、閔可夫斯基距離等。其次,根據(jù)計算出的距離,選取離測試樣本最近的K個樣本作為“鄰居”。最后,對K個鄰居的標簽進行投票,將出現(xiàn)頻率最高的類別作為該待分類樣本的預(yù)測結(jié)果。
2 實驗方法
2.1 數(shù)據(jù)處理
本研究采用的研究數(shù)據(jù)來源于Kaggle平臺上的心血管疾病數(shù)據(jù)集,該數(shù)據(jù)集包含70 000個樣本,每個樣本具有11個特征(表1)以及1個指示心血管疾病存在與否的二元標簽。根據(jù)標簽,數(shù)據(jù)集被分為CVD組和非CVD組。由于數(shù)據(jù)集中正負樣本比例不均衡,可能會對分類器的性能產(chǎn)生嚴重影響[8]。為避免這一影響,對數(shù)據(jù)集進行隨機抽樣處理,確保CVD組和非CVD組各保留10 000個樣本。
2.2 模型構(gòu)建
將數(shù)據(jù)集的70%作為訓(xùn)練集,30%作為測試集。隨后,分別以SVM、CART、KNN算法為基礎(chǔ)構(gòu)建預(yù)測基模型。接著,對SVM、CART、KNN模型分別融合Bagging算法,以構(gòu)建改進的心血管預(yù)測模型,并對這些模型進行評估和對比。實驗流程圖見圖1。
2.3 性能指標
在醫(yī)學(xué)診斷領(lǐng)域,混淆矩陣是估計分類器性能最基本且直觀的方法。對于典型的二元分類問題,涉及“正類”和“負類”兩個類別,混淆矩陣包含“真陽性”(TP)、“假陰性”(FN)、“假陽性”(FP)和“真陰性”(TN)4個元素[9-10],其對應(yīng)關(guān)系見表2。本研究將CVD組定義為正類,非CVD組定義為負類。基于此計算了5個用于評估模型性能的指標:準確率(Accuracy)、靈敏度(Sensitivity)、特異性(Specificity)、精度(Precision)和F1分數(shù)(F1-score),指標計算公式如下:
3 結(jié)果與討論
以SVM、CART、KNN 3個機器學(xué)習(xí)模型作為基模型進行心血管病預(yù)測實驗,實驗結(jié)果見表3。
為提高模型性能及其泛化能力,將SVM、CART、KNN與Bagging算法相結(jié)合,得到BGSVM、BGCART、BGKNN 3個模型,結(jié)合Bagging算法的模型效果對比結(jié)果見表4;基模型與結(jié)合Bagging算法后的模型效果對比圖分別見圖2至圖4。
根據(jù)實驗結(jié)果可知,SVM、CART、KNN 3種算法中,SVM模型在Accuracy、Sensitivity、Specigicity等指標上均優(yōu)于其他兩種算法,在心血管疾病預(yù)測任務(wù)中表現(xiàn)出較良好的性能。同時,結(jié)合Bagging算法后的3個模型的性能均有不同的程度的提升。
上述實驗結(jié)果表明,SVM模型能夠較出色地完成心血管預(yù)測任務(wù),對于復(fù)雜的數(shù)據(jù)集表現(xiàn)出較優(yōu)異的性能。通過引入Bagging算法,多個子集訓(xùn)練的CART模型能有效減少過擬合,從而顯著提升了性能。
4 智能床墊應(yīng)用
智能床墊配備了多種傳感器,能夠收集用戶的各項生理數(shù)據(jù)。這些數(shù)據(jù)通過物聯(lián)網(wǎng)技術(shù)傳輸至云端或本地設(shè)備,隨后由心血管疾病預(yù)測模型進行分析與預(yù)測,并輸出預(yù)測結(jié)果。一旦預(yù)測模型檢測到用戶心血管健康狀態(tài)存在異常,智能床墊將通過連接的移動應(yīng)用程序或物聯(lián)網(wǎng)設(shè)備向用戶或其家屬發(fā)送警報,提醒其關(guān)注潛在的健康風(fēng)險。搭載CVD預(yù)測模型的智能床墊框架圖見圖5。
5 結(jié)語
機器學(xué)習(xí)在疾病預(yù)測領(lǐng)域展現(xiàn)出強大的潛力和廣泛的應(yīng)用前景。借助多種機器學(xué)習(xí)算法,可以從復(fù)雜的健康數(shù)據(jù)中提取重要特征,識別潛在疾病風(fēng)險,為早期診斷和干預(yù)提供支持。本研究采用機器學(xué)習(xí)方法,運用SVM、CART、KNN算法構(gòu)建了CVD預(yù)測模型,并結(jié)合Bagging算法提升了模型預(yù)測效果,能夠輔助監(jiān)測CVD患病風(fēng)險。本研究將模型嵌入到智能床墊中,使CVD的早期篩查和干預(yù)更便捷和高效。從長遠角度看,基于Bagging集成模型的心血管疾病預(yù)測系統(tǒng),通過智能床墊這一載體,不僅實現(xiàn)了心血管疾病的早期風(fēng)險評估,還推動了數(shù)據(jù)驅(qū)動的健康管理模式的應(yīng)用,為疾病預(yù)防和健康促進提供了重要支持,標志著數(shù)據(jù)驅(qū)動健康管理模式的一次重要創(chuàng)新。未來,隨著數(shù)據(jù)采集技術(shù)、邊緣計算和工業(yè)自動化控制技術(shù)的不斷發(fā)展,智能家居產(chǎn)品將成為物聯(lián)網(wǎng)健康管理系統(tǒng)的核心節(jié)點,為用戶提供更精準、實時的健康反饋和個性化干預(yù),顯著提升智能家居在個人健康領(lǐng)域的價值和影響力。
6 參考文獻
[1]MURRAY C J L.World heart report 2023[J].Nature Medicine,2022,28(10):2019-2026.
[2]劉明波,何新葉,楊曉紅,等.《中國心血管健康與疾病報告2023》要點解讀[J].中國心血管雜志,2024,29(4):305-324.
[3]楊曄,燕雪雅,侯鳳貞,等.基于睡眠心率變異性的心血管疾病預(yù)測研究[J].生物醫(yī)學(xué)工程學(xué)雜志,2021,38(2):249-256.
[4]李文夢.基于機器學(xué)習(xí)的心肌梗塞并發(fā)癥預(yù)測[D].武漢:華中科技大學(xué),2022.
[5]JINJRI W M,KEIKHOSROKIANI P,ABDULLAH N L.Machine learning algorithms for the classification of cardiovascular disease-a comparative study[C]//2021 International Conference on Information Technology(ICIT),Amman,Jordan:IEEE,2021:132-138.
[6]OLATUNDE Y,OMOTOSHO L,AKANBI C.Comparison of adaboost and bagging ensemble method for prediction of heart disease[J].Heart,2019,50:17.
[7]車翔玖,于英杰,劉全樂.增強Bagging集成學(xué)習(xí)及多目標檢測算法[J].吉林大學(xué)學(xué)報(工學(xué)版),2022,52(12):2916-2923.
[8]CHAWLA N V,JAPKOWICZ N,KOTCZ A.Editorial:special issue on learning from imbalanced data sets[J].ACM SIGKDD Explorations Newsletter,2004,6(1):1-6.
[9]SOKOLOVA M,LAPALME G.A systematic analysis of performance" measures" "for" "classification tasks[J].Information Processing amp; Management,2009,45(4):427-437.
[10]LUQUE A,CARRASCO A,MARTíN A,et al.The impact of class imbalance in classification performance metrics based on the binary confusion matrix[J].Pattern Recognition,2019,91:216-231.