梁明賢 梁斌梅 梁 平 羅 威 曾 昭 梁寶琳
(1.廣西大學計算機與電子信息學院計算機系 南寧 530004)(2.梧州市中醫醫院 梧州 543002)
廣西蛇傷發病季節長、病例多,在全國屬于蛇傷高發區[1]。烙鐵頭蛇咬傷和竹葉青蛇咬傷是廣西地區常見的毒蛇咬傷疾病。烙鐵頭蛇和竹葉青蛇均在中國十大毒蛇之列,其分泌毒液主要含血循毒,其中烙鐵頭蛇毒性較劇烈,竹葉青蛇毒性較弱,這兩種毒蛇咬傷后癥狀相近,除了能清楚看到或抓到蛇,一般很難準確辨別是烙鐵頭蛇咬傷還是竹葉青蛇咬傷。烙鐵頭蛇蛇毒的半數致死量為2.76 LD50mg/kg,竹葉青蛇毒的半數致死量為3.3LD50mg/kg[2]。臨床上常用抗蝮蛇毒血清或抗五步蛇毒血清進行烙鐵頭蛇咬傷治療,混合使用抗蝮蛇毒血清和抗五步蛇血清進行竹葉青蛇咬傷治療[2]。臨床上一般依靠擁有豐富蛇傷救治經驗的臨床醫師綜合蛇傷流行病學特征和臨床檢查結果進行鑒別[3~4],但大多數基層醫療機構缺乏蛇傷救治經驗的臨床醫師,往往因誤診而耽誤治療,從而容易危及患者生命。因此,準確鑒別是烙鐵頭蛇咬傷還是竹葉青蛇咬傷有著重要的臨床意義。
針對蛇咬傷的鑒別診斷問題,李碧晴等[5]運用逆流免疫電泳法對5 種血循毒類毒蛇的蛇毒檢測進行研究,該檢測方法能準確區分烙鐵頭蛇毒和竹葉青蛇毒,但檢測時間長,不適用蛇傷的快速診斷要求,在臨床上得不到推廣應用。陳騰飛等[6]研究尿液中的中性粒細胞明膠酶相關脂質運載蛋白(NGAL)、肝型脂肪酸結合蛋白(L-FABP)和腎損傷分子-1(KIM-1)這三項實驗室指標對血循毒蛇中竹葉青蛇和烙鐵頭蛇咬傷所致急性腎損傷(AKI)早期診斷的作用,得到肝型脂肪酸結合蛋白的診斷能力最優的結論。阮國梅[7]等的研究表明血循毒類毒蛇中蝰蛇和竹葉青蛇咬傷治療前和治療后血清淀粉樣板單A(SAA)、超敏C 反應蛋白(h-CRP)、白細胞(WBC)、中性粒細胞(NEUT)和D-二聚體(D-D)共6 項實驗室指標有明顯的差異性,對蝰蛇和竹葉青蛇的鑒別診斷有較好的價值。梁明賢[8]等提出利用PNN 神經網絡對眼鏡蛇咬傷進行預測診斷,預測準確率達到87.14%。付永欽[9]的研究提出一種BRC 神經網絡對銀環蛇、竹葉青蛇、舟山眼鏡蛇、尖吻蝮、王錦蛇、黃金蟒、玉斑麗蛇、紅尾蚺、紅脖頸槽蛇和鉤盲蛇共10 種蛇類圖像進行分類研究,取得89.061%的分類準確率。張皓洋[10]利用遷移學習方法,重新訓練Inception-v3卷積神經網絡,對黑蛇、王錦蛇、眼鏡蛇、銀環蛇和竹葉青蛇這5 種蛇類圖像進行分類研究,取得92.3%的分類準確率。有學者利用支持向量機方法對帕金森[11]、肺癌[12]、急腹癥[13]、乳腺腫塊[14]等疾病輔助診斷進行了研究,取得了不錯的成果;也有學者利用主成分分析結合支持向量機方法對中藥進行分類鑒別,取得較高的精度[15]。本文通過收集整理烙鐵頭蛇和竹葉青蛇咬傷住院患者的基本信息、生命體征、咬傷病史、蛇形態特征、局部和全身癥狀數據,基于主成分分析(Principal Component Analysis,PCA)方法對特征數據進行降維處理,再利用支持向量機(Support Vector Machine,SVM)進行分類。
本文通過收集2014 年~2020 年梧州某醫院蛇傷科明確診斷為烙鐵頭蛇咬傷或竹葉青蛇咬傷的住院病歷各270份,根據2018年中國蛇傷救治專家共識[4],并結合梧州某醫院烙鐵頭蛇咬傷診療方案和竹葉青蛇咬傷診療方案,從病歷中提取4 個患者基本信息特征、5 個生命體征、5 個蛇咬傷病史特征、8 個蛇形態特征、12 個局部癥狀特征和11 個全身癥狀特征,建立540行45列的特征數據集。烙鐵頭蛇咬傷和竹葉青蛇咬傷后傷口局部癥狀如圖1、2所示。

圖1 烙鐵頭蛇咬傷(從咬傷到入院時間5h)

圖2 竹葉青蛇咬傷(從咬傷到入院時間2.5h)
本文實驗中將收集到的540 組45 個特征的數據進行規范化描述,并轉換為數值表示,作為輸入特征向量X={x1,x2,x3,…,x45},其中x1~x4為基本信息,x5~x9為生命體征,x10~x14為咬傷病史,x15~x22為蛇形態特征,x23~x34為傷口局部癥狀,x35~x45為全身癥狀,如表1所示。

表1 輸入特征規范化描述
選取的45 個特征中,各自對不同蛇咬傷的影響程度不相同,比如惡心、眼瞼下垂、乏力大多數屬于神經毒類毒蛇咬傷所致,血循毒類毒蛇基本無上述3 種癥狀;腫脹、疼痛大多數屬于血循毒蛇常見的特征,對這兩種血循毒蛇鑒別診斷意義不大;牙痕間距、牙痕形狀、蛇體色斑、蛇圖譜確認特征對這兩種血循毒蛇咬傷的診斷意義比較大。因此,本文采用主成分分析法(PCA)對數據進行降維重構。
主成分分析的主要步驟如下。
第一步,將所有樣本進行中心化:

第二步,計算樣本的協方差矩陣:

其中X={x1,x2,x3,…,xn},n 為樣本總數。協方差計算公式為

第三步,對協方差矩陣C 做特征值分解,計算出特征值λ=(λ1,λ2,λ3,…,λp)和對應特征向量ω={ω1,ω2,ω3,…,ωp},其中λ1≥λ2≥λ3≥…≥λp,p 為特征值個數。
第四步,對特征值從大到小排序,并計算各個特征的貢獻率和累積貢獻率,選取k 個最大特征值的特征向量組成的矩陣作為投影矩陣W={ω1,ω2,ω3,…,ωk}。
本文利用Scikit-learn 庫中自帶的PCA 模塊進行實驗,將樣本數據進行降維,降維后各主成分方差如圖3 所示。因烙鐵頭蛇和竹葉青蛇咬傷特征相近,故選擇累計方差貢獻率大于95%的最大38個主成成分特征,能夠包括大部分信息。

圖3 降維后各主成分的特征方差
考慮到臨床數據量少,兩種血循毒蛇的特征關聯度高,故選取支持向量機(Support Vector Machine,SVM)作為本實驗的分類方法。該方法在解決小樣本問題中表現出特有的優勢。支持向量機實質是一種尋找最優超平面的二分類方法,可通過構造核函數把特征數據映射到高維向量空間從而把非線性問題轉化為線性問題進行處理。烙鐵頭蛇或竹葉青蛇咬傷這兩種血循毒蛇的鑒別診斷問題是一個非線性問題,故需要把特征數據映射到更高維向量空間,設φ(x)為x 映射到高維特征空間的映射函數,則該問題的目標函數f(x)可表示為

其中:x 為輸入向量,w為權重向量,φ(x)為映射函數,b為偏置向量。
至此,該非線性問題就轉化為了線性二分類問題。
φ(x)映射函數的維度可能很大,計算比較困難,因此需要設置一個核函數K(xi,xj),使得任意兩個原始特征經過核函數計算所得出的結果,是它們在特征空間中映射成的新向量的內積。
最后運用拉格朗日對偶算法求解最大分隔超平面,最終得到分類函數為

其中:αi為拉格朗日乘子,xi,xj為樣本和樣本所屬標簽,K(.)為核函數。
本文選擇學習能力強且誤差小的高斯徑向基核函數為

其中:σ為核函數系數。
算法流程如下。
Step1 劃分訓練樣本(x_train,y_train)和測試樣本(x_test,y_test);
Step2 選擇RBF 核函數和模型參數,將樣本X映射到高維特征空間;
Step3解拉格朗日函數:

求得最優解為a*=(a1*,a2*,a3*,…,an*);
Step4 計算最優權重值向量w*和最優偏置向量b*,分別為

Step5 對 待 分 類 向 量x,計 算f(x)=sgn(w·函數值為+1或-1,決定x歸屬哪一類。
在支持向量機分類模型中,高斯核函數系數σ和正則化參數C 對模型影響較大。σ取值和樣本劃分的精細度有關,σ取值越小,模型越試圖將每個樣本與其他樣本區分開,分的類別就越細,容易出現過擬合;σ取值越大,分的類別就越粗,容易出現欠擬合。C取值約束了正則化的強度,C越大,正則化強度越小,容易出現過擬合;C 越小,正則化強度越大,容易出現欠擬合[16]。因此,本文采用網格搜索方法尋找高斯核系數σ和正則化參數C 的最優值。
本文實驗在Windows 10 操作系統上進行,利用PyCharm 集成開發環境,版本號為2021.2.2,python 版本號為3.7.2。實驗中隨機劃分訓練集362組,測試集178 組,然后利用訓練集尋取最優的參數σ=0.1,C=2.12,最后在測試集上獲得預測準確率為86%,AUC 值0.90。其中,烙鐵頭蛇咬傷召回率為93%,漏檢率18%,f1 評分87%;而竹葉青蛇咬傷召回率79%,漏檢率9%,f1 評分85%。將PCA+SVM 方法的實驗結果與單SVM 進行對比,發現比單SVM方法的測準確率提高了6%。
本文針對臨床上對烙鐵頭蛇咬傷和竹葉青蛇咬傷的鑒別診斷容易誤診的問題,基于臨床數據,利用主成分分析結合支持向量機方法建立輔助診斷模型并進行了測試,結果發現模型預測準確率達到86%,比單支持向量機的預測準確率高出6%。
本文為烙鐵頭蛇咬傷和竹葉青蛇咬傷的臨床鑒別診斷提供了一種簡單、低成本和可重復的輔助診斷方法。但本研究只有540 例臨床數據,數據量少,不能代表全部病例,還處在實驗研究階段,尚未進行臨床驗證。后續研究將采集更多更全面的臨床樣本數據,進一步提高準確率,并進行臨床驗證。