بخشی از مقاله
استفاده از سیستم استنتاج فازي براي تشخیص خودکار بیماري
-
دادهکاوي تکنیک و ابزار بسیار متداولی است که امروزه در زمینههاي مختلفی کاربرد پیـدا کـرده اسـت. تشـخیص بیماریهـاي مختلف در علم پزشکی، یکی از زمینههاي پرکاربرد دادهکاوي محسوب میشود کـه در سـالهـاي اخیـر تحقیقـات و مطالعـات زیادي پیرامون آن انجام شده است. در این مقاله به مساله تشخیص خودکار بیماریها پرداخته و از سیستمهـاي اسـتنتاج فـازي براي تشخیص خودکار بیماري استفاده میشود. روش پیشنهادي مطرح شده، به کمک سیستمهاي فازي مبتنی بـر قـانون کـه مجموعهاي از قوانین if-then فازي میباشند، دانش مورد نیاز را واکشی نموده و عمل دستهبنـدي را انجـام مـیدهـد. قـوانین فازي از آن جهت مورد توجه میباشند که امکان تفسیر آنها توسط انسان خبره وجود دارد. در واقع دانش مد نظـر پزشـک مـی تواند به صورت یک پایگاه قانون فازي در نظر گرفته شود که در طول فرایند داده کاوي و به کمک یک الگوریتم بهینهسازي بـا توجه به معیارهایی نظیر دقت و قابلیت تفسیر، بهبود مییابد. دسته مهمی از مسائل در علم پزشکی مربوط به تشخیص امراض است که بر اساس تستهاي متنوع بر روي بیمار انجام میشود. هنگامی که چندین تست انجـام مـیشـود، تشـخیص نهـایی ممکن است حتی براي یک متخصص خبره پزشکی نیز به سختی انجام شود. همین امر منجر شده که در طول چند دهه اخیر، ابزار تشخیص کامپیوتري با قصد کمک به پزشک وارد کار شده تا به نحوي بینظمی و عدم تطابق را از دادهها خارج کنـد. یـک هدف اصلی براي چنین ابزار کامپیوتري، مربوط به دامنه تشخیص سرطان، بیماريهاي قلبی، هپاتیت و ... است. نتـایج بدسـت آمده از اجرا بر روي مجموعه دادههاي پزشکی موجود در مخزن داده UCI دانشگاه کالیفرنیا ثابت میکند که روش پیشنهادي میتواند با دقت بالایی به دستهبندي و تشخیص بیماري بپردازد به طوریکه قوانین تولید شده نیز به راحتی توسط یک شـخص خبره قابل تفسیر باشند.
کلمات کلیدي: دادهکاوي، سیستم استنتاج فازي، دستهبندي، سیستمهاي خبره، تشخیص بیماري
1
-1 مقدمه
دسته مهمی از مسائل موجود در علم پزشکی مربوط به تشخیص امراض است کهمعمولاً بر اساس تسـتهـاي متنـوع بـر روي بیمار قابل انجام است. هنگامیکه تعداد این تستها زیاد باشد، ممکن است تشخیص بیماري حتی براي یک پزشـک متخصـص نیز به سختی انجام شود. همین امر موجب شده که در طول سالهاي اخیر، سیستمهاي تشخیصخودکارِ کامپیوتري بـا قصـد کمک به پزشک متخصص، توسعه داده شوند تا به نحوي بینظمی را از دادههاي موجود خارج کنند. بـه عنـوان نمونـه یکـی از مهمترین زمینههاي تشخیص خودکار بیماري مربوط به تشخیص سرطان است کهغالباً تشخیص حالت خوشخـیم یـا بـدخیم آن کاري دشوار است؛ به همین دلیل طراحی یک سیستم خودکار تشخیص سرطان میتواند به پزشک متخصص کمک کند تـا معلوم شود که بیمار تحت چه شرایطی نشانههایی از یک مورد خوشخیم یا بدخیم سرطان را دارد. ابزاري که بـراي کمـک بـه پزشک توسعه داده میشود باید داراي دو ویژگی اصلی باشد: اول اینکه باید داراي کارایی بالایی باشد؛ یعنـی قابلیـت اعتمـاد و دقت بالایی داشته باشد. دومین ویژگی سیستم ارائه شده مربوط به قابلیت تفسیر آن است؛ یعنی قوانین استخراج شده توسـط
این سیستم باید به حدي ساده باشند که به راحتی توسط پزشک قابل تفسیر باشد.
چنین سیستمهاي کامپیوتري را در اصطلاح، سیستمهاي خبره((expert system مینامند که در زمینههاي کـاري مختلـف میتواند کاربرد داشته باشد و به فرد متخصص در آن زمینه در هنگام اخذ تصمیم کمک کند. یکـی از زمینـههـاي پـر کـاربرد استفاده از سیستمهاي خبره در زمینههاي مختلف پزشکی و به خصوص تشخیص خودکار بیماري اسـت. یـک سیسـتم خبـره پزشکی، با گرفتن پارامترهاي مربوطه، با استفاده از الگوریتمهاي هوش مصنوعی و دادهکاوي و با استفاده از یک بانک اطلاعاتی حاوي تشخیصهاي قبلی، به صورت خودکار، بیماري مورد نظر و درجه آنرا تشخیص میدهد. چنین سیستمهاي خبرهاي باید داراي دو ویژگی کارایی و قابلیت اعتماد بالا باشد یعنی با دقت بالایی بیماري مورد نظر را تشخیص دهد، علاوه بـر آن بایـد از قابلیت تفسیر مناسبی نیز برخوردار باشد تا پزشک معالج بتواند به راحتی آن را درك کند که ایـن سیسـتم خبـره کـامپیوتري چگونه تصمیم مورد نظر را اخذ کرده است. بنابراین در صورتی که این روش اهداف فوق را برآورده کند میتواند کمـک بزرگـی به پزشکان متخصص در تشخیص بیماريهاي مختلف باشد. این سیستم به طور واضح و با دقت قابل ملاحظـهاي مـیتوانـد در سریعترین زمان ممکن، نتیجه بیماري را مشخص کند که میتواند در بیمارستانها و کلینیکها به عنوان یک ابـزار کمکـی بـه پزشک متخصص کمک کند.
در مراجع [9-1] الگوریتمها و روشهاي کامپیوتري مختلف در رابطه با تشخیص بیماري آمده است که جایگاه مهم دادهکاوي و روشهاي هوش مصنوعی در علم پزشکی را به خوبی نشان میدهد. تاکنون چندین روش براي تشخیص خودکار بیماريهـاي پیچیده و مختلف پیشنهاد شده است؛ از جمله استفاده از شبکههاي عصـبی مصـنوعی، درخـتهـاي تصـمیم و ماشـین بـردار پشتیبان و -kهمسایه نزدیکتر و غیره. در تمامی این روشها خروجی مورد نظر یـک خروجـی بـاینري اسـت، یعنـی دو حالـت خوشخیم یا بدخیم را در خروجی ظاهر میکند، علاوه بر آن،ُ دقت و قابلیت تفسیر روشهاي ارائه شـده نیـز پـائین اسـت کـه حتی پزشک متخصص نیز قادر به تفسیر آنها نخواهد بود. روش پیشنهادي مطرح شده در این مقاله میتواند تمـام پارامترهـاي مطرح شده را نسبت به روشهایی که تاکنون انجام شده بهبود بخشد.
در ادامه و در بخش دوم این مقاله، روش مورد استفاده و الگوریتم پیشنهادي براي ایجاد این سیستم خبره پزشکی معرفی می-
شود؛ در بخش سوم، یافتهها و ارزیابی روش پیشـنهادي ارائـه شـده اسـت. بخـش چهـارم مقالـه نیـز شـامل نتیجـه گیـري و پیشنهادهاي ارائه شده براي کار در آینده است؛ مراجع مورد استفاده بعد از بخش چهارم مقاله آمده است نهایتاًو چکیده مقاله به زبان انگلیسی در بخش پایانی مقاله آورده شده است .
-2 محیط مسأله و روش پیشنهادي
در این بخش ابتدا به معرفی محیط مسأله و متغیرها مربوطه پرداخته میشود، سپس بعد از معرفی الگوریتم مـورد اسـتفاده در این مقاله، روش پیشنهادي تشریح میشود.
-1-2 محیط مسأله و متغیرهاي تحقیق
2
در این سیستم پارامترهاي مربوط به بیماریهاي مختلف اهمیت زیادي دارند که البته هر بیماري پارامترهاي مختلفی نیـز دارد؛ به عنوان نمونه در بیماریهاي قلبی تعداد پارامترهـاي مـورد مطالعـه 8 پـارامتر و در بیمـاري سـرطان سـینه WBCD تعـداد پارامترها 9 پارامتر میباشد. علاوه بر تعداد پارامترهاي موثر در بیماري، تعداد دستههاي نتیجه هر بیماري نیـز نقـش دارد؛ بـه عنوان نمونه در بیماريهاي مربوط به سرطان دسته نتیجه شامل دو مقدار خوشخیم یا بدخیم میشود. علاوه بر این متغیرهـا دو متغیر دیگر نیز در این مطالعه باید بررسی شود که عبارتند از کارایی(قابلیت اعتماد) و قابلیت تفسیر سیستم استنتاج فـازي بدست آمده. با توجه به توضیحات مطرح شده، متغیرهاي این مطالعه عبارتند از:
الف) پارامترهاي مستقل:
-1 پارامترهاي موثر در هر بیماري
-2 کلاس یا دستههاي نتیجه مربوط به هر بیماري
ب) پارامترهاي وابسته:
-1 قابلیت اعتماد یا کارایی سیستم
-2 قابلیت تفسیر یا سادگی سیستم
-2-2 معرفی الگوریتم بهینهسازي جامعه مورچگان((ACO
امروزه به دلیل زیاد بودن حجم داده ها و پیچیدگی آنها، ابزار مناسبی براي تحلیل این داده هاي موجـود و دسـتیابی بـه دانـش نهفته در آنها نیاز است. این تمایلات و علاقه ها براي حصول به دانش نهفته در داده ها باعـث رشـد چشـمگیر داده کـاوي شـده است. داده کاوي در سال هاي اخیر، تأثیرات شگرفی در محیط هاي آکادمیک و صـنعتی ایجـاد کـرده و کاربردهـاي فراوانـی در زمینه هاي مختلف یافته است. به عنوان نمونه می توان به کاربردهاي تجاري، مدیریت و کشـف فریـب، پزشـکی، ورزشـی، مـتن کاوي و وب کاوي اشاره نمود. اصطلاح داده کاوي به تمام جنبه هاي یک فرایند خودکار و یا نیمه خودکار براي استخراج دانش و الگوهاي ناشناخته و سودمند از پایگاه هاي داده اي بزرگ، اشاره می کند. این فرایند از دو مرحله اصلی تشکیل شده است؛ مرحله اول پیش پردازش داده ها است که شامل پاکسازي، یکپارچه سازي، انتخاب صفات و تبدیل داده ها به قالـب مـورد اسـتفاده داده کاوي، است. در مرحله دوم، داده هاي بدست آمده از مرحله اول به منظور تشخیص الگو مورد استفاده قرار می گیرند که این امر به کمک الگوریتم هایی نظیر دسته بندي و خوشه بندي صورت می گیرد. سپس الگوهاي بدسـت آمـده بـر اسـاس یـک سـري از معیارها نظیر دقت و قابلیت تفسیر دانش مورد ارزیابی قرار میگیرند.
در دادهکاوي، دانش کشف شدهغالباً بهشکل قوانین پیشگویانه یا قوانین دستهبنديِ اگر-آنگاه((IF-THEN و بهصـورت زیـر
نمایش داده میشوند:
IF <condition> THEN <class>
بخش <condition> یا مقدم قانون، شامل ترکیب منطقی از ویژگیهاي پیشگوییکننده و به شکل term1 AND term2 AND … اسـت. هـر term یـا عبـارت شـامل یـک سـهتـایی بـهشـکل <attribute, operator, value> اسـت، مثـل .<Gender=female> بخش <class> یا نتیجه قانون شامل کلاس پیشبینی شده براي نمونههایی است کـه ویژگـیهـاي پیشبینیکنندة آن،بخشِ <condition> قانون را برآورده میکند.
سیستم هاي مبتنی بر قوانین if-then در زمینه هاي کاربردي زیادي با موفقیت مورد استفاده قرار گرفته انـداخیـراً. روش هـاي متنوعی براي تولید و اصلاح این قوانین به صورت خودکار پیشنهاد شدهاند. یکی از این روشها الگـوریتم بهینـه سـازي جامعـه مورچگان است. الگوریتم مورچگان هم به صورت تئوري و هم به صورت تجربی ثابت کرده که میتواند به جستجوي قابلیتهاي موجود در فضاهاي جستجوي پیچیده پرداخته و یک روش معتبر را براي مسائلی که نیازمند جستجوي کارا و مـؤثري هسـتند،
ارائه کند.
الگوریتم جامعه مورچگان یا همان (Ant Colony Optimization)ACO یک روش مکاشفهاي مـیباشـد کـه بـه منظـور شبیه سازي رفتار طبیعی مورچهها بکار می رود. ایده اولیه این روش توسط Dorigo مطرح شد.[11] سپس ACO به عنـوان
3
یک ایده جستجوي بهینه سازي براي فرار از جواب هاي بهینه محلی و همگرایی به سمت جواب بهینه سراسري مطرح شد 10]، .[12 فرایند متناظر جامعه مورچگان و دستهبندي قوانین if-then فازي به صورت زیر مدل میشود:
فرآیند متناظر جامعه مورچگان و مسأله دسته بندي قوانین if-then فازي به صورت زیر است:
• تعداد مورچههاي موجود در جامعه مورچگان: تعداد قوانین مورد استفاده براي دستهبندي.
• ویژگیهاي مورچهها: صفات و پارامترهاي مربوط به دامنه بیماري مورد نظر.
• مقدار فرومون ترشح شده از هر مورچه: میزان تابع ارزیابی مربوط به آن مورچه.
• بهنگامسازي فرومون مربوط به مورچه انتخابی: بهینهسازي مجموعه قوانین if-then فازي دسته بندي کننده.
• جامعه مورچگان فعلی: مجموعه قوانین فعلی.
• برهم زدن جامعه مورچگان فعلی: اعمال تغییر در مجموعه قوانین فعلی.
• جامعه مورچگان جدید: مجموعه قوانین جدید.
• محاسبه شایستگی مربوط به جامعه مورچگان جدید: محاسبه مقدار تابع ارزیابی براي مجموعه قوانین جدید.
• پذیرفتن جامعه مورچگان جدید با یک احتمال خاص و به شرطی که میزان شایستگی مربوط به آن بیشتر از میـزان شایستگی فعلی باشد: پذیرفتن مجموعه قوانین جدید به شرطی که مقدار تابع ارزیابی آن بیشتر از مقدار تابع ارزیابی مجموعـه قوانین فعلی باشد.
-3-2 سیستم استنتاج فازي پیشنهادي
یک سیستم استنتاج فازي، یک سیستم مبتنی بر قوانین if-then است که از منطق فازي براي استدلال دادهها اسـتفاده مـی-
کند. ساختار اساسی این سیستم شامل چهار مؤلفه است که در شکل 1 نشان داده شده است.
همانطور که در شکل 1 نشان داده شده چهار مؤلفه یک سیستم استنتاج فازي عبارتند از: -1 فازيساز : وروديهاي حقیقی را به مقادیر فازي تبدیل میکند.
-2 موتور استنتاج: یک مکانیزم استدلال فازي را به کار میبرد تا یک خروجی فازي را تولید کند. -3 فازيزدا : که خروجی موتور استنتاج را به یک مقدار حقیقی تبدیل میکند.