تشخیص حمله‌های صرعی از روی ضرایب موجک با استفاده از شبکه‌های عصبی مصنوعی و الگوریتم بهینه‌سازی انبوه ذرات (PSO)

نویسندگان

1 دانشجوی کارشناسی ارشد، گروه مهندسی پزشکی، دانشکدة مهندسی برق و کامپیوتر، دانشگاه تبریز، تبریز، ایران

2 استادیار، گروه مهندسی پزشکی، دانشکدة مهندسی برق و کامپیوتر، دانشگاه تبریز، تبریز، ایران

10.22108/isee.2019.116284.1207

چکیده

سیگنال‌های الکتروانسفالوگرام (EEG)[i]، فعالیت‌های الکتریکی سلول‌های عصبی مغز را نشان می‌دهند. استخراج سیگنال EEG روشی غیرتهاجمی است که برای تشخیص فعالیت‌های غیرعادی مغز مفید است. تشنج یکی از انواع فعالیت‌های غیرعادی مغز و مهم‌ترین تظاهر بیماری صرع است. دشارژهای صرعی‌شکل (امواج سوزنی)[ii] مهم‌ترین مشخصة سیگنال‌های فرد درحال تشنج است. با آشکارسازی امواج سوزنی، امکان تشخیص بیماری صرع از سیگنال EEG وجود دارد. سیگنال‌های EEG از نوع سیگنال‌های غیرایستان هستند؛ پس تبدیل موجک[iii] که قدرت تفکیک مناسب زمانی و فرکانسی دارد، گزینة مناسبی برای استخراج ویژگی‌های سیگنال‌های EEG است. در این مقاله، پس از مرحلة استخراج ویژگی، با استفاده از تبدیل موجک، شبکه‌های عصبی مصنوعی (ANN)[iv] برای طبقه‌بندی سیگنال‌های سالم و سیگنال‌های دارای بیماری صرع استفاده می‌شوند. همچنین، الگوریتم بهینه‌سازی انبوه ذرات (PSO)[v] روشی جدید برای انتخاب وزن‌ها و بایاس‌های شبکه است تا عملکرد شبکه بهبود یابد. نتایج پیاده‌سازی الگوریتم پیشنهادی، صحت 2/96% را داشته‌اند که نسبت به روش‌های موجود، طبقه‌بندی سیگنال‌های EEG عملکرد بهتری را نشان می‌دهد.



[i] Electroencephalogram


[ii] Spikes


[iii] Wavelet Transform


[iv] Artificial Neural Network


[v] Particle Swarm Optimization

کلیدواژه‌ها


عنوان مقاله [English]

Detection of Epileptic Seizures using Wavelet Coefficients, Artificial Neural Networks (ANNs) and Particle Swarm Optimization (PSO)

نویسندگان [English]

  • Farnaz Garehdaghi 1
  • Saeed Meshgini 2
1 MSc Student, Department of Biomedical Engineering, Faculty of Electrical and Computer Engineering, University of Tabriz, Tabriz, Iran
2 Assistant Professor, Department of Biomedical Engineering, Faculty of Electrical and Computer Engineering, University of Tabriz, Tabriz, Iran
چکیده [English]

Electroencephalogram signals (EEGs) show the electrical activity of brain neurons. EEG is a non-invasive method that can be used to detect abnormal brain activities. Seizure is one of these abnormal activities and is the most common manifestation of epilepsy. Spikes are the most important characteristic of the seizure prone EEG signals. By detecting spikes, it is possible to detect epileptic seizures from EEG signals. EEG signals are non-stationary signals, so the wavelet transform that has appropriate time and frequency resolution can be a good option for extracting features of EEG signals. In this paper, after the extraction process using wavelet transform, artificial neural networks (ANNs) are used to classify healthy and epileptic signals. Particle swarm optimization (PSO) is also used as a novel approach to select weights and biases of network to improve network performance. The results of the implementation of the proposed algorithm have a 96.2% accuracy, which shows acceptable performance compared to existing methods.

کلیدواژه‌ها [English]

  • Electroencephalogram
  • Particle Swarm Optimization (PSO)
  • epilepsy
  • wavelet transform
  • Seizure

1- مقدمه[1]

بیماری صرع نوعی بیماری نورولوژیکی است که حدود ۶۵ میلیون نفر از جمعیت جهان را درگیر می‌کند. 25% این بیماران نمی‌توانند با هیچ درمان موجودی به شکل مناسب درمان شوند [1]. این بیماری نوعی اختلال عصبی گذرای مغزی است که به‌علت تخلیة الکتریکی نامتعارف و متناوب نورون‌های مغزی ایجاد می‌شود. فعالیت مغزی در طول یک حمله (فاز تشنج) به‌طور عمده‌ای ازنظر فعالیت در مقایسه با حالت طبیعی بیمار، ازنظر فرکانس و الگوی تحریک، متفاوت است. به بیان کامل‌تر، الگوی زمانی‌مکانی تحریک، به‌تدریج ابتدا از حالت طبیعی به حالت میانی تغییر می‌یابد که فاز قبل از تشنج نامیده می‌شود و سپس وارد حالت تشنج می‌شود [2].

در میان تکنیک‌های غیر‌تهاجمی برای تفحص دینامیک‌های مغز بشر، EEG یک اندازة مستقیم از فعالیت‌های کورتکس مغز با دقت زمانی نیم میلی‌ثانیه ایجاد می‌کند [3].

به‌دلیل وجود انواع آرتیفکت‌ها در سیگنال‌های مغزی، تشخیص بیماری صرع با مطالعة سیگنال EEG، چالش مهمی به شمار می‌رود. همچنین، افراد بیمار ساعت‌ها آنالیز می‌شوند که باعث ایجاد سیگنال EEG با طول زیاد می‌شود؛ پس تحلیل آن زمان‌بر و طاقت‌فرسا است. تشخیص درست صرع، امر دشوار و مهمی است و تمام اقدامات انجام‌شده برای درمان آن، بر مبنای این تشخیص است؛ بنابراین، فرایند تشخیص، گام مهم در امر کمک به بیماران صرعی است و در صورت انجام موفقیت‌آمیز این امر، جنبه‌های پیشگیری و درمان نیز امیدوارکننده است [4].

اهمیت این بیماری، پژوهشگران را بر آن داشت این پدیده را هرچه بیشتر و به روش‌های مختلف بررسی کنند. هدف این پژوهش، افزایش دقت تشخیص حمله‌های صرعی، با استفاده از تبدیلات زمان فرکانسی و استخراج ویژگی‌های مناسب از زیرباندها است.

سیگنال‌های EEG با توجه به بازة فرکانسی به پنج زیرباند مختلف تقسیم می‌شوند: دلتا (5/0 تا 4 هرتز)، تتا
(4 تا 8 هرتز)، آلفا (8 تا 12 هرتز)، بتا (12 تا 30 هرتز)، گاما (بیشتر از 30 هرتز).

پس از مرحلة استخراج ویژگی، مرحلة تشخیص خودکار حمله‌های صرعی از سیگنال‌های EEG است که با شبکه‌های عصبی مصنوعی انجام می‌شود. به‌تازگی شبکه‌های عصبی مصنوعی پیش‌خور (FF_ANN)[1] به شکل فزاینده درحال استفاده‌اند. شبکه‌هایی با سه لایه، محبوب‌ترین نوع شبکه‌ها در کاربردهای عملی‌اند و عموماً برای طبقه‌بندی استفاده می‌شوند. یادگیری، مهم‌ترین ویژگی شبکه‌های عصبی است و در بیشتر موارد برای آموزش شبکه از الگوریتم انتشار معکوس (BP)[2] استاندارد یا بهبودیافته برای یادگیری استفاده می‌شود. الگوریتم BP، سرعت همگرایی پایین دارد و چون یک الگوریتم وابسته به گرادیان است، ممکن است به یک کمینة محلی به‌جای کمینة عمومی میل کند. هدف، در شبکه‌ها در طول فرایند یادگیری، یافتن بهترین ترکیب وزن‌های ارتباطی و بایاس‌ها برای یافتن کمترین خطا است [5].

در بیشتر مواقع شبکه‌ها به نقاطی همگرا می‌شوند که ازنظر محلی بهترین نتیجه‌اند؛ اما ازنظر کلی بهترین نتیجه نیستند. درواقع، بیشتر الگوریتم‌های یادگیری باعث می‌شوند شبکه‌ها به‌جای کمینه‌های عمومی به کمینه‌های محلی برسند. الگوریتم‌های بهینه‌سازی بسیاری برای رفع مشکلات آموزش شبکه‌های عصبی استفاده شده است؛ مانند الگوریتم ژنتیک [6]، الگوریتم PSO [7]، الگوریتم تبرید شبیه‌سازی‌شده (SA)[3] [8] و الگوریتم تکامل تفاضلی (DE)[4] [9]. الگوریتم PSO به‌راحتی پیاده‌سازی می‌شود، جواب را با سرعت بیشتری نسبت به سایر الگوریتم‌های تکاملی پیدا می‌کند و تعداد پارامترهای کمی برای تنظیم دارد [10]؛ اما مزیت اصلی الگوریتم PSO نسبت به سایر استراتژی‌های بهینه‌‌سازی این است که تعداد زیادی از افراد تشکیل‌دهندة گروه ذرات، تکنیکی بسیار ارتجاعی برای حل مسئلة بهینه‌سازی به کار می‌برند [11]. الگوریتم PSO وابسته به گرادیان نیست و به جمعیت وابسته است و چندین ذره درحال حرکت برای یافتن بهترین پاسخ‌اند [12]؛ پس برای رفع مشکلات شبکه‌ها می‌تواند استفاده شود.

در این مقاله نیز شبکه‌های عصبی مصنوعی و الگوریتم PSO برای طبقه‌بندی سیگنال‌های سالم و سیگنال‌های دارای حملة صرعی استفاده می‌شود. در بخش دوم، مروری بر کارهای قبلی انجام‌شده برای طبقه‌بندی این سیگنال‌ها صورت گرفته است و در بخش سوم، مبانی و روش‌های استفاده‌شده بررسی شده‌اند. در بخش چهارم، الگوریتم پیشنهادی، ارائه و در بخش پنجم، نتایج شبیه‌سازی این الگوریتم بیان شده است.

2- بررسی منابع

از سال 1970 به بعد، پژوهش‌های بسیاری دربارة تشخیص خودکار حمله‌های صرعی انجام شده است که در ادامه به چندین مورد از آنها اشاره می‌شود.

به‌دلیل خاصیت غیرایستان‌بودن سیگنال‌های EEG، پژوهشگران از آنالیز با تبدیل موجک و روش تجزیة حالت تجربی استقبال کرده‌اند که اطلاعاتی از فرکانس سیگنال به دست می‌دهد. درواقع این روش، داده‌های غیرخطی و غیرایستان را به شکل جمع مدهای نوسانی ذاتی بیان می‌کند [13].

یک روش آنالیز سیگنال‌های EEG، با موجک و شبکه‌های عصبی مصنوعی پیش‌خور و رگرسیون لجستیک (LR)[5] با Subasi و Ercelebi بیان شده است. تبدیل موجک گسسته برای پیش‌پردازش و LR و FF_ANN برای طبقه‌بندی استفاده شده که صحت 89% از LR و صحت 92% با طبقه‌بندی با FF_ANN به دست آمده است [14].

Tzallas و همکاران، مناسب‌بودن آنالیزهای زمان فرکانسی را برای انجام طبقه‌بندی نشان دادند و از چندین روش زمان فرکانسی برای مقایسه و آنالیز استفاده کردند. تبدیل فوریه زمان‌کوتاه و چند تبدیل دیگر نیز برای محاسبة تراکم طیفی توان (PSD)[6] استفاده شدند. صحت طبقه‌بندی با استفاده از FF_ANN 89% به دست آمده است [15].

همچنین، این افراد تبدیل ویگنر - ویل را به بخش‌هایی از سیگنال EEG، اعمال و ویژگی‌هایی را برای هر قسمت استخراج کرده‌اند که توزیع انرژی در دو سطح زمانی و فرکانسی را نشان می‌داد. در این مقاله، چهار نوع طبقه‌بندی با استفاده از یک‌سری داده انجام شد که دو نوع دارای دو کلاس بدون حمله و با حمله بودند، دو نوع دیگر سه کلاس سالم، بدون حمله و با حمله داشتند و تفاوت هرکدام از این موارد در تعداد داده‌های استفاده‌شده بود [16].

روش پنجره لغزان، روش دیگری است که Anusha و همکاران استفاده کردند که در آن نیز برای طبقه‌بندی از FF_ANN استفاده شد. صحت 7/93% برای طبقه‌بندی سیگنال‌های سالم و صحت 5/95% برای طبقه‌بندی سیگنال‌های بیمار به دست آمد [17].

طبقه‌بندی سیگنال‌های سالم و بیمار را Gosh و همکاران با استفاده از شبکه‌های عصبی مصنوعی و تبدیل موجک انجام دادند که سه پارامتر برای بیان ویژگی‌های سیگنال‌های EEG استفاده شدند. این پارامترها انحراف معیار، ابعاد همبستگی و مؤلفة لیاپانوف‌اند. از شبکه‌های عصبی پس‌انتشار لونبرگ مارکوارت (LMBPNN)[7] برای طبقه‌بندی استفاده شده و صحت 7/96% به دست آمده است [18].

در [19]، آنالیز موجک و الگوریتم ژنتیک برای طبقه‌بندی بهینة حمله‌های صرعی با Ocak استفاده شده است. هر دورة سیگنال EEG با استفاده از تبدیل موجک 4 مرحله‌ای، به زیرباندهای فرکانسی آن تجزیه شده و سپس الگوریتم ژنتیک برای تشخیص بهتر با استفاده از ویژگی‌های به‌دست‌آمده استفاده شده است. این طبقه‌بندی با استفاده از کوانتوم‌برداری بردار یادگیری انجام شده که یک مورد خاص از شبکه‌های عصبی مصنوعی است و الگوریتم ژنتیک برای بالابردن صحت و تشخیص بهتر استفاده شده است. الگوریتم ژنتیک برای یافتن زیرست‌های ویژگی بهینه استفاده شده است که عملکرد طبقه‌بندی را افزایش می‌دهد؛ صحت این کار نیز 3/94% محاسبه شده است.

همچنین، Abibullaev و همکاران از یک روش جدید به کمک تابع موجک پایه و دو بار آستانه‌گذاری استفاده کردند. در این مقاله از چهار فرد، به‌مدت 84 ساعت، داده ثبت شد که این روش توانست حمله‌ها را از روی سیگنال‌های دارای نویز تشخیص دهد [20].

Kumar و همکاران نیز چندین طبقه‌بندی متفاوت انجام دادند. آنها در این روش از تبدیل ویولت و آنتروپی استفاده کردند و صحت آنها بین 5/92 تا 100 درصد محاسبه شد [21].

Arslan و همکاران از ترکیب شبکه‌های عصبی و الگوریتم PSO استفاده کردند. در این کار، ویژگی‌های استفاده‌شده، کمینه، بیشینه، میانگین و انحراف معیار بوده و صحت این کار 98% گزارش شده است [22].

در [23]، چهار ویژگی آماری کمینه، بیشینه، میانگین و انحراف معیار استخراج شده‌اند، برای طبقه‌بندی از ANN استفاده شده است و وزن‌ها و بایاس‌های این شبکه با استفاده از الگوریتم PSO تعیین شدند. 75% از داده‌ها برای آموزش و 25% برای تست استفاده شدند. در این کار Yalcin و همکاران از هفت نوع PSO استفاده کردند که تفاوت این الگوریتم‌ها در روابط وزن اولیه و به‌روزرسانی سرعت بود و 6/99% بهترین صحت، گزارش شده بود.

شبکة عصبی شعاعی (RBFNN)[8] نیز برای هدف تشخیص حمله‌های صرعی در [24] استفاده شد. در این شبکه، سه پارامتر مرکز، پخش‌شدگی و وزن وجود دارد که باید مقادیر آنها به‌ دست آید؛ این مقادیر با الگوریتم PSO تعیین شدند. برای هدف استخراج ویژگی نیز از تبدیل موجک گسسته استفاده شد؛ صحت این کار 99% به دست آمد.

در [25] Saini و همکاران، سیگنال‌ها را به سه دستة سالم، بیمار بدون حمله و بیمار دارای حمله طبقه‌بندی کردند. در مرحلة استخراج ویژگی، 13 ویژگی آماری از داده‌ها استخراج شدند؛ مانند کمینه، بیشینه، میانگین، مد، میانه، انحراف معیار، انرژی، آنتروپی، واریانس، توان میانگین، نسبت سیگنال به نویز، ضریب واریانس و نسبت عبور از صفر. این ویژگی‌ها به شبکة عصبی ANN وارد شدند و صحت طبقه‌بندی 99% محاسبه شد. سپس با استفاده از الگوریتم PSO، وزن‌های شبکه تغییر یافت، بهبود عملکرد صورت گرفت و صحت طبقه‌بندی به 3/99% افزایش یافت. همچنین، این افراد در مقالة [26] مقایسه‌ای بین روش‌ ترکیبی ANN و PSO و روش ترکیبی ANN و الگوریتم ژنتیک، انجام و نشان دادند ترکیب ANN و الگوریتم ژنتیک می‌تواند خطای شبکه را کاهش دهد و برای هدف تشخیص حمله‌های صرعی مناسب باشد.

Wang و همکاران نیز از ترکیب روش‌های زمانی و فرکانسی، برای استخراج ویژگی و از چندین الگوریتم برای طبقه‌بندی استفاده کردند که در بهترین نتیجه، صحت 25/99% را با طبقه‌بندی ماشین بردار پشتیبان به دست آوردند [27].

  Tahir و همکاران برای هدف استخراج ویژگی، از تبدیل ویولت گسسته DB2 استفاده کردند و بیشینة ضرایب، کمینة ضرایب، انحراف معیار و میانگین ضرایب را به‌عنوان ویژگی‌های استخراج‌شده به شبکة ANN وارد کردند که با استفاده از الگوریتم PSO بهبود یافته بود. در این کار
450 داده، دادة آموزش و 50 داده، دادة تست در نظر گرفته شدند؛ نتیجة صحت طبقه‌بندی در این کار 94% گزارش شده است [28].

از ترکیب شبکه‌های عصبی ANN و الگوریتم‌های بهینه‌سازی، در کاربردهای بسیاری استفاده شده است که یک نوع آن در مقالة [29] برای هدف واسط مغز و کامپیوتر بوده است؛ اما در این کار، انتخاب ویژگی با استفاده از الگوریتم PSO و آموزش شبکه با استفاده از الگوریتم BP و لونبرگ انجام شده است.

3- مبانی و روش‌ها

3-1- تبدیل موجک و استخراج ویژگی

تبدیل فوریه برای بیان خاصیت‌های فرکانسی سیگنال از تجزیة سیگنال به سینوسی‌های مختلف استفاده می‌کند. این روش، قدرت تفکیک یک سیگنال را توأمان در دو حوزة زمانی و مکانی به دست نمی‌دهد و اطلاعات کمتری از سیگنالی می‌دهد که فرکانس متغیر نسبت به زمان دارد.

تبدیل فوریه زمان کوتاه برای آنالیز حوزة زمان و نیز حوزة فرکانس سیگنال می‌تواند استفاده شود؛ اما ثابت‌بودن طول پنجرة آنالیز سیگنال در طول آنالیز باعث شده است این روش برای مطالعة سیگنال‌های غیرایستان، مانند EEG، خیلی مفید نباشد. مشکل در انتخاب پنجره با سایز مناسب برای محاسبة ویژگی سیگنال‌ها باعث شد از روش‌هایی استفاده شود که قدرت تفکیک زمانی و قدرت تفکیک فرکانسی خوبی دارند. از تبدیل‌های گابور و ویگنر - ویل نیز برای این منظور استفاده شده است؛ اما در این مقاله از توابع موجک گسسته به‌منظور استخراج ویژگی استفاده شده است.

خانوادة موجک، مجموعی از توابع پایه‌اند که از انتقال و تأخیر تابع موجک مادر ایجاد می‌شوند. رابطة توابع موجک در زیر بیان شده است:

(1)

                                                                     

a و b، ضرایب مقیاس و انتقال و t پارامتر زمان است.

توابع موجک گسسته با جفت فیلترهای بالاگذر و پایین‌گذر تعریف می‌شوند که به‌عنوان فیلترهای آینه‌ای مربع شناخته می‌شوند. این فیلترها مؤلفه‌های فرکانس بالا و پایین سیگنال ورودی را جدا می‌کنند.

با توجه به شکل (1) در هر مرحله، دو فیلتر دیجیتال و دو کاهندة نمونه وجود دارد. نخستین فیلتر، فیلتر بالاگذر و دومین فیلتر، فیلتر پایین‌گذر است. در مرحلة نخست، خروجی فیلتر بالاگذر ضرایب جزئیات D1 و خروجی فیلتر پایین‌گذر ضرایب تقریب A1 است. ضرایب A دوباره تجزیه می‌شوند و تا مرحلة مدنظر این کار ادامه می‌یابد. انتخاب موجک مناسب و تعداد مراحل تجزیة سیگنال با توجه به تجربه صورت می‌گیرد. در این مقاله از چهار مرحلة تجزیة سیگنال استفاده می‌شود.

داده‌های ما شامل اطلاعات 5/0 تا 85 هرتز است که در هر مرحله این فرکانس به دو باند فرکانسی تقسیم می‌شود. فرکانس بالاتر که کمتر بررسی می‌شود، همان D1 است و فرکانس 85-42 هرتز دارد؛ اما باند فرکانسی پایین
(42-0 هرتز) دوباره تجزیه می‌شود و دو باند فرکانسی دیگر تولید می‌کند. فرکانس بالاتر، 42-21 هرتز و فرکانس پایین‌تر 21-0 هرتز است. این فرکانس‌ها دوباره با فیلترهای بالاگذر و پایین‌گذر تجزیه می‌شوند و فرکانس‌های 21-10 هرتز و 10-0 هرتز را ایجاد می‌کنند. در مرحلة چهارم نیز همین کار تکرار می‌شود و باند فرکانسی 5-0 هرتز و 10-5 هرتز ایجاد می‌شود.

 

 

                                                                                                                                                                                                                                                 

         
         

سیگنال

         
         

                                                                                                     

           
           

HP

           
           

                                                                                          

           
           

LP

           
           

                                                                                                                    

           
           

Fs/2

           
           

                                                                                          

           
           

HP

           
           

                                                                                          

           
           

LP

           
           

                                                                                          

           
           

HP

           
           

                                                                                          

           
           

LP

           
           

                                                                                          

           
           

HP

           
           

                                                                                          

           
           

LP

           
           

                                                                                                                                                                                                      

      
      

D1 (FS/2-Fs/4)

      
      

                                             

      
      

A1 (0-FS/4)

      
      

                                             

      
      

D2 (FS/4-Fs/8)

      
      

                                             

      
      

D3 (FS/8-Fs/16)

      
      

                                             

      
      

D4 (FS/16-Fs/32)

      
      

                                             

      
      

A2 (0-FS/8)

      
      

                                             

      
      

A3 (0-FS/16)

      
      

                                             

      
      

A4 (0-FS/32)

      
      

                         

 

شکل (1): مراحل تجزیة سیگنال با استفاده از تبدیل موجک چهار مرحله‌ای‌

 

 

3-2- شبکه‌های عصبی پرسپترون چندلایه

شبکه‌های ANN، الگویی برای پردازش اطلاعات‌اند که با تقلید از شبکه‌های عصبی بیولوژیکی مانند مغز انسان ساخته شده‌اند. عنصر کلیدی این الگو، ساختار جدید سیستم پردازش اطلاعات آن است و از تعداد زیادی عناصر (نرون) با ارتباطات قوی داخلی تشکیل شده‌اند که هماهنگ با هم برای حل مسائل مخصوص کار می‌کنند. شبکه‌های عصبی مصنوعی با پردازش داده‌های تجربی، دانش یا قانون نهفته در ورای داده‌ها را به ساختار شبکه منتقل می‌کنند؛ به این عمل یادگیری می‌گویند. اصولاً توانایی یادگیری مهم‌ترین ویژگی یک سیستم هوشمند است. سیستمی که بتواند یاد بگیرد، منعطف‌تر است و ساده‌تر برنامه‌ریزی می‌شود؛ بنابراین، دربارة مسائل و معادلات جدید بهتر پاسخگو است.

شبکه‌های عصبی مصنوعی برای اهداف مختلفی همچون شبیه‌سازی، تشخیص الگو، طبقه‌‌بندی، پیش‌بینی و بهینه‌سازی در علوم مهندسی به کار گرفته شده‌اند. قابلیت این شبکه‌ها برای نگاشت بین اطلاعات ورودی و خروجی با خطای پذیرفتنی، این روش را به ابزاری مناسب برای مدل‌سازی فرایندهای مهندسی تبدیل کرده است.

در حالت پایه یک شبکه عصبی از سه لایه تشکیل شده است. لایة ورودی، لایة مخفی و لایة خروجی. همچنین، هر لایه شامل تعدادی نرون است. در شبکة عصبی، نورون‌ها دو حالت فعال (روشن یا ۱) و غیرفعال (خاموش یا ۰) دارند و هر یال (سیناپس یا ارتباط بین گره‌ها) یک وزن دارد. یال‌های با وزن مثبت، تحریک یا فعال‌کردن گره غیرفعال بعدی را موجب می‌شوند و یال‌های با وزن منفی، گره متصل بعدی را غیرفعال یا مهار (در صورتی که فعال باشد) می‌کنند. برای محاسبة خروجی هرکدام از ورودی‌های لایة قبل در وزن‌های شبکه، ضرب و با بایاس مربوطه جمع می‌شوند و طبق رابطة (2)، خروجی این مرحله به دست می‌آید:

(2)

    

i نمایندة هر لایه، j نمایندة هر نرون و nتعداد نرون‌های هر لایه است. wij، وزن‌های مربوط به لایة iو نرون j و bi بایاس لایة iام است. NETi نیز خروجی لایة iام است.

 

 

                                                     

       
       

wij

       
       

                                                      

       
       

wjk

       
       

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  

         
         

لایة ورودی

         
         

                                                                        

         
         

لایة پنهان

         
         

                                                                        

         
         

لایة           خروجی

         
         

                                                                        

         
         

xi

         
         

                                                                        

         
         

yj

         
         

                                                                        

         
         

zk

         
         

                                                                        

         
         

ok           Target

         
         

                                                

 

شکل (2): نمایی از یک شبکة پرسپترون چندلایه

 


3-3- الگوریتم بهینه‌سازی انبوه ذرات

PSO براساس رفتار اجتماعی دسته‌های پرندگان عمل می‌کند. برای درک بهتر این روش، سناریوی زیر را در نظر بگیرید؛ دسته‌های پرندگان به‌طور تصادفی در محدودة خاصی به دنبال غذا می‌گردند. در این محدوده فقط یک تکه غذا وجود دارد و پرندگان از محل این غذا خبر ندارند؛ اما در هر لحظه فاصلة خود با محل غذا را می‌دانند. در این حالت، استراتژی مناسب برای یافتن محل دقیق غذا، دنبال‌کردن آن پرنده‌ای است که از بقیه پرندگان به غذا نزدیک‌تر است.

درواقع، PSO نیز از چنین سناریویی الهام گرفته و راه‌حلی برای مسئله است. تمام پاسخ‌های موجود، یک مقدار شایستگی (FV)[9] دارند که آن را از روی تابع شایستگی تعریف‌شده برای مسئله به دست می‌آورند. هدف این روش، یافتن محلی است که بهترین مقدار شایستگی در فضای مسئله را دارد. این مقدار شایستگی در جهت و سرعت حرکت این پرندگان (پاسخ‌های مسئله) به‌سمت محل غذا (پاسخ بهینه) تأثیر مستقیم دارد.

PSO با تعدادی پاسخ اولیه (ذرات) شروع به کار می‌کند و با حرکت‌دادن این پاسخ‌ها طی تکرارهای متوالی، به دنبالِ یافتن جواب بهینه برای مسئله است. در هر تکرار دو مقدار [10]GBest و PBest[11] مشخص می‌شوند.

  • · PBest: مکان بهترین مقدار شایستگی که هر ذره در طول حرکت خود، به آن رسیده است.
  • · GBest: مکان بهترین ذره در جمعیت فعلی.

                                                                                                                                                                           

            
            

موقعیت ذره را به‌روز کن

            

 

            
            

                                                                                                   

            
            

مقدار شایستگی را محاسبه کن

            

 

            
            

                                                                                                                               

            
            

سرعت ذره را به‌روز کن

            

 

            
            

                                                                                                                    

             
             

 Pbest و  Gbest               را به‌روز کن

             

 

             
             

                                                                                                                                                 

               
               

مقداردهی اولیة PSO

               
               

                                                                                                                                                                    

               
               

شروع

               
               

                                                                                                                       

              
              

برای هر ذره در PSO

              

 

              
              

                                                                                                                                                                                                                   

             
             

شرط توقف

             
             

                                                                                                                                            

             
             

پایان

             
             

                                                                                                      

           
           

برو به نسل بعدی

           
           

                                                                                                  

      
      

بله

      
      

                                      

     
     

خیر

     
     

       

 

 

شکل (3): فلوچارت الگوریتم PSO

پس از یافتن مقادیر بالا، سرعت حرکت ذرات از رابطة (3) و نیز مکان بعدی هر ذره از رابطة (4) محاسبه می‌شود.

(3)

    

(4)

    

در این روابط، مقادیر  و  عددی تصادفی بین صفر و یک‌اند، ضرایب  و  نیز ضرایب یادگیری نامیده می‌شوند. گام‌های الگوریتم PSO به‌طور خلاصه در
شکل (3) مشاهده می‌شوند.

در هر تکرار از الگوریتم، سرعت حرکت ذرات (میزان تغییرات برای هر ذره) در هر بعد را می‌توان با یک مقدار از پیش تعیین شدة Vmax محدود کرد. در این حالت اگر سرعت هر ذره در هر بعد، از این حد فراتر رفت، آن را با Vmax جایگزین می‌کنیم.

4- الگوریتم پیشنهادی برای آموزش شبکه

در این بخش، الگوریتم پیشنهادی تشریح می‌شود؛ فلوچارت مربوط به آن در شکل (4) آمده است.

ابتدا داده‌های استفاده‌شده وارد الگوریتم می‌شوند. این داده‌ها باید پیش‌پردازش شوند. این مرحله با تبدیل موجک انجام می‌شود و ویژگی‌های مربوطه استخراج می‌شوند. در این مقاله از موجک Daubechies چهار مرحله‌ای (DB4) برای استخراج ویژگی استفاده می‌شود. با توجه به شکل (1) این چهار مرحله سیگنال را به پنج زیرباند تجزیه می‌کند؛ در جدول (1) ضرایب و پهنای باند مربوطه نوشته شده‌اند. روش محاسبة این باندهای فرکانسی نیز در بخش 3-1 بیان شده است [4] و [30]. یک بردار ویژگی شامل کمینه و بیشینة ضرایب تقریب و جزئیات از سیگنال استخراج می‌شود که ده مؤلفه دارد. این ویژگی‌های استخراج‌شده به‌عنوان ورودی به شبکه‌های عصبی پرسپترون چندلایه (MLP) داده می‌شوند که برای طبقه‌بندی داده‌ها استفاده می‌شوند.

جدول (1): پهنای باند ضرایب موجک

پهنای باند (هرتز)

ضرایب موجک

85-5/42

D1

5/42-25/21

D2

25/21-625/10

D3

625/10-3125/5

D4

3125/5-5/0

A4

 

داده‌ها قبل از ورود به شبکه باید نرمال شوند؛ زیرا واردکردن داده‌ها به‌صورت خام، سرعت و دقت شبکه را کاهش می‌دهد. همچنین، با توجه به اینکه هرکدام از پارامترها تقسیم‌بندی مربوط به خودشان را دارند، برای یکسان‌کردن دامنة تغییرات آنها عمل نرمال‌سازی داده‌ها صورت می‌گیرد تا از کوچک‌شدن بیش از حد وزن‌های شبکه جلوگیری شود. در این مقاله از رابطة زیر برای نرمال‌سازی استفاده شده است که داده‌ها را بین 1 و 1- استاندارد می‌کند:

 

                                                                                                                                          

          
          

وزن‌های جدید = Gbest

          
          

                                                                                                               

           
           

بله

           
           

                                                                                          

           
           

خیر

           
           

                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

                       
                       

ذخیرة                         مقادیر تصادفی وزن‌ها و بایاس‌ها به‌عنوانPbest  و قراردادن تکرار i=0

                       
                       

                                                                                                                                                                                                      

                       
                       

محاسبة خروجی شبکه و خطا برای هر ذره

                       
                       

                                                                                                                                                                                                                                                                   

                       
                       

تعیین ساختار شبکه و تعداد تکرار

                       

 

                       
                       

                                                                                                                                                                                                                                  

                        
                        

یافتن                          ذره با خطای کمینه و ذخیرة وزن‌های مربوطه در Gbest

                        
                        

                                                                                                                                                                                                                                                                          

                          
                          

واردکردن داده‌های EEG

                          
                          

                                                                                                                                                                                                                                 

                          
                          

شروع

                          
                          

                                                                                                                                                                                                                          

                         
                         

استخراج ویژگی‌های ‌سیگنال EEG با استفاده از تبدیل موجک

                         
                         

                                                                                                                                                                                                                                                                                                                                                        

                        
                        

خطای وزن‌های جدید کمتر از خطای Pbest

                        
                        

                                                                                                                                                                                                               

                        
                        

پایان

                        
                        

                                                                                                                                                                            

                   
                   

یافتن سرعت iامین                     ذره و اضافه‌کردن آن به وزن‌های موجود                     برای یافتن وزن‌های جدید

                   
                   

                                                                                                                                                    

                 
                 

ذخیرة وزن‌های جدید در  Pbest

                 
                 

                                                                                                                                                                      

                
                

بله

                
                

                                                                                                                                                         

               
               

سرعت ذرة جدید = سرعت ذرة فعلی

               
               

                                                                                                                              

               
               

خیر

               
               

                                                                                                                       

              
              

i=i+1

              
              

                                                                                                                                            

              
              

i =                تعداد ذرات

              
              

                                                                                                                                                                

             
             

استفاده از وزن‌‌‌هایGbest  برای ادامة عملکرد شبکه

             
             

                                                             

 

شکل (4): فلوچارت الگوریتم پیشنهادی

 

(5)

    

R مقدار واقعی، Rminو Rmaxکمترین و بیش‌ترین مقادیر واقعی‌اند، Nmin = -1 و Nmax = 1 است.

از دو نوع اعتبارسنجی برای محاسبة نتایج شبکه استفاده می‌شود؛ نوع اول اعتبارسنجی برگزاری[12] است که در آن، 50% از داده‌ها، یعنی 250 سیگنال EEG، به شکل تصادفی برای آموزش شبکه و بقیه برای تست شبکه استفاده می‌شوند. برای جلوگیری از بیش‌برازش شبکه[13] از اعتبارسنجی متقابل یک‌طرفه[14] نیز استفاده شده است. از
10 نرون در لایة ورودی شبکه و 12 نرون در لایة میانی و
2 نرون در لایة خروجی استفاده می‌شود.

توابع فعال‌ساز به‌منظور منطبق‌کردن روابط غیرخطی ورودی‌ها و خروجی‌ها طراحی شده‌اند. در این مقاله از تابع tansig با رابطة زیر در هر دو لایه استفاده شده است.

(6)

    

 

                       

    
    

a = tansig(n)

    
    

                                                                                                                                                                                                                                          

    
    

n

    
    

                          

    
    

0

    
    

                          

    
    

-1

    
    

                          

    
    

+1

    
    

          
                               

    
    

a

    
    

  

 

شکل (5): تابع فعال‌ساز tansig

در این مرحله برای جلوگیری از گیرکردن شبکه در یک گرادیان محلی و یافتن گرادیان کلی و بهبود عملکرد شبکه از الگوریتم PSO استفاده می‌شود. الگوریتم PSO روش جستجو مبتنی بر جمعیت است که به اشتراک‌گذاری اطلاعات میان اعضای جمعیت خود بستگی دارد تا فرایندهای جستجوی خود را با استفاده از ترکیب قوانین قطعی و احتمالی ارتقا دهد [31]. به‌طور کلی سه روش برای استفاده از یک الگوریتم ابتکاری برای آموزش شبکه وجود دارد که نخستین روش، یافتن ترکیبی از وزن‌ها و بایاس‌های شبکه است که یک خطای کمینه ایجاد می‌کند. دومین روش، استفاده از الگوریتم برای یافتن ساختاری مناسب به‌منظور حل یک مسئلة مشخص و سومین روش، استفاده از الگوریتم برای یافتن مقادیری مانند میزان آموزش و مومنتوم شبکه است. در این مقاله از کاربرد نوع اول استفاده شده و هدف کمینه‌کردن میانگین خطا برای یافتن وزن‌ها و بایاس‌های شبکه است. این الگوریتم به شکل زیر کار می‌کند.

موقعیت هر ذره در گروه، مجموعه‌ای از وزن‌های شبکه را برای تکرار جاری نشان می‌دهد. بعد هر ذره برابر با تعداد وزن‌هایی است که در شبکه وجود دارد. ذرات در فضای وزن حرکت می‌کنند و سعی در کمینه‌کردن خطا دارند. تغییر موقعیت هر ذره به معنای به‌روزرسانی وزن‌های شبکه به‌منظور کاهش میانگین مربع خطای تکرار جاری است. در هر تکرار، تمام ذرات موقعیتشان را با محاسبه‌کردن سرعت جدید، به‌روزرسانی و به موقعیت جدید حرکت می‌کنند. موقعیت جدید، مجموعه‌ای از وزن‌های جدید است که برای به دست آوردن مجموع مربعات خطای جدید استفاده می‌شود. در این روش، اگر مجموع مربعات خطای جدید کاهش نیابد، ذره به موقعیت جدید حرکت نخواهد کرد؛ بنابراین، وزن‌های جدید دور انداخته می‌شوند. این فرایند برای تمام ذرات تکرار می‌شود. ذره با حداقل مجموع مربعات خطا بهترین ذره‌ای در نظر گرفته می‌شود که تاکنون پیدا شده است.

فرایند آموزش تا زمانی ادامه می‌یابد که خطای مدنظر با یک ذره به دست آید یا شرط خاتمه مانند میزان محاسبات ارضا شود. وقتی فرایند آموزش خاتمه یافت، وزن‌ها برای محاسبة خطای دسته‌بندی برای الگوهای آموزش استفاده می‌شوند. سپس مجموعة یکسانی از وزن‌ها برای تست‌کردن شبکه به کمک الگوهای تست استفاده می‌شود.

5- نتایج و بحث

5-1- داده‌های استفاده‌شده

داده‌های استفاده‌شده در این مقالة پژوهشی از بخش صرع دانشگاه Bonn آلمان [32 و 33] استخراج شده که به‌صورت آنلاین در دسترس است. این داده‌ها شامل پنج دستة A، B، C، D و E هستند که هر دسته 100 سیگنال EEG را شامل می‌شود و طول هرکدام 6/23 ثانیه است و با یک آمپلی‌فایر 128 کاناله و یک مبدل آنالوگ به دیجیتال با فرکانس نمونه‌برداری 6/173 هرتز دیجیتال شده و در یک فایل اکسل قرار گرفته است. هر دسته شامل 4097 نمونه عدد است. سیستم ثبت سیگنال، پهنای باند 5/0 تا 85 هرتز دارد.

دسته‌های A و B شامل EEG پنج فرد سالم در شرایط چشمان باز و بسته در حالت بیداری است. این سیگنال‌ها از سطح سر به شکل غیرتهاجمی ثبت شده‌اند. دسته‌های C، D و E از پنج فرد بیمار ثبت شده‌اند؛ اما این سیگنال‌ها به شکل تهاجمی و از داخل جمجمه ثبت شده‌اند. C و E از نواحی ثبت‌ شده‌اند که در آنها تشنج وجود دارد. دستة C در فاصلة زمانی بین دو تشنج و دستة E هم‌زمان با تشنج فرد ثبت شده است. دستة D نیز شامل نواحی خلاف جهت تشنج و زمان بین دو تشنج ثبت شده است. پس دسته‌های A، B، C و D را دسته‌های کلاس صفر و سیگنال‌های سالم و دستة E را دستة کلاس یک و سیگنال‌های دارای حمله می‌توان در نظر گرفت. درواقع در این مقاله، 400 دادة سالم و 100 دادة دارای حملة صرعی وجود دارد. در یک طبقه‌بندی دیگر، دستة A کلاس سالم و دستة E کلاس بیمار در نظر گرفته شد که در این حالت، 100 سیگنال سالم و 100 سیگنال دارای حمله وجود دارد.

تقسیم‌بندی‌های دیگری نیز برای این داده‌ها در مقالات دیگر انجام شده‌اند؛ برای مثال، در بعضی مقالات این داده‌ها به سه دستة سالم، دارای حمله و بدون حمله تقسیم می‌شوند [16 و 25].

5-2- نتایج شبیه‌سازی

در این مقاله ابتدا ویژگی‌ها با استفاده از تبدیل موجک، استخراج و سپس نرمالیزه شده‌اند و پس از آن، به‌عنوان ورودی، به یک شبکة ANN وارد شده‌اند. پس از انجام یادگیری با 50% از داده‌ها صحت این شبکه در طبقه‌بندی این بیماری 87% به دست آمده است.

برای محاسبة صحت، حساسیت، ویژگی و دقت طبقه‌بندی شبکه از رابطه‌های (7)، (8)، (9) و (10) استفاده می‌شود. نسبت شانس تشخیصی (DOR)[15] و قدرت تشخیص منفی[16] نیز از روابط (11) و (12) محاسبه می‌شوند. این مقادیر در جدول (7) آمده‌اند.

    

(7)

    

(8)

    

(9)

    

(10)

    

(11)

    

(12)

TP تعداد مواردی است که به شکل صحیح دارای حملة صرعی و FP تعداد مواردی است که به شکل غلط دارای حملة صرعی تشخیص داده شده‌اند. FN تعداد مواردی است که به شکل غلط بدون حملة صرعی و TN تعداد مواردی است که به شکل صحیح بدون حملة صرعی تشخیص داده شده‌اند.

سپس برای بهبود عملکرد شبکه، وزن‌ها و بایاس‌های شبکه با استفاده از الگوریتم PSO تعیین شده‌اند. تعداد ذرات برای بهینه‌سازی این الگوریتم بین 30 تا 100 انتخاب شده‌اند. طبق جدول (2) مشاهده می‌شود تعداد 40 ذره در مقایسه با دیگر موارد بهترین صحت را به دست می‌دهد.

در استفاده از فقط دسته‌های A و E برای آموزش و تست شبکه، پس از تکرار 50000 مقدار صحت طبقه‌بندی به 75/99% رسید. جداول ارائه‌شده در ادامه به طبقه‌بندی دسته‌های A، B، C، D و E مربوط‌اند.

جدول (2): تأثیر تعداد ذرات روی عملکرد شبکهدر تعداد تکرار یکسان 1000

تعداد   ذرات

MSE

صحت   طبقه‌بندی (درصد)

30

17877/0

89

40

15912/0

8/90

45

17967/0

6/89

50

16246/0

90

60

1748/0

2/89

100

15888/0

8/89

مقادیر c1 و c2 در رابطة (3) ابتدا هر دو برابر با دو انتخاب شدند و طبق جدول (3) ملاحظه می‌شود مقادیر 4/1 c1=و 6/2 c2=نتایج بهتری به دست می‌دهند. وزن اولیة شبکه 2w= انتخاب شد و مقدار wmin و wmax که گام‌های تعیین وزن‌اند، بین 7/0 و 9/0 انتخاب شده‌اند.

جدول (3): تأثیر تغییر c1و c2 در تعداد تکرار یکسان 1000

C1

C2

MSE

صحت   طبقه‌بندی (درصد)

4/1

6/2

15912/0

8/90

2

2

19019/0

4/88

3/2

7/1

20702/0

88

6/2

4/1

1873/0

88

 

در استفاده از روش اعتبارسنجی برگزاری، در هر مرحله نتیجة صحت طبقه‌بندی متفاوت است؛ چون داده‌های آموزش و تست به شکل تصادفی انتخاب می‌شوند. به همین دلیل این طبقه‌بندی پنج بار از ابتدا (یعنی انتخاب داده‌ها و آموزش و تست شبکه) تکرار شد، وزن‌های شبکه هر بار با استفاده از الگوریتم PSO تعیین شدند و صحت طبقه‌بندی شبکه به 4/94% افزایش یافت که این مقدار برای داده‌های کلی محاسبه شده است؛ مقدار آن برای داده‌های تست 2/92% و برای داده‌های آموزش 6/96% محاسبه شد.

در استفاده از روش اعتبارسنجی متقابل یک‌طرفه یکی از داده‌ها نگه داشته شده است و بقیه داده‌ها برای آموزش شبکه استفاده می‌شوند. به تعداد داده‌ها آموزش شبکه ادامه می‌یابد تا اعتبارسنجی متقابل روی همة داده‌ها انجام شود. انجام این کار از بیش‌برازش شبکه جلوگیری می‌‌کند. در حالت بیش‌برازش، شبکه در طبقه‌بندی داده‌های آموزش خطای پایینی دارد؛ اما در داده‌های تست خطای بالایی دارد. یعنی به‌جای یادگیری، داده‌ها را در حافظه ذخیره می‌کند و عدم توانایی شبکه را در پیش‌بینی نتایج برای داده‌های تست موجب می‌شود. نتایج بیان‌شده در جدول (7)، شکل (6) و جدول (8) با استفاده از اعتبارسنجی متقابل یک‌طرفه محاسبه شده‌اند.

در جدول (6)، تأثیر تعداد تکرارها بر صحت و خطای شبکه بررسی شده است و ملاحظه می‌شود خطای مجذور میانگین شبکه با افزایش تعداد تکرارهای این الگوریتم کاهش می‌یابد و صحت شبکه بالاتر می‌رود؛ اما از جایی به بعد، افزایش تعداد تکرارها، به‌دلیل رسیدن شبکه به یک همگرایی دیگر، بر نتایج تأثیری نمی‌گذارد.

خطای مجذور میانگین شبکه (MSE)[17] به این صورت تعیین می‌شود:

(13)

    

N، تعداد کل داده‌ها و ، مقدار خروجی مورد انتظار و  مقدار خروجی واقعی است.

خلاصة این نتایج در جداول (2)، (3)، (4)، (5)، (6) و (7) بیان شده است.

نمونه‌ای از نتایج طبقه‌بندی و MSE مربوط، در
شکل (6) مشاهده می‌شود. این نمودار منحنی همگرایی شبکه محسوب می‌شود و نمودار خطا برحسب تعداد تکرارها است.

جدول (4): تأثیر تغییر wminو wmax در تعداد تکرار
یکسان 1000

wmin

wmax

MSE

صحت   طبقه‌بندی (درصد)

5/0

93/0

21133/0

8/85

65/0

95/0

1964/0

7/87

7/0

9/0

15912/0

8/90

75/0

85/0

185/0

2/89

8/0

91/0

202/0

4/87

 

جدول (5): تأثیر تغییر تعداد نرون‌های لایة پنهان در تعداد تکرار یکسان 1000

تعداد نرون‌های لایة پنهان

MSE

صحت   طبقه‌بندی (درصد)

10

17481/0

4/90

12

15912/0

8/90

13

17363/0

4/88

15

18015/0

6/87

20

17866/0

6/88

 


جدول (6): تأثیر تعداد تکرار بر عملکرد شبکه

صحت طبقه‌بندی (درصد)

دقت

حساسیت

ویژگی

نسبت شانس تشخیصی

دقت تشخیص منفی

2/96

85/99

68/95

79/98

1817

82

 

 

جدول (7): ارزیابی عملکرد شبکه

تعداد   تکرار

MSE

صحت   طبقه‌بندی (درصد)

1000

15912/0

8/90

5000

13475/0

4/91

10000

1312/0

8/91

15000

12914/0

93

20000

1261/0

4/94

25000

14789/0

2/91

30000

1271/0

93

40000

097/0

2/95

60000

086/0

8/95

 

فواصل اطمینان 95% مربوط به حساسیت این مقاله 35/96-12/95 و فواصل اطمینان ویژگی 6/99-98/97 محاسبه شده‌اند. همچنین، این مقادیر برای دقت تشخیص منفی 4/79 تا 59/84 و برای دقت 58/99 تا 91/99 محاسبه شده‌اند.

 

شکل (6): منحنی همگرایی شبکه

در انتها مقایسه‌ای بین کار‌های قبلی و الگوریتم ارائه‌شده صورت گرفته و طبق جدول (8) پذیرفته‌بودن الگوریتم پیشنهادی نشان داده شده است. در این مقایسه از مقالاتی استفاده شد که از داده‌های یکسانی استفاده می‌کنند.


جدول (8): مقایسه با مقالات قبلی

الگوریتم

صحت   طبقه‌بندی (درصد)

داده‌های   استفاده‌شده

PSD + ANN [15]

89

A و E

ANN و پنجره لغزان [17]

7/93

A و E

ویولت، آنتروپی   و ANN [21]

94

A، B، C، D و E

فیلترکردن چند مرحله‌ای و ANN [34]

60

A، B، C، D و E

ویولت   و ANN [4]

6/98

A، B، C، D و E

ANN و PSO [22]

98

A و E

ANN و PSO [23]

6/99

A و E

ویولت،   RBFNN و PSO [24]

99

A و E

ویولت، ANN و PSO[28]

94

A، B، C، D و E

روش پیشنهادی این مقاله

2/96

A، B، C، D و E

روش پیشنهادی این مقاله

75/99

A و E

 

 

6- نتیجه‌گیری

به‌دلیل زیادبودن و طولانی‌بودن داده‌های EEG در تشخیص بیماری صرع و مشکل‌بودن تحلیل این داده‌ها، تشخیص خودکار و نرم‌افزاری این بیماری کار مهمی محسوب می‌شود. با توجه به اینکه امواج سوزنی مهم‌ترین مشخصه در زمان حملة صرعی در EEG افراد است، در این مقاله نیز از این مشخصه استفاده شده است. ابتدا با استفاده از تبدیل موجک گسسته، استخراج ویژگی داده‌ها انجام شد و این ویژگی‌ها به‌عنوان ورودی به شبکة ANN داده شده‌اند. همچنین، وزن‌ها و بایاس‌های شبکه‌ با استفاده از الگوریتم PSO انتخاب شده‌اند تا عملکرد شبکه بهبود یابد. در این مقاله از داده‌های به‌خوبی شناخته‌شده استفاده شد. یک بار فقط از دسته داده‌های A و E برای آموزش و نیز تست شبکه استفاده شد و بار دیگر دسته‌های A، B، C، D و E استفاده شدند. نتایج طبقه‌بندی این الگوریتم به‌ترتیب 75/99% و 2/96% محاسبه شده‌اند و می‌توان نتیجه گرفت این الگوریتم، روش درخور قبول برای انجام این طبقه‌بندی است. البته باید اشاره شود به‌تازگی بعضی مقالات روی تشخیص زودهنگام حمله‌های صرعی کار می‌کنند؛ اما این مقاله فقط توانایی تشخیص حمله پس از ثبت آن با EEG را دارد.



[1]تاریخ ارسال مقاله: 16/01/1398

تاریخ پذیرش مقاله: 05/06/1398

نام نویسندۀ مسئول: سعید مشگینی

نشانی نویسندۀ مسئول: ایران - تبریز - دانشگاه تبریز - دانشکدة مهندسی برق و کامپیوتر - گروه مهندسی پزشکی



[1] Feed Forward Artificial Neural Network

[2] Back Propagation

[3] Stimulated Annealing

[4] Differential Evolution

[5] Logistic Regression

[6] Power Spectral Density

[7] Levenberg Marquardt Backpropagation Neural Network

[8] Radial Basis Function Neural Network

[9] Fitness Value

[10] Global Best

[11] Personal Best

[12] Holdout Validantio

[13] Overfitting

[14] Leave-one-out Cross Validation

[15] Diagnostic Odds Ratio

[16] Negative Predictive Value

[17] Mean Squared Error

 

[1] . Engel, T. A. Pedley, "Epilepsy: A Comprehensive Textbook", Williams & Wikins, 1997.

[2] F. H. Lopes da Silva, J. P. Pijn and W. J.Wadman, "Dynamics of Local Neuronal Networks: Control Parameters and Statebifurcations in Epileptogenesis", Progress in Brain Research, 102, pp.359-370, 1994.

[3] L. D. Iasemidis, L. D. Olson, J. C. Sackellars, R. S. savit, "Time Dependencies in the Occurences of Epileptic Seizures: A Nonlinear Approach",  Epilepsy Res, 17, pp.81-94, 1994.

[4] G. Singh, M. Kaur, D. Singh, “Detection of Epileptic Seizure using Wavelet Transformation and Spike Based Features”,  Proceedings of RAECS UIET21-22nd,  Panjab University Chandigarh, December 2015.

[5] S. Mirjalili, A. Lewis, A. s. Sadiq, "Autonomous Particle Group for Particle Swarm Optimization", Arabian Journal for Science and Engineering, Vol. 39, pp. 46-83, 2014.

[6] D. J. Monata, L. Davis, "Training Feedforward Neural Networks using Genetic Algorithms", in 11th International Joint Conference on Artificial Intelligence, pp. 762-767, 1989.

[7] S. Kiranyaz, T. Ince, A. Yildirim, M. Gabbouj, "Evolutionary Artificial Neural Networks by Multi-dimensional Particle Swarm", Neural Networks Vol. 22, No.10, pp. 1448-1462, 2009.

[8] S. Shaw, W. Kinsner, "Chaotic Simulated Annealing in Multilayer Feedforward Networks," in Canadian Conference on Electrical and Computer Engineering, pp. 265-269, 1996.

[9] T. Si, S. Hazra, N. Jana, "Artificial Neural Network Training using Differential Evolutionary Algorithm for Classification," in S. Satapathy, P. Avadhani, A. Abraham (Eds.), Proceedings of the International Conference on Information Systems Design and Intelligent Applications, Springer, Berlin/Heidelberg, AISC 132, Visakhapatnam, India, pp. 769-778, 2012.

[10] A. Amoupour, "New Method Presentation for PID Controller Design Based on PSO-NM Hybrid Algorithm", Computational Intelligence in Electrical Engineering, Vol. 8, No. 1, pp. 63-77, 2017.

[11] R. Havangi, "Increasing Consistency of Particle Filter using the Classic Method and Particle Swarm Algorithm", Computational Intelligence in Electrical Engineering, Vol. 7, No. 2, pp 77-88, 2016.

[12] N. Mohammadi, S. J. Mirabedini, "Comparison of Particle Swarm Optimization and Backpropagation Algorithms for Trainnig Feedforward Neural Network", Journal of Mathematics and Computer Science, Vol. 12, pp. 113-123, 2014.

[13] V. Bajaj, R. Pachori, "Classification of Seizure and Non-Seizure EEG Signals using Empirical Mode Decomposition", IEEE Trans. Inf. Technol. Biomed., Vol. 16, No. 6, pp. 1135–1142, 2012.

[14] Subasi, E. Ercelebi, "Classification of EEG Signals using Neural Network and Logistic Regression," Computer methods and programs in biomedicine, Vol. 78, pp.87-99, 2005.

[15] A.T. Tzallas, M. T. Tsipouras, D. I. Fotiadis, "Epileptic Seizure Detection in EEGs using Time-Frequency Analysis", IEEE Transactions on Information Technology in Biomedicine, Vol. 13, No. 5, 2009.

[16] A.T. Tzallas, M. T. Tsipouras, D. I. Fotiadis, "Automatic Seizure Detection Based on Time-Frequency Analysis and Artificial Neural Networks", Comput. Intell. Neurosci. 80510, 2007.

[17] K. S. Anusha, T. M. Mathew, D. P. Subba, "Classification of Normal and Epileptic EEG Signal using Time & Frequency Domain Features through Artificial Neural Network",  in International Conference on Advances in Computing and Communications, IEEE, 2012.

[18] D. S. Ghosh, H. Adeli, N. Dadmehr, "Mixed-band Wavelet-Chaos-Neural Netwok Methodology for Epilepsy and Epileptic Seizure Detection", IEEE Transactions on Biomedical Engineering, Vol. 54, No. 9, 2007.

[19] H. Ocak, "Optimal Classification of Epileptic Seizures in EEG using Wavelet Analysis and Genetic Algorithm", Signal Processing, Vol. 88, No. 7, pp. 1858-1867, 2008.

[20] B. Abibullaev, M. S. Kim, D. Seo, "Sezure Detection in Temporal Lobe Epileptic EEGs using the Best Basis Wavelet Functions", J. Med. Sys. Vol. 34, pp. 755-765, 2010.

[21] Y. Kumar, M. L. Dewal, R. S. Anand, "Epileptic Seizure Detection in EEG using DWT Based ApEn and artificial Neural Networks", Signal, Image Video Process. Vol. 8, No.7, pp. 1323-1334, 2012.

[22] S. Arslan, G. Tezel, H, Isik, "EEG Signals Classification using a Hybrid Structure of ANN and PSO, "International Journal of Future Computer and Comunication, Vol. 1, No. 2, pp. 170-172, 2012.

[23] N. Yalcin, N. Tezel, C. Karakuzu, "Epilepsy Diagnosis using Artificial Neural Network Learned by PSO", Turkish Journal of Electrical Engineering and Computer Sciences, Vol. 23, pp. 421-432, 2015.

[24] S. K. Satapathy, S. Dehuri, A. K. Jagadev, "EEG Signal Classification using PSO Trained RBF Neural Network for Epilepsy Identification", Informatics in Medicine Unlocked, Vol. 6, pp. 1-11, 2017.

[25] J. Saini, M. Dutta, "Epilepsy Classification using Optimized Artificial Neural Network",  Neurological Research, 2018.

[26] J. Saini, M. Dutta, "Epilepsy Disease Detection using Artificial Neural Network and Performance Improvement using PSO and GA," Proceedings of IEEE FORUM Internatinal Conference, Mumbai, India, 2017.

[27] L. Wang, W. Xue, Y. Li, M. Luo, J. Huang, W. Cui, C. Huang, " Automatic Epileptic Seizure Detection in EEG Signals using Multi-domain Feature Extraction and Nonlinear Analysis",  Entropy, Vol. 19, 2017.

[28] Tahir, U. Qamar, H. Abbas, B. Zeb, S. Abid, "Classification of EEG Signal by Training Neural Network with Swarm Optimization for Identification of Epilepsy", 2019 Association for Computing Machinary, pp. 197-203, 2019.

[29] K. Akilandeswari, G. M. Nasira, "Multi-layer Perceptron Neural Network Classifier with Binary Particle Swarm Optimization Based Feature Selection for Brain Computer Interfaces", International Journal of Computer and Information Engineering, Vol. 9, No. 6, pp. 1615-1621, 2015.

[30] O. Salem, A. Naseem, A. Mehaoua, "Epileptic Seizure Detection from EEG Signal using Discrete Wavelet Transform and Ant Colony Classifier," in IEEE selected areas in communication symposium, 2014.

[31] M. H. Refan,  A.  Dameshghi, M.  Kamarzarrin, "Best Subset Selection of GPS Satellites Using Hybrid PSOSVM Algorithm to Increase Positioning Accuracy", Computational Intelligence in Electrical Engineering, Vol. 6, No. 4, pp. 0-63, 2016.

[32] R. G. Andrzejak, K. Lehnertz, F. Mormann, C. Rieke, P. David, C. E. Elger, "Indications of nonlinear Deterministic and Finite-dimensional Structures in Time Series of Brain Electrical Activity: Dependance on Recording Region and Brain State",  Phys. Rev.E. Stat., Vol. 64, No. 6, pp. 1-8, 2001.

[33] http://www.epileptologie-bonn.de/cms/upload/workgroup/lehnertz/eegdata.html

[34] V. P. Nigam, D. Graupe, "A Neural Network Based Detection of Epilepsy", Neurol. Res. Vol. 26, No. 1, pp. 55-60,2004.