周慧婕,陳小惠,于舒洋,張桂珍,張芳敬
(南京郵電大學 自動化學院、人工智能學院,江蘇 南京 210023)
血壓是人體健康的重要指標之一,血壓異常會給人體帶來嚴重傷害[1-2]。近年來,隨著人們生活節(jié)奏的加快,飲食結構不合理、作息不規(guī)律等不良現(xiàn)象日益嚴重,使得心血管疾病、高血壓等血壓相關性疾病越來越普遍。因此高精度的血壓連續(xù)性測量具有重要意義[3]。
連續(xù)性無創(chuàng)血壓檢測方法主要為光電法,其主要通過人體光電容積脈搏波(PPG)、心電信號(ECG)和血管內(nèi)腔彈性模型之間的關系建立模型,實現(xiàn)血壓測量[4]。文獻[5-6]均使用該方法,雖然操作簡單,便于反復測量,但是由于人體特征差異,僅憑一個擬合模型無法滿足所有的人群,因此該方法的測量精度并不高。近幾年機器學習方法在諸多領域取得理想的效果,一些學者將機器學習方法應用于醫(yī)療領域[7-9]。Wu T H等人[10-11]運用BP神經(jīng)網(wǎng)絡方法和徑向基函數(shù)方法構建血壓預測模型,該模型易于實現(xiàn),但時間復雜度較低,泛化能力較弱;吳丹[12]運用深度神經(jīng)網(wǎng)絡,結合人體生理特征建立預測模型,該方法預測結果明顯優(yōu)于BP神經(jīng)網(wǎng)絡方法,但其運行速度較慢,不適合實時監(jiān)測。
針對這些問題,該文提出一種基于脈搏波傳遞時間改進的無創(chuàng)血壓檢測方法進行血壓預測,強化了模型通用性,提高了血壓測量精度。首先通過已有的優(yōu)質(zhì)生理信號求得PWTT,再將測試人員按每隔5歲的年齡段進行分段擬合,獲得各個年齡層的初步血壓擬合模型,求得初步血壓值,這里稱作一級血壓值。然后將一級血壓值和人體特征(年齡、身高、體重、體脂率、心率等)作為預測模型的輸入?yún)?shù),將其導入訓練好的基于粒子群優(yōu)化的極限學習(PSO-ELM)中,進而獲得血壓預測值,這里稱作二級血壓。二級血壓即為最終的血壓預測值。該方法通過分段擬合與機器學習相結合的方法,實現(xiàn)了血壓快速的連續(xù)實時檢測,也降低了因個體差異對血壓測量精度的影響。
脈搏波傳遞時間是指脈搏波在兩個動脈部位之間傳播的時間間隔[13]。當血壓升高時,血管壁收縮,使得脈搏波傳遞速度加快,PWTT減小;相反,當血壓降低時,血管擴張,脈搏波傳遞速度降低,PWTT增加。因此,脈搏波傳遞時間與血壓有著密切的聯(lián)系,是求解血壓的重要參數(shù)。該文利用光電容積脈搏波與心電信號求解PWTT。把同一時段心動周期的ECG信號的R波波峰作為PWTT起點,脈搏波的主波波峰作為PWTT的終點。為了提高模型的普遍性,利用連續(xù)三個周期的同時段的PPG與ECG信號,以第一個ECG信號的R波波峰作為起點,第三個周期的PPG的主波波峰作為終點,此間間隔記為SPTT,求平均作為最終的PTT。PWTT計算示意圖如圖1所示。
圖1 PWTT計算示意圖
PWTT的計算公式為:
(1)
極限學習機(Extreme Learning Machine,ELM)是Huang G B[14]等在研究單隱層前饋神經(jīng)網(wǎng)絡的基礎上提出的。單隱藏層神經(jīng)網(wǎng)絡結構是指三層的網(wǎng)絡:輸入層、隱藏層和輸出層。該算法隨機產(chǎn)生輸入層與隱含層間的連接權值a及隱含層神經(jīng)元的偏置閾值b,且在訓練過程中無需調(diào)整,只需要設置隱含層神經(jīng)元的個數(shù),便可以獲得唯一的最優(yōu)解。該網(wǎng)絡的訓練最終可轉化成求解輸出權值矩陣β的最小二乘解的問題。故極限學習機具有學習速度快且泛化性能良好的特點。
由于極限學習的輸入權值矩陣a、偏置閾值b是隨機給出的,隨機性就導致了模型的逼近能力的不確定性,進而對血壓的預測精度存在較大的影響。
粒子群優(yōu)化算法(PSO)[15]是研究人員根據(jù)鳥類捕食的過程中被發(fā)現(xiàn)的鳥類群體及個體的運動規(guī)律提出的優(yōu)化算法。算法是由一組隨機解進行初始化的,并且每個潛在的解都分配一個隨機的速度,將這些潛在的解稱為粒子,讓這些粒子“飛行”在整個優(yōu)化問題過程中。執(zhí)行PSO算法,首先初始化隨機粒子,然后根據(jù)群體極值和個體極值來完成自身的迭代更新,最終尋得最優(yōu)值。帶有慣性權重因子的標準粒子群優(yōu)化算法的具體更新公式為:
c2r2(pgk-xik)
(2)
(3)
(4)
(5)
針對極限學習算法的不足,以及粒子群優(yōu)化算法的特點,該文將極限學習中的輸入權值矩陣a、偏置閾值b作為粒子群算法的粒子進行優(yōu)化,建立PSO-ELM血壓預測回歸模型,根據(jù)適應度函數(shù),通過對粒子不斷迭代更新,獲得全局最優(yōu)解,進而完成高精度血壓模型的建立。
該文利用自主采集到的一千多組來自16~75歲人員的PPG信號與ECG信號,求取PWTT。此外,血壓也不是一定只與PWTT有關。體重作為人體的另一個重要參數(shù),經(jīng)研究表明體重的變化對血壓有影響[16]。因此,該文采取每隔5歲,結合PWTT與體重(weight)分別進行多元回歸擬合血壓模型。其計算公式為:
p=u×PWTT+v×weight+w
(6)
式中,u、v、w均為常數(shù),p為血壓值。
由于極限學習的輸入權值矩陣a、偏置閾值b是隨機給出的,進而導致了模型預測的不穩(wěn)定性,進而對血壓的預測精度存在較大的影響。所以利用粒子群算法對其輸入權值矩陣a與隱藏層偏置b進行優(yōu)化處理。該算法的具體步驟為:
第一步:確定極限學習網(wǎng)絡隱藏層神經(jīng)元的節(jié)點數(shù)(由前文知預測收縮壓時設為25,預測舒張壓時設為30);并由系統(tǒng)隨機生成輸入層的權值矩陣a、偏置閾值b,并由當前的這組權值矩陣a和偏置閾值b計算出輸出權值β。
第二步:由權值矩陣與偏置閾值的取值范圍,隨機生成M個粒子構成種群,并規(guī)定加速度因子的初始值為c1=c2=2;最大迭代次數(shù)設為100。
第三步:慣性因子的選擇。
(7)
(8)
式中,ωmax為慣性因子ω的最大值,ωmin為慣性因子ω的最小值,t為當前所處的迭代次數(shù),tmax為最大迭代次數(shù),文中tmax=100。從公式(7)和(8)可以看出,慣性因子ω和迭代次數(shù)成負相關,并且慣性因子是迭代次數(shù)的二次函數(shù)。初始迭代時,ω減小緩慢,具有較強的局部搜索能力;在接近最大迭代次數(shù)時,ω減小速度加快,在尋找到局部最優(yōu)解后能夠快速收斂于全局最優(yōu)解。
第四步:確定適應度函數(shù)。適應度函數(shù)是粒子更新趨勢的重要參考依據(jù)。該文將均方根誤差(RMSE)設定為適應度函數(shù),其公式為:
(9)
第五步:求解粒子群的全局適應度值。比較當下的最優(yōu)局部適應度與上代的全局最優(yōu)適應度。若比上一代的全局最優(yōu)適應度差,則保留上一代的全局適應度;若當前局部適應度優(yōu)于上代全局最優(yōu)適應度,則根據(jù)當前的全局最優(yōu)解更新為全局最優(yōu)適應度,并由此適應度更新粒子的速度與位置,并進入下一次迭代,直到達到終止條件,即可獲得最優(yōu)的權值矩陣和偏置閾值。
第六步:將最優(yōu)的權值矩陣和偏置閾值代入ELM模型。利用劃分好的訓練樣本數(shù)據(jù)訓練PSO-ELM模型,并用測試樣本數(shù)據(jù)檢驗當前模型計算出當前的血壓預測值,判斷是否滿足精度要求,若滿足,則當前的模型即為最佳的PSO-ELM模型,則結束訓練;若不滿足,則返回到第二步,直到滿足條件為止。建立PSO-ELM模型后,分別采用平均相對誤差(MAE)、決定系數(shù)(R2)、準確度(AR)等指標評價該模型預測能力。并將文獻[17-18]中提出的支持向量機與隨機森林血壓預測模型與PSO優(yōu)化的ELM算法的血壓預測模型進行實驗對比。
工作流程如圖2所示。
圖2 基于粒子群優(yōu)化極限學習機的血壓預測模型流程
本次實驗的數(shù)據(jù)來自本團隊采集建立的數(shù)據(jù)庫(http://dataset.kangdollar.com/)。實驗數(shù)據(jù)隨機抽取1 100組。取1 000組作為建立血壓模型的訓練數(shù)據(jù)集,剩余100組作為最終血壓模型的測試集。且這兩個數(shù)據(jù)集均包含了16歲到75歲的人群的數(shù)據(jù),數(shù)據(jù)分布如圖3所示;此外訓練數(shù)據(jù)集中男性樣本為503人,女性為497人,測試集中男性樣本為52人,女性樣本為48人;且血壓值的分布范圍為收縮壓:98~175 mmHg,舒張壓:47~108 mmHg。基本上覆蓋大部分人群,使預測模型具有較強的泛化能力。
圖3 數(shù)據(jù)集年齡分布
將100組測試集數(shù)據(jù)導入訓練好的模型,通過繪制血壓預測值對比圖,對三種模型的擬合性能進行驗證。對比結果如圖4所示。其中Ps為收縮壓的標記,Pd為舒張壓的標記,PSO-ELM為文中提出的方法,將同一時刻的水銀血壓計測得值標記為True,支持向量機回歸模型的血壓預測值標記為SVR,隨機森林回歸模型的血壓預測值標記為RF。
(a)收縮壓預測結果對比
從圖4中可以清晰地看出,與支持向量機模型和隨機森林回歸模型相比擬合效果更好,對收縮壓和舒張壓的預測結果更接近于真實測量值。
為了進一步對實驗結果進行分析,給出誤差分析(見圖5、圖6),其中誤差帶大小依據(jù)AAMI制定的為±5 mmHg。
圖5 收縮壓誤差分析
圖6 舒張壓誤差分析
從圖5、圖6可以看出,該文提出的PSO-ELM血壓優(yōu)化算法的預測效果要優(yōu)于隨機森林的血壓預測方法,而基于支持向量機的血壓預測效果表現(xiàn)的略差一些。
為衡量兩種預測模型的性能,分別從訓練時間、平均絕對誤差(MAE)、決定系數(shù)R2以及準確率AR對收縮壓(Ps)和舒張壓(Pd)進行對比。其計算公式如下:
(10)
(11)
(12)
通過對實驗結果的分析,獲得如表1所示的相關評價指標的數(shù)據(jù)信息。
表1 模型各項評價指標結果對比
從表1可以看出,對于提出的PSO-ELM模型的R2分別為0.944 2和0.924 7,更接近于1,MAE均為三個模型中最小,且訓練用時少于其他兩種方法;對于SVM模型,其運行速度較快,但是其平均絕對誤差略大于5 mmHg;對于RF模型,其預測精度較高,平均絕對誤差滿足小于5 mmHg的要求,但是算法的運行速度較慢。因此,與SVM和RF模型相比,PSO-ELM模型不僅訓練速度快,而且預測精度高。
為了檢驗提出的利用PSO-ELM預測血壓方法的可行性,運用Bland-Altman分析法[19],對該文提出的方法與水銀計測量的血壓值進行一致性分析檢驗。從數(shù)據(jù)集中重新挑選60組數(shù)據(jù)進行一致性分析,結果如圖7、圖8所示。其中Mean為該方法得到血壓差值的均值,SD是兩種方法得到血壓差值均值的標準差。
圖7 RF預測收縮壓Bland-Altman分析圖
圖8 RF預測舒張壓Bland-Altman分析圖
由圖7、圖8可以看出,通過對比基于PSO-ELM的血壓檢測方法得到的血壓值和用水銀計實測得到的血壓值,這兩種方法95%的差值位于Mean±1.96×SD一致性界限之間,且Mean值分別為-0.4與-0.5接近于0,所以基于PSO-ELM的血壓檢測方法與傳統(tǒng)的水銀血壓計測量法具有很好的一致性,即所提出的基于PSO-ELM的血壓檢測方法是可行的。
為降低個體特征差異對血壓預測模型的影響,增強模型的通用性,提高模型精度,該文將由生理信號與血管彈性腔模型之間的關系得出的一級血壓估計值,結合人體特征參數(shù)構建血壓影響因子,作為預測模型的輸入?yún)?shù),然后分別建立極限學習模型和粒子群優(yōu)化的極限學習機模型中的輸入權值以及隱層偏置實現(xiàn)了對模型的優(yōu)化與提升,進而提高血壓的預測精度。經(jīng)過大量的模型訓練和實驗對比得出,PSO-ELM模型的平均絕對誤差滿足小于5 mmHg的要求,并與水銀血壓計測量方法具有更高的一致性,明顯優(yōu)于同等條件下的支持向量機回歸模型。