بخشی از مقاله
چکیده
دیابت یکی از شایع ترین بیماری های غیر واگیر در کشورهای در حال توسعه است . با توجه به گفته فدراسیون بین المللی دیابت، در حال حاضر 285 میلیون فرد دیابتی در سراسر جهان وجود دارد که انتظار می رود ظرف 20 سال آینده این تعداد به 380 میلیون نفر افزایش پیدا کند. از این رو غربالگری اولیه و تشخیص نقش مهمی را در استراتژی های موثر پیشگیری بازی می کند. در این مقاله یک روش جدید با استفاده از ترکیب الگوریتم تکاملی برای انتخاب ویژگی های مناسب و ماشین بردار پشتیبان به عنوان طبقه بندی کننده، ارائه شده که قادر است افراد سالم و بیمار را با دقت بالا از یکدیگر تفکیک کند. ویژگی های مورد بررسی در این روش، کاملا مطابق با شاخص ها و استانداردهای سازمان بهداشت جهانی می باشد که مقادیر آن برای افراد بیمار و سالم متفاوت است.
الگوریتمی که در این مقاله برای انتخاب ویژگی ها بکار گرفته می شود الگوریتم اجتماع پرندگان است که برای انتخاب همزمان ویژگی های مناسب و نیز تعداد آنها می باشد. پس از انتخاب ویژگی های کارا، از آنها برای آموزش ماشین بردار پشتیبان استفاده می شود. مدل ترکیبی ارائه شده، با استفاده از مجموعه داده هایی از حوزه تشخیص پزشکی از درمانگاه دیابت بیمارستان تخصصی و فوق تخصصی حضرت ولیعصر - ع - شهرستان فسا آزمایش شده است. نتایج بدست آمده از آزمایش روش پیشنهادی برای جداسازی افراد سالم از بیماران دیابتی نشان می دهد که این روش با دقت طبقه بندی 86 نسبت به روش های پیشین عملکرد بهتری داشته است.
-1 مقدمه
بیماری دیابت یکی از شایعترین و مخرب ترین بیماری های حال حاضر دنیا شناخته شده است که عمدتا درکشورها ی توسعه یافته و یا درحال توسعه در حال گسترش می باشد. در حال حاضر از هر 20 نفر ایرانی یک نفر به این بیماری مبتلا می باشد که نیمی از این تعداد نیز از ابتلاء خود به دیابت اطلاعی ندارند.[1] از جمله عوارضی که به دنبال مبتلا شدن افراد به این بیماری گریبانگیر آنها خواهد شد می توان به گرفتگی عروق قلبی و در نوع پیشرفته آن به نابینایی، قطع اعضای بدن، اختلالات فکری و ... اشاره نمود که این خود ضرورت یاری رساندن به این گونه از بیماران را دو چندان می کند.
بیماری دیابت را از نظر تقسیم بندی می توان به دو نوع یک یا نوع وابسته به انسولین 1 که در این نوع لوزالمعده شخص مبتلا به دیابت قادر به ترشح انسولین نمی باشد و نوع دو یا نوع غیروابسته به انسو لین 2 که در آن لوزالمعده شخص مبتلا به دیابت قادر به تولید و ترشح انسولین می باشد اما میزان جذب آن در بافت های بدن بسیار پایین است، تقسیم بندی نمود. از آنجایی که شیوع بیماری دیابت نوع 2 به دلیل چاقی به ویژه چاقی مرکزی، عدم فعالیت بدنی، و عادات غذایی ناسالم [2] به سرعت در حال افزایش است، و حدود 90 از افراد دیابتی در واقع دیابتی های نوع2 هستند و با توجه به اهمیت این بیماری، در این مقاله ما دیابت نوع دو را بررسی می کنیم.
مشکل عمده ای که در حال حاضر در رابطه با این بیماری مخرب و خطرناک وجود دارد عدم تشخیص به موقع و یا به طور کلی ضعف در تشخیص این بیماری می باشد، که این ضعف نیز اغلب به دلیل عدم انتخاب ویژگی های استاندارد بوجود می آید که در نتیجه آن بیمار زمانی متوجه این بیماری می شود که شاید کمی برای درمان و کنترل دیر شده باشد. بنابراین پیاده سازی روشی که بتواند هر فرد را در تشخیص صحیح ابتلا و یا عدم ابتلا به این بیماری یاری رساند می تواند گامی مهم در جهت پیشگیری و کنترل این بیماری به خصوص در مراحل ابتدایی آن تلقی گردد.
تشخیص و تفسیر داده های دیابتی یک مشکل مهم طبقه بندی است. یک پزشک باید قبل از تشخیص دیابت، بسیاری از عوامل را تجزیه و تحلیل کند که این مسئله کار پزشک را مشکل می کند. یکی از روش های بسیار مهمی که با آن می توان الگوهای مفیدی را در میان داده های بیماران دیابتی تشخیص داد، داده کاوی است. در سال های اخیر، روش های یادگیری ماشین و الگوریتم های زیادی برای طراحی سیستم تشخیص خودکار بیماری دیابت در نظر گرفته شده است.
از جمله این الگوریتم ها می توان الگوریتم های شبکه عصبی، درخت تصمیم گیری، سیستم های منطق فازی، قواعد بیز، سوزاندن رگها، رگرسیون لجستیک، ماشین بردار پشتیبان یا SVM 1 و غیره را نام برد 5]،4،.[3 از این رو تحقیقات نشان داده است که از میان روش ها و الگوریتم های ذکر شده، الگوریتم SVM از دقت طبقه بندی بالایی برای جدا سازی افراد سالم از بیماران دیابتی برخوردار ا ست. تاکنون شماری از گروه های تحقیقاتی به برر سی این بیماری با استفاده از الگوریتم ماشین بردار پشتیبان پرداخته اند که در ادامه به بررسی مختصر برخی از این تحقیقات می پردازیم.
نخستین بار در سال 2001، لی و همکارانش در[6] توانستند با استفاده از الگوریتم ماشین بردار پشتیبان یکنواخت، که توسعه ای از ماشین بردار پشتیبان است به دقت بالاتری نسبت به روش های قبلی در تشخیص دقت بیماری دیابت دست پیدا کنند. بالاکریشنان و همکارانش [7] در سال 2008 توانستند با دقت % 90 عملکرد دیابت نوع دو را با استفاده از ماشین بردار پشتیبان ارزیابی کنند که در این مقاله بیش از 2000 داده بالینی مورد استفاده قرار گرفت. در سال 2009 پورنامی و همکارانش در [8] توانستند با توسعه ای دیگر از ماشین بردار پشتیبان یکنواخت، روش جدید 2MKS-SSVM را ارائه دهند که این روش با دقت % 93.20 عملکرد بهتری نسبت به 3 SSVM اصلی در دسته بندی تشخیص بیماری دیابت نوع دو از خود نشان داد.
در سال 2010 در [ 9] باراکات و همکارانش توانستند با استفاده از روش ماشین بردار پشتیبان هوشمند و با دقت پیش بینی 94 یک ابزار امیدوار کننده برای پیش بینی بروز دیابت ارائه کنند. در سال 2013 کوماری و همکارش در [10] توانستند با استفاده از الگوریتم ماشین بردار پشتیبان و با موفقیت بالایی افراد سالم و دیابتی را طبقه بندی کند که در این تحقیق از داده های پایگاه داده 4 PIDD استفاده شد. همان گونه که دیده می شود این روش ها با تعداد افراد متفاوت و در قومیت ها و با شرایط آب و هوایی و سبک تغذیه متفاوت انجام شده اند و این سبب شده است که نتوان نتایج حاصل از این آزمایشات را به کلیه انسان ها تعمیم داد.
از این رو ما با استفاده از مجموعه داده های واقعی برای تشخیص دیابت نوع 2 مدل مان را اعتبارسنجی نموده ایم. این مقالات در یافته های خود تنها از روش های ماشین بردار پشتیبان سود برده اند در حالیکه ما در این روش پیشنهادی، قبل از اعمال الگوریتم ماشین بردار پشتیبان از یک نوع الگوریتم تکاملی استفاده کرده ایم که نسبت به الگوریتم های تکاملی دیگر قادر است با سرعت بیشتری در فضای راه حل ها - ویژگی ها - به جستجو بپردازد و راه حل های مناسب را از میان ویژگی های موجود برگزیند.
نحوه ارائه مطالب به این صورت است که در ابتدا پس از بررسی تحقیقات انجام گرفته در این حوزه، در بخش دوم مجموع دادگان مورد استفاده در مقاله توضیح داده می شود. در بخش سوم به معرفی و بررسی روش پیشنهادی این مقاله برای آنالیز دادگان به منظور تشخیص بیماری دیابت می پردازد. این بخش شامل انتخاب ویژگی با استفاده از الگوریتم تکاملی استفاده شده و در نهایت طبقه بندی دادگان می باشد؟ در بخش چهارم نتایج حاصل از شبیه سازی و بحث در مورد آنها آورده شده است و در نهایت و در بخش پنجم به بحث و نتیجه گیری خواهیم پرداخت. -2 معیارهای رایج تشخیص بیماری دیابت و ویژگی های داده های مورد استفاده معیار های رایج تشخیص بیماری دیابت که توسط بهداشت جهانی گرد آوری شده اند شامل موارد زیر می باشند:
-1 سن
-2 جنسیت
-3 سابقه خانوادگی
-4 فشارخون سیستولیک - mm/ Hg -
-5 میزان قندخون ناشتا - mg/dl -
-6 میزان قندخون دو ساعت بعد از غذا - mg/dl - - mg/dl - 1 HDL-7
-8 تری گلیسیرید - mg/dl - - mg/dl - 2 CR -9 - mg/dl - 3 BUN -10
در این مقاله مجموعه داده از درمانگاه دیابت بیمارستان تخصصی و فوق تخصصی حضرت ولیعصر - ع - شهرستان فسا در طی سال های 1389 تا 1394 جمع آوری شده است. داده های گرد آوری شده دارای 10 ویژگی مربوط به 50 فرد سالم و 300 فرد دیابتی و با حداقل سنی20 سال و میانگین 45 سال می باشد که کاملا مطابق با شاخص ها و استانداردهای سازمان بهداشت جهانی جمع آوری گردیده است.
-3 روش بررسی
در این مقاله سعی شده است تا ابتدا داده های موجود در پایگاه داده به منظور عملکرد بهینه سیستم های هوشمند1 ]،[0 نرمالیزه گردند. سپس با استفاده از نرم افزارMATLAB و بهره گیری از الگوریتم تکاملی، الگوهای بهینه و تأثیرگذار در روند تشخیص بیماری دیابت تعیین شود که برای این منظور از ترکیب یک الگوریتم تکاملی و یک طبقه بندی کننده استفاده شده است. در مرحله بعد همانطور که نشان داده خواهد شد با استفاده از الگوهای بهینه استخراج شده، عملکرد الگوریتم ماشین بردار پشتیبان از لحاظ میزان صحت در پاسخ مورد مقایسه و ارزیابی قرار می گیرد این بحث را در دو بخش زیر بررسی می کنیم و مراحل ذکر شده در بالا را می توان در شکل 1 مشاهده نمود.
-3 -1 انتخاب ویژگی های مناسب
مساله انتخاب ویژگی یک مساله چالش برانگیز در بسیاری از حوزه ها از قبیل شناسایی آماری الگو است .[11] این مساله در واقع برگزیدن ویژگی هایی است که حداکثر توان را در پیشگویی خروجی دارا باشند و این کار در حالت عادی از نظر زمانی و محاسباتی بسیار سنگین است. در این حالت یکی از روش هایی که برای غلبه بر این مشکل وجود دارد، استفاده از الگوریتم های تکاملی می باشد. در میان الگوریتم های تکاملی مختلفی که وجود دارد، الگوریتم بهینه سازی توده ذرات یا 4 PSO یکی از سریعترین و مشهورترین الگوریتم ها می باشد که در مدت زمان مناسبی نسبت به الگوریتم های دیگر به جواب بهینه دست می یابد .
[12] این الگوریتم از روش مرسوم محاسبات تکاملی پیروی می کند در ابتدا با جمعیتی تصادفی از جواب های ممکن آغاز می شود. سپس با بروز رسانی نسل ها، جستجو برای جواب بهینه را انجام می دهد و آنگاه ارزشیابی جمعیت بر اساس نسل های گذشته صورت می گیرد. در PSO جواب های احتمالی - ذرات - در فضای جواب مسئله به دنبال ذرات بهینه فعلی جابه جا می شوند. این جابه جایی تحت تاثیر یک تابع برازندگی که کیفیت هریک از ذرات را ارزیابی می کند، صورت می گیرد.