بیماران قلبی بعضی مواقع دچار حملات ناگهانی می شوند که این وضعیت باعث به وجود آمدن صدماتی در بیمار و یا باعث مرگ وی خواهد شد.حال با بررسی سیگنال ECG که شامل اطلاعات بسیار مهمی از وضعیت قلب است می توان، بسیاری از بیماری های قلبی را تشخیص داد. بنابراین پیش بینی این سیگنال ها حتی برای چند ثانیه برای پزشک معالج مفید خواهد بود. چون این سیگنال ها به صورت غیر خطی بوده و شبکه های عصبی گزینه مناسبی برای پیش بینی آنها است. ما در این مقاله برای پیش بینی از ساختار MLP استفاده کردیم و آموزش شبکه عصبی نیزبا استفاده از الگوریتم PSO انجام گرفت و توانستیم سیگنال را با دقت 9/97 درصد پیش بینی کنیم.
الکتروکاردیوگرام از قدیمی ترین و مرسوم ترین روش های شناسایی و بررسی فعالیت های قلبی است که از زمان اولین ثبت این سیگنال، از زمان Einthoven تاکنون با همان روش، ثبت و نام گذاری می شود. در موارد بسیاری نیاز است سیگنال ECG در دراز مدت ثبت و بررسی شود زیرا بعضی از وضعیت های غیر عادی برای بیمار ممکن است در هر حالتی مانند خواب و یا هر گونه فعالیت روزمره و یا حتی با تغییرات در وضعیت روحی فرد پیش آید که موجب تغییر در وضعیت کارکرد قلب وی شود. بنابراین از ثبت سیگنال ECG به صورت گردشی در بسیاری از موارد کلینیکی و یا تحقیقاتی استفاده می شود . در بخش مراقبت های ویژه پایش سیگنال های فیزیولوژیکی بسیاری از بیماران به طور پیوسته انجام می گیرد تا وضعیت فعلی و هر گونه نشانه های خطر تحت مراقبت باشند. افرادی که به بیماری های قلبی مبتلا هستند بعضی مواقع دچار حملات ناگهانی می شوند که این وضعیت باعث ایجاد صدمات در بیمار و یا حتی مرگ او خواهد شد. حال با توجه به این که سیگنال های ECG شامل اطلاعات بسیار مهمی از وضعیت قلب است، با پیش بینی این سیگنال ها می توان از بروز مشکلات زیادی برای بیماران قلب جلوگیری کرد.[2] استفاده از روش های غیر کلاسیک در شناسایی مدل و پیش بینی رفتار سیستم های پیچیده، مدتی است در محافل علمی و حتی حرفه ای متداول و معمول شده است. در بسیاری از سیستم های پیچیده و خصوصا غیر خطی که مدل سازی و به دنبال آن پیش بینی و کنترل آن ها از طریق روش های کلاسیک و تحلیلی امری بسیار دشوار و حتی بعضا غیر ممکن می نماید، از روش های غیر کلاسیک که از ویژگی هایی همچون هوشمندی، مبتنی بر معرفت و خبرگی برخوردار است، استفاده می شود. [3] در این مقاله ما از شبکه های عصبی برای پیش بینی سیگنال ECG استفاده خواهیم کرد. ابتدا شبکه با وزن های تصادفی آموزش دیده شده و سیگنال الکتروکاردیاگرام پیش بینی می شود و سپس وزن های شبکه عصبی با استفاده از الگوریتم PSO بهینه شده و دوباره سیگنال ECG پیش بینی شده و نتایج حاصل از هر دو روش با هم مقایسه می شوند.
شبکه های عصبی پرسپترون چند لایه MLP
مدل عمومی شبکه های پرسپترون، شبکه جلو رونده با روال تعلیم انتشار به عقب است. شبکه های جلو رونده، شبکه هایی هستند که ورودی های لایه اول نرون های آن به لایه های بعدی متصل بوده و در هر سطح این مسئله صادق بوده تا به لایه خروجی برسد. روال انتشار به عقب به این معنی است که پس از مشخص شدن خروجی شبکه، ابتدا وزن های لایه آخر تصحیح شده و بعد به ترتیب وزن ها لایه های قبلی تصحیح می شوند. در شکل (1) یک شبکه پرسپترون با دو لایه پنهان نشان داده شده است. (مدل به کار برده شده در شبیه سازی) ورودی Xi با وزن خود ضرب شده و وارد لایه دوم می شود (لایه پنهان) و سپس مجموع ضرایب همه Xi ها محاسبه شده و مقدار معین به دست می آید و دو باره به عنوان ورودی وارد لایه بعدی می شود و این پروسه تا زمانی که به لایه خروجی برسد ادامه می یابد و درلایه خروجی با اعمال تابع خروجی برروی آن، خروجی به دست می آید که می توان چند خروجی به طور هم زمان داشت. هر ورودی با یک وزن مشخص وارد نرون در لایه اول می شود و سپس همه ورودی های وارد شده به یک نرون با هم جمع شده و پس اعمال تابع مورد نظر وارد نرون بعدی در لایه بعدی می شوند و این کار در لایه پنهان هم تکرار شده تا این که به لایه خروجی منتقل شده و خروجی شبکه به دست می آید.
الگوریتم PSO
PSO، یک الگوریتم محاسبه ای تکاملی الهام گرفته از طبیعت و براساس تکراراست. منبع الهام این الگوریتم، رفتار اجتماعی حیوانات، همانند حرکت دسته جمعی پرندگان و ماهیها است. همان طور که از اسمش پیداست یک روش بهینه سازی مبتنی بر انبوهی از ذرات است.
مبنای توسعه الگوریتم PSO این است که جواب های ممکن در یک مسئله بهینه سازی به صورت پرندگانی بدون حجم و خصوصیات کیفی در نظر گرفته می شود که از آنان به عنوان ذرات یاد می شود، این پرندگان در یک فضای n بعدی پرواز کرده و مسیر حرکت خود در فضای جستجو را بر اساس تجارب گذشته خود و همسایگانش تغییر می دهند. (اجزاء به عنوان یک جزء از سیستم هوشمندی ندارند ولی رفتار کلی سیستم مبتنی بر هوشمندی است ) در دسته ای متشکل از N جزء، موقعیت جزء iام تحت تأثیر یک بردار مکانی n بعدی مطابق معادله (1) قرار دارد.