ML-HW 2.pdf

‫به نام خدا‬
‫دانشكده مهندسي كامپيوتر‬
‫تمرین شماره ی ‪2‬‬
‫یادگیری ماشین (‪)40-۷۱۷‬‬
‫‪Machine Learning‬‬
‫مدرس ‪ :‬دكتر حمید بیگي‬
‫موعد تحویل ‪۱۳۹۴/۰۸/۱۳ :‬‬
‫مالحظات‬
‫‪‬‬
‫اگر از کسی تقلبي گرفته شود‪ ،‬تمامی نمرات تمرینها‪ ،‬کوییزها‪ ،‬نمرات اضافه و ارائه صفر رد میشود‪.‬‬
‫‪‬‬
‫لطفاً پاسخ تمرینهای خود را به صورت مختصر و مفيد و خوانا و شفاف نوشته و ارسال نمایید‪.‬‬
‫‪‬‬
‫لطفاً تمرینهای خود را به آدرس الكترونيكي ‪ [email protected]‬حداکثر تا موعد‬
‫تحویل این تمرین ارسال نمایید‪.‬‬
‫‪‬‬
‫هر ایميل حاوی تمرین باید به فرمت ذیل باشد ‪:‬‬
‫‪‬‬
‫موضوع ایميل به شکل >‪ <StudentNumber>_HW#<HomeWorkNumber‬باید باشد‬
‫‪‬‬
‫یک و فقط یک فایل در ضمیمهی ایمیل قرار خواهد گرفت‪ ،‬حاوی پاسخ تمرینها و به شکل یک‬
‫فایل ‪ zip‬با نام ‪( <StudentNumber>_HW#<HomeWorkNumber>.zip‬در فایل‬
‫مذکور میتواند یک فایل ‪ PDF‬و یا تعدادی فایل ‪ JPG‬و یا ‪ PNG‬با نام شمارهی سواالتی که پاسخ‬
‫داده شده است قرار گیرد)‬
‫‪‬‬
‫منظور از >‪ <StudentNumber‬شماره ی دانشجویی فرد ارسال کننده و منظور از‬
‫>‪ <HomeWorkNumber‬شمارهی تمرین مورد نظر خواهد بود؛ مثالً اگر شخصی شمارهی‬
‫دانشجوییاش ‪ ۹۴۱۲۳۴۵۶‬میباشد‪ ،‬فایل ضمیمهی ایمیل تمرین سوم ایشان به شکل‬
‫‪ 94123456_HW#3‬میباشد‪.‬‬
‫‪‬‬
‫حداكثر حجم فایلهای ارسالی ‪ 5MB‬خواهد بود‪.‬‬
‫‪‬‬
‫در ایمیلهای ارسالی حاوی پاسخ تمرینهای هر شخص‪ ،‬متن ایميل ارسالي به هیچوجه مالک عمل نخواهد‬
‫بود‪.‬‬
‫‪‬‬
‫چنانچه فایل ارسالي به هر دلیلی قابل مشاهده نباشد (فایل ‪ zip‬خراب باشد و باز نشود‪ ،‬فایل ضمیمه‬
‫فراموش شده باشد‪ ،‬تصاویر واضح و روشن نباشد و ‪ )...‬به منزلهی عدم ارسال تمرین در موعد مقرر خواهد بود‪.‬‬
‫‪ )۱‬در طول حل سواالت این تمرین از کسی یا منبعی کمک گرفتهاید؟‬
‫بله‬
‫خير‬
‫در صورتیکه پاسخ شما به سوال باال «بله» میباشد‪ ،‬جزییات کامل را بیان کنید‪( .‬به عنوان مثال ‪ :‬احمد‬
‫احمدی صورت سوال ‪ ۵‬تمرین را برای من شفاف نمود)‬
‫‪ )2‬در طول حل سواالت این تمرین به کسی کمک کردهاید؟‬
‫بله‬
‫خير‬
‫در صورتیکه پاسخ شما به سوال باال «بله» می باشد‪ ،‬جزییات کامل را بیان کنید‪( .‬به عنوان مثال ‪ :‬من احمد‬
‫احمدی را راهنمایی کردم که برای حل سوال ‪ ۳‬به فصل دوم صفحهی ‪ ۷۱‬مراجعه نماید‪).‬‬
‫‪ )۳‬مجموعه دادهای حاوی ‪ N‬دادهی آموزشی موجود است‪ .‬به این مجموعه داده توابع چند جملهای از درجه ‪ M‬را‬
‫انطباق دادهایم‪ .‬برای این کار ضرایب چند جملهای با روش رگرسیون خطی و با کمینه سازی تابع خطای زیر‬
‫بدست آمده است‪ x (.‬و ‪ t‬زوج دادهی آموزشی هستند و ‪ w‬ضرایب چند جملهای ‪ y‬است)‬
‫𝑁‬
‫‪1‬‬
‫‪𝐸(𝑤) = ∑{𝑦(𝑥𝑛 , 𝑤) − 𝑡𝑛 }2‬‬
‫‪2‬‬
‫‪𝑛=1‬‬
‫در جدول زیر نتایج را به ازای ‪ M‬های متفاوت مشاهده میکنید‪.‬‬
‫الف) تحلیل خود از مقادیر بدست آمده برای ∗𝑤 ها را بیان کنید‪.‬‬
‫ب) انتظار دارید از ‪ M=0‬با افزایش ‪ M‬مقدار خطای آموزش و خطای آزمایش چگونه باشد؟‬
‫پ) چه روشهایی برای بهبود تابع تخمین زده شده بر روی این مجموعه داده پیشنهاد میکنید؟(به طور‬
‫مختصر توضیح دهید)‬
‫ت) تغییر مقدار ‪ N‬چه تاثیری بر اندازهی ضرایب‪ ،‬خطای آموزشی و خطای آزمایشی خواهد داشت؟‬
‫ث) تابع خطا را به مطابق رابطهی زیر تغییر دادهایم‪ .‬انتظار دارید ( به ازای مقادیر 𝜆 خواسته شده) پس‬
‫از استفاده از روش رگرسیون برای یافتن تابع انطباق‪ ،‬اندازهی ضرایب چند جمله ای چگونه باشد؟‬
‫𝑁‬
‫‪1‬‬
‫𝜆‬
‫‪𝐸(𝑤) = ∑{𝑦(𝑥𝑛 , 𝑤) − 𝑡𝑛 }2 + ‖𝑤‖2‬‬
‫‪2‬‬
‫‪2‬‬
‫‪𝑛=1‬‬
‫∞ = 𝜆 تا ‪𝜆 = 0‬‬
‫‪ )۴‬در مورد ‪ locally linear regression‬تحقیق کنید و به طور خالصه نحوهی عملکرد آن را بیان کنید‪ .‬این روش در‬
‫مقایسه با رگرسیون ساده چه مزایایی دارد؟‬
‫‪ )5‬در فایل ‪ data.xls‬مجموعه دادهای شامل ‪ ۱00‬نمونه و مقادیر متناظر با آن ها موجود است(ردیف اول ‪ x‬و‬
‫ردیف دوم‪ y‬است)‪ .‬این مقادیر از روی تابع ‪ 𝑦 = 𝑥 2‬با اعمال نویز گوسی بدست آمده است‪.‬‬
‫الف) یک زیر مجموعه تصادفی شامل ‪ ۵0‬نمونه را انتخاب کنید‪ .‬این ‪ ۵0‬نمونه را در یک نمودار دو بعدی‬
‫رسم نمایید‪.‬‬
‫ب) توابع چند جمله ای 𝑚‬
‫𝑀=𝑚∑ = )‪ 𝑦𝑀 (x , w‬از درجه ی ‪ M=1‬را در نظر بگیرید‪ .‬با‬
‫𝑥 × 𝑤 ‪𝑚=0‬‬
‫توجه به تابع خطای زیر‬
‫𝑁‬
‫‪1‬‬
‫‪∑{𝑦𝑀 (𝑥𝑛 , 𝑤) − 𝑡𝑛 }2‬‬
‫‪2‬‬
‫= )𝑤(𝐸‬
‫‪𝑛=1‬‬
‫و با روش ‪ gradient descent‬با توجه به رابطهی )𝑤(𝐸∇ ×∝ ‪ ، w ← w−‬چند جملهای‬
‫خواسته شده را به دادههای مرحله قبل منطبق سازید‪.‬‬
‫پ) نموداری از میزان )‪ E(w‬نهایی با توجه به تعداد تکرار رسم کنید‪ .‬در مورد نمودار رسم شده توضیح‬
‫دهید‪.‬‬
‫ت) به ازای یک مقدار تکرار (با توجه به نمودار قبلی انتخاب گردد) ثابت‪ ،‬اندازهی آلفا چه تاثیری بر روند‬
‫الگوریتم دارد؟‬
‫ث) با توجه به دو مورد قبل‪ ،‬بهترین نتیجه که از هر یک از چند جملهای ها بدست آمده را روی‬
‫دادههای آموزشی رسم نمایید‪.‬‬
‫‪ )6‬اینبار با استفاده از مجموعه دادهی سوال ‪ ۴‬با استفاده از ‪ normal equation‬یک تابع چند جملهای از‬
‫درجه ‪ ۱‬را منطبق سازید‪.‬‬
‫الف) تابع بدست آمده را برروی تصویر مجموعهداده رسم نمایید‪.‬‬
‫ب) با توجه به اطالعات مسائل ‪ ۶‬و ‪ ۵‬آیا انتظار دارید که تابع منطبق شده در این سوال با تابع منطبق‬
‫شده در سوال‪ ۵‬یکی (یا نزدیک به هم) باشند؟ توضیح دهید‪.‬‬
‫‪ )7‬در این جا می خواهیم رگرسیون را با توابع غیر خطی تقریب بزنیم‪ .‬برای این کار یک تابع غیر خطی پیشنهاد‬
‫داده و با کمک گرفتن از پیاده سازی های قسمت قبل رگرسیون را اعمال کنید‪ .‬نتیجه را روی مجموعه دادهها‬
‫رسم کنید‪.‬‬
‫‪( )۸‬اختياری) برای هر یک از چند جمله ای های خواسته شده (درجههای ‪ ۱‬و ‪ ۵‬و ‪ )۹‬در سوال‪ ،‬عملیات انطباق‬
‫را ‪ ۱00‬مرتبه تکرار کنید‪ .‬در هر مرتبه به صورت تصادفی ‪ ۱0‬نمونه را به عنوان دادهی آموزش در نظر گرفته و‬
‫از بقیه به عنوان تست استفاده کنید‪ .‬در انتها برای هر یک از چند جملهای ها در یک نمودار میانگین و‬
‫واریانس خطای آموزش و آزمایش را در ‪ ۱00‬تکرار بدست آورده و نتایج را تحلیل کنید‪.‬‬
‫مجموعه داده ‪Data_Q8 :‬‬
‫‪ )۹‬دو روشِ ‪ generative‬و ‪ discriminative‬برای ساخت دستهبند را در نظر بگیرید‪.‬‬
‫الف) تفاوت این دو روش را بیان کرده و به مزایا ومعایب هر کدام اشاره نمایید‪.‬‬
‫ب) دو روش کلی برای ساخت دسته بند در زیر ارائه شده است‪ .‬مشخص کنید که هر کدام ‪discriminative‬‬
‫است یا ‪ generative‬؟ دلیل انتخاب خود را مختصر توضیح دهید‪ x ( .‬نمونه و ‪ Ck‬کالس ‪ k‬ام است)‬
‫روش اول‪:‬‬
‫‪.‬‬
‫ابتدا به ازای هر ‪ 𝑝(𝑥|𝐶𝑘 ) ، Ck‬را بدست بیاوریم‪.‬‬
‫‪.i‬‬
‫سپس به ازای هر ‪ 𝑝(𝐶𝑘 ) ، Ck‬را بدست بیاوریم‪..‬‬
‫‪.ii‬‬
‫‪ Posterior‬را با استفاده از قانون بیز محاسبه کنیم‪.‬‬
‫روش دوم‪:‬‬
‫‪.iii‬‬
‫ابتدا ) 𝑘𝐶 ‪ 𝑝(𝑥,‬را مدل کنیم‪.‬‬
‫‪.iv‬‬
‫احتمال محاسبه شده را نرمالسازی کرده )و بر روی ‪ x‬شرطی کنیم(‪.‬‬
‫‪ )۱۰‬در یک مسئله دستهبندی دو کالس ‪ C۲‬و ‪ C۱‬داریم‪ .‬نشان دهید اگر احتمال این که یک نمونه در کالس اول‬
‫قرار داشته باشد با احتمال قرار گیری در کالس دوم برابر باشد‪ ،‬چه رابطهای بین دو احتمال شرطی زیر است‪.‬‬
‫) ‪𝑝(𝐶1 ) = 𝑝(𝐶2 ) = 0.5 → 𝑝(𝑥|𝐶1) ? 𝑝(𝑥|𝐶2‬‬
‫الف) نشان دهید در حالتی که برای ریسک متوسط‪ ۱‬از تابع زیر استفاده شود چه رابطهای بین دو احتمال‬
‫شرطی وجود دارد؟ تاثیری که این ماتریس و مقادیر ‪ a‬و ‪ b‬بر دستهبندی گذاشته است را توضیح دهید؟‬
‫(در ماتریس زیر سطرها نشان دهندهی کالس واقعی و ستون ها نشان دهندهی کالسی که به آن نسبت داده‬
‫شده است‪ ،‬هستند‪ .‬برای مثال ‪ a‬مربوط به حالتی است که دادهای که متعلق به کالس ‪ ۱‬بوده به کالس ‪۲‬‬
‫نسبت داده شده)‬
‫𝑎 ‪0‬‬
‫]‬
‫‪𝑏 0‬‬
‫‪ )۱۱‬فرض کنید میخواهیم دادههای متعلق به دو کالس که هر دو دارای ‪ pdf‬ای به شکل )∑ ‪ 𝒩(𝜇,‬هستند را‬
‫[ = 𝑥𝑖𝑟𝑡𝑎𝑚 𝑠𝑠𝑜𝑙‬
‫دستهبندی کنیم‪ .‬و میخواهید از یک تابع‪ discriminant‬بهینه برای دستهبندی استفاده کنید‪ .‬اگر برای‬
‫‪Average risk‬‬
‫‪1‬‬
‫همه ∑ ها برابر با ‪ 𝜎 2 I‬باشد که در آن ‪ 𝜎 2‬یک اسکالر و ‪ I‬یک ماتریس همانی هم اندازه ∑ است‪ .‬اندازهی ‪𝜎 2‬‬
‫چه تاثیری بر دستهبند دارد؟ به طور دقیق توضیح دهید‪.‬‬
‫الف) چه موقع صفحهی جدا کننده از میانگینِ ‪ µ‬های دو کالس میگذرد؟روابط را نوشته و توضیح دهید‪.‬‬
‫‪( )۱2‬پياده سازی) ‪ ۱00‬نقطه از هر کدام از دو توزیع گوسی )‪ N(10,5) , N(20,5‬به صورت رندوم تولید کنید‪.‬‬
‫سپس با استفاده از این ‪ ۲00‬نقطه که با یکدیگر یک توزیع ‪ multimodal‬را تولید کردهاند‪:‬‬
‫الف) با روش هیستوگرام تخمینی از توزیع نمونهها را بدست بیاورید‪ .‬مبدا را صفر در نظر گرفته (تا ‪ )۴0‬و‬
‫هیستوگرام را در نموداری به همراه نمونهها رسم کنید‪ (.‬به ازای سایز بینها ‪)h = 0.25 h=1 h= 5 h=10‬‬
‫ب) از اتصال قلهی مرکز هر بین در هیستوگرامهای تولید شده یک نمودار رسم کنید‪ .‬این نمودارها را مقایسه‬
‫و تحلیل کنید‪.‬‬
‫پ) مزایا و معایب روش هیستوگرام را بیان کنید‪.‬‬
‫ت) با استفاده از روش پنجره پارزن ( با کرنل گوسی) توزیع ‪ ۲00‬نمونه را تخمین بزنید‪ ( .‬برای ‪ h‬یک مقدار‬
‫تجربی مناسب انتخاب کنید و پاسخ الگوریتم خود را در یک نمودار نشان دهید)‬
‫ث) اینبار به جای ‪ ۱00‬نمونه تصادفی‪ ،‬از هر توزیع گوسی ‪ ۲۵0‬نمونه انتخاب کنید و با ‪ ۵00‬نمونهی کلی‬
‫الگوریتم پنجره پارزن را اجرا کنید‪ ( .‬با ‪ h‬از قسمت قبل) حال تاثیر تعداد نمونهها را تحلیل کنید‪.‬‬
‫ج) با استفاده از ‪ ۵00‬نمونه تصادفی در قسمت ت ‪ ،‬و با استفاده از همسایگی ‪ k = 1 , 2,5,10,15,20‬با‬
‫روش ‪ KNN‬برای ‪ ۱00‬نمونهی قسمت اول سوال‪ ،‬خطای آزمایش را بدست بیاورید و در یک نمودار بر حسب‬
‫اندازه ‪ k‬نشان دهید‪ .‬تاثیر اندازههای مختلف ‪ k‬بر خطا را تشریح کنید‪( .‬از معیار خطای ‪ MSE‬استفاده کنید)‬
‫‪ )۱۳‬در کشوری‪ ،‬هر سال از نظر وضعی بارندگی یا خشکسالی است یا آبسالی‪ .‬میزان برداشت برنج در این کشور‪ ،‬به‬
‫عوامل متعددی وابسته است که یکی از آنها وضعیت بارندگی است‪ .‬طبق اطالعاتی که در دست است‪ ،‬در یک‬
‫‪۲‬‬
‫‪۱‬‬
‫سال که وضعیت خشکسالی باشد‪ ،‬به احتمال ‪ ۳‬بیشتر از یک میلیون تن و به احتمال ‪ ۳‬کمتر از یک میلیون تن‬
‫‪۳‬‬
‫برنج برداشت میشود‪ .‬اما در یک سال که وضعیت آبسالی باشد‪ ،‬به احتمال ‪ ۴‬بیشتر از یک میلیون تن و به‬
‫‪۱‬‬
‫احتمال ‪ ۴‬کمتر از یک میلیون تن برنج برداشت میشود‪ .‬میدانیم که در سال ‪ ،۱۹۹0‬شاهد وضعیت آبسالی‬
‫بودهایم‪ .‬همچنین میدانیم که وضعیت بارندگی در هر سال نسبت به سال قبل به احتمال ‪ θ‬تغییر میکند و به‬
‫احتمال 𝜃 ‪ 1 −‬ثابت میماند‪.‬‬
‫ما وضعیت بارندگی را در سالهای ‪ ۱۹۹۱‬تا ‪ ۲000‬نمیدانیم‪ ،‬اما میدانیم که در هر کدام از این ده سال‪،‬‬
‫میزان برداشت برنج کمتر از یک میلیون تن بوده یا بیشتر از آن‪ .‬این اطالعات در جدول زیر آمده است («ک»‬
‫یعنی «کمتر از یک میلیون تن» و «ب» یعنی «بیشتر از یک میلیون تن» )‪:‬‬
‫‪۲000‬‬
‫‪۱۹۹۹‬‬
‫‪۱۹۹8‬‬
‫‪۱۹۹۷‬‬
‫‪۱۹۹۶‬‬
‫‪۱۹۹۵‬‬
‫‪۱۹۹۴‬‬
‫‪۱۹۹۳‬‬
‫‪۱۹۹۲‬‬
‫‪۱۹۹۱‬‬
‫سال‬
‫ب‬
‫ک‬
‫ک‬
‫ب‬
‫ک‬
‫ک‬
‫ک‬
‫ک‬
‫ک‬
‫ک‬
‫میزان‬
‫برداشت‬
‫هدف آن است که مقدار 𝜃 را تخمین بزنیم‪ .‬برای این کار باید از روش ‪ EM‬استفاده کنیم‪.‬‬
‫الف) بر حسب رابطهی ‪ EM‬مشخص کنید که ‪ 𝜃 𝑡+1‬چگونه از روی 𝑡 𝜃 به دست میآید‪.‬‬
‫راهنمایی‪ :‬مقدار بارندگی در سال 𝑖 را برابر با متغیر 𝑖𝑋 و وضعیت بارندگی را برابر با 𝑖𝑍 در نظر بگیرید‪ .‬توجه‬
‫کنید 𝑖𝑍 ها متغیرهای پنهان و 𝑖𝑋 ها متغیرهای مشاهده شده هستند‪ .‬در توضیحات خود نشان دهید که‪:‬‬
‫𝐶 ‪𝜃 𝑡+1 = arg max 𝐴 log 𝜃 + 𝐵 log(1 − 𝜃) +‬‬
‫𝜃‬
‫که 𝐴 ‪ 𝐵 ،‬و 𝐶 مقادیری هستند که فقط از روی 𝑖𝑋 ها و 𝑡 𝜃 به دست میآیند‪ .‬در واقع اگر مجموعهی‬
‫} ‪ {𝑍1991 , 𝑍1992 , … , 𝑍2010‬را با 𝑍 نشان دهیم‪ ،‬و تعداد 𝑖 هایی که ‪ 1991 ≤ 𝑖 ≤ 2000‬و‬
‫‪ 𝑍𝑖 = 𝑍𝑖−1‬را با )𝑍( =‪ #‬نشان دهیم و تعداد 𝑖 هایی که ‪ 1991 ≤ 𝑖 ≤ 2000‬و ‪ 𝑍𝑖 ≠ 𝑍𝑖−1‬را با‬
‫)‪ #≠ (Z‬نشان دهیم‪ ،‬آنگاه نشان دهید‪:‬‬
‫) 𝑖𝑍| 𝑖𝑋(𝑃 ∏ × )𝑍(=‪𝐴 = ∑ #≠ (𝑍) × (𝜃 𝑡 )#≠(𝑍) × (1 − 𝜃 𝑡 )#‬‬
‫𝑍‬
‫𝑖‬
‫و‬
‫) 𝑖𝑍| 𝑖𝑋(𝑃 ∏ × )𝑍(≠‪𝐵 = ∑ #= (𝑍) × (𝜃 𝑡 )#≠(𝑍) × (1 − 𝜃 𝑡 )#‬‬
‫𝑍‬
‫𝑖‬
‫بعد نشان دهید که در این حالت‪:‬‬
‫𝐴‬
‫𝐵‪𝐴+‬‬
‫‪𝑡+1‬‬
‫𝜃 را حساب کنید‪.‬‬
‫بنابراین در هر گام از برنامهی خود باید مقادیر 𝐴 و 𝐵 را محاسبه کرده و مقدار‬
‫= ‪𝜃 𝑡+1‬‬
‫ب) (اختياری – پيادهسازی) برنامهای بنویسید که با مقدار اولیهی ‪ 𝜃0 = 0.5‬الگوریتم ‪ EM‬را تا ‪ ۷0‬گام‬
‫اجرا کند و در هر گام مقدار به دست آمده برای ‪ θ‬و میزان درستنمایی برای آن مقدار ‪ θ‬را در خروجی‬
‫بنویسد‪ .‬آیا لگاریتم درستنمایی به صورت صعودی تغییر میکند یا این که در برخی گامها کم میشود؟‬
‫موفق باشيد‬