فرایند پیش بینی وقوع تشنج صرعی در پایگاه داده فیزیونت


تقریبا 1 درصد مردم جهان از صرع رنج می برند، بیماری که در آن تشنج مکرر اتفاق می افتد. صرع به خاطر سیگنالهای الکتریکی غیرنرمالی که در مغز تولید می‌کند، ادارک و رفتار فرد را محدود می‌کند. وقتی یک تشنج صرعی (epileptic seizure) رخ میدهد، فرد ممکن است هوشیاری خود را از دست بدهد و این باعث می‌‎شود که فرد در خطر آسیب جدی، یا حتی مرگ قرار بگیرد! از این رو طراحی یک سیستمی جهت پیش بینی زودهنگام تشنج صرعی بسیار اهمیت پیدا می‌کند. سایت فیزیونت یک پایگاه داده مناسبی برای این منظور فراهم کرده است. در این پست میخواهیم روال طراحی یک سیستم جهت پیش بینی تشنج صرعی را توضیح دهیم و همچنین یک سری نکات در مورد این پایگاه داده وجود دارد که در این پست به اونها هم میپردازیم.

سیگنال مغزی و صرع

سیگنال مغزی ثبت شده توسط electroencephalogram گزینه مناسبی برای تحلیل و بررسی صرع هست. چرا که ثبت سیگنال مغزی غیرتهاجمی و کم هزینه هست. و از طرفی رزولوشن زمانی خوبی دارد. ثابت شده است که فعالیتهای غیرطبیعی در سیگنال مغزیِ افراد مبتلا به صرع مشاهده می شود. از اینرو با تحلیل سیگنالهای مغزی فرد میتوان صرع را تشخیص داد و حتی وقوع تشنج صرعی را پیش بینی کرد.

هدف 

در این پست، میخواهیم ببینیم چطور میتوان یک سیستم برای پیش بینی تشنج صرعی طراحی کرد. از آنجا که سوالات زیادی در مورد نحوه طراحی سیستم پیش بینی وقوع تشنج در بیماران صرعی پرسیده شده است، لذت تصمیم گرفتم این پست رو آماده کنم تا چهارچوب کار دستتون بیاد و بتونید براساس پایگاه داده ای که سایت فیزیونت به اسم  CHB-MIT Scalp EEG Database در نظر گرفته است پروژه خودتون رو پیش ببرید.

اهمیت پیش بینی وقوع تشنج صرعی

وقتی یک تشنج صرعی (epileptic seizure) رخ میدهد، فرد ممکن است هوشیاری خود را از دست بدهد و این باعث می‌‎شود که فرد در خطر آسیب جدی، یا حتی مرگ قرار بگیرد! از این رو طراحی یک سیستمی جهت پیش بینی زودهنگام تشنج صرعی بسیار اهمیت پیدا می‌کند.

صورت مسئله

قبل از اینکه بخواهیم چارچوب کار رو بررسی کنیم بهتر است اول یک سری اطلاعات اولیه در مورد بخشهای مختلف سیگنال EEG بیمار صرعی داشته باشیم. در شکل زیر تصویر واقعی از سه مرحله در تشنج صرعی یک بیمار نشان داده شده است:

  • قبل از تشنج
  • حین تشنج
  • بعد از تشنج

سیگنال EEG ثبت شده به سه گروه دسته بندی می شود.

  • پری-ایکتال(pre-ictal): سیگنال مغزی ثبت شده قبل از وقوع تشنج
  • ایکتال(ictal): سیگنال مغزی ثبت شده در حین تشنج
  • پست-ایکتال(post-ictal): سیگنال مغزی ثبت شده بعد از وقوع تشنج

البته یک گروه چهارمی به نام interictal هست که قبل از pre-ictal و بعد از post-ictal  قرار دارد. به عبارتی به سیگنال ثبت شده در بین تشنج ها گفته می شود.

فرایند پیش بینی وقوع تشنج صرعی در پایگاه داده فیزیونت

هدف این است که سیستمی طراحی شود، تا بتواند با پردازش سیگنال pre-ictal و یا interictal وقوع تشنج در لحظات بعدی را پیش بینی کند. با اینکار تیم پزشکی متوجه مسئله شده و طبق راهکارهایی که دارند از بیمار مراقبت می‌کنند.

پیش بینی تشنج صرعی یک مسئله رگرسیون هست یا طبقه بندی؟

طبقه بندی یا رگرسیون، مسئله این است. برای جواب دادن به این سوال بهتر است اول با تفاوت بین رگرسیون و طبقه بندی آشنا شویم. در یادگیری ماشین، مسائل طبقه بندی و رگرسیون جزء دسته یادگیری با ناظر هستند. یعنی در پروسه آموزش، ورودی و خروجی مشخص هست و هدف مدل پیدا کردن رابطه خطی/غیرخطی بین ورودی و خروجی است. در مسائل طبقه بندی، خروجی گسسته هست و در مسائل رگرسیون خروجی پیوسته است. باید به این نکته اشاره کرد هر مسئله پیش بینی لزوما یک مسئله رگرسیون نیست! و از اونجا که در این موضوع هدف پیش بینی وقوع تشنج هست، معنیش این نیست که در این پروژه با یک مسئله رگرسیون طرف هستیم!

اجازه بدید با یک مثال ساده بررسی کنیم ببینیم یک مسئله رگرسیون و طبقه بندی در مسائل پیش بینی چه تفاوتی دارند. فرض کنید، میخواهید یک خونه ای رو بخرید. حال هدف شما این است که بدانید براساس شرایط بازار، دو ماه دیگه قیمت خونه ها بالا میره یا نه؟ خب درسته پیش بینی میخواهیم بکنیم، ولی همانطور که میبینیم نتیجه گسسته هست. کلا دو حالت هست (بالا میره یا نه). پس ما در چنین شرایطی با یک مسئله  طبقه بندی روبرو هستیم. اما اگر هدف شما این بود که بگید یک ماه دیگه قیمت این خونه چقدر میشه چی؟ اونجا دیگه خروجی هر عددی میتونه باشه. پس در چنین شرایطی ما با یک مسئله رگرسیون روبرو هستیم.

پس میشه گفت که با مسائل طبقه بندی هم میشه پیش بینی انجام داد. حالا اگه شما بخواهید سیستمی طراحی کنید که بگه  10 دقیقه دیگه فرد تنشج میکنه یا نه، باید با کدوم رویکرد مسئله را حل کرد؟ خب کلا دو حالت داریم، پس این تسک رو به صورت یک مسئله طبقه بندی حل می‌کنیم.

 

نحوه طراحی یک سیستم برای  پیش بینی وقوع تشنج صرعی

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

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

فرایند پیش بینی وقوع تشنج صرعی در پایگاه داده فیزیونت

چند لحظه قبل از وقوع تشنج صرعی را باید جدا کنیم؟

این کاملا بستگی به رویکرد شما دارد. برای مثال اگر میخواهید سیستمی طراحی کنید که پیش بینی کند که بعد از 10 دقیقه فرد تشنج میکند یا نه. در چنین حالتی شما باید برای ساخت داده کلاس 1، 10 دقیقه قبل از وقوع تشنج را جدا کنید

 

طول سیگنالی که میخواهیم جدا کنیم چقدر باشد؟

باز کاملا بستگی به رویکرد شما دارد. اگر میخواهید سیستمی طراحی کنید که با پردازش سیگنال به مدت یک دقیقه پیش بینی کند که فرد 10 دقیقه دیگه تشنج میکند یا نه؟ پس باید شما سیگنال یک دقیقه را جدا کنید. یعنی سیگنال بازه زمانی (از 11 دقیقه قبل تا 10 دقیقه قبل از تشنج را باید جدا کنید)

 

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

فرایند پیش بینی وقوع تشنج صرعی در پایگاه داده فیزیونت

در دوره جامع پردازش سیگنالهای مغزی، اصول پردازش سیگنال مغزی از پایه و به صورت پروژه محور آموزش داده ایم.

 

پایگاه داده فیزیونت برای صرع

سایت فیزیونت پایگاه داده خوبی برای پیش بینی وقوع تشنج صرعی از روی سیگنال مغزی(EEG) ارائه کرده است که میتوانید از آن استفاده کنید. این پایگاه داده از 23 بیمار کودک ثبت شده است. فرکانس نمونه برداری این سیگنال 256 هرتز است. در این پایگاه داده از هر فرد چندین بار ثبت گرفته شده است. کلا 24 فایل (از یک فرد دوبار ثبت شده است) وجود دارد که در داخل هر کدام تعدادی فایل edf وجود دارد که هر کدام از آنها برای یک ثبت بوده است. در طول زمان ثبت برخی از سیگنالها، چندین بار فرد دچار تشنج شده است و در برخی تشنجی نداشته است.

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

نکته خیلی مهم در مورد پایگاه داده صرع فیزیونت

  • در این داده برخی کانالها در طول ثبت اضافه یا حذف شده اند. برای همین بهترین کار اینه که شما کانالهایی رو در تحلیل هاتون استفاده کنید که در همه سابجکتها مشترک باشد. در جدول زیر لیست کانالهای EEG مشترک در بین همه سابجکتها مشخص شده است[مرجع].

فرایند پیش بینی وقوع تشنج صرعی در پایگاه داده فیزیونت

 

در سه ویدیوی زیر به صورت مفصل این پایگاه داده و چارچوب طراحی سیستم برای پیش بینی تشنج صرعی توضیح داده شده است.



بخش اول: طرح مسئله (پیش بینی وقوع تشنج صرعی یک مسئله رگرسیون هست یا طبقه بندی)



بخش دوم: معرفی پایگاه داده فیزیونت برا صرع ( CHB-MIT Scalp EEG Database)



بخش سوم: نحوه طراحی سیستم برای پیش بینی وقوع تشنج صرعی با کمک پایگاه داده فیزیونت


دیدگاه ها

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

code