熱對流聚合酶連鎖反應(CCPCR)利用熱對流的原理,讓試劑在試管內流動,通過試管上下部分的溫度差來達到擴增目的。為了實時檢測擴增效果,我們在試劑體系中加入了熒光基團,通過熒光的強弱實時反映擴增的情況。實驗結果顯示熒光變化曲線符合擴增曲線的 S 型趨勢,但是由于熱對流的不穩定性而存在一定的抖動情況,不利于擴增循環閾值(CT 值)的計算。為了解決這個問題,本文采用動力學方法,利用雙 S 型函數模型來擬合曲線,使熒光曲線平滑,從而能更好地根據曲線來推斷核酸初始濃度,達到定量的目的。同時采用 PSO+算法求解雙 S 型函數參數,即用粒子群優化(PSO)算法結合 Levenberg-Marquardt、Newton-CG 等算法進行曲線擬合,有效克服 PSO 隨機性太強和傳統算法 Levenberg-Marquardt、Newton-CG 等容易陷入局部最優解的缺點,數據擬合結果的 R2 能夠達到 0.999 8。此研究對以后的實時熒光熱對流擴增的定量檢測研究有指導性意義。
引用本文: 付達, 陳友兵, 卓之豪, 閔小平, 王海, 葛勝祥, 張師音, 王進. PSO+: 基于粒子群結合其他迭代算法非線性擬合熱對流聚合酶連鎖反應的熒光數據. 生物醫學工程學雜志, 2019, 36(3): 414-420. doi: 10.7507/1001-5515.201708035 復制
引 言
傳統聚合酶連鎖反應(polymerase chain reaction,PCR)技術是一種用于放大擴增特定的 DNA 片段的分子生物學技術,能在 2~3 h 內將微量的 DNA 擴增放大幾百萬倍,因此在生物醫學領域有著廣泛而重要的用途。但是由于傳統 PCR 需要在擴增過程中反復升降溫度,導致擴增時間非常長,而且機臺比較龐大,操作較為不便[1-3]。熱對流 PCR 技術(capillary convective PCR,CCPCR)是一種基于熱傳導和熱對流原理的新型體外核酸擴增技術,讓液體試劑在不同溫度區發生熱對流的過程中完成 PCR 的變性、退火及延伸反應,不僅擺脫了傳統 PCR 技術依賴反復升降溫、設備笨重、耗時耗能等缺陷,而且無需復雜的溫控驅動系統、等溫擴增技術復雜的酶系統以及嚴格的引物設計。因此,對流 PCR 技術得到了眾多科研人員的重視,成為 PCR 領域的一個研究重點[4-6]。
為了實時檢測擴增情況,我們在 CCPCR 試劑體系中加入了熒光基團,并采用電荷耦合原件(charge coupled device,CCD)相機拍攝擴增過程中的熒光強度的變化,再通過圖像分析軟件得到熒光強度變化曲線,求出擴增的循環閾值(cycle threshold,CT 值)[7-9]。然而由于試劑管內液體的熱對流受溫度、試劑管形狀和表面特性、重力、粘滯力等各種因素的影響,會導致試劑管內液體環流紊亂,從而影響擴增和熒光檢測結果的穩定性。因此,實驗結果中會出現熒光曲線數據抖動的情況,這樣就很難直接通過手工設置閾值線來求解 CT 值。為了消除數據抖動的影響,本文采用了曲線擬合的方法。采用雙 S 型函數模型[10],并根據熒光曲線特點合理設定了曲線參數的取值范圍,再采用 PSO+算法,即粒子群優化(particle swarm optimization,PSO)算法結合 Levenberg-Marquardt、Newton-CG 等算法,求解出函數模型的參數值。本文程序源代碼下載地址:https://github.com/youbingchenyoubing/pso_curvefitting。
1 曲線數據和擬合方法
1.1 擬合數據來源
為了完成擴增實驗,我們搭建了實驗系統,如圖 1 所示。

使用溫度控制器控制上、下端鋁塊的溫度分別為 55℃ 和 95℃,將 PCR 試劑管嵌入鋁塊中,底部和下鋁塊接觸的部分溫度為 95℃,上部和上鋁塊接觸的部分為 55℃,通過溫差促使管中的 PCR 試劑形成自然對流,實現擴增。系統采用雙通道熒光激發與檢測結構,采用光纖作為收發光的通道,發光二極管作為激發光源,使用工業相機(深圳度申科技公司 ICX205AL CCD 相機)作為熒光采集系統拍照,采集熒光的變化,可實現對兩種不同的熒光進行檢測和定量分析[11]。
為了解決各擴增試劑管之間的擴增效率的差異性問題,我們引入了內標校正靶標的方法,即將已知濃度的內標和未知濃度的靶標放在同一試劑管內擴增,根據內標的擴增情況校正靶標的擴增。在靶標和內標反應體系中,均以巨細胞病毒(cytomegalovirus,CMV)為模板,分別在靶標反應體系中加入藍色熒光基團(FAM 通道),內標反應體系加入綠色熒光基團(HEX 通道)。在試劑管中間位置有兩條光纖,一條同時傳輸藍色、綠色兩個波長的照射光,另一條傳輸藍色、綠色兩個波長的熒光基團激發出來的光,最后通過一個濾光片,將藍色和綠色的熒光分開,再用 CCD 相機拍攝,獲得熒光圖像。每組實驗需要 30 min,每 10 s 切換一次濾光片,相機拍攝一次熒光照片,所以每一次實驗的兩個熒光通道中每個通道各需要拍照 90 次,采集 90 個熒光強度值。為了將各曲線的基線值(即熒光強度的起始值)調整成一致,我們將計算得到的熒光強度值都減去了前 15 個點平均值。因為根據統計分析,熱對流擴增熒光曲線上行的拐點均在第 20 個點以后,也就是前 15 個點都屬于基線范圍。然后以不同時間拍攝的圖像分析得到的熒光強度作為縱坐標,拍照次數作為橫坐標,制作了熒光曲線。由于縱坐標是通過對相機拍照得到的圖像進行分析的結果,只反映熒光的強弱變化,而不是真正的熒光強度值,所以沒有單位。基于以上的實驗方法,文章中收集了多組實驗數據,下載地址如下:https://github.com/youbingchenyoubing/pso_curvefitting/tree/master/csvdata。每個 csv 文件中的每一列代表一個試劑管在不同拍照次數下的熒光強度。
1.2 擬合函數選取
圖 2 中的數據來自 green_data.csv 文件,是一次實驗中同時擴增的 11 個試劑管綠色熒光通道獲得的數據。圖 2 中紅色框內的部分是擴增曲線上行的拐點區域,這部分區域對于求解 CT 值有著關鍵性的作用。從圖 2 可以明顯看出,由于熱對流會受到各種因素的影響,其原始熒光曲線會有不同程度的抖動。如果用手動設置閾值線的方法得到 CT 值,可能會由于曲線的抖動得到多個點,主觀選擇其中某個點往往會帶來誤差。

為了解決這種問題,本文采用雙 S 曲線函數模型來擬合熒光擴增曲線。對 PCR 擴增的研究表明,產物的擴增曲線是指數擴增趨勢,大體呈現 S 型趨勢。而雙 S 曲線函數具有指數函數的特點,而且參數變化非常靈活,非常適合于擴增曲線的擬合。雙 S 形函數的表達式如下:
![]() |
表 1 為方程(1)的參數含義。根據其含義描述,本文對其中的參數限定了變化范圍,這樣不僅有很好的擬合效果,并且能夠消除因為粒子群初始值選擇不合適而陷入局部最優的情況。a 相當于基線高度。b 是基線和曲線平穩的斜率,理想的斜率接近為 0,也就是基線和曲線平穩時曲線是平的。但是實際上照射光光強隨時間的變化會給熒光光強曲線的這一斜率帶來影響,所以其很難達到水平。c 是曲線的絕對強度,也就是曲線平穩的高度。對于一般的正常曲線來說,取最高的點減去最低點的高度就是曲線高度,但是對于有抖動的數據,最高點可能是異常點,所以本文根據不同的數據,曲線的高度在其平均點和最高點范圍之間浮動。參數 d 和 f 分別表示 S 形曲線的銳度,因為無法給出這些參數的范圍,所以本文將它們的范圍定義為 PCR 曲線最普遍的形狀進行建模。參數 e 和 g 分別對應著雙 S 函數中兩個函數 S 形的拐點位置,考慮到拐點一般在曲線抖動最劇烈的地方,本文有意將其范圍擴大。

根據算法優化得到擬合曲線之后,再利用手動設置閾值線求出 CT 值。這樣不僅能取得唯一 CT 值,而且使得到的 CT 值更合理。
2 經典算法測試
曲線方程確定之后,曲線擬合的過程就是一個尋找最優曲線參數的過程,成為了一個優化問題。優化算法有很多,比較經典的有 Levenberg-Marquardt、Newton-CG、POWELL、遺傳算法和 PSO 等。我們對其中一些算法進行了測試。
圖 3 中的數據來自 compare_data.csv 文件,是分別從 blue_data.csv、green_data.csv、cmvdata.csv 等 6 組實驗數據里面抽取出來的。為了讓曲線的橫縱坐標范圍接近,更加便于擬合,本文將實驗的原始值進行一定倍數的縮小。圖中的曲線是采用 Levenberg-Marquardt 算法擬合的結果。從圖中可以明顯看出,部分數據根本無法利用 Levenberg-Marquardt 算法擬合出來,雖然有些數據能夠很好被擬合,但是這跟所取的參數初值有很大的關系。因為 Levenberg-Marquardt、Newton-CG、Guass-Newton 等傳統迭代算法需要一個合理的初始解才不會陷入局部最優,我們對初始解猜測得越好,算法的結果就越好。但是由于雙 S 形函數的參數復雜性和 CCPCR 實驗條件的多變性,會導致不同擴增曲線在采用相同初始解的時候,很容易在局部最優收斂,難以得到一個理想的結果,其擬合結果的好壞具有很大的不確定性。

PSO 目前已被廣泛應用于參數學習,包括機器學習算法上的參數學習和工程應用中的參數學習[12-14]。很重要的原因是 PSO 本身原理簡單、搜索速度快,與傳統迭代算法相比很少出現陷入局部最優解的情況。其基本原理如下所示[12]:
![]() |
![]() |
其中 plb 是 t 時刻局部最優值,pgb 是 t 時刻全局最優值,x、v 都是向量。c1、c2 為學習因子。 和
為 0~1 范圍內的均勻隨機數。這一原理對非線性、多峰問題均具有較強的全局搜索能力。
由于粒子群性能也依賴于本身算法的參數,如果參數選擇不合適,粒子就容易飛出問題空間,發生群體“爆炸現象”。針對這種情況,通常采用兩種方法控制:慣性參數和收縮因子。本文采用的是慣性系數 PSO:
![]() |
其中 w 為慣性常數。
為了適應不同實驗數據不同的抖動情況,我們對算法的迭代次數進行了一個動態的設定,即:iterations = baseiteration + itera(x),其中 baseiteration 是基本迭代次數,itera(x) 是迭代次數適應函數。其主要目的是考慮到數據抖動情況,針對一些抖動比較大的數據,防止過早結束搜索。
評價曲線擬合的評價指標[15-17]通常有統計擬合數據和原始數據對應點的誤差的平方和()、回歸系統的擬合標準差(
)、確定系數(
)和正則化確定系數(
)等幾種參數。理論上 RMSE 的空間范圍是
,
的空間范圍是
,
的空間范圍是
,其中 RMSE 越小越好,而后兩種則越大越好。
本文采用經典 PSO 算法,并分別采用不同評價指標對圖 3 中的 6 組數據進行了曲線擬合,并作了比較,結果如表 2 所示。

根據比較結果,一般情況下 和
的擬合效果會優于 RMSE。但是對于原始數據抖動比較小的情況,由于
和
空間范圍較小,可能會出現因為連續兩次迭代最優值變化不大而過早中止迭代的情況。如表 2 中 cmvdata 數據就出現這種情況,采用 RMSE 作為評價指標擬合的結果要優于采用
和
的結果。
3 粒子群算法和傳統迭代算法結合
表 2 雖然表明了 PSO 對 CCPCR 數據有較好的擬合效果,但是由于 PSO 具有較強的隨機性,局部收斂性比較差,會導致有些 CCPCR 數據曲線的關鍵部分擬合效果比較差。為了更好地擬合數據,本文將粒子群和 Levenberg-Marquardt、Newton-CG、POWELL、Guass-Newton 等傳統的迭代優化方法結合起來,即采用了 PSO+算法,在每一次迭代過程中將粒子群優化解代入到 Levenberg-Marquardt 等傳統算法中,綜合利用了 PSO 算法的全局尋優能力和 Levenberg-Marquardt 等算法的局部優化快速收斂能力,從而能夠更快地得到一個更優的參數解。
表 3 對同一組數據,采用 RMSE 和 兩種評價指標將 PSO 與 PSO+算法進行比較。從表 3 結果中可以明顯看出,結合了任意一種傳統迭代算法的 PSO+算法,其擬合的效果都要優于 PSO 算法,而不同的 PSO+算法之間的結果則無明顯差異。

圖 4 是采用 PSO+LM 的算法對圖 3 實驗數據做的擬合結果。從圖中可以看出,對于不同特點的擴增曲線,擬合結果均比較理想,沒有出現圖 3 中采用 LM 算法擬合時不穩定、部分曲線擬合結果很差的情況。由此可見,PSO+LM 算法很好地解決了 PSO 對解空間的限制,同時也平衡了 PSO 的隨機性和參數的不確定性。表 4 是優化得到的曲線參數值。


4 結論
CCPCR 由于反應過程易受多種因素干擾,其原始的熒光采集數據會有抖動的問題,所以無法直接準確地得到 CT 值。本文根據擴增曲線的特點,選取雙 S 型函數對曲線進行擬合,并根據曲線參數的意義以及對實驗數據的分析確定了各參數的變化范圍。再采用 PSO 結合 Levenberg-Marquardt 等算法的 PSO+算法,優化函數的參數,并采用不同的優化評價指標進行優化,最后對擬合結果進行了比較。實驗結果顯示雙 S 曲線非常適合熱對流擴增曲線的擬合,本文限定的參數范圍也比較合理,縮小了優化的范圍。同時 PSO+算法利用 PSO 算法的搜索隨機性,解決了方程(1)過于靈活的問題,同時也利用 Levenberg-Marquardt 等方法平衡了粒子群的隨機性,解決了局部快速優化收斂問題,取得了很好的擬合效果,為后續 CT 值的計算和實時熒光熱對流擴增的定量檢測研究打下了基礎。
引 言
傳統聚合酶連鎖反應(polymerase chain reaction,PCR)技術是一種用于放大擴增特定的 DNA 片段的分子生物學技術,能在 2~3 h 內將微量的 DNA 擴增放大幾百萬倍,因此在生物醫學領域有著廣泛而重要的用途。但是由于傳統 PCR 需要在擴增過程中反復升降溫度,導致擴增時間非常長,而且機臺比較龐大,操作較為不便[1-3]。熱對流 PCR 技術(capillary convective PCR,CCPCR)是一種基于熱傳導和熱對流原理的新型體外核酸擴增技術,讓液體試劑在不同溫度區發生熱對流的過程中完成 PCR 的變性、退火及延伸反應,不僅擺脫了傳統 PCR 技術依賴反復升降溫、設備笨重、耗時耗能等缺陷,而且無需復雜的溫控驅動系統、等溫擴增技術復雜的酶系統以及嚴格的引物設計。因此,對流 PCR 技術得到了眾多科研人員的重視,成為 PCR 領域的一個研究重點[4-6]。
為了實時檢測擴增情況,我們在 CCPCR 試劑體系中加入了熒光基團,并采用電荷耦合原件(charge coupled device,CCD)相機拍攝擴增過程中的熒光強度的變化,再通過圖像分析軟件得到熒光強度變化曲線,求出擴增的循環閾值(cycle threshold,CT 值)[7-9]。然而由于試劑管內液體的熱對流受溫度、試劑管形狀和表面特性、重力、粘滯力等各種因素的影響,會導致試劑管內液體環流紊亂,從而影響擴增和熒光檢測結果的穩定性。因此,實驗結果中會出現熒光曲線數據抖動的情況,這樣就很難直接通過手工設置閾值線來求解 CT 值。為了消除數據抖動的影響,本文采用了曲線擬合的方法。采用雙 S 型函數模型[10],并根據熒光曲線特點合理設定了曲線參數的取值范圍,再采用 PSO+算法,即粒子群優化(particle swarm optimization,PSO)算法結合 Levenberg-Marquardt、Newton-CG 等算法,求解出函數模型的參數值。本文程序源代碼下載地址:https://github.com/youbingchenyoubing/pso_curvefitting。
1 曲線數據和擬合方法
1.1 擬合數據來源
為了完成擴增實驗,我們搭建了實驗系統,如圖 1 所示。

使用溫度控制器控制上、下端鋁塊的溫度分別為 55℃ 和 95℃,將 PCR 試劑管嵌入鋁塊中,底部和下鋁塊接觸的部分溫度為 95℃,上部和上鋁塊接觸的部分為 55℃,通過溫差促使管中的 PCR 試劑形成自然對流,實現擴增。系統采用雙通道熒光激發與檢測結構,采用光纖作為收發光的通道,發光二極管作為激發光源,使用工業相機(深圳度申科技公司 ICX205AL CCD 相機)作為熒光采集系統拍照,采集熒光的變化,可實現對兩種不同的熒光進行檢測和定量分析[11]。
為了解決各擴增試劑管之間的擴增效率的差異性問題,我們引入了內標校正靶標的方法,即將已知濃度的內標和未知濃度的靶標放在同一試劑管內擴增,根據內標的擴增情況校正靶標的擴增。在靶標和內標反應體系中,均以巨細胞病毒(cytomegalovirus,CMV)為模板,分別在靶標反應體系中加入藍色熒光基團(FAM 通道),內標反應體系加入綠色熒光基團(HEX 通道)。在試劑管中間位置有兩條光纖,一條同時傳輸藍色、綠色兩個波長的照射光,另一條傳輸藍色、綠色兩個波長的熒光基團激發出來的光,最后通過一個濾光片,將藍色和綠色的熒光分開,再用 CCD 相機拍攝,獲得熒光圖像。每組實驗需要 30 min,每 10 s 切換一次濾光片,相機拍攝一次熒光照片,所以每一次實驗的兩個熒光通道中每個通道各需要拍照 90 次,采集 90 個熒光強度值。為了將各曲線的基線值(即熒光強度的起始值)調整成一致,我們將計算得到的熒光強度值都減去了前 15 個點平均值。因為根據統計分析,熱對流擴增熒光曲線上行的拐點均在第 20 個點以后,也就是前 15 個點都屬于基線范圍。然后以不同時間拍攝的圖像分析得到的熒光強度作為縱坐標,拍照次數作為橫坐標,制作了熒光曲線。由于縱坐標是通過對相機拍照得到的圖像進行分析的結果,只反映熒光的強弱變化,而不是真正的熒光強度值,所以沒有單位。基于以上的實驗方法,文章中收集了多組實驗數據,下載地址如下:https://github.com/youbingchenyoubing/pso_curvefitting/tree/master/csvdata。每個 csv 文件中的每一列代表一個試劑管在不同拍照次數下的熒光強度。
1.2 擬合函數選取
圖 2 中的數據來自 green_data.csv 文件,是一次實驗中同時擴增的 11 個試劑管綠色熒光通道獲得的數據。圖 2 中紅色框內的部分是擴增曲線上行的拐點區域,這部分區域對于求解 CT 值有著關鍵性的作用。從圖 2 可以明顯看出,由于熱對流會受到各種因素的影響,其原始熒光曲線會有不同程度的抖動。如果用手動設置閾值線的方法得到 CT 值,可能會由于曲線的抖動得到多個點,主觀選擇其中某個點往往會帶來誤差。

為了解決這種問題,本文采用雙 S 曲線函數模型來擬合熒光擴增曲線。對 PCR 擴增的研究表明,產物的擴增曲線是指數擴增趨勢,大體呈現 S 型趨勢。而雙 S 曲線函數具有指數函數的特點,而且參數變化非常靈活,非常適合于擴增曲線的擬合。雙 S 形函數的表達式如下:
![]() |
表 1 為方程(1)的參數含義。根據其含義描述,本文對其中的參數限定了變化范圍,這樣不僅有很好的擬合效果,并且能夠消除因為粒子群初始值選擇不合適而陷入局部最優的情況。a 相當于基線高度。b 是基線和曲線平穩的斜率,理想的斜率接近為 0,也就是基線和曲線平穩時曲線是平的。但是實際上照射光光強隨時間的變化會給熒光光強曲線的這一斜率帶來影響,所以其很難達到水平。c 是曲線的絕對強度,也就是曲線平穩的高度。對于一般的正常曲線來說,取最高的點減去最低點的高度就是曲線高度,但是對于有抖動的數據,最高點可能是異常點,所以本文根據不同的數據,曲線的高度在其平均點和最高點范圍之間浮動。參數 d 和 f 分別表示 S 形曲線的銳度,因為無法給出這些參數的范圍,所以本文將它們的范圍定義為 PCR 曲線最普遍的形狀進行建模。參數 e 和 g 分別對應著雙 S 函數中兩個函數 S 形的拐點位置,考慮到拐點一般在曲線抖動最劇烈的地方,本文有意將其范圍擴大。

根據算法優化得到擬合曲線之后,再利用手動設置閾值線求出 CT 值。這樣不僅能取得唯一 CT 值,而且使得到的 CT 值更合理。
2 經典算法測試
曲線方程確定之后,曲線擬合的過程就是一個尋找最優曲線參數的過程,成為了一個優化問題。優化算法有很多,比較經典的有 Levenberg-Marquardt、Newton-CG、POWELL、遺傳算法和 PSO 等。我們對其中一些算法進行了測試。
圖 3 中的數據來自 compare_data.csv 文件,是分別從 blue_data.csv、green_data.csv、cmvdata.csv 等 6 組實驗數據里面抽取出來的。為了讓曲線的橫縱坐標范圍接近,更加便于擬合,本文將實驗的原始值進行一定倍數的縮小。圖中的曲線是采用 Levenberg-Marquardt 算法擬合的結果。從圖中可以明顯看出,部分數據根本無法利用 Levenberg-Marquardt 算法擬合出來,雖然有些數據能夠很好被擬合,但是這跟所取的參數初值有很大的關系。因為 Levenberg-Marquardt、Newton-CG、Guass-Newton 等傳統迭代算法需要一個合理的初始解才不會陷入局部最優,我們對初始解猜測得越好,算法的結果就越好。但是由于雙 S 形函數的參數復雜性和 CCPCR 實驗條件的多變性,會導致不同擴增曲線在采用相同初始解的時候,很容易在局部最優收斂,難以得到一個理想的結果,其擬合結果的好壞具有很大的不確定性。

PSO 目前已被廣泛應用于參數學習,包括機器學習算法上的參數學習和工程應用中的參數學習[12-14]。很重要的原因是 PSO 本身原理簡單、搜索速度快,與傳統迭代算法相比很少出現陷入局部最優解的情況。其基本原理如下所示[12]:
![]() |
![]() |
其中 plb 是 t 時刻局部最優值,pgb 是 t 時刻全局最優值,x、v 都是向量。c1、c2 為學習因子。 和
為 0~1 范圍內的均勻隨機數。這一原理對非線性、多峰問題均具有較強的全局搜索能力。
由于粒子群性能也依賴于本身算法的參數,如果參數選擇不合適,粒子就容易飛出問題空間,發生群體“爆炸現象”。針對這種情況,通常采用兩種方法控制:慣性參數和收縮因子。本文采用的是慣性系數 PSO:
![]() |
其中 w 為慣性常數。
為了適應不同實驗數據不同的抖動情況,我們對算法的迭代次數進行了一個動態的設定,即:iterations = baseiteration + itera(x),其中 baseiteration 是基本迭代次數,itera(x) 是迭代次數適應函數。其主要目的是考慮到數據抖動情況,針對一些抖動比較大的數據,防止過早結束搜索。
評價曲線擬合的評價指標[15-17]通常有統計擬合數據和原始數據對應點的誤差的平方和()、回歸系統的擬合標準差(
)、確定系數(
)和正則化確定系數(
)等幾種參數。理論上 RMSE 的空間范圍是
,
的空間范圍是
,
的空間范圍是
,其中 RMSE 越小越好,而后兩種則越大越好。
本文采用經典 PSO 算法,并分別采用不同評價指標對圖 3 中的 6 組數據進行了曲線擬合,并作了比較,結果如表 2 所示。

根據比較結果,一般情況下 和
的擬合效果會優于 RMSE。但是對于原始數據抖動比較小的情況,由于
和
空間范圍較小,可能會出現因為連續兩次迭代最優值變化不大而過早中止迭代的情況。如表 2 中 cmvdata 數據就出現這種情況,采用 RMSE 作為評價指標擬合的結果要優于采用
和
的結果。
3 粒子群算法和傳統迭代算法結合
表 2 雖然表明了 PSO 對 CCPCR 數據有較好的擬合效果,但是由于 PSO 具有較強的隨機性,局部收斂性比較差,會導致有些 CCPCR 數據曲線的關鍵部分擬合效果比較差。為了更好地擬合數據,本文將粒子群和 Levenberg-Marquardt、Newton-CG、POWELL、Guass-Newton 等傳統的迭代優化方法結合起來,即采用了 PSO+算法,在每一次迭代過程中將粒子群優化解代入到 Levenberg-Marquardt 等傳統算法中,綜合利用了 PSO 算法的全局尋優能力和 Levenberg-Marquardt 等算法的局部優化快速收斂能力,從而能夠更快地得到一個更優的參數解。
表 3 對同一組數據,采用 RMSE 和 兩種評價指標將 PSO 與 PSO+算法進行比較。從表 3 結果中可以明顯看出,結合了任意一種傳統迭代算法的 PSO+算法,其擬合的效果都要優于 PSO 算法,而不同的 PSO+算法之間的結果則無明顯差異。

圖 4 是采用 PSO+LM 的算法對圖 3 實驗數據做的擬合結果。從圖中可以看出,對于不同特點的擴增曲線,擬合結果均比較理想,沒有出現圖 3 中采用 LM 算法擬合時不穩定、部分曲線擬合結果很差的情況。由此可見,PSO+LM 算法很好地解決了 PSO 對解空間的限制,同時也平衡了 PSO 的隨機性和參數的不確定性。表 4 是優化得到的曲線參數值。


4 結論
CCPCR 由于反應過程易受多種因素干擾,其原始的熒光采集數據會有抖動的問題,所以無法直接準確地得到 CT 值。本文根據擴增曲線的特點,選取雙 S 型函數對曲線進行擬合,并根據曲線參數的意義以及對實驗數據的分析確定了各參數的變化范圍。再采用 PSO 結合 Levenberg-Marquardt 等算法的 PSO+算法,優化函數的參數,并采用不同的優化評價指標進行優化,最后對擬合結果進行了比較。實驗結果顯示雙 S 曲線非常適合熱對流擴增曲線的擬合,本文限定的參數范圍也比較合理,縮小了優化的范圍。同時 PSO+算法利用 PSO 算法的搜索隨機性,解決了方程(1)過于靈活的問題,同時也利用 Levenberg-Marquardt 等方法平衡了粒子群的隨機性,解決了局部快速優化收斂問題,取得了很好的擬合效果,為后續 CT 值的計算和實時熒光熱對流擴增的定量檢測研究打下了基礎。