ML-HW4.pdf

‫به نام خدا‬
‫یادگیری ماشین (‪)40-717‬‬
‫‪Machine Learning‬‬
‫دانشكده مهندسي كامپيوتر‬
‫مدرس ‪ :‬دكتر حمید بیگي‬
‫تمرین شماره ی ‪4‬‬
‫موعد تحویل ‪ :‬مطابق اعالميه گروه‬
‫مالحظات‬
‫‪‬‬
‫اگر از کسی تقلبي گرفته شود‪ ،‬تمامی نمرات تمرینها‪ ،‬کوییزها‪ ،‬نمرات اضافه و ارائه صفر رد میشود‪.‬‬
‫‪‬‬
‫لطفاً پاسخ تمرینهای خود را به صورت مختصر و مفيد و خوانا و شفاف نوشته و ارسال نمایید‪.‬‬
‫‪‬‬
‫لطفاً تمرینهای خود را به آدرس الكترونيكي ‪ [email protected]‬حداکثر تا موعد‬
‫تحویل این تمرین ارسال نمایید‪.‬‬
‫‪‬‬
‫هر ایميل حاوی تمرین باید به فرمت ذیل باشد ‪:‬‬
‫‪‬‬
‫موضوع ایميل به شکل >‪ <StudentNumber>_HW#<HomeWorkNumber‬باید باشد‬
‫‪‬‬
‫یک و فقط یک فایل در ضمیمهی ایمیل قرار خواهد گرفت‪ ،‬حاوی پاسخ تمرینها و به شکل یک‬
‫فایل ‪ zip‬با نام ‪( <StudentNumber>_HW#<HomeWorkNumber>.zip‬در فایل‬
‫مذکور میتواند یک فایل ‪ PDF‬و یا تعدادی فایل ‪ JPG‬و یا ‪ PNG‬با نام شمارهی سواالتی که پاسخ‬
‫داده شده است قرار گیرد)‬
‫‪‬‬
‫منظور از >‪ <StudentNumber‬شمارهی دانشجویی فرد ارسال کننده و منظور از‬
‫>‪ <HomeWorkNumber‬شمارهی تم رین مورد نظر خواهد بود؛ مثالً اگر شخصی شمارهی‬
‫دانشجوییاش ‪ ۹۴۱۲۳۴۵۶‬می باشد‪ ،‬فایل ضمیمهی ایمیل تمرین سوم ایشان به شکل‬
‫‪ 94123456_HW#3‬میباشد‪.‬‬
‫‪‬‬
‫حداكثر حجم فایلهای ارسالی ‪ 5MB‬خواهد بود‪.‬‬
‫‪‬‬
‫در ایمیلهای ارسالی حاوی پاسخ تمرینهای هر شخص‪ ،‬متن ایميل ارسالي به هیچوجه مالک عمل نخواهد‬
‫بود‪.‬‬
‫‪‬‬
‫چنانچه فایل ارسالي به هر دلیلی قابل مشاهده نباشد (فایل ‪ zip‬خراب باشد و باز نشود‪ ،‬فایل ضمیمه‬
‫فراموش شده باشد‪ ،‬تصاویر واضح و روشن نباشد و ‪ )...‬به منزلهی عدم ارسال تمرین در موعد مقرر خواهد بود‪.‬‬
‫‪ )1‬در طول حل سواالت ا ین تمرین از کسی یا منبعی کمک گرفتهاید؟‬
‫بله‬
‫خير‬
‫در صورتیکه پاسخ شما به سوال باال «بله» می باشد‪ ،‬جزییات کامل را بیان کنید‪( .‬به عنوان مثال ‪ :‬احمد‬
‫احمدی صورت سوال ‪ ۵‬تمرین را برای من شفاف نمود)‬
‫‪ )2‬در طول حل سواالت این تمرین به کسی کمک کردهاید؟‬
‫خير‬
‫بله‬
‫در صورتیکه پاسخ شما به سوا ل باال «بله» می باشد‪ ،‬جزییات کامل را بیان کنید‪( .‬به عنوان مثال ‪ :‬من احمد‬
‫احمدی را راهنمایی کردم که برای حل سوال ‪ ۳‬به فصل دوم صفحهی ‪ ۷۱‬مراجعه نماید‪) .‬‬
‫سواالت تشریحی‬
‫‪ )3‬برای دسته بندی دو کالسه از روش ‪ logistic regression with regularization‬استفاده شده است‪.‬‬
‫میخواهیم با کمک ‪ gradient descent‬به صورت تکرار شونده سطح تصمیم گیری را پیدا کنیم‪ .‬قانون بروز‬
‫رسانی را بنویسید؟‬
‫‪ )4‬در ‪ logistic regression‬نشان دهید معادلهی حاصل از صفر شدن لگاریتمِ نسبت احتمالها (فرمول زیر)‪،‬‬
‫معادلهی یک خط است (برای سادگی دسته بندی را دو کالسه در نظر بگیرید)؟ با توجه به پاسخ این سوال‬
‫مشخص کنید سطح جدا ساز به چه فرمی است؟‬
‫)𝑥| ⁡‪𝑝(𝑡 = 1‬‬
‫)‬
‫)𝑥| ⁡‪1 − 𝑝(𝑡 = 1‬‬
‫(⁡‪log‬‬
‫‪ )5‬روابط ‪ Logistic regression‬را برای حالت چند کالسه بدست آورید؟‬
‫‪ )6‬میدانیم که ‪ logistic regression‬یک روش ‪ discriminative‬است‪ .‬مشخص کنید در چه شرایطی این‬
‫روش با روشِ ‪ Bayesian‬که روشی ‪ generative‬است متناظر است؟‬
‫‪ )7‬ثابت کنید برای این که الگوریتم پرسپترون بر روی دادههای خطی جدایی پذیر بتواند به یک سطح جداساز‬
‫نهایی همگرا شود باید در رابطه ی بروزرسانی زیر مقدار گام در هر لحظه دو شرط زیر را داشته باشد؟( مقدار ‪η‬‬
‫به صورت تطبیقی تغییر میکند)‬
‫در رابطه با مفهوم این شروط توضیح دهید؟‬
‫قانون بروز رسانی‬
‫𝑘‬
‫𝑛 𝑥 𝑛𝑡 𝑘𝜂 ‪= 𝑤 +‬‬
‫‪𝑘+1‬‬
‫𝑤‬
‫شروط الزم برای همگرایی‬
‫∞⁡ < ‪lim ∑ 𝜂𝑘 = ⁡∞⁡⁡⁡⁡⁡𝑎𝑛𝑑⁡⁡⁡lim ∑ 𝜂𝑘 2‬‬
‫∞→𝑘‬
‫∞→𝑘‬
‫‪ )8‬الف) در روابط مربوط به حل ‪ ،SVM‬مشخص کنید که بردارهای پشتیبان کدام نقاط هستند‪.‬‬
‫ب) در شکل زیر‪ ،‬مرز جداکننده با استفاده از روش بردار پشتیبان حاشیه نرم‪ ،‬با کرنل خطی به دست‬
‫آمدهاست و حاشیهها نشان داده شدهاند‪ .‬میخواهیم یکی از دادهها را حذف کنیم و دوباره با همین روش‬
‫حاشیه ها را پیدا کنیم‪ .‬برای هر داده مشخص کنید که اگر فقط آن داده را حذف کنیم‪ ،‬آیا ممکن است مرز‬
‫جداکننده تغییر کند یا نه‪.‬‬
‫‪ )9‬برای حل یک مساله دسته بندی دو کالسه‪ ،‬از روش بردار پشتیبان با کرنل ‪ RBF‬با ‪ 𝜎 = 1 ،𝜎 = 0.2‬و‬
‫‪ 𝜎 = 10‬استفاده کردهایم‪ .‬مشخص کنید که هر کدام از شکلهای زیر‪ ،‬حاصل دستهبندی با کدام مقدار 𝜎‬
‫است‪.‬‬
‫پیاده سازی‬
‫در این قسمت مسئلهی دسته بندی مورد بررسی قرار میگیرد‪ .‬برای حل مسائل از مجموعه دادهای که به پیوست در‬
‫اختیار شما قرار گرفته استفاده کنید‪ .‬این مجموعه داده بر اساس ‪ 4‬ویژگی و ‪ 3‬کالسه است‪.‬‬
‫‪ 2 ) 1‬ستون آخر مجموعه داده را حذف کنید‪ (.‬دو ویژگی آخر را در نظر نگیرید‪ ).‬و نمونههای متعلق به کالس ‪ 3‬را‬
‫حذف کنید (مسئله دسته بندی دو کالسه)‪.‬‬
‫الف) نمونههای آموزشی این مجموعه دادهی دو کالسه دو بعدی را با دو رنگ متفاوت رسم کنید‪.‬‬
‫ب) با استفاده از الگوریتم پرسپترون یک سطح جدا ساز برای دسته بندی تولید و رسم کنید‪ .‬تاثیر حالت اولیه‬
‫در رسیدن به همگرایی را بررسی کنید‪.‬‬
‫ث) با استفاده از الگوریتم ‪ logistic regression‬و نمونههای آموزشی دسته بندی را انجام دهید و سطح‬
‫تصمیمگیری را ترسیم کنید‪.‬‬
‫ج) با استفاده از ماشین بردار پشتیبان با کرنل خطی و ‪ RBF‬دسته بندی را انجام دهید (برای این کار‬
‫میتوانید از ‪ libsvm1‬برای متلب استفاده کنید) و یک مقدار متناسب برای پارامتر ‪ C‬مربوط به روش‬
‫‪ softmargin‬پیدا کنید‪ .‬پارامتر 𝜎 مربوط به ‪ RBF‬را هم مقدار مناسبی قرار دهید‪ .‬مثال یک مقدار‬
‫مکاشفهای ‪ 2‬برای ‪ 2𝜎 2‬میتواند میانگین فاصلهی دو به دوی نقاط از یکدیگر باشد‪.‬‬
‫‪ ) 2‬با استفاده از ماشین بردار پشتیبان با کرنل ‪ RBF‬و پارامتر ‪ C‬مناسب با روش های زیر دسته بندی ‪ 3‬کالسه را با‬
‫استفاده از ‪ 4‬ویژگی موجود در مجموعهی دادهی پیوست اجرا کنید (با استفاده از نمونههای آموزشی)‪ .‬سپس‬
‫نحوهی عملکرد این دسته بندها را بر روی دادهی آزمایش بر اساس تعدادِ نمونههای درست ‪-‬اشتباه درسته بندی‬
‫شده گزارش دهید‪ .‬نتایج را تحلیل کرده و این دو روش را مقایسه کنید‪.‬‬
‫الف) ‪one vs one‬‬
‫ب) ‪one vs all‬‬
‫‪http://www.csie.ntu.edu.tw/~cjlin/libsvm/‬‬
‫‪heuristic‬‬
‫‪1‬‬
‫‪2‬‬