بيماري ديابت يكي از شايعترين بيماريهاي حاضر دنيا شناخته شده است كه علي رغم گستردگي شيوع اين بيماري هنوز روشي به منظور ريشه¬كن كردن و از بين بردن آن در دنيا شناخته نشده است هرچند كه روش¬هاي مختلفي جهت تشخيص و كنترل آن در حال حاضر مورد استفاده قرار مي¬گيرد. از جمله عوارضي كه به دنبال مبتلا شدن افراد به اين بيماري گريبانگير آنها خواهد شد ميتوان به گرفتگي عروق قلبي و در نوع پيشرفته آن به نابينايي، قطع اعضاي بدن، اختلالات فكري و غيره اشاره نمود.
بيماري ديابت را از نظر تقسيمبندي ميوان به دو نوع وابسته به انسولين(IDDM) كه در اين نوع لوزالمعده شخص مبتلا به ديابت قادر به ترشح انسولين نميباشد و يا نوع غير وابسته به انسولين(NIDDM) كه در آن لوزالمعده شخص مبتلا به ديابت قادر به توليد و ترشح انسولين مي¬باشد اما ميزان جذب آن در بدن بسيار اندك است.
مشكل عمده¬اي كه در رابطه با بيماري ديابت وجود دارد عدم تشخيص به موقع و يا بهطور كلي ضعف در تشخيص اين بيماري است كه اين ضعف نيز به¬دليل عدم انتخاب الگوي مناسب توسط پزشك و يا عدم استفاده مناسب از الگوهاي استاندارد است. بنابراين پياده¬سازي روشي كه بتواند هر فرد را در تشخيص صحيح ابتلا يا عدم ابتلا به اين بيماري ياري رساند مي¬تواند گام مهمي در جهت پيشگيري و كنترل اين بيماري به¬خصوص در مراحل ابتدايي آن باشد.
تاكنون روش¬هاي هوشمند گوناگوني به منظور حل اين مشكل بنيادي در سراسر جهان ارائه گرديده كه از آن جمله مي¬توان به استفاده از روش¬هاي تكاملي[1] و نيز استفاده از روش الگوريتم¬هاي فازي تشخيص الگو در استخراج ويژگي[2]و[3] و همچنين استفاده از روش شبكه¬هاي عصبي RBF [4] اشاره نمود. در اين مقاله سعي شده است با استفاده از الگوريتم¬هاي SVM، Naive Bayse، C4.5، Random Forest و همچنين تركيب اين الگوريتم¬ها با Bagging بر روي پايگاه داده استاندارد ديابت[5] بتوان الگويي در جهت تشخيص بيماري ديابت و بهبود آن از ديد زمان و دقت ارائه نمود.
معیارهای جهانی تشخیص بیماری دیابت
معیارهای جهانی تشخیص بیماری دیابت که توسط سازمان بهداشت جهانی گردآوری شده¬¬اند شامل موارد زیر می¬باشند:
تعداد دفعات وضع حمل؛
غلظت گلوکوز پلاسمای خون؛
فشار دیاستوک(mm Hg)؛
ضخامت پوست ماهیچه سه سربازویی(mm)؛
انسولین سرم دوساعته(mu U/ml)؛
شاخص جرم بدن؛
داشتن سابقه دیابت؛
سن.
Bagging(متراکم شدن خودکار) توسط لئوبریمن در سال 1994 پیشنهاد شد که برای بهبود دادن رده بندی توسط ترکیب کردن رده¬بندی¬های مجموعه¬های آموزشی به طور تصادفی تولید شده، می-باشد.
این روش یک متا الگوریتم می¬باشد که برای بهبود دادن یادگیری ماشین رده¬بندی و مدل¬های پسرفتی بر حسب پایداری و دقت رده-بندی می¬باشد. این روش همچنین واریانس را کاهش داده و به دوری از اورفیتینگ کمک می¬کند. اگر چه این روش در درخت تصمیم به¬کار می¬رود اما می¬تواند در هر نوع مدل استفاده شود. Bagging یک حالت مخصوص از روند مدل میانگین میباشد.
یک مجموعه آموزشی استاندارد D به اندازه n را فرض کنید، Bagging توسط نمونه¬گیری به¬طور یکنواخت و باجایگزینی مثال¬ها از D، m مجموعه آموزشی جدید Di با اندازه تولید می-شود. نمونه¬گیری با جایگزینی این امکان را می¬دهد که بعضی از مثال¬ها امکان تکرار در هر Di را داشته باشند. اگر n=n’ باشد لذا برای n بزرگ، مجموعه Di انتضار داشتن %63.2 از مثال¬های بی-همتای D را دارد و بقیه مثال¬ها تکراری می¬باشند. این نوع نمونه-گیری به عنوان نمونه¬گیری هورراه¬انداز شناخته می¬شود. M مدل برای استفاده کردن m نمونه های خودکار بالا گنجانیده شده و این مدل¬ها توسط متوسط¬گیری خروجی یا رای گیری(برای رده¬بندی) ترکیب میشوند.
از آنجایی¬که این روش چندین پیشگویی کننده را میانگین می¬گیرد، لذا برای بهبود مثال¬های خطی مفید نمی¬باشد.
Bagging مفهومی برای ترکیب رده¬بندی¬های پیش¬بینی شده از چند مدل به¬کار می¬رود.
براي راحتي تفسير در اينجا دو دسته را در نظر مي¬گيريم كه به-صورت i=0 and 1 رتبه¬بندي مي¬شود. هدف ما استفاده از يك مجموعه اعضاي اوليه با عضويت¬هاي دسته شناخته شده(مجموعه آموزشي) براي ايجاد يك امتياز است به¬طوري¬كه امتيازات بالاتر با اعضاي دسته 1 مرتبطند و امتيازات كوچك¬تر با اعضاي دسته 0 در ارتباطند. بنابراين دسته¬بندي با مقايسه اين امتيازات با يك آستانه به¬دست مي¬آيد. اگر ما P(i|x) را اين احتمال تعريف كنيم كه يك عضو با بردار مكان x = (x1,…,xp) به دسته i تعلق داشته باشد، هر عملكرد يكنواخت P(i|x) يك امتياز مناسب ايجاد خواهد كرد. بطور ويژه نسبت P(1|x) P(0|x) مناسب خواهد بود. احتمال ابتدايي به مامي¬گويد كه P(i|x) را به نسبت p(i) / f(x|i) تجزيه كنيم كه در آن f(x|i) توزيع شرطي x براي اجسام دسته i است و p(i) احتمال تعلق يك عضو به دسته i است در صورتيكه ما چيز بيشتري درباره آن ندانيم (احتمال اوليه دسته دسته i). يعني نسبت به اين صورت در مي¬آيد:
(1)
براي استفاده از اين نسبت در دسته بندي¬ها ما نياز به تخمين f(x|i) و P(i) داريم.
اگر مجموعه آموزشي يك نمونه تصادفي از جمعيت كل باشد P(i) را مي¬توان مستقيماً از جمعيت اجسام دسته i محاسبه كرد. براي محاسبه f(x|i) روش بيز ساده اينطور در نظر مي¬گيرد كه اعضاي x مستقل¬اند، سپس هر يك از توزيعات يكنواخت را جداگانه اندازه¬گيري مي¬كند. بنابراين مشكل چند شكلي P بعدي به مشكلات اندازه¬گيري يك شكلي كاهش مي¬يابد. تخمين يك شكلي آشنا و ساده بوده و به اندازه¬هاي مجموعه يادگيري كوچكتري براي دستيابي به اندازه¬هاي درست نيازمند است. اين يكي از جذابي¬هاي خاص و نيز منحصربه فرد روش بيز ساده است: تخمين ساده، و بسيار سريع بوده و به برنامه-هاي اندازه¬گيري تكرار شونده پيچيده نياز ندارد.
اگر توزيع حاشيه¬اي مجزا باشد و هر xj تعداد اندكي از ارزش¬ها را شامل شود، اندازه یک اندازه گیرنده سابقه نمای چند جمله¬ایست که تنها نسبت اعضای دسته i را که در یک سلول قرار می¬گیرند محاسبه می¬کند. اگر ادامه داشته باشند، یک روش رایج تقسیم آن¬ها به فواصل کوچک¬تر و استفاده مجدد از اندازه گیرنده چند جمله¬ای است اما انواع پیشرفته¬تر آن که بر پایه اندازه¬های مداوم هستند(مانند اندازه¬های هسته) نیز مورد استفاده قرار می¬گیرند نسبت داده شده به این صورت در می¬آید:
(2)اکنون با یادآوری این¬که هدف ما تنها معرفی یک امتیاز بود که بطور یکنواخت به P(i|x) مرتبط باشد، می¬توانیم از آن لگاریتم بگیریم.
(3)اگر ما و یک مداوم را تعریف کنیم می¬بینیم که نسبت معادله بالا شکل ساده زیر را می-گیرد:
(4)بطوری¬که دسته¬بندی ساختار ساده¬ای دارد.فرض استقلال xj هر دسته مشخص در مدل بیز ساده ممکن است زیادی سخت¬گیرانه به نظر برسد. با این وجود در واقع فاکتورهای مختلفی ممکن است وارد بازی شوند که به این معناست که فرض آنقدر که به نظر می¬رسد مضر نیست.اول این¬که، یک مرحله انتخاب متغییر اولیه معمولاً اتفاق می¬افتد که در آن متغییرهای بسیار مرتبط با یکدیگر در زمینه¬هایی که ممکن بود به شباهت جدایی بین دسته¬ها کمک کنند رفع شدند. دوم این¬که، در نظر گرفتن ارتباطات به عنوان صفر یک مرحله نظم¬دهی مشخص فراهم می¬کند که باعث کاهش واریانس مدل و دسته¬بندی¬های درست¬تر می¬شود. سوم این-که، در برخی موارد وقتی متغیرها به هم مرتبط هستند سطح تصمیم¬گیری بهینه با سطح ایجاد شده تحت فرض مستقل تصادف می¬کند بطوری¬که ایجاد فرض به هیچ عنوان زیان¬بار نیست. چهارم این¬که، مسلماً سطح تصمیم ایجاد شده توسط مدل بیز ساده می-تواند یک شکل غیر خطی پیچیده داشته باشد.
دسته¬بندی کننده SVM
این الگوریتم از روش¬های یادگیری باناظر است که از آن برای طبقه-بندی و رگرسیون استفاده می¬کنند.
این روش از جمله روش¬های نسبتاً جدیدی است که در سال¬های اخیر کارایی خوبی نسبت به روش¬های قدیمی¬تر برای طبقه¬بندی از جمله شبکه¬های عصبی پرسپترون نشان داده است. مبنای کاری دسته¬بندی کننده¬ی SVM دسته¬بندی خطی داده¬هاست و در تقسیم خطس داده¬ها سعی بر آن است خطی انتخاب شود که حاشیه اطمینان بیشتری داشته باشد. حل معادله¬ی پیدا کردن خط بهینه برای داده¬ها به وسیله روش¬های QP که روش¬های شناخته شده¬ای در حل مسائل محدودیت¬دار هستند صورت می¬گیرد.قبل از تقسیم خطی برای این¬که ماشین بتواند داده¬های باپیچیدگی بالا را دسته¬بندی کند داده¬ها را باید به وسیله توابع phi به فضای با ابعاد خیلی بالاتر برد]6[.
این الگوریتم دارای مبانی نظری قوی و بی¬نقصی می¬باشد، فقط به یک دوجین نمونه احتیاج دارد و به تعداد ابعاد مسأله حساس نمی-باشد. همچنین متدهایی کارآمد برای یادگیری SVM به سرعت در حال رشد هستند. در یک فرایند یادگیری که شامل دو کلاس می-باشد، هدف SVM پیدا کردن بهترین تابع برای طبقه¬بندی می¬باشد به نحوی که بتوان اعضای دو کلاس را در مجموعه داده¬ها از هم تشخیص داد. معیار بهترین طبقه¬بندی به¬صورت هندسی مشخص می¬شود، برای مجموعه داده¬هایی که به¬صورت خطی قابل تجزیه هستند. به¬طور حسی آن مرزی که به¬صورت بخشیاز فضا تعریف می-شود یا همان تفکیک بین دو کلاس بوسیله hyperplane تعریف می¬شود. همین تعریف هندسی به ما اجازه می¬دهد تا کشف کنیم که چگونه مرزها را بیشینه کنیم ولو اینکه تعداد بیشماری hyperplane داشته باشیم و فقط تعداد کمی، شایستگی راه حل برای SVM دارند دلیل اینکه SVM روی بزرگ¬ترین مرز برای hyperplane پافشاری می¬کند این¬ست که قضیه قابلیت عمومیت بخشیدن به الگوریتم را بهتر تامین می¬کند. این نه تنها به کارایی طبقه¬بندی و دقت آن روی دده¬های آزمایشی کمک می¬کند، فضا را نیز برای طبقه¬بندی بهتر داده¬های آتی مهیا می¬کند.
یکی از مشکلات SVM پیچیدگی محاسباتی آن است. با این¬حال این مشکل به¬طور قابل قبولی حل شده است. یک راه¬حل این است که یک مسأله بهینه¬سازی بزرگ را به یک سری از مسائل کوچک¬تر تقسیم کرد که هر مسأله شامل یک جفت با دقت انتخاب شده از متغیرها که مساله بطور موثر بتواند از آن¬ها بهره ببرد. این پروسه تا زمانی که همه این قسمت¬های تجزیه شده حل شوند ادامه خواهد داشت.
6 – دسته¬بندی کننده Random Forestاز جمله دسته¬بندهایی که متد Bagging را به کار می¬گیرد Random Forest است که حاوی چندین درخت تصمیم می¬باشد و خروجی آن از خروجی¬های درخت¬های انفرادی به دست می¬آید. این الگوریتم متد Bagging را با انتخاب تصادفی ویژگی¬ها ترکیب می¬کند تا مجموعه¬ای از درخت¬های تصمیم با تنوع تحت کنترل ایجاد گردد. دقت بسیار بالای دسته¬بند از مزایای آن است، ضمن این¬که می¬تواند با تعداد زیاد ورودی به¬خوبی عمل کند]7[.
7 – دسته¬بندی کننده C4.5الف- توصیف الگوریتمC4.5 یک الگوریتم نیست بلکه مجموعه¬ای از الگوریتم¬هاست. توصیف کلی چگونگی کارکرد C4.5 در شکل(1) نشان داده شده است. همه روش¬های استنتاج درخت از گره ریشه آغاز می¬شوند که همه اطلاعات داده شده را ارائه می¬دهد و بطور بازگشتی اطلاعات را به مجموعه¬های کوچک¬تری تقسیم¬بندی می¬کند. و این¬کار را به وسیله آزمایش هر نسبت در هر گروه انجام می¬دهد. درختان فرعی، دسته¬بندی¬های مجموعه اطلاعات اصلی را نشان می¬دهند که آزمایشات ارزش¬گذاری نسبت¬های مشخص شده را تکمیل می¬کنند. این فرایند معمولاً تا خالص¬سازی مجموعه¬ها ادامه می¬یابد، یعنی همه نمونه¬ها در یک دسته قرار می¬گیرند و در این زمان رشد درخت متوقف می¬گردد.
ب- قوانین دسته¬بندی کننده¬هاC4.5 یک لیست از قوانین در قالب یک فرم معرفی می¬کند. قوانین برای هر کلاس با هم گروه¬بندی می¬شوند یک نمونه با پیدا کردن اولین قانون، به موقعیت امن می¬رود و اگر قانونی برای نمونه پیدا نشد به کلاس پیش فرض می¬رود. فایده مجموعه قوانین C4.5 در مقدار زمان CPU و حافظه مورد نیاز است.
مقایسه الگوریتم های هوشمند در شناسایی بیماری دیابت
بر روی هر تصویر کلیک کنید تا توضیحات کامل هر قسمت را مشاهده فرمایید