劉慧博 孟慶剛 任 彥
(內蒙古科技大學信息工程學院 內蒙古 包頭 014010)
血泵對治療心衰有著重要作用。心臟泵在人體內容易受到各種各樣因素的影響,建立一種精度高的心臟泵轉速預測模型對心臟泵病人具有特別重要的意義。文獻[1]應用BP神經網絡和遺傳算法對血泵運行溫度進行預測。文獻[2]利用主動脈和左心室平均壓差值,利用模糊PI控制器和動態自適應滑模控制器實現對血泵轉速的控制。文獻[3]將心臟的Frank-strarling定律使用在血泵控制器策略設計中。文獻[4]通過神經網絡最小滑??刂频姆椒▽π呐K泵的速度進行控制。文獻[5]利用血泵得轉速與功率特性曲線來對流量壓力進行控制。文獻[6]利用非參數模型自適應控制策略理論將心率和血流輔助指數作為模型控制變量,轉速作為輸出的控制策略,可以讓心臟泵更好地適應體內的環境。文獻[7]利用人群搜索-SVM對心臟生理參數進行預測研究。上述各類方法不能很好地適應血泵在循環系統中運行環境復雜性,難以應對各種不同狀態,因此,本文提出了基于主成分分析的改進粒子群算法優化支持向量機建立預測模型的方法。
在人體中血泵與循環系統構成了一個復雜的控制系統,血泵與循環系統構成的控制框圖中,根據壓力反射系統反饋的動脈血壓,可計算循環系統的心率[8]。通過循環系統血流動力學特性得到主動脈血壓、動脈血壓、動脈血流量、靜脈血流量、左心室壓力容積、心率;然后對循環系統血流動力中心率、主動脈血壓、動脈血壓、動脈血流量、靜脈血流量、左心室壓力容積等七個因素進行主成分分析[9],將第一、第二、第三成分作為輸入,根據預測算法計算人工心臟泵的轉速期望值;心臟泵驅動器將轉速期望值作為控制輸入,通過調整血泵驅動電壓控制人工心臟泵轉速。人工心臟泵的控制框圖如圖1所示。

圖1 血泵與循環系統控制框圖
循環系統集中參數模型包含左心房、左心室、體循環等三部分。模型中利用電壓表示血壓;利用電流表示血流量;利用電阻代表血管阻力;利用電容表示血管順應性;利用電感表示血流慣性。簡化后的循環系統集中參數模型如圖2所示。圖中各元件代表意義如表1所示。

圖2 血泵與循環系統電路模型

表1 電路模型各元件代表意義
從系統電路模型中可以得到心率、左心室壓、主動脈血壓、動脈血壓、動脈血流量、靜脈血流量。
在血泵控制策略中,心率作為初始信號,直接反映心臟生理狀態,利用心率與心輸出量的函數關系、以及心輸出量與人工心臟泵轉速的函數關系,得到血泵轉速期望值,根據人體具體需要進行轉速調節,心率與轉速的關系如圖3所示。因此,心率是影響血泵轉速的一個重要因素。

圖3 心率與轉速關系圖
由于循環系統中,影響血泵控制器轉速期望值的過程參數較多,如果對得到的數據不加處理,直接將這些參數作為預測模型的輸入變量,勢必使得模型的輸入變量過多,影響模型的預測精度。由此利用主成分對其中參數進行降維處理,簡化預測難度,提高預測精度。
在血泵轉速預測中,循環系統中的多個因素存在著很多的共性,因此循環系統中血流動力學因素選取了心率、左心室壓、主動脈血壓、動脈血壓、動脈血流量、靜脈血流量、左心室壓力容積等七個因素,由于存在的參數太多,因此利用主成分分析法,降低模型輸入維數,分析出血流動力特性的第一、二、三主成分[10]。
設觀測到m維的數據樣本矩陣為:
(1)
Step1求出矩陣的特征向量。
Step2獲取相似系數矩陣:
(2)
式中:COV(X,Y)表示協方差;ρ表示相關系數。
Step3計算相關系數矩陣的特征值λi,特征向量為ei。
(3)
Step4求出主成分Yi。
Yi=e1X1+e2X2+…+emXi
(4)
式中:Yi表示第i個主成分。
Step5利用累計貢獻率大于85%得出主成分數量。
(5)
式中:L表示前m個主成分的累計貢獻率。
SVM預測建模過程可以描述為:給定訓練數據樣本集{(xi,yj),i=1,2,…,l},xi∈Rn且yi∈R,利用非線性的映射關系f在維度比較高的特征空間中建立線性回歸關系:
f(x)=wT·φ(x)+b
(6)
式中:w表示權向量;φ表示非映射;b表示偏向量。
通過按照結構風險化最小的原則,得出:
(7)

將問題轉化成解決凸問題的優化,在此過程中,構造拉格朗日函數,求解為:
(8)
式中:K(xi,xj)表示核函數。
對上式加入高斯核函數,防止出現的映射為非線性的。得到回歸函數關系式:
(9)

血泵在病人體內運行過程中,受到體內復雜環境的影響,轉速也會受到變化,當人的運動狀態發生改變時,需要對血泵轉速控制得更為精確,才能確?;颊叩恼I砘顒樱匝棉D速的控制系統具有實時動態性,能在短時間內根據數據的變化對模型進行及時的更新。
原始支持向量機模型長時間工作后,其實效性會慢慢降低。若利用以前所有的數據進行建模,會大大增加模型的時間,對模型的實時控制達不到預期的效果。在此引入優化算法對SVM進行優化,解決了上述問題。此方法主要是通過改進粒子群算法對當前模型的工作過程中的參數進行優化,與之前得到的數據進行對比,得到比較相近的數據,然后通過建模的方式,估算出系統的輸出。
2.4.1標準粒子群算法
粒子找到兩個極值后,通過下式不斷更新自身速度和位置[11]:
(10)
(11)

w=wmax-k(wmax-wmin)/Tmax
(12)
式中:wmax表示慣性權重最大值;wmin表示慣性權重最小值;k表示進化代數;Tmax表示設定的最大迭代次數。
2.4.2改進PSO算法
雖然標準PSO是基于調整慣性權重ω的自適應算法,能夠很快找出局部最優解,但其尋找全局最優解的能力較弱。為了改進標準PSO算法的不足,本文利用動態的加速常數作為PSO的一種新的參數自適應策略。這種改進是在基本算法的基礎上,實現c1和c2隨進化代數線性的改變,即:
(13)
式中:R1、R2、R3、R4表示初始設定的定值;t表示當前進行代數;Tmax表示最大進化代數[12]。
2.4.3改進PSO算法優化SVM
將改進PSO算法中的粒子維度空間與SVM連接權值建立映射關系。改進PSO-SVM算法是采用改進PSO算法優化SVM的c和g等n個參數,將訓練樣本的個體對應的SVM預測誤差作為個體的適應值,預測誤差作為個體適應度值函數:
(14)

算法結束時,能尋找到全局最優點。在上述步驟基礎上以最優點作為SVM初始值對網絡進行訓練,進而達到網絡的訓練目的。
2.4.4算法融合
改進PSO算法對SVM算法優化步驟如下:
(1) 初始化粒子維度D。PSO的粒子維度分量與SVM的連接值一一對應。
(2) 設置粒子的適應度函數,計算粒子的適應值。
(3) 利用改進的PSO算法優化SVM的c、g時等n個參數,并將優化后最優參數作為SVM的初始值,進行網絡訓練。
改進PSO算法優化SVM算法結構如圖4所示。

圖4 改進PSO算法優化支持向量機流程圖
血泵在循環系統正常運行時,須滿足人體在不同環境中對血泵期望轉速值的需求。選取某醫院病人血泵實際正常運行時的歷史數據,四種狀態休息、靜坐、走路、輕微運動的實際轉速,并得到所對應各個心室房壓、血壓、血流、心率等各個因素的60組歷史數據。
利用主成分分析對循環系統中血流動力學因素選取的七個因素進行降維處理,數據從循環系統所建立模型中獲取,數據處理后結果如表2所示。

表2 特征值的貢獻率和累計貢獻率
通過對表2中的數據進行分析,得出前三個成分的累計貢獻率達到了85.33%,已超過85%,因此選取前三個成分,對之前七個因素進行替換。前三個主成分的表達式如下:
Y1=0.39x1+0.35x2+0.37x3+0.37x4+
0.34x5+0.41x6+0.38x7
Y2=0.48x1+0.41x2-0.35x3+0.38x4-
0.43x5-0.20x6-0.28x7
Y3=-0.11x1-0.49x2-0.03x3+0.47x4-
0.50x5+0.07x6+0.50x7
式中:x1、x2、x3、x4、x5、x6、x7表示標準化后的心率、左心室壓、主動脈血壓、動脈血壓、動脈血流量、靜脈血流量、左心室壓力容積。
根據上式可以得到不同轉速各個主成分分析值。為了驗證不同轉速對應的各個參數特性,將所采集到的狀態數據進行驗證,符合循環系統要求。部分數據如表3所示。

表3 降維后部分樣本集
通過總成分分析和循環系統特性綜合分析,再結合表3的數據處理結果,將Y1、Y2、Y3三個因素作為預測模型的輸入。
通過血泵在循環系統中運行期間,改進PSO算法優化支持向量機模型綜合考慮到了工作過程中參數變化引起血泵期望轉速的波動,因此預測模型精度有很大程度的提升。
通過選取血泵在體內的四種不同的狀態,以及此時四種不同狀態血泵控制器的轉速期望值,將四種狀態的期望轉速設定為3 500 r/min、4 000 r/min、5 000 r/min、5 500 r/min進行仿真。
在模型預測中,將主成分分析的三個成分作為網絡的輸入,網絡的輸出量為血泵期望轉速,模型的網絡輸入為3維,輸出為1維,將前80%的數據作為預測模型的訓練數據,后20%的作為輸出數據。
在仿真中利用SVM模型類型s=4,核函數t=2,使用改進PSO算法優化支持向量機的懲罰參數c和核函數參數g時,以SVM模型樣本均方誤差作為目標函數,粒子群大小取為20,迭代次數k=160,c1=c2=2,慣性權重wmax=0.9,wmin=0.4,粒子速度最大值vmax=1,粒子速度最小值vmin=0.1。
利用MATLAB 2016a進行仿真,得到四種算法的收斂速度曲線如圖5所示。

圖5 算法的收斂曲線
從圖5可以看出,算法運行初期,在初解解的精度方面,改進PSO-SVM高于傳統SVM、PCA-SVM、PCA-PSO-SVM這三種預測模型。隨著算法迭代次數增加,改進PSO算法選擇策略顯現出全局和局部搜索能力的優勢,其收斂曲線下降速度加快,并最終收斂在最優解周圍,而SVM和傳統PSO-SVM算法收斂較慢,迭代次數完成時,會得到比較差的值。
應用改進PSO對SVM模型進行預測,在MATLAB 2016a平臺下,預測模型的預測結果對比如圖6所示。

圖6 血泵轉速期望值預測圖
由圖6可以看出,本文提出PCA-IPSO-SVM算法比傳統SVM、PCA-SVM和未改進的PSO-SVM預測值更接近血泵轉速期望值,擬合的程度更好,預測模型的精度更加準確。
為了進一步驗證本文提出預測模型的有效性和準確性,將本文改進PSO-SVM預測模型的結果與前人提出的傳統SVM模型、未改進PSO-SVM模型進行對比,實驗結果如表4所示。

表4 三種模型部分實驗結果對比
由表4可知,傳統SVM預測模型的估計差值在100以上,相對誤差較大;PCA-SVM與PCA-PSO-SVM模型的估計差值在100左右,相對誤差較傳統SVM模型有所降低,但仍在1%以上;PCA-IPSO-SVM模型的估計差值在50左右,相對誤差基本小于1%,其預測精度優于前三種模型。
綜上,改進PSO算法優化的PCA-SVM預測模型在理論上是可行的,能滿足心臟泵運行過程轉速精度要求。
本文提出了對血泵控制器期望轉速預測的新方法,首先利用主成分分析對數據進行處理,然后利用改進PSO算法優化SVM模型,得到SVM模型最優值,最后對其預測模型的有效性和準確性進行了驗證。實驗結果表明,采用主成分分析的改進PSO算法優化的SVM預測提高了預測精度,說明了本文提出的PCA-IPSO-SVM預測模型是有效的。