癲癇是一種由大腦神經元突發性異常放電導致的大腦功能性障礙疾病。據世界衛生組織統計,全球約有7000萬人患有癲癇。癲癇患者在發病時呈現肌肉抽搐、呼吸困難、意識喪失等癥狀。由于癲癇發作的偶然性,患者極有可能在高空、駕駛、游泳等危險情況下發病并喪失意志從而產生意外事故與傷害,并帶來不良社會和經濟影響。據統計,癲癇患者過早死亡的幾率比健康人高出近3倍。醫學研究表明,癲癇雖然無法被完全治愈,但是可以通過藥物、電刺激或者手術等治療手段來控制發病。通過建立癲癇預測模型,在發病之前進行警報,可以留給患者足夠的時間采取防范和治療措施,這將顯著提高癲癇患者的生活質量。
在腦電圖EEG的輔助下,醫生結合患者臨床表現對癲癇病情進行診斷。腦電圖中的腦電信號記錄著腦神經細胞自發電生理活動。癲癇患者發病時腦電圖上會呈現出棘波、尖波、棘慢波等癲癇特征波,醫生可借助特征波進行病情診斷。腦電圖用于癲癇研究已經有70多年的歷史,在過去的十年中,研究熱點逐漸由癲癇檢測向癲癇預測轉變。盡管在之前的研究中,有大量傳統機器學習算法用于建立癲癇預測模型,但都面臨需要手動提取特征、泛化性較差等問題。神經網絡算法具有自動提取特征、變體多等諸多優點,可適用于處理海量腦電信號的場景。
鑒于此,基于一種基于小波分析和機器學習(支持向量機,樸素貝葉斯,k最近鄰,多層神經網絡)的癲癇腦電圖檢測方法,運行環境為MATLAB?2018,部分代碼如下:
%% design wavelet
wname='db4';
nLevel=4;
[a,d]=swt(data,nLevel,wname);
figure(2);
subplot(nLevel+1,2,[1 2]);
plot(Time,data(1,:)); ylabel('Epilepsy EEG');
ylabel('\muV','FontSize',12,'FontWeight','bold','FontName','Times New Roman');
title('Epilepsy EEG(seizures & Non-seizures)','FontName','Times New Roman','FontSize',12,'FontWeight','bold');
grid on;grid minor;
c=2;
for i=1:nLevelc=c+1;subplot(nLevel+1,2,c);plot(Time,a(i,:),'c');ylabel(['a_{' num2str(i) '}'],'FontSize',12,'FontWeight','bold','FontName','Times New Roman');grid on;grid minor;if c==9xlabel('Time(Sec)','FontSize',12,'FontWeight','bold','FontName','Times New Roman'); endc=c+1;subplot(nLevel+1,2,c);plot(Time,d(i,:),'r');ylabel(['d_{ ' num2str(i) '}'],'FontSize',12,'FontWeight','bold','FontName','Times New Roman');grid on;grid minor;if c==10xlabel('Time(Sec)','FontSize',12,'FontWeight','bold','FontName','Times New Roman'); end%完整代碼:https://mbd.pub/o/bread/mbd-Yp2Ul5dpend
工學博士,擔任《Mechanical System and Signal Processing》《中國電機工程學報》《控制與決策》等期刊審稿專家,擅長領域:現代信號處理,機器學習,深度學習,數字孿生,時間序列分析,設備缺陷檢測、設備異常檢測、設備智能故障診斷與健康管理PHM等。