HW4 .pdf

‫يادگيری ماشين ‪( 04-717‬گروه دوم)‬
‫نيمسال اول ‪49-40‬‬
‫تمرين سری چهارم‪ :‬يادگيری مبتنی بر نمونه‪ ،‬تئوری يادگيری و يادگيری جمعی‬
‫مدرس‪ :‬سليمانی‬
‫موعد تحويل تمرين دستی‪ :‬شنبه ‪ 24‬آذر قبل از ‪ 12‬ظهر‬
‫نمره‪77 :‬‬
‫موعد تحويل پيادهسازی و گزارش‪ :‬يکشنبه ‪ 94‬آذر ساعت ‪20‬‬
‫به همراه بخش پيادهسازی بايد گزارشی از همه نتايج و تحليل آنها ارسال شود‪.‬‬
‫بخش پيادهسازی به صورت حضوری نيز تحويل و بررسی خواهد شد که زمان آن متعاقباً اعالم میشود‪.‬‬
‫سوال ‪ 97( 1‬نمره)‪ :‬روشهای يادگيری مبتنی بر نمونه‬
‫‪ .1.1‬در اين سوال هدف بررسی خطای دستهبند نزديکترين همسايه در حالتی که تعداد نمونهها به سمت بینهايت میل میکند‬
‫است‪.‬‬
‫‪ 7( .a‬نمره) نشان دهید که 𝑃 نشان دهندهی احتمال خطای دستهبند نزديکترين همسايه وقتیکه ∞ → 𝑁 میرود با نرخ خطای‬
‫بیز ∗𝑃 در دو حالت ‪ 𝑃∗ = 0‬و 𝑐‪ 𝑃∗ = (𝑐 − 1)/‬برابر خواهد شد‪.‬‬
‫‪ 5( .b‬نمره) در حالتی که 𝑐 دسته با احتمال پیشین برابر داشته باشیم و چگالی احتمال شرطی دستهها به صورت زير باشد‪:‬‬
‫𝑟𝑐‬
‫‪𝑐−1‬‬
‫𝑟𝑐‬
‫‪𝑖 ≤ 𝑥 ≤𝑖+1−‬‬
‫‪𝑐−1‬‬
‫‪𝑜. 𝑤.‬‬
‫≤𝑥<‪0‬‬
‫‪1‬‬
‫= ) 𝑖𝑤|𝑥(𝑝‬
‫‪1‬‬
‫‪{0‬‬
‫نشان دهید که 𝑟 = ∗𝑃 = 𝑃‪.‬‬
‫‪ .1.1‬در اين سوال سعی میکنیم رابطه بین روشهای ‪ k‬نزديکترين همسايه و رگرسیون وزندار را بررسی کنیم‪ .‬فرض کنید يک‬
‫𝑛‬
‫مجموعه داده ‪ d‬بعدی به صورت ‪ {(𝒙(𝑖) , 𝑦 (𝑖) )}𝑖=1‬داشته باشیم‪ .‬مقدار تخمین زده شده 𝑦 برای داده 𝒙 در روش رگرسیون‬
‫وزندار را با )𝒙( ̂𝑟 نشان داده و آن را به صورت زير تعريف میکنیم که 𝑘 يک تابع هسته است‪.‬‬
‫𝑖 𝑦) )𝑖(𝒙 ‪∑𝑛𝑖=1 𝑘(𝒙 −‬‬
‫) )𝑖(𝒙 ‪∑𝑛𝑖=1 𝑘(𝒙 −‬‬
‫= )𝒙( ̂𝑟‬
‫در واقع ̂𝑟 میتواند بر اساس جمع وزنداری از )𝑖( 𝑦 ها به صورت )‪ 𝑟̂ (𝒙) = ∑𝑛𝑖=1 𝑤(𝒙, 𝒙(i))𝑦 (i‬نوشته شود که‬
‫)𝑖(‬
‫) 𝒙‬
‫‪. ∑𝑛 𝑘(𝒙−‬‬
‫)) )𝑖(𝒙 ‪𝑘(𝒙−‬‬
‫‪𝑖=1‬‬
‫= ) )‪𝑤(𝒙, 𝒙(i‬‬
‫‪ 3( .a‬نمره) فرض کنید در يک حالت خاص مجموعه داده ما يک بعدی‪ ،‬با 𝑛 نمونه به صورت 𝑛 ‪ 𝑥 (𝑖) = 𝑖; 𝑖 = 1, … ,‬و با‬
‫دو دسته }‪ 𝑦 (i) ∈ {0,1‬باشد‪ .‬اگر برای تخمین مقدار ‪ 𝑦 new‬متناظر با هر داده جديد ]𝑛 ‪ ،𝑥 𝑛𝑒𝑤 ∈ [0,‬از قانون‬
‫= 𝑤𝑒𝑛 ̂𝑦‬
‫)‪ 𝐼(𝑟̂ (𝑥) > 0.5‬استقاده شود‪ ،‬آيا میتوان يک تابع هسته 𝑘 در رابطه باال در نظر گرفت به طوريکه به جواب يکسانی با‬
‫روش ‪ kNN‬برسیم؟‬
‫‪ 3( .b‬نمره) اگر دادهها از يک توزيع دلخواه )𝑥(𝑃 تولید شده باشند و به جای رگرسیون وزندار از رگرسیون وزندار محلی‬
‫به صورت زير استفاده کنیم‪:‬‬
‫𝑖𝑦) 𝑖𝑥 ‪𝑤(𝑥,‬‬
‫∑‬
‫= )𝑥( ̂𝑟‬
‫𝑥 𝑓𝑜 𝑁𝑁‪𝑥 (𝑖) ∈𝑘−‬‬
‫) 𝑖𝑥 ‪ 𝑤(𝑥,‬چگونه انتخاب شود تا قانون )‪ 𝑦̂ = 𝚰(𝑟̂ (𝑥) > 0.5‬جواب يکسانی با ‪ k‬نزديکترين همسايه داشته باشد؟‬
‫‪ .3.3‬فرض کنید مجموعه دادهای از 𝑛 نمونه برچسبدار با مقادير برچسب }‪ 𝑦 ∈ {−1, 1‬داريم و فرض کنید که تابع چگالی‬
‫نمونههای مربوط به هر دسته را به صورت جداگانه با پنجره ‪ Parzen‬با تابع هسته ) ‪ 𝑘(𝒙, 𝒙′‬مدل کنیم‪ .‬به توجه به اين مسئله‬
‫به سؤاالت زير پاسخ دهید‪.‬‬
‫‪)a‬‬
‫(‪ 2‬نمره) قانون تصمیم بر اساس حداقل احتمال خطای تصمیمگیری را بنويسید‪.‬‬
‫‪)b‬‬
‫(‪ 3‬نمره) نشان دهید که با انتخاب تابع هسته به صورت ‪ 𝑘(𝒙, 𝒙′ ) = 𝒙𝑇 𝒙′‬قانون تصمیمگیری عبارت خواهد بود از‬
‫انتساب ورودی به دستهای که میانگین آن به اين داده نزديکتر است‪.‬‬
‫‪)c‬‬
‫(‪ 2‬نمره) اگر تابع هسته به صورت ) ‪ 𝑘(𝒙, 𝒙′ ) = 𝜙(𝒙)𝑇 𝜙(𝒙′‬تعريف شود‪ ،‬دستهبندی به چه صورت انجام خواهد شد؟‬
‫‪ .1.3‬پيادهسازی دستهبند ‪ 14( k-NN‬نمره)‬
‫دستهبند ‪ k‬نزديکترين همسايه را برای مجموعه داده سه دستهای ‪ iris‬که هر داده شامل ‪ 1‬ويژگی است پیادهسازی کرده و نتايج‬
‫مربوط به خطای دستهبندی روی مجموعههای آموزش و آزمون را گزارش کنید‪ .‬برای تعیین مقدار مناسب 𝑘 (از بین مقادير ‪ 3‬تا‬
‫‪ )33‬از روش ‪ 5-fold CV‬استفاده کرده و نموداری که تأثیر تغییر 𝑘 در دقت دستهبندی روی مجموعه اعتبارسنجی را نشان دهد رسم‬
‫کنید‪.‬‬
‫سوال ‪ 17( 2‬نمره)‪ :‬تئوری يادگيری‬
‫‪ 6( .1.1‬نمره) فضای فرضیه 𝑑𝐻 شامل درختهای کامل با ارتفاع 𝑑 را در نظر بگیرید که در هر عمق (در همه شاخهها) یک ویژگی‬
‫دودویی یکسان مورد ارزیابی قرار میگیرد و ارتفاع همه برگها برابر 𝑑 است‪ 10,000 .‬نمونه هر کدام با چهل ویژگی دودویی‬
‫را برای آموزش داریم‪ .‬تابع اصلی با درختی به ارتفاع بیست (با خصوصیات ذکر شده) قابل بیان است‪ ،‬اما ‪ learner‬از این مطلب‬
‫آگاه نیست‪ .‬همچنین ‪ learner‬چنانچه در فضای فرضیات فرضیههایی با خطای آموزش صفر وجود داشته باشد از بین آنها یکی‬
‫را انتخاب میکند‪ .‬در این قسمت سعی داریم با استفاده از تئوری ‪ PAC‬خطای واقعی (خطا روی دادههای تست) را تخمین‬
‫بزنیم‪ .‬در این تمرین ‪ 𝛿 = 0.1‬در نظر گرفته شود و منظور از ‪ ℎ20‬درختی به ارتفاع بیست داخل فضای فرضیه ‪ 𝐻20‬است‪.‬‬
‫‪ .a‬باند باالی ) ‪ 𝑒𝑟𝑟𝑜𝑟𝑡𝑟𝑢𝑒 (ℎ20‬را محاسبه کنید‪.‬‬
‫‪ .b‬آیا میتوان باند خطای ‪ ℎ10‬را نیز به همین روش محاسبه کرد؟ اگر خیر چرا؟ آیا روش جایگزینی وجود دارد؟‬
‫‪ 9( .2.2‬نمره) بعد ‪ VC‬را برای دستهبندهای زير با ذکر توضیح پیدا کنید‪:‬‬
‫‪1NN‬‬
‫‪.a‬‬
‫‪ .b‬دستهبندی که در فضای 𝑑 بعدی برای هر ويژگی میتواند حداکثر يک بازه بسته تعیین کند که داخل آن برچسب‬
‫مثبت است و بیرون آن منفی فرض میشود‪.‬‬
‫‪ .c‬دسته بندی در فضای دوبعدی که داخل يک دايره (با شعاع و مرکز دلخواه) را برچسب مثبت و خارج آن را‬
‫برچسب منفی میدهد‪.‬‬
‫سوال ‪( 9‬نمره)‪ :‬يادگيری جمعی (‪ 27‬نمره)‬
‫‪ .3.3‬فرض کنید در يک مسالهی رگرسیون تابع مطلوب ‪ ℎ‬باشد و توابع‬
‫𝑀𝜖 ‪ 𝜖1 , … ,‬به ترتیب تفاضل خروجی تابعهای 𝑀‪ℎ1 , … , ℎ‬‬
‫با تابع مطلوب ‪ ℎ‬را نشان دهند يا به عبارت ديگر )𝒙(‪ .𝜖𝑚 (𝒙) = ℎ𝑚 (𝒙) − ℎ‬به اين ترتیب امید‪ 3‬مجذورات خطا روی‬
‫‪2‬‬
‫کل توزيع (بردار ورودی) برای تابع 𝑚‪ ℎ‬به صورت ] ))𝒙( 𝑚𝜖([ 𝒙𝐸 در میآيد و‬
‫میانگین اين مقادير را برای توابع 𝑀‪ ℎ1 , … , ℎ‬نشان میدهد‪ .‬حال اگر تابع ترکیبی‬
‫‪2‬‬
‫𝑀∑‬
‫] ))𝒙( 𝑚𝜖([ 𝒙𝐸 ‪𝑚=1‬‬
‫𝑀∑‬
‫)𝒙( 𝑚‪𝑚=1 ℎ‬‬
‫‪1‬‬
‫𝑀‬
‫‪1‬‬
‫𝑀‬
‫= 𝑔𝑣𝑎𝐸‬
‫= )𝒙( 𝑀𝐻 را در نظر‬
‫‪2‬‬
‫𝑀∑ ‪)𝐸𝑐𝑜𝑚 = 𝐸𝒙 [(𝑀1‬‬
‫بگیريد و امید مجذورات خطا برای )𝒙( 𝑀𝐻 روی کل توزيع را 𝑚𝑜𝑐𝐸 بنامیم (] ))𝒙(‪𝑚=1 ℎ𝑚 (𝒙) − ℎ‬‬
‫‪ 6( .a‬نمره) نشان دهید 𝑔𝑣𝑎𝐸 ≤ 𝑚𝑜𝑐𝐸‪.‬‬
‫(راهنمايی‪ :‬میتوانید از نامساوی ‪ Jenson‬که به ازای هر تابع محدب 𝑓 داريم )]𝒙[𝑓(𝐸 ≤ )]𝒙[𝐸(𝑓 استفاده‬
‫نمايید‪).‬‬
‫‪ 6( .b‬نمره) چنانچه امید خطای مدلهای پايه ناهمبسته باشد (‪ ،)∀𝑚 ≠ 𝑙 𝐸𝒙 [𝜖𝑚 (𝒙)𝜖𝑙 (𝒙)] = 0‬نشان دهید‬
‫𝑔𝑣𝑎𝐸‬
‫𝑀‬
‫= 𝑚𝑜𝑐𝐸‪.‬‬
‫‪ 6( .1.2‬نمره) فرض کنید که ‪ AdaBoost‬روی 𝑛 نمونه آموزش داده میشود و خطای وزندار هر کدام از دستهبندهای پایه کمتر از‬
‫‪ 0.5‬است‪ .‬برای اینکه فرضیه ایجاد شده با نمونههای آموزش سازگار شود یا به عبارت دیگر خطای آموزش آن صفر شود‪،‬‬
‫تعداد تکرارهای الگوریتم ‪ AdaBoost‬را بر حسب 𝑡𝜖 ‪ γ = max‬و 𝑛 بهدست آورید‪.‬‬
‫𝑡‬
‫راهنمایی‪ :‬از این نکته استفاده کنید که زمانیکه ‪ 𝑒𝑟𝑟𝑜𝑟𝑡𝑟𝑎𝑖𝑛 (ℎ) < 𝑛1‬باشد‪ ،‬میتوانیم مطمئن باشیم که خطای آموزش صفر‬
‫است‪.‬‬
‫‪ 7( .3.3‬نمره) مجموعه داده يک بعدی با ويژگی 𝑥 که در شکل زير نشان داده شده را در نظر بگیريد‪ .‬فرض کنید میخواهیم‬
‫يک درخت تصمیم با استفاده از اين مجموعه داده آموزش دهیم‪.‬‬
‫‪3 Expectation‬ن‬
‫با فرض استفاده از ‪ decision stumps‬به عنوان دستهبند ضعیف روی دادههای باال به سواالت زیر پاسخ دهید‪:‬‬
‫‪ .a‬پس از اولین مرحله از اجرای ‪ AdaBoost‬مرز تصمیمگیری به چه شکلی خواهد بود؟‬
‫‪ .b‬خطای وزندار دستهبند در این مرحله چقدر است؟‬
‫‪ .c‬وزن جدید نمونهها چقدر خواهد بود؟‬
‫‪ .d‬پس از دومین بار اجرای ‪ AdaBoost‬مرز تصمیمگیری چگونه است؟‬
‫‪ .e‬آیا دقت دستهبندی بهبود یافته است؟‬