بخشی از مقاله
*** این فایل شامل تعدادی فرمول می باشد و در سایت قابل نمایش نیست ***
بهبود تشخيص بيماري پارکينسون با استفاده از الگوريتم AdaBoost
خلاصه
بيماري پارکينسون يکي از بيماريهاي شايع در جهان بوده که اگر به موقع تشخيص داده نشود، باعث لرزش در تمام اندام هاي مي شود. هدف از اين مقاله پردازش داده هاي پزشکيِ بيماري پارکينسون بوده که توسط سايت تحقيقاتي UCI ارائه شده است . روشهاي مختلفي براي پردازش داده ها وجود دارد. الگوريتم هاي طبقه بندي کننده ، روشهاي کلاسترينگ ، قوانين وابستگي، و استخراج الگوهاي متوالي برخي از آنها است . در اين مقاله ، کارايي طبقه بندي کننده هاي درخت تصميم ، بيزين ساده ، ماشين بردار پشتيبان ، و شبکه عصبي چند لايه در مورد اين بيماري مورد بررسي قرار گرفته است . براي افزايشِ دقتِ طبقه بندي کننده ها از الگوريتم AdaBoost استفاده شده است . AdaBoost روشي براي تلفيقِ چند طبقه بندي کننده با يکديگر است . مطالعات با استفاده از نرم افزارِ منبع باز RapidMiner انجام شده است .
آزمايشات نشان داده است که دقتِ طبقه بندي کننده ي درخت تصميم با تلفيق الگوريتم AdaBoost براي بيماري پارکينسون از ساير طبقه بندي کننده ها بيشتر است .
کلمات کليدي: پارکينسون ، درخت تصميم ، شبکه عصبي، بيزين ساده ، ماشين بردار پشتيبان ، AdaBoost.
١. مقدمه
بيماري پارکينسون که با اختصار PD معرفي مي گردد، نوع بيماري خاص شبکه عصبي است ، که در آن سلولهاي ترشح کننده ماده اي بنام دوپامين کاملاً از بين رفته و موجب لرزش بيمار در تمام وضعيت ها مي شود. امروزه ، شيوع بيماري پارکينسون گسترش زيادي داشته و حدود ١% از جمعيت بالاي ٥٥ سالِ جهان را تشکيل مي دهد. اين بيماري بعد از بيماري آلزايمر، شايع ترين نوع بيماري شبکه عصبي است . درمان قطعي براي اين بيماري وجود نداشته ، و با بعضي از داروهاي خاص مي توان علائم آنرا در مراحل اوليه کاهش داد. تحقيقات نشان داده است که مهمترين علائم بيماري اختلال در گفتار و عدم تعادل در راه رفتن است . اختلال در گفتار به هر نوع مشکل در نحوه تکلم و ايجاد يک صداي خاص از بيمار اطلاق مي گردد، که مي تواند شامل صداي خشن ، و يا صدايي که با زحمت از گلو بيرون مي آيد، نسبت داده شود. اغلب روشهايي که براي تشخيص بيماري پارکينسون استفاده مي گردد، متکي بر تجربه بوده ، که با توجه به ظواهر بيمار و نحوه تکلم تشخيص داده مي شود.[١]
الگوريتم هاي طبقه بندي کننده ٤ يکي از روشهاي موثر براي تشخيص بيماري در بيماران جديد، براساس اطلاعات موجود است . در اين مقاله ، الگوريتم هاي مختلف طبقه بندي کننده براي تشخيص بيماري پارکينسون با استفاده از نرم افزار منبع باز RapidMiner مورد بررسي قرار گرفته است . نرم افزار RapidMiner قابليت پردازش داده ها را در تمام مراحل داده کاوي دارد. سه الگوريتم طبقه بندي کننده ي درخت تصميم ، شبکه عصبي، بيزين ساده در تشخيص بيماري پارکينسون مورد بررسي قرار گرفته است . در اولين آزمايش اين الگوريتم ها ابتدا بصورت حداگانه بر روي پايگاه داده بيماري پارکينسون بررسي شده اند. در آزمايش دوم ، اين الگوريتم ها در تلفيق با الگوريتم AdaBoost مورد بررسي قرار گرفته اند. نتايج آزمايشات نشان داده است که دقتِ الگوريتم طبقه بندي کننده درخت تصميم در تلفيق با الگوريتم AdaBoost بسيار بيشتر شده است . ساختار مقاله به اين صورت نوشته شده است که در بخشهاي دوم ، سوم ، و چهارم الگوريتم هاي طبقه بندي کننده توضيح داده شده است . بخش پنجم شامل توضيحاتي در مورد الگوريتم AdaBoost است . در بخش ششم پايگاه داده پارکينسون که توسط سايت UCI ارائه شده است ، معرفي شده است . در بخش هفتم نتايج آزمايشات و بررسي ها بصورت جداگانه توضيح داده شده است .
٢. درخت تصميم
طبقه بندي کننده ي درختِ تصميم يکي از الگوريتم هاي پايه اي در علم داده کاوي است . اين طبقه بندي کننده ، ساختاري شبيه فلوچارت دارد. بر خلافِ ساختار درخت ها در طبيعت ، ساختار اين درخت معکوس بوده ، و ريشه ي آن در بالا و رشد درخت رو به پايين صورت مي گيرد. در اين درخت ، هر گره داخلي معرف يک ويژگي، و هر شاخه مقادير تعريف شده براي آن ويژگي است . از آخرين گره يا گره ي برگ ، براي نمايش مقادير ويژگي برچسب استفاده مي شود. براي ايجاد درخت تصميم الگوريتم هاي مختلفي مانند ID٣، C٤٥،CART و ... طراحي شده است . هدف اصلي از طراحي درخت تصميم ، پيش بيني برچسبِ يک رکورد بر اساس مقاديرِ ويژگي هاي آن رکورد است . مراحل ايجاد يک درخت تصميم بصورت زير است :
١. بهترين ويژگي مجموعه داده هاي آموزشي را بر اساس يکي از روشهاي بهره اطلاعات ٦، نسبت بهره ٧، ضريب جيني ٨و ... انتخاب کن .
٢. به ازاي تمام مقاديرِ ويژگيِ انتخاب شده ، يک شاخه به درخت اضافه کن .
٣. مراحل فوق را تا رسيدن به ويژگيِ کلاس و قرار دادن آن ، در برگ هاي درخت ادامه بده . ٤. اگر تمام رکورد ها بدرستي در ساختار درخت تعريف شده اند، برو به پايان . در غير اينصورت مراحل را از ابتدا شروع کن .
درخت تصميم نسبت به overfiting داده ها حساس بوده ، که باعث کاهش دقت مي شود. يکي از روشهاي افزايش دقت ، ادغام چند درخت تصميم و بررسي داده هاي آزمايشي بر روي آنها است . روشهاي متعددي براي ادغام چندين درخت تصميم ، موجود بوده که الگوريتم AdaBoost يکي از آنها است . اين الگوريتم با وزن دهي به نتيجه هاي بدست آمده براي يک رکورد خاص در هر درخت تصميم ، بهترين پيش بيني را براي تعيين برچسب رکورد هاي جديد انجام مي دهد.
پياده سازي درخت تصميم در مقايسه با ساير الگوريتم هاي طبقه بندي کننده ، بسيار راحت بوده و براي انسان قابل قهم تر است .
٣. شبکه عصبي چند لايه
شبکه عصبي مصنوعي ، يک مدل محاسباتيِ الهام گرفته شده از ساختار و رفتارِ شبکه عصبي بيولوژيکي است .
شبکه عصبي از يک گروه بهم پيوسته از نرون هاي مصنوعي تشکيل شده که پردازش اطلاعات در آن با استفاده از ارتباط بين نرون ها انجام مي شود. شبکه عصبي داراي معماري هاي پياده سازي مختلفي است . براي پيش بيني و طبقه بندي داده ها، معمولاً از شبکه عصبي پيش خور چند لايه استفاده مي شود. اين نوع شبکه عصبي، از يک لايه ورودي، و يک لايه خروجي و چندين لايه پنهان ايجاد مي شود. اطلاعات اوليه ي شبکه در لايه ورودي دريافت شده و پس از محاسبات و وزن دهي در لايه پنهان به لايه خروجي ارسال مي شود. الگوريتم هاي مختلفي براي وزن دهي ارتباطات بين لايه ها بر اساس مقادير لايه ي ورودي تعريف شده است . الگوريتم انتشار٩، يک الگوريتم يادگيري با ناظر بوده ، که داراي دو مرحله انتشار و تغيير وزن ها است . اين دو مرحله ، آنقدر تکرار شده تا کارايي شبکه به اندازه کافي برسد. الگوريتم هاي لونبرگ - مارکوارت ١٠، گراديانت مزدوج کوچک ١١، گراديانت مزدوج پل -ريبير١٢، ساير الگوريتم هاي يادگيري هستند. مقدار دهي اوليه وزن ها بصورت تصادفي است . زمان آموزش در شبکه عصبي طولاني است و بيشتر در مواردي استفاده مي شود که زمان يادگيري، در آنها مهم نباشد. در شکل ١ يک شبکه عصبي با سه لايه نمايش داده شده است .
شکل ١. ساختار شبکه عصبي چند لايه
٤. طبقه بندي کننده ي بيزين ساده
طبقه بندي کننده بيزين ساده بر اساس قانون احتمال بيز، با فرضِ استقلالِ مقادير ويژگي ها بر اساس ويژگي برچسب ، طراحي شده است . لغت ساده در عنوان اين طبقه بندي کننده به همين موضوع اشاره مي کند. با توجه به الگوريتم ساده ي اين طبقه بندي کننده ، سرعت محاسبه آن بالا است [٢]. اين سادگي باعثِ مديريت ساده يک پايگاه داده با تعداد زيادي ويژگي مي شود. اين طبقه بندي کننده براي پيش بيني برچسب يک رکورد در مقايسه با ساير طبقه بندي کننده ها به داده هاي آموزشي کمتري نياز دارد. فرمول کلي نظريه ي بيز بصورت فرمول (١) است :
احتمال وقوع متغير X در تمام رکوردها است .
٥. الگوريتم AdaBoost
AdaBoost١٤ متا الگوريتمي است که توسط يوآو فري اوند١٥ و رابرت چاپير١٦ در سال ١٩٩٧ طراحي گرديد [٣]. هدف اين الگوريتم ، ايجاد يک طبقه بندي کننده ي قوي بر اساس ترکيب چند طبقه بندي کننده ي ضعيف است .
اساس کار اين الگوريتم بر مبناي وزن دهي به رکورد ها است . الگوريتم در هر واحد زماني تکرار ، يک طبقه بندي کننده ي ضعيف يا پايه را فراخواني، و وزن هاي تخصيصي به رکورد ها را تغيير مي دهد. وزن رکوردهايي که اشتباه طبقه بندي شده اند افزايش ، و رکوردهايي که به درستي طبقه بندي شده اند، کاهش مي يابد. طبقه بندي کننده جديد با ورود به سيستم ، تمرکز خود را بر روي رکورد هايي که بدرستي طبقه بندي نشده و وزن بيشتري دارند، مي گذارد. شبه کد الگوريتم AdaBoost در جدول ١ آورده شده است [٤].
در اين الگوريتم مجموعه ي آموزشي D، که شامل d رکورد به شکل (xi,Yi) است ، از ورودي دريافت مي شود. در اين مجموعه برچسب رکورد xi با Yi نشان داده شده است . هر رکورد در ابتدا داراي وزن يکسان است . اين الگوريتم براي توليد K طبقه بند، به K مرحله نياز دارد. در مرحله i ام ايجاد طبقه بندها، با روش نمونه گيري با جايگزيني، مجموعه آموزشي Di ايجاد مي شود. با توجه به اينکه در روش نمونه گيري با جايگزيني، يک رکورد ممکن است چندين بار انتخاب گردد، شانس انتخاب هر رکورد بر اساس وزن رکورد تعيين مي شود. با استفاده از مجموعه آموزشي Di مدل mi ساخته شده ، سپس خطاي مدل ايجاد شده با استفاده از فرمول (٢) محاسبه مي گردد.
در فرمول (٢) اگر يک رکورد بدرستي طبقه بندي شده باشد، مقدار تابع برابر با ١ و در غير اينصورت برابر با ٠ است . در ادامه ، اگر خطاي طبقه بند mi از ٠.٥ بيشتر باشد، کارايي مدل ضعيف بوده و از مدل صرف نظر مي شود.
اگر رکوردي در مرحله i ام بدرستي طبقه بندي شده باشد، وزن آن با فرمول (٣) کاهش مي يابد. سپس الگوريتم ، وزن تمام رکورد ها را به نحوي نرمال سازي مي کند، که مجموع وزن ها همانند قبل باقي بماند. براي نرمال سازي يک وزن ، مي توان آنرا در مجموع وزن هاي قديم ضرب و بر مجموع وزن هاي جديد تقسيم کرد.
در پايان ، متناسب با عملکرد هر طبقه بند mi، راي وزني مطابق با فرمول (٤) براي آن محاسبه مي شود. مجموع وزن هاي طبقه بندهايي که کلاس c را براي X پيش گويي مي کنند، محاسبه و بيشترين مقدار، تعيين کننده ي کلاس رکورد X است
جدول ٢ شامل شبه کد تلفيق طبقه بندي کننده ها براي تشخيص کلاسِ رکورد X ، است .
با توجه به اينکه اساس الگوريتم AdaBoost بر روي رکورد هايي است که اشتباه طبقه بندي شده اند، در نتيجه نسبت به داده هاي نويز و پرت ١٧ حساس بوده و ممکن است در بعضي موارد، دقتِ الگوريتم طبقه بند را پايين بياورند[٤].
در شکل ٢ مراحل ادغام طبقه بندي کننده هاي مختلف ، با الگوريتم AdaBoost نشان داده شده است .