بخشی از مقاله

چکیده

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

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

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

مقدمه

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

توقف تولید انسولین یا استفاده نکردن از انسولین هر دو باعث افزایش گلوکز در خون میشود. دیابت دارای دو نوع اصلی است: نوع اول و نوع دوم. افرادی که دیابت نوع اول دارند، بدنشان مقدار کمی انسولین تولید میکنند و یا اصلا انسولینی در بدنشان تولید نمیشود و لازم است که برای ادامه زندگی انسولین به بدنشان تزریق کنند. این نوع دیابت بیشتر در کودکان و نوجوانان رخ میدهد. نوع دوم بیماران دیابتی، افرادی هستند که بدنشان توان استفاده موثر از انسولین مورد نیاز بدن را ندارد. این نوع دیابت بیشتر در افراد بالای 30 سال رخ میدهد و عوارض بسیار خطرناکتری نسبت به نوع اول دارد.

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

با توجه به اهمیت دیابت نوع دوم، در این مقاله ما دیابت نوع دوم - در ادامه هر جا از دیابت نام ببریم منظور نوع دوم است - را بررسی خواهیم کرد.

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

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

به همین خاطر برای رسیدن به جوابی پایدار و مطلوب، نیاز به ترکیب روشهای هوشمند رو به رشد است، از اینرو تشخیص به موقع دیابت کمک بزرگی در کنترل و جلوگیری از گسترش بیماری میکند. تا کنون روشها هوشمند متعددی جهت تشخیص بیماری دیابت معرفی شده است که شبکه عصبی بر پایه توابع شعاعی [3]، شبکههای عصبی پرسپترون چند لایه [4]، کاامین نزدیکترین همسایه[5]، الگوریتم ماشین بردار پشتیبان[6]، شبکههای عصبی-فازی[7] از موفقترین روشهای موجود هستند.

در این مقاله سعی شده است که راهکاری با صحت و اعتماد بالاتری ارائه شود.

معیارهای مهم در تشخیص بیماری دیابت و دادههای مورد استفاده

معیارهای مهم در تشخیص بیماری دیابت که از طرف سازمان بهداشت جهانی جمع آوری شده است شامل موارد زیر میباشند:

-1 تعداد دفعات بارداری

-2 غلظت گلوکوز پلاسمای خون

-3 فشار دیاستولیک خون - mm hg -

-4 ضخامت پوست ماهیچه سه سر بازویی - mm -

-5 انسولین سرم دو ساعت - mu U/ml -

-6 شاخص جرم بدن - BMI -

-7 سابقه داشتن بیماری دیابت

-8 سن دادههای مورد استفاده در این مقاله از مجموعه دادههای مربوط به دیابت تحت عنوان PID استفاده شده است.[8] این دادهها شامل 8 ویژگی مربوط به 768 زن که حداقل 21 سال سن دارند جمعآوری شده است، از این 768 نفر 500 نفر سالم و 268 نفر دیگر مبتلا به دیابت میباشند.

روش مورد استفاده

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

شکل :1 بلوک دیاگرام روش پیشنهادی جهت تشخیص بیماری دیابت

استخراج الگوهای مهم در تشخیص بیماری دیابت

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

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

الگوریتم بهینه سازی حرکت دسته جمعی ذرات - PSO -

الگوریتم بهینه سازی حرکت دسته جمعی ذرات 1 از جمله الگوریتم-های جستجوی موازی مبتنی بر جمعیت است که توسط کندی و ابرهارت در سال 1995 مطرح شد 10]و[11 که با یک گروه از جواب-های تصادفی - پرندگان یا ذرات در فضای مسئله - شروع به کار می-کند. هر ذره - پرنده - به صورت چند بعدی - بسته به نوع مسئله - با دو بردار Vi[t] و Xi[t] که به ترتیب معرف موقعیت و سرعت فعلی در لحظه tام از ذره i هستند مشخص میشود. در هر مرحله از حرکت جمعیت، مکان هر پرنده بابا دو مقدار بهترین - p-best, g-best - به روز میشود. در هر تکرار، الگوریتم بعد از یافتن سرعت و موقعیت جدید پرنده را بر اساس معادلات 1 - و - 2 بروزرسانی میکند. در معادله

  - 1 - ، W ضریب اینرسی است، C1 و C2 می زان تجربه شخصی و گروهی میباشد که بطور معمول برای هر دوی آنها از مقدار2 استفاده شده است.

دو عدد r1 و r2 نیز اعداد تصادفی در بازه [0-1] می باشند. در این مقاله برای بهینهسازی فضای جوابهای مسئله از مدل الگوریتم باینری حرکت دسته جمعی ذرات - BPSO - 2 استفاده میکنیم. با در نظر گرفتن یک رشته دودویی برای هر ذره، الگوریتم BPSO شروع میشود که در جدول 1 نشان داده شده است.

جدول :1 بردار ورودی از انتخاب ویژگیها به الگوریتم

در این رشته "0" نمایانگر حذف ویژگی و "1" نمایانگر انتخاب آن ویژگی است. البته در این تحقیق دقت شناسایی مهمتر از کوچک بودن زیرمجموعه انتخاب شده است. میزان صحت، از مقایسه بین بردار بیماران شناسایی شده توسط سیستم و بیماران واقعی بدست میآید، پارامترهای الگوریتم BPSO طبق جدول 2 تنظیم شده است.

جدول :2 جدول تنظیم پارامترهای الگوریتم BPSO

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

استفاده از شبکه عصبی بعنوان تابع برازندگی در الگوریتم BPSO

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

شکل :2 شبکه عصبی مورد استفاده بعنوان تابع هزینه در الگوریتم بهینه سازی حرکت دسته جمعی ذرات BPSO

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

جدول :3 تنظیم پارامترهای شبکه عصبی

الگوریتم ماشین بردار پشتیبان

در این مقاله از الگوریتم ماشین بردار پشتیبان3 به منظور تشخیص بیماری دیابت استفاده شده است. الگوریتم ماشین بردار پشتیبان یک الگوریتم یادگیری با سرپرست است که میتواند در کاربردهایی نظیر جداسازی و طبقهبندی دادهها مورد استفاده قرار گیرد.

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

در متن اصلی مقاله به هم ریختگی وجود ندارد. برای مطالعه بیشتر مقاله آن را خریداری کنید