بخشی از مقاله
چکیده :
پایگاه داده ها در حوزه ی پزشکی و سلامت حاوی میزان وسیعی از داده های بالینی است که کشف ارتباطات در آنها می تواند به نمود دانش جدیدی در رشته پزشکی بیانجامد. در سالیان اخیر کاربرد روشهای دادهکاوی در پزشکی و مراقبتهای بهداشتی وسیعتر شده است. یکی از بیشترین کاربردهای روش های دادهکاوی، تشخیص بیماریها و عوارض ناشی از آنها است. از آنجا که میلیون ها انسان در سراسر جهان به دیابت مبتلا هستند، پیش بینی عوارض ناشی از آن می تواند نقش مهمی در این زمینه ایفا کند. لذا در این مطالعه سعی شده است مدلی ارائه شود تا بر اساس آن عارضه چشمی رتینوپاتی ناشی از دیابت پیش بینی شود. پایگاه داده ها شامل اطلاعات پرونده های بیماران دیابتی درمانگاه مطهری شیراز است که شامل 32 فیلد می باشد. انتخاب فیلدها به دو روش، بر اساس فیلدهای تعیین شده توسط پزشک و بر اساس روشی جدید، به کمک الگوریتم ژنتیک و با استفاده از روشهای مختلف وزن دهی به فیلدها، انجام شده اند و به منظور پیش بینی عملکرد از الگوریتم نزدیکترین همسایگی وزن دار استفاده شده است. نتایج نشان می دهد که مدل ترکیبی در پیش بینی روند عوارض ناشی از دیابت به خوبی عمل می کند.
.کلید واژهها: الگوریتم ژنتیک، الگوریتم نزدیکترین همسایگی. پیش بینی، دیابت، عارضه چشمی رتینوپاتی
-1 مقدمه
داده کاوی، فرایند طبقه بندی داده های حجیم و آشکارسازی اطلاعات، از این حجم زیاد از داده ها می باشد. در سالیان اخیر کاربرد روش های داده کاوی در حوزه پزشکی و سلامت وسیعترگردیده است. بدین ترتیب یکی از محبوب ترین حوزه های که داده کاوی در آن کاربردهای وسیعی پیدا کرده است، حوزه های پزشکی و مراقبت های بهداشتی است. یکی از بیشترین کاربردهای روش های داده کاوی در پزشکی، تشخیص بیماری ها و عوارض ناشی از آنها است. دیابت یا مرض قند یک اختلال متابولیسم است. در این بیماری توانایی تولید انسولین در بدن از بین می رود و یا بدن در برابر انسولین مقاوم شده و بنابراین انسولین تولیدی نمی تواند عملکرد طبیعی خود را انجام دهد.[1] بیماری های چشمی از یافته های شایع در بیماران دیابتی است. دیابت می تواند باعث نابینایی شود، رتینوپاتی دیابتی شایعترین علت موارد جدید نابینایی در افراد مسن است. کاهش بینایی همچنین با عوارض دیگری شامل افتادن، شکستگی استخوان ران و افزایش چهار برابر مرگ و میر همراه است.
این عارضه بدلیل تغییرات ایجاد شده در رگ های خونی رخ می دهد. وقتی عروق خونی در شبکیه آسیب می بینند ممکن است باعث نشت مایع یا خون شده یا منجر به رشد شاخه های عروقی شکننده و کلاف مانند شده و باعث تخریب شبکیه می شود در نتیجه تصویری که شبکیه به مغز میفرستد تار شده یا کج و معوج میشود. رتینوپاتی دیابتی یکی از علل اصلی کاهش دید است و کسانیکه دیابت درمان نشده دارند 25 برابر شانس بیشتری برای کوری نسبت به افراد عادی دارند3]و.[2 آگاهی از عوارض دیابت به افراد مبتلا، در معرض خطر و همچنین اطرافیان آنها کمک می کند در پیگیری و پیشگیری بیماری همت بیشتری به خرج دهند و باعث به تعویق افتادن عوارض بیماری شوند.
بگیاشری و همکاران[4] رتینوپاتی را در بیماران مبتلا به دیابت پیش بینی کردند. ابتدا در مرحله پیش پردازش بدلیل اینکه عکس ها تار و ناواضح بودند، تغییر فضای رنگی و ترمیم عکس ها صورت گرفت و تصاویر ابتدا به تصاویر خاکستری تبدیل شدند و سپس فیلتر میانه تطبیقی - AMF - به منظور حذف نویز استفاده شد و در نهایت مناطق تیره تصویر روشنتر شدند و فیلدهای مورد نیاز برای بررسی از تصویر استخراج شده و بوسیله ماشین بردار پشتیبان و نزدیکترین همسایگی عمل طبقه بندی بیماران به مبتلا بودن به عارضه رتینوپاتی و یا بدون مشکل چشمی انجام گرفت و به دقت %90 دست یافتند.
سفارا و همکاران[5] یک روش خودکار با نام Fuzzy - FCM - CMeans برای تشخیص ترشحات از تصاویر دیجیتال با کنتراست پایین استفاده کردند. ابتدا چهار ویژگی ورودی را بر اساس ویژگی های ماده مترشحه، شدت، انحراف معیار و رنگ و تعداد پیکسل های لبه تصاویر انتخاب کردند سپس به منظور پیش پردازش داده ها، افزایش کنتراست اعمال شد و به منظور ارزیابی مدل از پارامترهای مختلف از قبیل حساسیت و دقت استفاده کردند و در نهایت به دقت بالایی رسیدند. پنس و همکاران[6] به منظور استخراج ویژگی ها از تصاویر، سایز تصاویر را یکسان نمودند و تغییر رنگ از فضای RGB به فضای YCbCr انجام دادند سپس مرحله کشف لبه های تصویر و پیدا کردن مرکز تصاویر برای پیدا کردن ساختار داخلی ازتصاویر را انجام دادند و در نهایت عمل طبقه بندی را بوسیله ماشین بردار پشتیبان انجام دادند. اکیل جبار و همکاران[7] به منظور پیش بینی بیماری قلبی در هند از الگوریتم ژنتیک به منطور انتخاب بهترین ویژگی ها استفاده کردند و دقت پیش بینی را توسط الگوریتم نزدیکترین همسایگی تعیین کردند و بر این اساس توانستند علاوه بر انتخاب ویژگی های موثر به دقت بالا تری نسبت به روش نزدیکترین همسایگی به تنهایی دست یابند.
-2 متدها و روش های مورد استفاده
به منظور پیش بینی عارضه رتینوپاتی ابتدا به بررسی مجموعه داده ها و پیش پردازش مربوط به بیماران دیابتی کلینیک مطهری شیراز پرداخته سپس الگوریتم های ژنتیک و نزدیکترین همسایگی بررسی می شوند.
-1-2 گردآوری مجموعه داده ها
جدول داده ها شامل اطلاعات بیماران دیابتی کلینیک مطهری بیمارستان شیراز است و شامل 32 فیلد و 194 رکورد می باشد که فیلد 32 ام به عنوان کلاس در نظر گرفته شده است. از 194 بیمار دیابتی74 بیمار دارای عارضه رتینوپاتی و 120 بیمار بدون این عارضه می باشند. جدول 1 ویژگی های مربوط به بیماران دیابتی مبتلا به رتینوپاتی کلینیک مطهری شیراز را نشان می دهد. است. در این مقاله فیلدهای خالی مربوط به قد و وزن بر اساس 5 رکورد از نزدیکترین همسایه ها پر شده است.[8] ابتدا از روش اعتبار سنجی cross-validation به ازاء N 1' 2' 3' … استفاده می شود. با افزایش میزان K خطای طبقه بندی کاهش می یابد سپس میزان خطا تثبیت شده و با افزایش K میزان خطا افزایش می یابد. میزان K در شروع تثبیت خطا به عنوان K بهترین مقدار در نظر گرفته شده که مقدار آن در این مطالعه عدد 5 می باشد.
-2 مجموعه داده ها شامل فیلدهایی با محدودهای مختلفی از مقادیری ارزشی می باشد بنابراین از رابطه - 1 - برای نرمال کردن مقادیر فیلدها و تثبیت آنها در فاصله صفر تا یک استفاده شده است10]و.[9
-3 به منظور توازن کلاس حداقل نسبت به حداکثر از فیلتر SMOTE بر اساس 5 رکورد از نزدیکترین همسایه ها استفاده شده است. بعد از اعمال فیلتر 120 نفر در کلاس بدون عارضه و 118 نفر در کلاس دارای عارضه قرار گرفته اند و تعداد رکوردها 238 رکورد می گردد12]و.[11
-3-2 انتخاب ویژگی ها بر اساس الگوریتم ژنتیک و وزن دهی به ویژگی ها
باید توجه داشت که هرکدام از ویژگی ها در تشخیص و پیش بینی بیماری رتینوپاتی در بیماران دیابتی از اهمیت خاصی برخوردار هستند. این که هر یک از ویژگی ها دارای چه ارزشی هستند و چقدر در تشخیص بیماری نقش دارند و انتخاب چه تعداد از آنها و کدام ویژگی ها باعث افزایش دقت پیش بینی می شود مساله مهمی است. الگوریتم ژنتیک از اصول انتخاب طبیعی داروین برای یافتن فرمول بهینه جهت پیشبینی یا تطبیق الگو استفاده می کند. وسعت جستجوی عملگرهای الگوریتم ژنتیک کمک می کند تا به طور موثری جواب های کشف نشده در فضای جستجو شناسایی و تست شوند. احتمالی بودن ساختار مسئله با عملگرهای الگوریتم ژنتیک باعث میشود یک جواب بهتر کشف و ارائه شود. وجود جمعیت های مختلف باعث میشود که احتمال گیر افتادن الگوریتم در یک نقطه بهینه محلی کاهش یابد.
ابتدا جمعیت اولیه که شامل تعدادی کروموزوم است ایجاد می شوند هر کروموزوم شامل تعدادی ژن است و هر ژن به صورت یک بیت در نظر گرفته می شود. در کروموزوم بیت یک نماینگر انتخاب فیلد از مجموعه داده ها و بیت صفر نماینگر عدم استفاده از آن فیلد می باشد و سپس مقدار تابع هدف به ازاء هر یک از کروموزوم ها در جمعیت محاسبه می شود. پس از بدست آوردن مقدار برازندگی یا تابع ارزیابی هر یک از اعضاء جمعیت، می توانیم نسل جدید را با توجه به نسل حاضر تولید کنیم.[13] عمل انتخاب مشخص می کند که کدامیک از اعضاء نسل حاضر می توانند به عنوان والد در تولید نسل آینده شرکت کنند. این عمل طبق اصل بقاء اصلح صورت می گیرد. برای بهره برداری از مجموعه ژن با امید به تولید نسلی بهتر از نسل قبلی، عملگر جابجایی اعمال می گردد. عملگر جابجایی تک نقطه، اساسی ترین عملگرجابجایی است، بطوریکه پس از انتخاب جفت کروموزوم اول یعنی والدها، دو کروموزوم از محلی که بطور تصادفی انتخاب می شود، دو قطعه می شوند و قطعات جدا شده هر یک با دیگری ترکیب شده تا جفت دوم یعنی فرزندان تولید شوند. به کروموزوم های حاصل از عمل جابجایی و جهش، کروموزوم های فرزند گفته می شود. به همین ترتیب می توانیم عملگر جابجایی n نقطه را تعریف کنیم.
از عملگر جهش، به منظور تولید خود به خودی کروموزوم های جدید و جلوگیری از همگرا شدن و متوقف شدن الگوریتم در مینیمم - ماکزیمم - های محلی، استفاده می شود. عملگر جهش همانند عملگر جابجایی، با در نظر گرفتن یک عدد احتمال داده شده صورت می گیرد که به آن نسبت جهش می گوییم. معمولا نسبت جهش در سطح پایینی نگاه داشته میشود تا کروموزوم های خوب بدست آمده از عمل جابجایی، از بین نروند. پس از مشخص شدن ژنی که باید روی آن عمل جهش صورت گیرد، یکی از بیت های آن بطور تصادفی انتخاب شده و یکی از مقادیر 0 یا 1 را بخود اختصاص می دهد.14]و.[13 مراحل الگوریتم ژنتیک به ترتیب زیر می باشند. -1 تولید تصادفی جمعیت اولیه
-2 برآورد تابع هدف برای هر کروموزوم در جمعیت -3 انجام عملگر جهش و ترکیب و برآورد تابع هدف و انتخاب بهترین کروموزوم ها از افراد نسل قبل و افراد جدید حاصل از جهش و ترکیب -4 در صورت برآورده شدن شرط پایانی عملیات متوقف می شود در غیر این صورت از مرحله 2 ادامه می یابد