Document Type : Research Article
Authors
Dept. of Electrical Engineering, Tarbiat Modares University, Tehran, Iran
Abstract
Keywords
بیماریهای قلبی یکی از علل شایع مرگومیر در سراسر جهاناند. ناهنجاریهای دریچهای قلبی، طیف وسیعی از بیماریها ازجمله تنگی دریچۀ آئورت، تنگی دریچۀ میترال، نارسایی دریچۀ آئورت، نارسایی دریچۀ میترال و ... را شامل میشوند. تشخیص بهموقع ناهنجاریهای دریچهای قلب، کمک شایانی به پیشگیری از گسترش بیماری، درمان و ریشهکنکردن آن خواهد کرد. سمع قلب روشی است که از دیرباز برای تشخیص ناهنجاریهای قلبی استفاده شده است. صداهای اصلی قلب که به آنها S1 و S2 گفته میشود، صداهای فرکانس پایینی هستند که در افراد سالم شنیده میشوند. به فاصلۀ میان S1 تا S2 سیستول و به فاصلۀ S2 تا S1 سیکل بعدی دیاستول گفته میشود. در افراد بیمار علاوه بر صداهای اصلی قلب صداهای فرکانس بالای دیگری نیز شنیده میشود که به آنها سوفل گفته میشود. حضور سوفلها با فرکانسهای مختلف و در قسمتهای مختلف از یک دورۀ قلبی نشاندهندۀ بیماری است. به دلیل محدودیتهای سیستم شنوایی انسان و ماهیت گذرا و غیر ایستان صدای قلب، تشخیص ناهنجاریها از روی صدای قلب امر دشواری است که به سالها تمرین و تجربه نیاز دارد. پیشرفتهای اخیر در ساخت گوشیهای پزشکی الکترونیکی و پردازش سیگنال، زمینه را برای ساخت ابزارهای هوشمند، غیرتهاجمی، کم هزینه و با کاربری آسان برای کمک به تشخیص اولیۀ ناهنجاریها در مراکز درمانی و نقاط محروم فراهم کرده است.
پژوهشهای انجامگرفته در این زمینه در سه حوزه تقسیمبندی میشوند. این سه حوزه شامل قطعهبندی سیگنال PCG[1]، استخراج ویژگی و طبقهبندی هستند. قطعهبندی صدای قلب به معنی تعیین پیک صدای S1 و S2 در سیگنال PCG است. مطمئنترین راه قطعهبندی، استفاده از سیگنال کمکی ECG[2] است که بهطور همزمان با سیگنال PCG ثبت شده است ]1[. دستۀ دیگر، روشهای قطعهبندی مبتنی بر پوشاند که محققان زیادی به آن پرداختهاند. قطعهبندی بر پایۀ پوش در سه مرحله انجام میشود ]2[: استخراج پوش سیگنال صدای قلب، یافتن پیکهای سیگنال پوش و ارائۀ روشی برای تصمیمگیری در رابطه با تعیین پیکهای S1 و S2. انرژی شانون نرمالیزهشده ]3[، فیلتر همومورفیک ]4[، تبدیل هیلبرت ]5[، تبدیل هیلبرت هوانگ ]5[ و تبدیل هیلبرت اصلاحشدۀ زمان کوتاه ]7[ ازجمله الگوریتمهای استخراج پوشاند. در روشهای مبتنی بر پوش، مقدار آستانه متناسب با افراد مختلف و نوع بیماری تغییر میکند و باید به دنبال روشی برای یافتن آستانه بهصورت خودکار بود ]8[. روشهای مبتنی بر مدلهای آماری مثل مدل مخفی مارکوف و شبه مارکوف نسبت به روشهای مبتنی بر آستانهگذاری موفقتر بودهاند. در صورت همراهشدن اطلاعات اولیه با این مدلها نتیجه بهتر خواهد شد. در ]9[ از مدل مخفی شبه مارکوف برای قطعهبندی دقیق سیگنال صدای قلب ضبطشده از محیطهای عمومی و درنتیجه نویزی استفاده شده است. حالتهای مدل به 4 گروه S1، سیستول، S2 و دیاستول تقسیمبندی شدهاند. طول هر کدام از این حالتها با استفاده از یک توزیع گوسی مدل شده است. همچنین از سیگنال کمکی ECG برای ساخت مدل و تعیین محل صداهای S1 و S2 در نمونههای آموزشی استفاده شده است. درنهایت الگوریتم ویتربی اصلاحشده برای یافتن محتملترین دنبالۀ حالتها به کار رفته است. بعد از ساخت مدل برای قطعهبندی سیگنالهای PCG جدید نیازی به همراهبودن ECG نیست.
بهمنظور طبقهبندی مؤثر، ویژگیهای استخراجی باید به گونهای باشند که برای نمونههای متعلق به یک طبقه، مشابه و برای نمونههای طبقات مختلف متفاوت باشند. ویژگیهای استخراجی در پژوهشهای مختلف در سه دستۀ ویژگیهای زمانی، ویژگیهای فرکانسی و ویژگیهای زمان - فرکانسی تقسیم میشوند. در ]10[ ویژگیهایی از قسمت دیاستولی صدای قلب استخراج شده است؛ به این صورت که فاصلۀ میان S2 تا S1 سیکل بعدی به 8 قسمت مساوی تقسیم شده است. مقدار ماکزیمم و مینیمم سیگنال PCG در همسایگی ℇاز هر یک از این مرزها بهعنوان ویژگی استخراج شده است. در ]11[ پس از اعمال تبدیل فوریه، نمونههای مربوط به طیف فرکانسی 0 تا 300 هرتز بهعنوان ویژگی استخراج شدهاند. در ]12[ از طیف توان نرمالیزهشدۀ حاصل از مدلسازی AR مرتبه 14 برای استخراج ویژگی استفاده شده است. قلۀ ماکزیمم در طیف توان و محدودۀ فرکانسی که با اعمال آستانهای روی طیف توان تعیین میشود، دو شاخصی هستند که بهعنوان ویژگی در این تحقیق به کار گرفته شدهاند. مرجع ]13[ از اندازۀ ضرایب حاصل از تبدیل فوریۀ زمان کوتاه بهمنظور استخراج ویژگی استفاده کرده است. به سبب زیادبودن تعداد ضرایب حاصل و اطلاعات زائد و اضافی، از تبدیل کسینوسی گسسته بهره گرفته شده است. در]14[ از تبدیل موجک گسسته بهمنظور استخراج ویژگی استفاده شده است. موجک مادر در این پژوهش db2 بوده است و ضرایب جزییات سطح 2 استخراج شدهاند. سپس سیگنال حاصل به 32 پنجره، تقسیم و توان هر یک از پنجرهها بهعنوان ویژگی محاسبه شده است. در ]15[ با توجه به فرکانس نمونهبرداری 4000 هرتز، بستۀ موجک تا سطح 8 اعمال شده است. با توجه به زیادبودن تعداد گرههای حاصل، با اعمال شروطی بر گرههای سه سطح آخر به هرسکردن درخت حاصل و حذف گرههایی با اطلاعات کم پرداخته شده است.
پس از استخراج ویژگی از سیکلهای صدای قلب، از یک طبقهبند بهمنظور تفکیک دادهها در طبقات مختلف استفاده میشود. در ]16[ از طبقهبند SVM برای طبقهبندی 5 کلاسه استفاده شده است. در این مقاله، نتایج حاصل از تابعهای کرنل مختلف ازجمله کرنل خطی، چندجملهای و RBF[3]، مقایسه و کرنل RBF بهترین کرنل معرفی شده است. در ]13,15,17,18[ طبقهبند SVM با کرنل RBF با حل حداقل مربعات [4] بررسی شده است. در تمام موارد عملکرد طبقهبند SVM با کرنل RBF بهتر بوده است.
همانطور که مشاهده میشود استفاده از طبقهبند SVM در طبقهبندی ناهنجاریهای دریچهای قلب، بسیار مرسوم است. مرجع ]19[ به بررسی طبقهبندهای درخت تصمیم، KNN[5]، SVM، Bayes Net و شبکۀ عصبی MLP[6] پرداخته است. مرجع ]20[ نیز از یک طبقهبند درخت با تکنیک CART[7] برای طبقهبندی استفاده کرده است. در ]21[ عملکرد گروهی از طبقهبندهای SVM با یک طبقهبند تکی SVM مقایسه شده است. تمام طبقهبندهای SVM بهکاررفته در این تحقیق با تابع کرنل خطی استفاده شدهاند. ترکیب طبقهبندها به سه روش Bagging ]22[، Adaboost ]23[ وRandom Subspace ]24[ با تعداد 25 طبقهبند پایه بررسی شده و نتایج با طبقهبند تکی SVM مقایسه شدهاند. بهترین نتیجه مربوط به انتخاب گروهی طبقهبندها به روش Adaboost گزارش شده است. در مرجع ]25[ نیز روش مشابهی با سه نوع طبقهبند پایۀ SVM، KNN و شبکۀ عصبی MLP بهصورت جداگانه بررسی شده است. بهترین نتیجه مربوط به طبقهبند گروهی به روش Adaboost با طبقهبند پایۀ SVM بوده است. روش Adaboost موجب تغییر در توزیع دادههای آموزشی برای هر طبقهبند پایه میشود؛ به این صورت که ابتدا به تمام نمونههای آموزشی وزن یکسانی داده میشود، سپس عمل طبقهبندی انجام میگیرد. در مرحلۀ بعد، وزن مربوط به نمونههایی که به اشتباه طبقهبندی شدهاند، افزایش و وزن نمونههای دیگر کاهش مییابد. حال طبقهبند دیگری با وزنهای جدید ساخته میشود. درنهایت، نتیجۀ نهایی خروجیها با روش رأی اکثریت با توجه به خروجی تمام طبقهبندهای پایه تعیین میشود.
در ادامه ساختار مقاله به این صورت است. روش پیشنهادی شامل پیشپردازشهای لازم، استخراج ویژگی و طبقهبندی در بخش 2 ارائه میشود. نتایج حاصل از شبیهسازی و مقایسۀ روش پیشنهادی با سایر روشها در بخش 3 گنجانده شدهاند. درنهایت، بخش 4 به بحث و نتیجهگیری اختصاص یافته است.
در این بخش روش پیشنهادی معرفی شده است. روش پیشنهادی شامل سه بخش عمدۀ پیشپردازش، استخراج ویژگی و طبقهبندی است. در بخش پیشپردازش به حذف نویز و قطعهبندی سیگنال PCG پرداخته شده است. در بخش استخراج ویژگی، ویژگیهای متنوع و متمایزکننده از سیگنال PCG استخراج شدهاند. درنهایت در بخش طبقهبندی، روشی بر مبنای آموزش گروهی معرفی شده است.
نویز ممکن است ناشی از صداهای مربوط به گوارش، تنفس، حرکات و حتی سیگنالهای موجود در محیط اطراف باشد. این نویزها دارای باند فرکانسی عریضاند و با طیف فرکانسی صدای قلب تداخل دارند. این امر موجب پیچیدگی در فیلترکردن سیگنال PCG میشود. رایجترین روش برای فیلترکردن چنین سیگنالهایی استفاده از الگوریتمهای حذف نویز براساس تبدیل موجک است. در بیشتر تحقیقات، بهمنظور یافتن پارامترهای بهینۀ حذف نویز با استفاده از موجک، تداخلات موجود بهصورت نویز سفید گوسی شبیهسازی شدهاند؛ اما واقعیت این است که این تداخلات بهصورت نویز سفید نیستند و مشخصههای متغیری دارند.
حذف نویز موجک بر مبنای این اصل است که بعضی از جزئیات سیگنال تجزیهشده مرتبط با مقدار میانگین نویز هستند و مابقی آنها مرتبط با PCG تمیز و بدون نویز هستند؛ بنابراین، با حذف جزئیات غیرضروری میتوان سیگنال اصلی را با استفاده از سایر ضرایب و بدون از دست دادن اطلاعات مهم بازسازی کرد. پارامترهای حذف نویز موجک عبارتاند از: نوع موجک مادر، سطح تجزیه، قوانین انتخاب آستانه و انتخاب پارامتر مقیاس آستانه. طبق روش بهکاررفته در ]26[ پارامترها بهصورت زیر تعیین میشوند.
موجک مادر: با بررسی موجکهای متداول، Coif5، بهعنوان بهترین موجک مادر برای حذف نویز انتخاب شده است.
سطح تجزیه: سطح تجزیه بهشدت (توان) نویز بستگی دارد. در صورت ضبط صدا در محیطهای نویزی شدید باید تجزیه در بالاترین سطح یعنی سطح 10 در نظر گرفته شود. در سیگنالهای طبیعی با افزایش فرکانس، انرژی سیگنال در آن فرکانس کاهش مییابد؛ بنابراین، هرچه نویز شدیدتر باشد، باید بیشتر به سمت فرکانسهای پایین حرکت کنیم یا به بیان دیگر، سطح تجزیه را بالا ببریم. مرجع ]27[ سطوح بین 5 تا 10 را برای تجزیه پیشنهاد میدهد.
الگوریتم انتخاب آستانه: از روش minimaxi بهعنوان الگوریتمی برای انتخاب آستانه استفاده شده است. این الگوریتم از آستانۀ ثابت استفاده میکند که براساس قانون minimaxi برای متوسط مربعات خطا تعیین شده است ]27[.
پارامتر مقیاس آستانه: از [8]mln برای مقیاس آستانه استفاده شده است ]27[. این روش نویز را بهصورت رنگی مدل میکند. در این نمونه، روش مقیاسدهی به سطح نویز تخمین زده شده بستگی دارد. در روش mln برای هر مقیاس یک بار سطح نویز تخمین زده میشود.
شکل 1 یک نمونه سیگنال PCG قبل و بعد از حذف نویز
شکل 1، یک نمونه از سیگنال PCG قبل و بعد از حذف نویز را نشان میدهد.
پس از حذف نویز به قطعهبندی سیگنال PCG براساس الگوریتم ]37[ پرداخته شده است. در این الگوریتم از سیگنال کمکی ECG برای ساخت مدل مخفی شبه مارکوف استفاده شده است. حالتهای مدل S1 (صدای اول قلب)، سیستول، S2 (صدای دوم قلب) و دیاستول هستند. مدت زمانی که مدل در هر حالت است، بهصورت تابع گوسی مدل شده است. این الگوریتم سایت Physionet ]28 [ موجود است. شکل 2 سیگنال قطعهبندیشده و حالتها را نشان میدهد.
شکل 2 قطعهبندی سیگنال PCG
وظیفۀ روشهای استخراج ویژگی نمایش اطلاعات خام ورودی بهصورت فشرده است. در این پژوهش سعی شده است ویژگیهای معمول استفادهشده در مقالات مختلف لحاظ شوند. قبل از استخراج ویژگی، تمام سیکلهای استخراجشده از مرحلۀ قبل به گونهای نرمالیزه میشوند که حداکثر مقدار هر سیکل 1 باشد. همچنین برای حذف فرکانسهای اضافی، کاهش تعداد نمونهها و افزایش سرعت محاسبات فرکانس نمونهبرداری تمام سیکلها به 1500 هرتز کاهش یافته است. در ادامه ویژگیهای استخراجشده شرح داده میشوند.
(1) |
انرژی شانون را نشان میدهد که در آن مقدار ضرایب محاسبه شده است.
فاکتور کیفیت[9] بالا نشان میدهد نوسانات بسیار آهسته میرا میشوند؛ بنابراین، فاکتور کیفیت بالا متناظر با وجود سوفل در سیگنال است. مقدار فاکتور کیفیت برای فاصلۀ S1 تا S2 و فاصلۀ S2 تا S1 از هر سیکل را بهعنوان دو ویژگی استخراج میکنیم ]11[. فاکتور کیفیت برای یک سیگنال از رابطه زیر به دست میآید که در آن fc فرکانس مرکزی و f∆ پهنای باند 3dB طیف توان است.
(2) |
تحلیل طیف سیگنال PCG یکی از روشهای تشخیص سوفل است. فرکانس متناظر با مقدار بیشینه طیف توان نرمالیزهشدۀ AR مرتبۀ 14 یکی از ویژگیهای استخراجی است. پهنای باند حاصل از اعمال آستانهای برابر با 0.2 روی طیف توان نرمالیزهشدۀ AR یکی دیگر از ویژگیها است ]14[. سری دادههای x(t) را در نظر بگیرید. طبق مدل AR، مقدار x(t) در لحظه t را میتوان بهصورت ترکیب خطی مقادیر x(t-k) و نویز سفید ورودی e بیان کرد. مدل AR با مرتبه p بهصورت زیر تعریف میشود. که در آن ak ضرایب AR را نشان میدهد.
(3) |
5.وجود سوفلها موجب تجمع انرژی بیشتر در بخشهایی از سیگنال میشوند؛ بنابراین، با تقسیم هر سیکل به 32 پنجره و محاسبۀ انرژی در هر پنجره 32 ویژگی استخراج میکنیم.
6.از آنتروپی و انرژی شانون نیز بهعنوان دو معیار برای استخراج ویژگی استفاده کردهایم؛ به این صورت که 80 پنجرۀ hamming با همپوشانی 50 درصد روی سیگنال D1 حاصل از تبدیل موجک اعمال میکنیم. آنتروپی و انرژی شانون در هر پنجره ویژگیهای استخراجی در این مرحلهاند. همچنین برداری با المانهای صفر و همطول با تعداد پنجرهها در نظر گرفتهایم. در المانهایی از این بردار که متناظر با پنجرههایی است که در آنها پیک انرژی شانون رخ داده است، اندازۀ پیک را جایگزین میکنیم؛ بنابراین، 240 ویژگی در این قسمت استخراج میشود ]32[. رابطه
(4) |
آنتروپی شانون را برای یک سیگنال نشان میدهد که در آن احتمال هر نمونه است. درخور ذکر است احتمال هر نمونه را میتوان نسبت مقدار نمونه به کل نمونهها در نظر گرفت. آنتروپی شانون معیاری برای نشاندادن میزان بینظمی یک سیگنال است.
7. بستۀ موجک ازجمله تبدیلاتی است که در سالهای اخیر در زمینۀ استخراج ویژگی توجه زیادی به آن شده است؛ به همین دلیل، تعدادی از عناصر بردار ویژگی را به این تبدیل اختصاص دادهایم؛ بدین منظور انرژی شانون گرههای سطح هفتم تبدیل بستۀ موجک را محاسبه میکنیم ]23[؛ بنابراین، 128 ویژگی دیگر به بردار ویژگی اضافه میشود و درمجموع 624 ویژگی خواهیم داشت.
پس از انجام پیشپردازشها و استخراج ویژگی از سیگنالهای صدای قلب نوبت به ساختن مدلی است که بتواند براساس ویژگیها صداهای سالم را از ناسالم تمییز دهد. روش پیشنهادی برای طبقهبندی بر مبنای طبقهبندهای گروهی است. به بیان ساده به جای استفاده از یک مدل برای طبقهبندی در این روش از چندین مدل برای تصمیمگیری بهصورت همزمان استفاده میشود. در این مدل، ابتدا زیرفضاهای تصادفی از فضای اصلی نمونهها انتخاب میشوند، سپس با استفاده از هر کدام از این زیرفضاها یک طبقهبند ساده ساخته میشود. هر کدام از این طبقهبندها یک طبقهبند پایه نامیده میشوند. سپس برای رسیدن به تصمیم نهایی خروجی این طبقهبندهای پایه به روش رأی اکثریت ترکیب میشود. اکنون هر بخش بهصورت جداگانه بررسی میشوند.
فرض کنید فضای ویژگی دارای n ویژگی و m نمونه یا مشاهده است. در هر زیرفضای تصادفی k ویژگی بهصورت تصادفی و بدون جایگذاری از بین تمام n ویژگی انتخاب میشود. همچنین m نمونه از میان تمام نمونههای موجود با جایگذاری و بهصورت تصادفی انتخاب میشود. انتخاب تصادفی با جایگذاری، نمونهبرداری bootstrap نیز نامیده میشود. با توجه به ویژگیهای نمونهبرداری با جایگذاری، تنها ۶۳ درصد از نمونهها یکتا هستند ]33[. این امر از این حقیقت ناشی میشود که چون نمونهبرداری با جایگذاری است، تعدادی از نمونهها تکراریاند.
پس از تشکیل زیرفضاهای تصادفی، نوبت به آموزش طبقهبندهای پایه با استفاده از این زیرفضاها میرسد. با توجه به اینکه در روش ensemble تعداد زیادی طبقهبند پایه باید ساخته شود، بهتر است این طبقهبندها به گونهای باشند که پیچیدگی روش را کمتر کنند. در این پژوهش از طبقهبندFLD[10] ]34[ بهعنوان طبقهبند پایه استفاده میشود. آموزش این طبقهبند پیچیدگی کمی دارد و زمان آموزش آن بسیار اندک است. بیشترین زمان در آموزش این طبقهبند صرف ساختن ماتریسهای درون کلاسی و عملیات معکوسگیری میشود. همچنین FLD یک طبقهبند ضعیف و ناپایدار است و استفاده از آن در ensemble موجب افزایش تنوع میشود؛ به این معنی که طبقهبندهای پایۀ مختلف خروجیهای متفاوتی خواهند داشت و همین امر موجب بهبود عملکرد مدل خواهد شد.
هر طبقهبند پایه با استفاده از بردار ویژۀ تعمیمیافته مشخص میشود. بردار ویژۀ تعمیمیافته طبق رابطۀ (1) محاسبه میشود.
(5) |
و بهترتیب میانگین ویژگیهای طبقۀ سالم و ناسالم هستند. شمارۀ طبقهبند است. پارامتر برای مثبت معین شدن عبارت تعریف شده است تا عملیات معکوسگیری دچار مشکل نشود. ماتریس پراکندگی است و بهصورت رابطۀ (2) تعریف میشود.
(6) |
و بهترتیب ویژگیهای مربوط به طبقۀ سالم و ناسالم هستند. با ورود دادۀ طبقهبند ام با ضرب داخلی و مقایسۀ آن با یک مقدار آستانه تصمیم خود راجع به نمونۀ تست را اعلام میکند. درنهایت خروجی طبقهبندهای مختلف با استفاده از روش رأی اکثریت برای حصول تصمیم نهایی باهم ترکیب میشوند.
برای تکمیل توضیحات مربوط به طبقهبند، روشی برای تعیین (تعداد ویژگیهای انتخابشده در هر زیرفضای تصادفی) و (تعداد طبقهبندهای پایه) ارائه خواهد شد. همانطور که پیشتر گفته شد 63 درصد از نمونههای آموزشی طبقهبند یکتا هستند؛ بنابراین، میتوان 37 درصد باقیمانده را نمونههای تست برای ارزیابی هر طبقهبند پایۀ در نظر گرفت. بهصورت معادل هر نمونه در زیرفضای آموزشی 37 درصد از طبقهبندها حضور ندارد و برای این طبقهبندها بهعنوان نمونۀ تست محسوب میشود. تصمیم این طبقهبندها برای نمونۀ مفروض ترکیب میشود. به بیان دیگر، تصمیم برای هر نمونه با طبقهبندهای پایهای به دست آمده است که نمونۀ مفروض در زیرفضای آموزشی آنها وجود ندارد. این تصمیم با نشان داده میشود. خطای OOB[11] بهصورت رابطۀ (3) محاسبه میشود.
(7) |
متغیر نشاندهندۀ برچسب حقیقی نمونۀ است و تابع بهصورت زیر تعریف میشود.
(8) |
این خطا یک تخمین بدون بایاس از خطای تست است ]33[.
برای تعیین تعداد طبقهبندهای پایه، ابتدا مقدار اولیهای برای آن در نظر گرفته میشود. این تعداد اولیه 10 طبقهبند در نظر گرفته میشود. برای هر نمونه از دادههای آموزشی تصمیم نهایی سیستم با استفاده از طبقهبندهایی تعیین میشود که نمونۀ مفروض در دادههای آموزشی آنها وجود ندارد. حال خطای OOB برای سیستمی با 10 طبقهبند محاسبه میشود. در مراحل بعدی به طبقهبندهای پایه یک طبقهبند دیگر، اضافه و مشابه عملیات ذکرشده خطای OOB برای طبقهبندهای جدید محاسبه میشود. در هر مرحله تغییرات خطای OOB نیز به دست میآید. این روند تا زمانی ادامه پیدا میکند که 5 تغییر متوالی خطای OOB از مقدار آستانهای کمتر باشد. این مقدار آستانه برابر با 0.005 در نظر گرفته میشود.
برای یافتن مناسب از یک روش جستجوی هوشمندانه استفاده میشود. در این روش ابتدا سیستم با آموزش داده میشود. برای تعیین تعداد طبقهبندهای پایه، از روش توضیح داده شده در همین بخش، استفاده و خطای OOB محاسبه میشود. سپس مقدار به اندازۀ افزایش داده میشود. این عمل تا جایی ادامه مییابد که مقدار خطای OOB در گام حاضر نسبت به گام قبل افزایش پیدا کند. در این صورت برابر میانگین های دو مرحلۀ آخر ( و ) در نظر گرفته ( ) و خطای OOB محاسبه میشود. اگر این خطا در کمتر از باشد، همین عمل برای و انجام میشود. در غیر این صورت این عمل برای و انجام میشود. این عمل تا جایی ادامه مییابد که ، و سه عدد متوالی شوند. مقدار ، 50 در نظر گرفته میشود. شکل 3 الگوریتم روش پیشنهادی را برای ساخت طبقهبند نشان میدهد.
در این پژوهش از دادههایی استفاده میشود که مربوط به رقابتی در سال 2016 است و در سایت Physionet ]28[ قرار گرفته است. دادهها از نقاط مختلف جهان و در محیطهای بیمارستانی و غیربیمارستانی از افراد سالم و بیمار ضبط شدهاند. مجموعۀ دادههای این رقابت شامل 5 پایگاه داده (A تا E) هستند. دادهها درمجموع 3125 سیگنال PCG با طولی متغیر از 5 تا 120 ثانیهاند. دادهها به دو گروه سالم و بیمار تقسیم شدهاند. باید توجه داشت به دلیل محیط کنترلنشدۀ ضبط، منابع مختلف نویز همچون صحبت، حرکت گوشی پزشکی، تنفس و صدای رودهها روی سیگنال تأثیر میگذارد و عمل طبقهبندی را دشوار میسازند. درخور ذکر است در هر مجموعهداده تعداد دادههای سالم و ناسالم متفاوت است. مجموعه A شامل 117 صدای سالم و 292 صدای ناسالم، مجموعه B شامل 386 صدای سالم و 104 صدای ناسالم، مجموعه c شامل 7 صدای سالم و 23 صدای ناسالم، مجموعهداده D شامل 27 صدای سالم و 28 صدای ناسالم و مجموعهداده E از 1958 صدای سالم و 183 صدای ناسالم تشکیل شده است. فرکانس نمونهبرداری هر 5 مجموعهداده به 2000 هرتز کاهش یافته و با این فرکانس منتشر شدهاند.
شکل 3 الگوریتم روش پیشنهادی
در هر شبیهسازی بهصورت تصادفی نیمی از نمونههای سالم و ناسالم برای آموزش و نیمۀ دیگر برای تست استفاده شدهاند. سپس عملیات حذف نویز و قطعهبندی روی هر سیگنال PCG انجام شده است. در مرحلۀ بعد ویژگیهای معرفیشده از هر سیکل، استخراج و درنهایت طبقهبندی انجام میشود. برای ارزیابی روش از پارامترهای خطا، زمان آموزش و زمان تست بهره گرفته میشود.
در شکل4، نمودار خطای تست براساس تعداد طبقهبندهای پایه برای مجموعه دادۀ E نشان داده شده است. برای رسم این نمودار در الگوریتم روش پیشنهادی مقدار ، ثابت فرض میشود و مقدار با توجه به روش جستجوی ارائهشده تعیین میشود. با توجه به شکل مشاهده میشود خطا با افزایش همگرا میشود.
شکل 5 نمودار خطای تست را بر حسب تغییرات نشان میدهد. برای رسم این نمودار، مقدار در الگوریتم پیشنهادی ثابت شده و تعداد طبقهبندهای پایه براساس الگوریتم پیشنهادی تعیین شده است. با توجه به نمودار، مشاهده میشود سیستم پیشنهادی بهازای مقدار خاصی از بهترین عملکرد را دارد.
شکل 4 خطای تست براساس تعداد طبقهبندهای پایه
شکل 5 خطا بر اساس تغییرات k
بهمنظور مقایسۀ روش پیشنهادی با دیگر روشها، طبقهبندهای متداول دیگر نیز بررسی میشود. بدین منظور از یک طبقهبند SVM با کرنل RBF و یک طبقهبند KNN با یک همسایه استفاده میشود. همچنین روش پیشنهادی با روش ارائهشده در ]21,25[ مقایسه میشود. در این مقالات 25 طبقهبند SVM با کرنل خطی به روش ADABOOST آموزش میبینند. بهمنظور مقایسۀ بیطرفانه، هر آزمایش 200 بار تکرار شده است. در هر تکرار روش پیشنهادی و روشهای دیگر با نمونههای تصادفی اما مشابه، آموزش داده شدهاند. درخور ذکر است به دلیل زمانبر بودن روش ADABOOST با طبقهبند پایۀ SVM ، نتایج این روش برای 50 اجرا محاسبه شدهاند. برای بررسی آماری تفاوت معیارهای مختلف، از روش sign rank استفاده شده است (50 دور روش Adaboost با 50 دور اول روش پیشنهادی برای معیار sign rank استفاده شده است). همچنین تمام دورهای روش پیشنهادی با تمام دورهای روش Adaboost با روش rank sum بهصورت آماری مقایسه شده است. جدول 1 مقدار معیارهای sensitivity، specificity، DOR[12]، F-score، precision و خطا را برای مجموعهدادههای مختلف نشان میدهد. اعداد داخل پرانتز مقدار بازه اطمینان را نشان میدهد که از رابطۀ (9) زیر به دست آمدهاند.
(9) |
که در آن میانگین نمونهها، s انحراف معیار نمونهها و n تعداد مشاهدات است. همچنین مقدار t* برابر با است. همانطور که مشاهده میشود عملکرد روش پیشنهادی روی تمام مجموعهدادهها از طبقهبندهای دیگر بهتر است. در ensemble ها وجود تنوع در طبقهبندهای پایه بحث مهمی است؛ یعنی در صورتی که اطلاعاتی که یک طبقهبند در اختیار ما قرار میدهد مکمل اطلاعات طبقهبندهای دیگر باشد، موجب بهبود عملکرد سیستم میشود؛ اما در صورتی که اطلاعات یک طبقهبند مشابه یا بخشی از اطلاعات طبقهبند دیگری در مجموعۀ طبقهبندها باشد، در این حالت طبقهبند شامل اطلاعات اضافی است و عملکرد سیستم را بهبود نمیبخشد؛ حتی ممکن است استفادۀ همزمان از چند طبقهبند موجب کاهش عملکرد سیستم نیز شود؛ بنابراین، استفاده از طبقهبند پایۀ SVMکه طبقهبند قوی است، در ensembleها انتخاب چندان مناسبی نیست. همانطور که در جدولها مشاهده میشود استفاده از طبقهبندهای پایۀ SVMدر روش Adaboostموجب کاهش عملکرد شده است که با توجه به توضیحات بیانشده این امر دور از انتظار نیست؛ اما در روش پیشنهادی از طبقهبندهای ضعیف خطی بهعنوان طبقهبند پایه استفاده شده و همین امر موجب افزایش تنوع و درنتیجه، موجب بهبود عملکرد سیستم شده است.
در میان طبقهبندهای دیگر، SVM با کرنل RBF نتیجۀ بهتری داشته است. خطای این طبقهبند در مجموعهدادۀ E و برای مجموعۀ کل دادهها نسبت به سایر مجموعهدادهها اختلاف کمتری با خطای روش پیشنهادی دارد. با توجه به تعداد نمونههای هر مجموعهداده روش پیشنهادی برای مواردی که تعداد نمونهها کم است، بسیار بهتر از سایر طبقهبندها عمل میکند.
بررسی آماری نتایج جدول 1 نشان میدهد تمام اختلافات مقادیر معیارها برای روش پیشنهادی و سایر روشها در جدول بهجز نمونههایی که ذکر خواهد شد، با سطح اطمینان 5 درصد شایان توجه است. نمونههایی که شامل سطح اطمینان 5 درصد نمیشوند، عبارتاند از: 1) اختلاف بین معیار specificity برای روش پیشنهادی و روش Adaboost در مجموعهدادههای A و B و کل دادهها و با روش SVM در مجموعهداده D. 2) اختلاف معیار sensitivity برای روش پیشنهادی و روش SVM در مجموعهدادههای A، E و کل دادهها.
موضوع دیگری که در طبقهبندی اهمیت مییابد، مدت زمان آموزش و تست سیستم است. در بیشتر کاربردهای واقعی فاز آموزش بهصورت برون خط انجام میشود؛ بنابراین، زیادبودن زمان آموزش سیستم تأثیر زیادی در کارایی سیستم ندارد؛ اما کاهش زمان تست سیستم در کاربردهای بلادرنگ اهمیت بسزایی دارد.
جدول 1– مقایسۀ عملکرد روشهای مختلف. اعداد داخل پرانتز مقدار بازه اطمینان را نشان میدهند.
مجموعهداده |
معیار |
روش پیشنهادی |
KNN |
SVM |
Adaboost |
A |
Sensitivity Specificity DOR FScore Percision Error |
(0.03)71.31 (0.02)81.05 (0.34)10.62 (0.12)80.78 (0.02)93.15 (0.02)26.58 |
(0.03)65.07 (0.04)65.56 (0.37)3.54 (0.15)74.84 (0.03)88.05 (0.03)34.83 |
(0.04)70.73 (0.03)69.3 (0.28)5.43 (0.014)79.43 (0.03)90.56 (0.03)29.56 |
(0.18)43.87 (0.14)81.72 (1.02)3.49 (0.79)54.37 (0.11)71.74 (0.13)37.61 |
B |
Sensitivity Specificity DOR FScore Percision Error |
(0.05)60.47 (0.04)73.23 (0.41)4.18 (0.09)63.05 (0.07)65.85 (0.06)32.65 |
(0.07)55.77 (0.05)57.59 (0.47)1.71 (0.27)30.78 (0.06)21.26 (0.06)42.72 |
(0.05)58.65 (0.05)59.25 (0.51)2.06 (0.31)30.11 (0.06)20.25 (0.06)40.84 |
(0.24)28.95 (0.19)73.49 (1.98)1.13 (0.96)36.50 (0.26)49.37 (0.22)47.52 |
C
|
Sensitivity Specificity DOR FScore Percision Error |
(0.04)92.93 (0.05)94.05 (0.62)207.76 (0.08)94.23 (0.04)95.58 (0.04)6.60 |
(0.06)82.75 83.06(0.05) (0.54)23.52 (0.17)85.55 (0.07)88.55 (0.06)17.13 |
(0.04)87.77 (0.05)88.21 (0.43)53.70 (0.16)89.62 (0.06)91.55 (0.05)12.05 |
(0.07)73.44 (0.08)85.79 (0.74)16.69 (0.13)78.17 (0.09)83.54 (0.08)20.33 |
D |
Sensitivity Specificity DOR FScore Percision Error |
(0.04)74.76 (0.06)75.98 (0.76)70.74 (0.11)83.36 (0.05)94.20 (0.05)13.91 |
(0.07)73.56 (0.08)84.35 (0.75)14.99 (0.29)76.72 (0.09)80.17 (0.08)20.64 |
(0.05)76.86 (0.06)76.53 (0.46)10.83 (0.15)37.35 (0.05)24.67 (0.05)23.44 |
(0.15)64.23 (0.12)91.98 (1.13)20.59 (0.29)75.77 (0.16)92.38 (0.14)24.73 |
E |
Sensitivity Specificity DOR FScore Percision Error |
(0.01)90.98 (0.02)96.38 (0.32)268.53 (0.11)78.83 (0.01)69.55 (0.01)4.07 |
(0.02)86.26 (0.01)85.62 (0.21)37.38 (0.12)48.47 (0.03)33.70 (0.02)14.33 |
(0.02)94.54 (0.01)93.67 (0.29)256.22 (0.20)73.56 (0.02)60.20 (0.01)6.25 |
(0.06)82.17 (0.05)85.31 (0.56)26.76 (0.12)53.49 (0.06)39.65 (0.06)15.02 |
کل مجموعهدادهها |
Sensitivity Specificity DOR FScore Percision Error |
(0.02)83.30 (0.01)86.44 (0.27)31.80 (0.14)84.18 (0.02)85.07 (0.01)15.07 |
(0.02)81.31 (0.02)81.17 (0.17)18.75 (0.09)78.78 (0.01)76.41 (0.01)18.77 |
(0.01)84.02 (0.01)83.77 (0.37)27.14 (0.14)80.65 (0.02)77.53 (0.01)16.13 |
(0.13)62.92 (0.15)87.54 (1.06)11.92 (0.45)71.45 (0.11)82.65 (0.12)24.41 |
جدول 2 نشاندهندۀ میانگین زمان لازم برای آموزش و تست طبقهبندها در هر بار اجرا است. مقادیر داخل پرانتز نشاندهندۀ انحراف معیارند.
جدول 2 زمان آموزش و تست برای روشهای مختلف
مجموعهداده |
زمان |
روش پیشنهادی |
KNN |
SVM |
Adaboost |
A |
زمان آموزش (ثانیه) زمان تست (ثانیه) |
(6.39)13.22 (0.19)0.61 |
--- (0.22)8.41 |
(2.32)16.89 (0.21)8.66 |
(36.35)268.38 (14.98)136.24 |
B |
زمان آموزش (ثانیه) زمان تست (ثانیه) |
(12.62)20.88 (0.17)0.21 |
--- (0.001)0.81 |
(0.04)0.49 (0.03)0.28 |
(1.77)11.93 (1.03)6.29 |
C |
زمان آموزش (ثانیه) زمان تست (ثانیه) |
(2.97)17.49 (0.007)0.019 |
--- (0.005)0.25 |
(0.007)0.14 (0.006)0.035 |
(0.15)2.54 (0.012)0.74 |
D |
زمان آموزش (ثانیه) زمان تست (ثانیه) |
(1.45)20.24 (0.006)0.02 |
--- (0.002)0.09 |
(0.014)0.12 (0.005)0.035 |
(0.25)1.94 (0.09)0.63 |
E |
زمان آموزش (ثانیه) زمان تست (ثانیه) |
(3.05)8.81 (0.08)0.50 |
--- (0.59)69.94 |
(7.08)179.09 (4.05)43.41 |
(56.57)2747 (39.23)661 |
کل مجموعهدادهها |
زمان آموزش (ثانیه) زمان تست (ثانیه) |
(7.31)23.06 (0.22)2.83 |
--- (6.21)212.24 |
(33.81)602.34 (9.43)317.29 |
(331.23)9535 (159.46)5005 |
در KNN آموزش فقط به معنی تعیین محل ویژگیهای نمونههای آموزشی است؛ بنابراین، زمان آموزش در این طبقهبند معنا نمییابد و از ذکر آن خودداری میشود. با توجه به جدول 2، مشاهده میشود زمان تست برای روش پیشنهادی کمتر از سایر روشها است. این مسئله بهویژه در مجموعهدادههای A، E و کل مجموعهدادهها بسیار مشهود است؛ اما در مجموعهدادههای B، C و D زمان تست SVM نزدیک به روش پیشنهادی است. نیز با توجه به زمانهای آموزش طبقهبندهای مختلف، مشاهده میشود برای مجموعهدادۀ E و برای کل مجموعهدادهها روش پیشنهادی بسیار سریعتر از SVM است؛ اما برای مجموعهدادههای B، C و D زمان آموزش طبقهبند SVM بسیار کمتر از روش پیشنهادی است. برای بررسی این رفتار تعداد سیکلهای موجود در هر مجموعهداده و پارامترهای روش پیشنهادی بررسی میشود. جدول 3 تعداد سیکلهای موجود در هر مجموعهداده و میانگین پارامترهای و را برای روش پیشنهادی نشان میدهد.
با توجه به جدول 3 مجموعهدادههای B، C و D تعداد سیکلهای کمتری نسبت به مجموعهدادۀ E و کل مجموعهدادهها دارند. همچنین سیستم پیشنهادی برای مجموعهدادههای B، C و D به ساخت طبقهبندهای پایۀ بسیار بیشتری نسبت به سایر مجموعهدادهها منجر میشود. این مسئله به این معنی است که خطای OOB در روش پیشنهادی برای این مجموعهدادهها دیر همگرا میشود.
جدول 3 تعداد سیکلها و میانگین K و L
مجموعهداده |
L |
K |
تعداد سیکلها |
A |
81.85 |
349.40 |
15254 |
B |
256.65 |
222.73 |
3796 |
C |
302.98 |
166.09 |
1526 |
D |
427.05 |
124.21 |
728 |
E |
63.36 |
341.51 |
52132 |
با توجه به این مشاهدات، هنگامی که تعداد نمونهها کم است، زمان آموزش روش پیشنهادی به علت همگرایی آهستۀ خطای OOB افزایش مییابد؛ اما هنگامی که تعداد نمونهها بسیار زیاد است، زمان آموزش روش پیشنهادی بسیار کمتر از طبقهبند SVM است؛ برای مثال، برای کل مجموعهدادهها زمان آموزش طبقهبند SVM تقریباً 602 ثانیه است که این مقدار تقریباً 25 برابر زمان آموزش روش پیشنهادی است که تنها 23 ثانیه است. گفتنی است برای مجموعهدادههایی که زمان آموزش روش پیشنهادی بیشتر از طبقهبند SVM است، خطای روش پیشنهادی بسیار کمتر از طبقهبند SVM است.
طبقهبند SVM طبقهبند پیچیدهای است و به محاسبات بیشتری نیاز دارد. با زیادشدن تعداد نمونهها و ویژگیها این پیچیدگی افزایش مییابد و زمان آموزش و تست بیشتر میشود. با توجه به اینکه در روش Adaboost از 25 طبقهبند پایۀ SVM استفاده شده است، زمان آموزش و تست بسیار بالایی دارد. طبقهبندهای پایه در آموزش Adaboost بهصورت سری کار خود را انجام میدهند و عمل طبقهبندی برای هر طبقهبند پس از اتمام کار طبقهبند قبلی آغاز میشود؛ اما در روش پیشنهادی عمل تصمیمگیری طبقهبندها به محاسبات سادهای نیاز دارد و این امر موجب افزایش سرعت آموزش و تصمیمگیری میشود.
مسئلۀ درخور بررسی دیگر در طبقهبندی، احتمال وجود اشتباه در برچسبهای نمونههای آموزشی است؛ یعنی نمونهای که متعلق به طبقۀ دادههای سالم است، به علت خطای انسانی، خطاهای اندازهگیری و ... در طبقۀ دادههای ناسالم قرار گرفته باشد و برعکس. به این حالت نویز برچسب گفته میشود. وجود نویز در برچسبها موجب کاهش دقت سیستم میشود؛ بنابراین، مصونیت سیستم پیشنهادی در برابر نویز برچسب، یکی از ویژگیهای مطلوب یک طبقهبند است ]33[. برای نشاندادن تأثیر نویز برچسب روی نتایج روش ارائهشده، 5 درصد از نمونههای آموزشی بهصورت تصادفی انتخاب میشود و برچسب آنها تغییر مییابد. جدول 4 نتایج را بعد از افزودن نویز به برچسبها نشان میدهد.
جدول 4 افزایش خطا در حضور نویز برچسب
مجموعهداده |
روش پیشنهادی |
KNN |
SVM |
Adaboost |
A |
1.51 |
3.12 |
3.65 |
4.23 |
B |
1.71 |
2.11 |
4.99 |
4.62 |
C |
3.18 |
8.59 |
13.80 |
14.86 |
D |
3.68 |
3.94 |
7.29 |
9.13 |
E |
1.33 |
3.55 |
3.01 |
5.48 |
کل |
1.67 |
3.13 |
2.42 |
3.22 |
همانطور که در جدول 4 مشاهده میشود میزان افزایش خطا در حضور نویز در روش پیشنهادی کمتر است؛ زیرا در روش پیشنهادی نمونههای آموزشی بهصورت تصادفی انتخاب میشوند و درنتیجه، نمونههای نویزی بهطور کامل در تمام طبقهبندها ظاهر نمیشوند؛ بنابراین، نویز مربوط به هر برچسب روی تعدادی از طبقهبندهای پایه تأثیر گذاشته و میزان این تأثیر اندک است؛ درنتیجه با ترکیب طبقهبندهای پایه با روش رأی اکثریت میزان افزایش خطا کم خواهد بود؛ اما در طبقهبندهای KNN و SVM تمام نمونههای آموزشی اشتباه، بر ساخت طبقهبند تأثیر میگذارد و خطا به میزان بیشتری افزایش مییابد. در Adaboost وزن نمونههای اشتباه طبقهبندی شده در هر تکرار افزایش مییابد. در فرایند آموزش، نمونههای دارای برچسب اشتباه، به اشتباه طبقهبندی میشوند و درنتیجه در ساخت طبقهبند بعدی وزن بیشتری دریافت میکنند. همین امر موجب افزایش خطای سیستم خواهد شد. درخور ذکر است براساس تستهای آماری sign rank و rank sum تمام اختلافات بهجز اختلاف روش پیشنهادی و KNN در مجموعهداده D، significant است.
در این پژوهش روشی برای تشخیص ناهنجاریهای قلبی ارائه شده است. روش پیشنهادی شامل سه قسمت اصلی پیشپردازش و قطعهبندی، استخراج ویژگی و طبقهبندی است. در بخش استخراج ویژگی از ویژگیهای متداول در مقالات استفاده شده است. مدلی بر مبنای ترکیب گروهی از طبقهبندهای پایه و تصمیمگیری براساس خروجی هر یک از آنها با استفاده از روش رأی اکثریت برای امر طبقهبندی ارائه شده است. روش پیشنهادی با سه نوع طبقهبند دیگر ازنظر خطا زمان آموزش و زمان تست مقایسه شده است. روش پیشنهادی دارای دقت بالاتر و سرعت بیشتری در پیشبینی مشاهدات است. نویز برچسب، یکی از عوامل مهم در خطای طبقهبندی است. در این پژوهش تأثیر نویز برچسب بر روش پیشنهادی و طبقهبندهای دیگر بررسی شده است. روش پیشنهادی در مقایسه با سایر طبقهبندها مصونیت بیشتری در برابر نویز برچسب دارد. مهمترین محدودیت این روش مشخصنکردن نوع بیماری است؛ بنابراین، یکی از کارهای آینده برای تحقیق در این زمینه، پیداکردن نوع ناهنجاری است؛ البته این امر به دیتاست مناسب برای انواع بیماریهای دریچهای نیاز دارد.
انرژی شانون |
|
آنتروپی شانون |
|
احتمال نمونهها |
|
فاکتور کیفیت |
|
پهنای باند 3dB |
|
فرکانس مرکزی |
|
ضرایب AR |
|
نویز سفید |
e |
تعداد نمونهها |
|
تعداد ویژگیها |
|
تعداد ویژگیهای انتخابشده در هر زیرفضای تصادفی |
|
تعداد طبقهبندها |
|
بردار ویژۀ تعمیمیافته |
|
میانگین ویژگیهای طبقۀ سالم |
|
میانگین ویژگیهای طبقۀ ناسالم |
|
شمارۀ طبقهبند |
|
ماتریس پراکندگی |
|
عدد مثبت حقیقی کوچک |
|
ویژگیmام طبقۀ سالم |
|
ویژگی mام طبقۀ ناسالم |
|
نمونۀ تست |
|
طبقهبند پایۀ lام |
|
تصمیم نهایی طبقهبندها برای نمونۀ در مرحلۀ آموزش |
|
خطای Out Of Bag |
|
برچسب حقیقی نمونۀ |
|
تابع ضربه |
[1]تاریخ ارسال مقاله: 18/11/1395
تاریخ پذیرش مقاله: -/-/1389
نام نویسنده مسئول: ابومسلم جاننثاری
نشانی نویسنده مسئول : ایران – تهران – دانشگاه تربیت مدرس – دانشکده برق
[1] Phonocardiogram
[2] Electrocardiogram
[3] Radial Basis Function
[4] Least Square
[5] K Nearest Neighbors
[6] Multi-Layer Perceptron
[7] Classification and Regression Tree
[8] Multiplicative Threshold Rescaling Using a Level Dependent Estimation of Level Noise
[9] Q-factor
[10] Fisher Linear Discriminant
[11] Out of Bag
12Diagnostic Odds Ratio