• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于KPCA-LightGBM 的心臟病預測研究

      2021-09-28 11:22:58張云華
      軟件導刊 2021年9期
      關鍵詞:結點梯度心臟病

      黃 嵩,張云華

      (浙江理工大學 信息學院,浙江杭州 310018)

      0 引言

      根據(jù)世界衛(wèi)生組織的報告,心臟病每年導致全球數(shù)百萬人死亡[1]。引發(fā)心臟病的因素有很多,如工作壓力過大和生活作息不規(guī)律等。中國作為世界人口第一大國,約有兩億多人患有不同程度的心臟?。?]。近年來,中國心臟病發(fā)病呈年輕化趨勢[3]。與此同時,我國地區(qū)經(jīng)濟發(fā)展不平衡,公共醫(yī)療資源也嚴重不足。在這樣的社會背景下,開發(fā)出一個能從病人的病歷信息中篩選出有效信息,并協(xié)助醫(yī)生作出心臟病診斷的算法具有非常高的現(xiàn)實價值[4]。

      在國外,早在1976 年,斯坦福大學的Wraith 等[5]就開發(fā)出了MYCIN 系統(tǒng),可以幫助醫(yī)生對患者進行診斷,但由于早期的計算機計算性能有限,MYCIN 系統(tǒng)的準確性有限,功能也比較匱乏。近年來,隨著機器學習的發(fā)展,可以通過計算機技術手段挖掘病人病歷中的信息,在病歷數(shù)據(jù)中找出疾病相關信息,并利用這些信息建立疾病預測模型[6]。苗立志等[7]使用支持向量機和隨機森林實現(xiàn)了對乳腺癌的風險分析和預測;苗豐順等[8]使用隨機森林和XG?Boost 實現(xiàn)了糖尿病的風險預測;趙穎旭等[9]使用LightGBM對老年癡呆住院費用進行預測;Amin 等[10]使用支持向量機完成了對心臟病的預測。

      本文基于已有研究,針對病歷數(shù)據(jù)維度高的問題,首先對病歷數(shù)據(jù)進行降維[11]。傳統(tǒng)的主成分分析(PCA)方法是假設數(shù)據(jù)集中各特征是線性無關的,主要通過計算方差尋找不同特征之間的線性組合。而在很多應用場景下,線性映射很難得到想要的結果,核主成分分析(KPCA)通過核函數(shù)的思想獲得了更好的特征提取性能。疾病診斷模型通常采用決策樹實現(xiàn),傳統(tǒng)的決策樹在高維稀疏的數(shù)據(jù)集上表現(xiàn)不佳,同時訓練過程中只能串行訓練,效率較低。針對該問題,本文采用LightGBM 算法,采用最優(yōu)的策略分裂決策樹的葉子結點,因此獲得更高的精度[12]。

      1 核主成分分析(KPCA)

      主成分分析(PCA)是使用線性映射將數(shù)據(jù)進行降維,但是通常情況下高維到低維是非線性的,結果往往不盡人意。核主成分分析(KPCA)將原始數(shù)據(jù)通過選擇適當?shù)暮撕瘮?shù)(Kernel)映射到高緯度空間,再利用高維度空間進行線性降維,因此KPCA 的核心就是核函數(shù)[13]。

      1.1 核函數(shù)

      通過使用核函數(shù),可以在低維度直接計算內(nèi)積,避免將數(shù)據(jù)映射到高維后進行復雜計算[14]。即:

      其中,x和y為低維的輸入向量,φ是低維到高維的映射,是x和y的內(nèi)積。常用核函數(shù)如下:

      (1)線性核。只需在兩個向量求內(nèi)積上加個常數(shù),只能解決線性可分問題:

      (2)多項式核。相比于線性核多了指數(shù)d,因此可以處理非線性問題,要求a大于0,c大于0,適合所有訓練數(shù)據(jù)歸一化問題:

      (3)高斯核。高斯核是沿徑向對稱的標量函數(shù):

      (4)指數(shù)核。與高斯核類似,將L2 范數(shù)變成L1。

      (5)拉普拉斯核。拉普拉斯核完全等價于指數(shù)核,但對敏感性降低。

      1.2 KPCA 原理

      假設原始數(shù)據(jù)是如下矩陣X(數(shù)據(jù)每一列為一個樣本,每個樣本有m個屬性,一共有n個樣本)。

      每個樣本通過函數(shù)φ映射到高維空間,得到高維空間的數(shù)據(jù)矩陣φ(X)=φ(x(1))φ(x(2)) …φ(x(n)),x(i)是一個列向量。

      用同樣的方法計算高維空間中數(shù)據(jù)的協(xié)方差矩陣φ(x)φ(x)T,進一步計算特征值與特征向量(wi是特征值λi對應的特征向量):

      根據(jù)維數(shù)的定義,空間中的所有樣本可以線性表示出空間中的任一向量,因此可用所有樣本表示特征向量:

      將這個線性組合代回到特征向量公式,替換特征向量,得到:

      等式兩邊同時左乘φ(XT),得到:

      令K=φ(XT)φ(X),原式變?yōu)椋?/p>

      φ(XT)φ(X)是如下矩陣,xi是一個列向量:

      根據(jù)核函數(shù)的性質,上述核矩陣K可以直接在低維空間計算得到:

      由于K是n維對稱矩陣,所得解向量之間肯定是正交的,且最高可以達到n維。

      2 LightGBM

      LightGBM 是微軟在2017 年開源的梯度提升框架[15]。經(jīng)典的梯度提升決策樹(GBDT)不能以小批次的形式訓練模型,若需要提高訓練速度,就需要將數(shù)據(jù)全部加載在內(nèi)存中,但數(shù)據(jù)會受限于內(nèi)存大小。LightGBM 通過基于梯度的單邊采樣(GOSS)、互斥特征捆綁(EFB)和Leaf-wise 的決策樹生長策略,在單個機器不影響速度的情況下,盡可能多地提高訓練效率,同時在多機并行時,盡可能降低通信代價[16]。

      2.1 基于梯度的單邊采樣(GOSS)

      傳統(tǒng)的梯度提升決策樹中,由于梯度大的樣本對信息增益有更大影響,為了使上一次錯分的樣本點的權重增大[17],一般會直接拋棄梯度小的樣本點,但這樣會帶來改變數(shù)據(jù)分布和損失模型精度等問題。LightGBM 通過基于梯度的單邊采樣(GOSS)則可以避免這兩個問題發(fā)生,核心思想是對要進行分裂的特征的所有取值按照絕對值大小降序排序,然后重點關注訓練不足的樣本,而不會過多改變原數(shù)據(jù)集分布,具體算法如圖1 所示。

      2.2 互斥特征捆綁(EFB)

      在實際應用中,高緯度的數(shù)據(jù)往往都是稀疏數(shù)據(jù)[18],并且許多特征往往都是互斥的。LightGBM 利用此特點,將某些特征的值重新編碼,將多個特征捆綁成同一個特征,如圖2 所示。

      Fig.1 Description of the gradient-based one-sided sampling algorithm圖1 基于梯度的單邊采樣算法描述

      Fig.2 Description of the mutually exclusive feature bundling algorithm圖2 互斥特征捆綁算法描述

      在合并特征時,為了保證合并后在同一個bundle 里幾個特征的原始特征值可以被識別出來,LightGBM 通過在特征值中加一個偏置常量來解決。如一個bundle 中有兩個特征A、B,A 的取值范圍為0~x,B 的取值范圍為0~y,則可以在B 的取值范圍上加一個偏置常量x,變?yōu)閤~x+y,綁定后的bundle 取值范圍為0~x+y,這樣既可以將多個特征綁定在一個bundle 內(nèi),又可以有效地相互區(qū)分。

      2.3 Leaf-wise 決策樹生長策略

      傳統(tǒng)的梯度提升決策樹如圖3 所示,每一次分裂同一層的所有葉子,相當于對根結點進行廣度優(yōu)先遍歷,這樣會消耗大量時間和資源。

      Fig.3 Traditional strategy growth tree圖3 傳統(tǒng)策略生長樹

      Leaf-wise 策略生長樹如圖4 所示,在每一層葉子結點分裂時,首先會找到最有訓練價值的葉子結點,然后對其他葉子結點進行剪枝,這樣在與傳統(tǒng)策略生長樹相同樹高的情況下,消耗了更少的資源,同時能獲得更高的精度。

      Leaf-wise 在分裂時的增益公式為:

      其中,gi代表損失函數(shù)關于第i個樣本前T-1 輪擬合結果的負梯度,也即當前第T輪要擬合的目標值。

      Fig.4 Leaf-wise strategy growth tree圖4 Leaf-wise 策略生長樹

      對于當前結點而言,定義當前結點上樣本集合為O,期望遍歷所有候選特征及候選分裂點,找到一個特征j和對應的分裂點d,使得分裂當前結點后左右子結點上的樣本總體方差更小,也即使得分裂之前結點的均方誤差與分裂以后左右孩子結點的樣本均方誤差之和的差值最大。

      由于當前結點的均方誤差對于當前結點分裂增益的計算是常量,因為:

      則可以將式(16)化簡為:

      式(18)的第一項是常數(shù),又因為:

      可以推出增益公式就是最大化左右葉子結點樣本負梯度和的平方。

      3 預測模型

      本文所提出的KPCA-LighGBM 模型框架如圖5 所示,首先對數(shù)據(jù)進行預處理,然后劃分數(shù)據(jù)集,使用KPCA 算法對數(shù)據(jù)集進行降維后,使用降維以后的數(shù)據(jù)集訓練LightG?BM 模型,最后使用訓練好的LightGBM 模型預測結果,并通過與其他經(jīng)典算法比較來評估KPCA-LighGBM 模型。

      Fig.5 KPCA-LightGBM based prediction model圖5 基于KPCA-LightGBM 的預測模型

      (1)UCI 數(shù)據(jù)集。本文使用的數(shù)據(jù)集使用UCI 數(shù)據(jù)庫中收集的克利夫蘭心臟病數(shù)據(jù)集,這是機器學習研究人員在進行心臟病預測時常用的數(shù)據(jù)集[19]。數(shù)據(jù)集包含303 條記錄,6 條記錄有缺失值,將其從數(shù)據(jù)集中刪除,共297 條有效數(shù)據(jù)。其中,137 份記錄存在心臟病,160 條記錄不存在心臟病數(shù)據(jù)集的具體字段如表1 所示。

      Table 1 UCI cardiology dataset details表1 UCI 心臟病數(shù)據(jù)集詳細信息

      (2)數(shù)據(jù)預處理。數(shù)據(jù)預處理主要是將數(shù)據(jù)集轉換成算法模型可以識別的數(shù)據(jù)[20]。UCI 數(shù)據(jù)集的大部分數(shù)據(jù)是文字,可以將其轉化為數(shù)字以提高模型訓練效率。數(shù)據(jù)集的數(shù)據(jù)有二值類的數(shù)據(jù)和多值類的數(shù)據(jù)。二值類的數(shù)據(jù)如status 字段,將buff 設置為1,sick 設置為0,其他二值類的字段以此類推。而多值類的數(shù)據(jù)如cp 字段,將typical、atyp?ical、non-anginal、asymptomatic 分別設置為0、1、2、3。其他多值類的字段也按此邏輯處理。

      (3)數(shù)據(jù)集劃分。本文采用交叉驗證方式,將數(shù)據(jù)集進行切分,組合成不同的訓練集和測試集[21]。多次重復該舉動,可以得到多組不同的訓練集合測試集,某次訓練中的測試集可能成為另一次訓練中的訓練集。

      (4)KPCA 降維。原始數(shù)據(jù)集中影響心臟病結果的特征值有13 個,然而并非所有特征值都與心臟病預測結果關聯(lián)性很強,本文采用核主成分分析(KPCA)降維,通過屬性合并創(chuàng)建新的屬性,或者是刪除相關性不高的屬性,以提取最有價值的特征,降低運算成本。

      (5)LightGBM 模型訓練。將KPCA 降維過的訓練集輸入LightGBM 模型中進行訓練,得到訓練好的KPCA-Light?GBM 模型。

      (6)結果預測。使用訓練好的KPCA-LightGBM 模型對測試集進行檢驗,通過準確率、敏感度、精確度、特異度等指標對模型訓練效果進行評估,并將結果與樸素貝葉斯、邏輯回歸、隨機森林、梯度提升樹等經(jīng)典分類算法作比較。

      4 實驗及分析

      4.1 實驗環(huán)境

      實驗硬件環(huán)境為:處理器為intel CORE i5-7400 CPU,NVIDIA GTX1050 4GD5 GPU,16G 內(nèi)存,Windows10 64 位系統(tǒng)。實驗軟件環(huán)境為:Python 3.6.8 版本,PyCharm Profes?sional 2020.2 集成開發(fā)環(huán)境。

      4.2 評價指標

      根據(jù)數(shù)據(jù)集實際患病情況和KPCA-LightGBM 模型所預測出的患病情況,可將預測結果分為4 種:True Positive(以下簡稱TP)、True Negative(以下簡稱TN)、False Positive(以下簡稱FP)、False Negative(以下簡稱FN)。評價模型性能通常是比較以下屬性:

      準確率為模型總體判斷準確率,如式(20)。

      敏感度為在所有真實結果為正的數(shù)據(jù)中,預測出正值的比例,如式(21)。

      精確度為正向預測中預測出正值的比例,如式(22)。

      特異度為在所有真實結果為負的數(shù)據(jù)中,預測出負值的比例,如式(23)。

      4.3 實驗結果

      本文將KPCA-LightGBM 模型和經(jīng)典算法進行比較如表2 所示。與樸素貝葉斯、邏輯回歸、隨機森林、梯度提升樹這些經(jīng)典分類算法相比,本文提出的KPCA-LightGBM 模型準確率(Accuracy)達90.1%,較傳統(tǒng)方法均有所提升。雖然在敏感度(Sensitivity)方面表現(xiàn)一般,但其在精確度(Pre?cision)方面與梯度提升樹并列最好。同時,在特異度方面(Specificity),KPCA-LightGBM 模型達92%,顯著領先于其他算法。特異度在醫(yī)療領域是一個非常重要的指標,如果該指標偏低,雖然不會引起漏診情況,但是會大大增加醫(yī)生負擔和造成患者不必要的麻煩,同時還會造成目前緊張公共醫(yī)療資源的浪費。因此,綜合各指標可以得出結論,KPCA-LightGBM 比其他算法預測效果更好。

      Table 2 Results from different models表2 不同模型的結果 (%)

      5 結語

      針對目前心臟病的高發(fā)病率,本文提出了一個KPCALightGBM 模型,用于幫助醫(yī)生進行心臟病預診。首先通過數(shù)據(jù)預處理從病歷中提取信息,然后使用核主成分分析進行數(shù)據(jù)降維,再使用LightGBM 算法進行心臟病預測。實驗表明,本文提出的KPCA-LightGBM 對心臟病預測的準確率優(yōu)于經(jīng)典算法;同時,KPCA-LightGBM 對特異度方面的性能明顯優(yōu)于其他算法,這可以避免對健康病人的誤診,減少患者負擔,提高醫(yī)生檢查效率,從而緩解目前醫(yī)療資源不充足和發(fā)展不平衡問題。

      本文提出的KPCA-LightGBM 模型目前僅用于心臟病預測,在后續(xù)研究中,可以通過增加數(shù)據(jù)集和優(yōu)化模型結構的方法,進一步提高模型準確率,并讓該算法可以預測更多疾病。

      猜你喜歡
      結點梯度心臟病
      “心慌”一定是心臟病嗎?
      中老年保健(2022年2期)2022-08-24 03:20:52
      中醫(yī)新解心臟病
      中老年保健(2022年5期)2022-08-24 02:35:08
      一個改進的WYL型三項共軛梯度法
      一種自適應Dai-Liao共軛梯度法
      一類扭積形式的梯度近Ricci孤立子
      Ladyzhenskaya流體力學方程組的確定模與確定結點個數(shù)估計
      我做了七八次產(chǎn)檢都正常 孩子怎么有心臟病?
      媽媽寶寶(2017年4期)2017-02-25 07:01:20
      Smog in Los Angeles
      中學科技(2014年12期)2015-01-06 05:48:39
      地溫梯度判定地熱異常的探討
      河南科技(2014年3期)2014-02-27 14:05:45
      基于Raspberry PI為結點的天氣云測量網(wǎng)絡實現(xiàn)
      荆州市| 汶川县| 安义县| 蕲春县| 永福县| 铁力市| 八宿县| 满城县| 宜昌市| 永宁县| 平塘县| 林芝县| 巴彦淖尔市| 肇庆市| 新和县| 沁水县| 东乡县| 惠来县| 吉隆县| 镇安县| 区。| 图木舒克市| 滕州市| 平塘县| 衡阳县| 浦县| 天全县| 柘城县| 焦作市| 蓬莱市| 城口县| 垦利县| 舟山市| 顺平县| 西乡县| 衡南县| 奉新县| 兴城市| 游戏| 乐都县| 桃江县|