HW 2.pdf

‫بسمه تعالی‬
‫يادگيری ماشين ‪( 40-717‬گروه دوم)‬
‫نيمسال اول ‪94-95‬‬
‫تمرين سری دوم – رگرسيون‬
‫مدرس‪ :‬دکتر سليمانی‬
‫موعد تحويل‪ :‬تئوری‪ :‬دوشنبه ‪ 27‬مهر ‪ -‬عملی‪ :‬چهارشنبه ‪ 29‬مهر‬
‫نمره‪100 :‬‬
‫سوال ‪ 18( 1‬نمره)‪ :‬رگرسيون خطی‬
‫‪ 4( .1.1‬نمره) فرض کنید که 𝑛 تا داده ی آموزش به صورت }) ) ‪ D  {( x (1) , y (1) ),...,( x ( n ) , y ( n‬داريم که هر يک‬
‫بردار ويژگی 𝑥 از ‪ d‬تا مولفه تشکیل شده است‪ .‬می خواهیم با استفاده از رگرسیون خطی با تابع هزينهی ‪ SSE‬مدلی به‬
‫دست آوريم که با داشتن مولفهی ‪ x‬يک داده بتواند مولفه ی ‪ y‬آن را به دست آورد‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪n‬‬
‫‪2‬‬
‫) ‪J (w )   y (i ) w T x (i‬‬
‫‪i 1‬‬
‫اگر ‪ X‬ماتريس ساخته شده از روی ورودیها (که هر کدام در يک سطر آن قرار گرفتهاند) و ‪ y‬بردار ساخته شده از‬
‫روی خروجیها و ‪ w‬بردار پارامترها باشد‪:‬‬
‫أ‪.‬‬
‫نشان دهید که بردار ‪ w‬برای حداقل کردن تابع هزينهی باال به صورت‬
‫‪T‬‬
‫‪X Y‬‬
‫‪1‬‬
‫‪‬‬
‫‪‬‬
‫‪ XT X‬‬
‫ˆ‪ w‬به دست می آيد‪.‬‬
‫ب‪ .‬مشکالت استفاده از رابطهی فوق برای به دست آوردن ‪( W‬حتی در صورتیکه رابطه ورودی و خروجی خطی‬
‫است) را با ذکر مثال توضیح دهید‪.‬‬
‫‪ 4( .2.1‬نمره) برای حل مشکالت بند "ب" سوال "‪ "1.1‬چندين راهکار وجود دارد که در ادامه آمده است‪ ،‬روابط محاسبهی‬
‫‪ w‬را برای هر کدام از راهکارهای زير به دست آوريد و توضیح دهید که کدام يک از مشکالت فوق به چه دلیلی با اين‬
‫راهکارها رفع میشوند‪:‬‬
‫أ‪.‬‬
‫استفاده از روشهای بهینهسازی تکرار شونده مانند‬
‫‪Gradient Descent‬‬
‫ب‪ .‬استفاده از جملهی منظمساز‬
‫‪ 3( .3.1‬نمره) فرض کنید که ‪ n‬داده ی آموزش داريم که هر کدام ‪ k‬بعد دارد‪ .‬اگر يکی از بعدهای دادهها ترکیب خطیای از‬
‫‪k‬‬
‫ساير ابعاد باشد (‬
‫‪j‬‬
‫‪x‬‬
‫‪i‬‬
‫‪j 1, j i‬‬
‫‪ .) x i ‬توضیح دهید که چرا نمیتوان مدل رگرسیون خطی عادی را برای اين دادهها‬
‫استفاده کرد و راهحل رفع آن برای استفاده از رگرسیون خطی بدون تغییر در دادهها چیست؟‬
‫‪ .4.1‬اگر ∗𝒘 خط بهینه طبق معیار )‪ Mean Square Error (MSE‬به صورت را مشخص کند‪:‬‬
‫] ‪𝒘∗ = argmin 𝐸𝒙,𝑦 [(𝑦 − 𝒘𝑇 𝒙)2‬‬
‫𝒘‬
‫‪ 4( .a‬نمره) ∗𝒘 را بر حسب ماتريس خود همبستگی ] 𝑇𝒙𝒙[ 𝒙𝐸 = 𝑹 و بردار همبستگی ]𝑦𝒙[ 𝑦𝒙𝐸 = 𝒄 محاسبه‬
‫نمايید‪.‬‬
‫‪ 3( .b‬نمره) ثابت نمايید که میتوان ‪ Expected error‬را به صورت جمع خطاهای تقريب و ساختاری‬
‫‪ˆ T x)2 ]  Ex, y [( y  w *T x)2 ]  Ex [(w *T x  w‬‬
‫] ‪ˆ T x)2‬‬
‫‪Ex, y [( y  w‬‬
‫نوشت که‬
‫̂‪ w‬پارامترهای‬
‫تخمین زده شده با استفاده از مجموعهدادهی آموزش هستند‪.‬‬
‫سوال ‪ 12( 2‬نمره)‪ :‬رگرسيون غيرخطی‬
‫‪ 3( .1.2‬نمره) فرض کنیم که ماتريس ورودی ‪ X‬از طريق ‪ m‬تا تابع پايهی گوسی به فضای جديد برده شده باشد‪ .‬در آن فضا‬
‫نیز يک ابرصفحه به اين دادهها ‪ fit‬نمايیم‪ .‬رابطهی معادل با اين ابر صفحه را در فضای ويژگی اصلی و شکل آن را‬
‫توصیف نمايید‪.‬‬
‫‪ 9( .2.2‬نمره) در هر يک از موارد زير توضیح دهید که پارامتر ‪ α‬با استفاده از مدل رگرسیون خطی چگونه قابل محاسبه‬
‫است؟ (در صورتی که قابل محاسبه نباشد علت آن را توضیح دهید‪  i ~ N (0,  2 ) .).‬در تمام موارد نويز‬
‫) ‪ ϵ𝑖 ~𝑁(0, 𝜎 2‬است که فرض میکنیم نويزها از هم مستقل هستند‪:‬‬
‫أ‪.‬‬
‫ب‪.‬‬
‫ج‪.‬‬
‫‪yi  1 x1 x23   i‬‬
‫‪1  2‬‬
‫‪yi  x1 e   i‬‬
‫‪1  2‬‬
‫‪yi  log( x1 e )   i‬‬
‫سوال ‪ 20( 3‬نمره)‪ :‬تابع رگرسيون بدون محدوديت و تجزيه خطا‬
‫‪ 7( .1.3‬نمره) فرض کنید که دادههای آموزش دارای توزيع )‪ p(x,y‬هستند و به دنبال ‪ fit‬نمودن تابع )‪ h(x‬روی اين داده ها‬
‫هستیم‪ .‬بهترين تابع رگرسیون )‪ h * ( x‬را در حاالت زير محاسبه نمايید‪.‬‬
‫أ‪.‬‬
‫(‪ 2‬نمره) بهترين تابع رگرسیون )‪ h * ( x‬را در حاالت زير محاسبه نمايید‪.‬‬
‫)] ‪h *( x)  arg min(E x,y [(h( x)  y ) 2‬‬
‫)‪h( x‬‬
‫ب‪ 5( .‬نمره) چنانچه مسالهی بهینهسازی به صورت زير تغییر داده شود‪ ،‬بهترين تابع رگرسیون )‪ h * ( x‬در اين‬
‫حالت را به دست آوريد‪:‬‬
‫)]| ‪h *(x )  arg min(E x,y [| h (x )  y‬‬
‫) ‪h (x‬‬
‫ج‪( .‬اختیاری‪ 5 -‬نمره) نشان دهید به ازای چه تابع هزينهای بهترين تابع رگرسیون به صورت زير به دست خواهد‬
‫آمد‪:‬‬
‫)𝑥|𝑦(𝑝 ‪ℎ∗ (𝑥) = max‬‬
‫𝑦‬
‫‪ 2( .2.3‬نمره) تابع )𝑥(‪ ℎ‬را تابع رگرسیون بهینه میخوانند که بدون هیچ محدوديتی ] ‪ Ex,y [(h( x)  y)2‬را حداقل‬
‫مینمايد‪ .‬توضیح دهید که تابع رگرسیون بهینه )‪ h(x‬چه محدوديتی دارد که باعث میشود در عمل کاربردی نداشته‬
‫باشد؟‬
‫‪ 11( .3.3‬نمره) تجزيه خطای واقعی به صورت زير را در نظر بگیريد‪:‬‬
‫‪ˆ )  y)2 ]  E x [( f ( x; w‬‬
‫] ‪ˆ )  h( x))2 ]  E x,y [(h( x)  y) 2‬‬
‫‪Ex,y [( f ( x; w‬‬
‫أ‪.‬‬
‫تساوی فوق را اثبات نمايید‪.‬‬
‫ب‪ .‬جملهی ] ‪ Ex,y [(h( x)  y)2‬در سمت راست عبارت فوق چه مفهومی را بیان مینمايد؟‬
‫ج‪ .‬جملهی ] ‪ E x [( f ( x; wˆ )  h( x)) 2‬در سمت راست عبارت فوق چه مفهوم کلی را بیان مینمايد؟‬
‫د‪ .‬جملهی ] ‪ E x [( f ( x; wˆ )  h( x)) 2‬در سمت راست عبارت فوق را به صورت جمع مفهوم باياس و‬
‫واريانس به دست آوريد‪.‬‬
‫ه‪.‬‬
‫فرض کنید که در رگرسیون خطی از توابع پايهی چندجملهای با درجهی ‪ M‬استفاده نمايیم‪ .‬در صورتی که‬
‫درجهی اين توابع چندجملهای را افزايش دهیم (برای مثال‪ M=2 ،‬را به ‪ M=5‬ببريم)‪ .‬چه تاثیری (افزايش‪،‬‬
‫کاهش‪ ،‬بدون تغییر) بر روی مولفههای باياس و واريانس خواهد داشت؟‬
‫و‪ .‬فرض کنید که در رگرسیون خطی از توابع پايهی چندجملهای با درجهی ‪ M‬استفاده نمايیم‪ .‬در صورتی که‬
‫اندازهی مجموعه دادهی آموزش را افزايش دهیم‪ ،‬چه تاثیری بر روی باياس و واريانس خواهد داشت؟‬
‫سوال ‪ 20( 4‬نمره)‪ :‬رگرسيون آماری‬
‫‪ 4( .1.4‬نمره) اگر فرض کنیم ) ‪ P( y | x)  N ( y | f ( x; w),  2‬آنگاه به سواالت زير پاسخ دهید‪:‬‬
‫أ‪.‬‬
‫(‪ 2‬نمره) با استفاده از تخمین ‪ ،ML‬پارامتر 𝒘 را به دست آوريد‪.‬‬
‫‪2‬‬
‫ب‪ 2( .‬نمره) با استفاده از تخمین ‪ ،ML‬متغیر ‪ σ‬را به دست آوريد و مفهوم شهودی رابطهی نهايی آن را توضیح‬
‫دهید‪.‬‬
‫‪2‬‬
‫‪ 4( .2.4‬نمره) اگر برای 𝒘 در سوال قبل توزيع پیشین گوسی با میانگین صفر و ماتريس کوواريانس 𝐼 𝜎 در نظر بگیريم‪،‬‬
‫آنگاه‪:‬‬
‫أ‪.‬‬
‫با استفاده از تخمین ‪ 𝒘 ،MAP‬را محاسبه نمايید‪.‬‬
‫ب‪ .‬تابع هزينهی معادلی که بايد کمینه شود را به دست آوريد‪.‬‬
‫‪ 7( .3.4‬نمره) دو سوال قبل را اين بار با اين فرض که توزيع )‪ P(y|x‬توزيع الپالسین ) ‪ Lap ( y | f (x ;w ), b‬باشد‪ ،‬حل‬
‫نمايید‪( .‬راهنمايی‪ :‬توزيع الپالسین‬
‫‪b‬‬
‫‪1  x ‬‬
‫‪e‬‬
‫‪2b‬‬
‫‪) Lap (x |  , b ) ‬‬
‫‪ 5( .4.4‬نمره) سوال ‪ 2.5‬را با اين فرض که توزيع )𝑥|𝑦(𝑃 همان توزيع نرمال ) ‪ P( y | x)  N ( y | f ( x; w),  2‬باشد‪ ،‬اما‬
‫توزيع پیشین روی همهی پارامترها يک توزيع الپالس با میانگین صفر باشد را حل نمايید‪ .‬اگر پارامترهای ‪ b‬در‬
‫توزيعهای پیشین روی 𝑑𝑤 ‪ 𝑤0 , … ,‬با هم متفاوت باشد‪ ،‬چه نتیجهای به دست خواهد آمد؟‬
‫سوال ‪ 30( 5‬نمره)‪ :‬پيادهسازی انواع رگرسيون‬
‫* در کليهی سواالت زير کدپيادهسازی را میبايست خودتان و با زبان برنامهنويسی متلب بنويسيد و با اجرای آنها‪ ،‬نتايج را‬
‫همراه با تفسير و پاسخ به سواالت در قالب مستند در کنار کدها ارسال نماييد‪ .‬کليهی فايلهای الزم برای اجرای کدها‬
‫(توسط تصحيحکنندهی تمرين) بايد در فايلهای ارسالی باشد‪.‬‬
‫‪ 8( 1.5‬نمره) مسئلهی رگرسیون خطی ‪ y  w1 x  w0‬را در نظر بگیرد و فرض کنید که اگر ‪ n‬تا دادهی آموزش داشته‬
‫باشیم‪ ،‬به دنبال حداقلسازی تابع هزينهی زير هستیم‪:‬‬
‫‪1 n‬‬
‫‪( y i  w 1x i  w 0 ) 2‬‬
‫‪‬‬
‫‪n i 1‬‬
‫کد متلبی بنويسید که بر روی مجموعه دادهی اول (پیوست تمرين) پارامترهای ‪ w1‬و ‪ w0‬را به روشهای فرم بسته‪،‬‬
‫‪ gradient descent‬و ‪ stochastic gradient descent‬حساب نمايد‪ .‬همچنین ‪ stochastic gradient descent‬و‬
‫‪gradient‬‬
‫‪ descent‬را از نظر سرعت اجرا روی مجموعه دادهی مربوطه و تنظیمات اين الگوريتمها باهم مقايسه نمايید‪.‬‬
‫‪ )14( 2.5‬در مجموعه دادهی دوم (پیوست تمرين) که به تفکیک ‪ train.txt‬و ‪ test.txt‬هستند‪ 13 ،‬تا ستون اول ورودی و‬
‫ستون چهاردهم خروجی را نشان میدهد‪ .‬چنانجه بخواهیم رگرسیون چندجملهای با درجه ‪ m‬روی اين دادهها انجام‬
‫دهیم‪ ،‬ابتدا مدلهای خواسته شدهی زير را با استفاده از مجموعه دادههای ‪ train.txt‬آموزش داده و موارد خواسته شده‬
‫در ادامه را گزارش دهید‪.‬‬
‫أ‪.‬‬
‫مدل رگرسیون چندجملهای مرتبه چهارم با تابع هزينهی ‪ :SSE‬بردار ‪ ، w‬خطای ‪ RMSE‬برای دادههای‬
‫‪train‬‬
‫و ‪ test‬گزارش نمايید‪.‬‬
‫ب‪ .‬مدل رگرسیون چندجملهای مرتبهی دهم با تابع هزينهی ‪ :SSE‬بردار ‪ ، w‬خطای ‪ RMSE‬برای دادههای‬
‫‪train‬‬
‫و ‪ test‬گزارش نمايید‪.‬‬
‫ج‪ .‬مدل رگرسیون چندجملهای مرتبه دهم با تابع هزينهی ‪ SSE‬و جملهی منظمساز ‪ : || w ||2‬بردار ‪ w‬حاصل را‬
‫به دست آوريد‪ .‬نمودارهای خطای ‪ RMSE‬را برای دادههای ‪ train‬و ‪ test‬به ازای مقادير مختلف ) ‪ ln(‬رسم‬
‫نمايید‪ ] .‬پارامتر جملهی منظمساز را } ‪  {108 ,107 ,,102 ,103 ,104‬درنظر‬
‫بگیرد‪[.‬‬
‫د‪ .‬جهت تعیین پارامتر ‪ λ‬در محدوده مقاديری که در قسمت قبل ذکر شد‪ ،‬روش ‪ k-fold cross validation‬را‬
‫پیادهسازی کنید‪ .‬سپس با استفاده از ‪ 10-fold CV‬نمودار میانگین خطا روی دادههای آموزش‪ ،‬اعتبارسنجی‬
‫(‪ )validation‬و آزمون را به ازای مقادير مختلف ‪ λ‬رسم نمايید‪ .‬سپس بهترين مقدار ‪ λ‬را طبق اين نمودار‬
‫پیدا کنید‪ .‬همچنین مقدار میانگین خطای ‪ RMSE‬روی دادههای اعتبارسنحی (‪ )validation‬را برای بهترين‬
‫‪λ‬‬
‫گزارش نمايید‪.‬‬
‫‪ 8( 3.5‬نمره) رابطهی بین دو کمیت در تعدادی از مسائل واقعی به صورت ‪ ) f (x )  Cx  ( power-law‬است که‬
‫𝐶‬
‫ضريب نرمالسازی است و به ‪ ‬توان ‪ power-law‬میگويند‪ .‬برای نمونه تعداد تکرار لغات نسبت به رتبه لغت (رتبه از‬
‫لحاظ تکرار) در کل يک مجموعه اسناد تقريبا از رابطهی باال با مقدار ‪ 𝛼 = 1‬پیروی میکند (به عبارت ديگر اگر تعداد‬
‫تکرار پرتکرارترين لغت 𝐶 باشد‪ ،‬تعداد تکرار دومین پرتکرارترين لغت ‪ ،𝐶/2‬سومین ‪ 𝐶/3‬و الی آخر خواهد بود)‪.‬‬
‫مجموعه دادهی سوم پیوست تمرين را درنظر بگیريد‪ .‬میخواهیم پارامتر ‪ ‬را با استفاده از دادههای آموزشی که در‬
‫اختیار داريم تخمین بزنیم‪ .‬ابتدا طريقهی به دست آوردن ‪ ‬را با استفاده از روشهای زير مشخص نمايید و بعد از‬
‫پیادهسازی مقدار پارامتر به دست آمده را گزارش نمايید‪.‬‬
‫أ‪.‬‬
‫رگرسیون خطی‬
‫ب‪ .‬بیشینه درستنمايی ( تخمین ‪)ML‬‬