HW2.pdf

‫يادگيری ماشين ‪( 04-717‬گروه دوم)‬
‫نيمسال اول ‪49-40‬‬
‫تمرين سری دوم‪ :‬دستهبندهای مبتنی بر تابع هزينه‪ ،‬دستهبندهای احتمالی و انتخاب ويژگی‬
‫مدرس‪ :‬سليمانی‬
‫موعد تحويل تمرين دستی‪ 11 :‬آبان ‪49‬‬
‫نمره‪14 + 144 :‬‬
‫موعد تحويل پيادهسازی و گزارش‪ 16 :‬آبان ‪49‬‬
‫به همراه بخش پيادهسازی بايد گزارشی از همه نتايج و تحليل آنها ارسال شود‪.‬‬
‫بخش پيادهسازی به صورت حضوری نيز تحويل و بررسی خواهد شد که زمان آن متعاقباً اعالم میشود‪.‬‬
‫سوال ‪ 94( 1‬نمره)‪ :‬دستهبندی خطی‬
‫‪ 4( .1.1‬نمره) ابتدا نشان دهيد تابع هزينه پرسپترون را میتوان به صورت ) )𝑖(𝒙 𝑇𝒘 )𝑖( 𝑦‪ ∑𝑛𝑖=1 max ⁡(0, −‬نوشت و سپس تابع‬
‫ضرر (‪ )loss‬متناظر با آن را در حالت ‪ 𝑦 = 1‬برحسب 𝒙 𝑇𝒘 رسم نماييد‪ .‬نتيجه را با تابع ضرر ‪( logistic regression‬بر‬
‫حسب 𝒙 𝑇𝒘 در حالت ‪ )𝑦 = 1‬مقايسه کنيد و تاثير اين تفاوت را در عملکرد روشهای مربوطه مشخص نماييد‪.‬‬
‫‪ .1.1‬در مسالهی دستهبندی چنددستهای‪ ،‬يک مجموعه نمونه "خطی جدايیپذير" (‪ )linearly separable‬گفته میشود اگر يک‬
‫ماشين خطی (‪ )linear machine‬وجود داشته باشد که همهی نمونههای اين مجموعه را درست دستهبندی کند‪ .‬در حالتیکه‬
‫نمونههای هر دسته قابل جدا شدن از نمونههای بقيهی دستهها توسط يک ابر صفحه باشند نمونهها "کامالً خطی‬
‫جدايیپذير" (‪ )totally linearly separable‬گفته میشوند‪ .‬همچنين يک مجموعه نمونه "دوبهدو خطی جدايیپذير" گفته‬
‫میشود اگر نمونههای هر زوج دسته توسط يک ابرصفحه قابل جداشدن باشند‪.‬‬
‫‪ 4( .a‬نمره) نشان دهيد نمونههای کامالٌ جدايیپذيرخطی‪ ،‬جداپذير خطی نيز هستند‪ ،‬اما بالعکس آن لزوماً درست‬
‫نيست‪.‬‬
‫‪ 6( .b‬نمره) نشان دهيد نمونههای دوبهدو خطی جدايیپذير‪ ،‬لزوماً خطی جدايیپذير نيستند‪ .‬آيا بالعکس نمونههای‬
‫خطی جدايیپذير لزوماً دوبهدو خطی جدايیپذير نيز هستند؟‬
‫‪ 5( .1.1‬نمره) فرض کنيد به دنبال پيدا کردن راستايی هستيم که جداسازی بين نمونههای دو دسته (وقتی که روی آن راستا‬
‫افکنده میشوند) بيشينه شود و برای اين منظور بيشينه کردن فاصله بين ميانگين دو دسته را (بدون در نظر گرفتن پراکندگی‬
‫دادهها) مدنظر قرار داده باشيم‪ .‬در حالتیکه قيد ‪ 𝒘𝑇 𝒘 = 1‬هم لحاظ شود‪ ،‬نشان دهيد جواب مسالهی بهينهسازی باال به‬
‫صورت زير در میآيد‪:‬‬
‫) ‪𝒘⁡ ∝ ⁡ (𝝁2 − ⁡ 𝝁1‬‬
‫همچنين توضيح دهيد قيد ‪ 𝒘𝑇 𝒘 = 1‬به چه منظور لحاظ شده است‪.‬‬
‫‪ 6( .4.1‬نمره) ثابت کنيد که با درنظر گرفتن تابع هزينه مجموع مربعات خطا (‪ )SSE‬برای به دست آوردن پارامترهای 𝒘 و‬
‫‪𝑤0‬‬
‫مربوط به يک جداساز خطی در يک دستهبندی دودستهای و با تغيير بازنمايی خروجیها به اين صورت که خروجی دسته‬
‫‪ 𝐶1‬را با 𝑁𝑁 و خروجی دسته ‪ 𝐶2‬را با 𝑁𝑁 ‪ −‬نشان دهيم (که 𝑖𝑁 تعداد نمونههای دسته 𝑖 را مشخص میکند)‪ ،‬بردار 𝒘 بهينه‬
‫‪2‬‬
‫‪1‬‬
‫همراستا با بردار 𝒘 در روش فيشر است‪( .‬راهنمايی‪ :‬برای آشنايی با گامهای کلی اثبات میتوانيد به بخش ‪ 4.1.5‬از کتاب‬
‫‪ bishop‬مراجعه کنيد‪).‬‬
‫‪ 6( .5.1‬نمره) پيدا کردن تبديل خطی 𝒙 𝑇𝑾 ⁡ = ‪ 𝒙′‬از فضای ويژگی ‪ d‬بعدی به فضای ويژگی ‪ 𝑑′‬بعدی در يک مسئله‬
‫چنددستهای میتواند با در نظرگرفتن يک تابع هدف که به دنبال يافتن تبديل 𝑾 بهگونهای است که مجموع مجذور فواصل‬
‫زوج دادههای داخل دستهها بيشينه و مجموع مجذور فواصل زوج دادههای دستههای مختلف کمينه شود‪ ،‬صورت گيرد‪.‬‬
‫‪ .a‬نشان دهيد تابع هدف مربوطه میتواند با استفاده از ماتريسهای پراکندگی درون دستهای 𝑊𝑺 و بين دستهای 𝐵𝑺 به‬
‫صورت زير نمايش داده شود‪:‬‬
‫)𝑾 𝐵𝑺 𝑇𝑾(𝑟𝑡‬
‫⁡‬
‫)𝑾 𝑊𝑺 𝑇𝑾(𝑟𝑡‬
‫= )𝑾(𝐽‬
‫‪ .b‬تفاوت اين تابع هدف را با تابع هدف ‪ LDA‬ذکر نماييد‪.‬‬
‫سوال ‪ 24( 2‬نمره)‪ :‬دستهبند احتمالی‬
‫‪ 7( .1.1‬نمره) يک مسئله دستهبندی به دو دسته را در نظر بگيريد که دادهها متعلق به يک فضای ويژگی دو بعدی بوده و احتمال‬
‫شرطی دستهها با توزيع گوسی با ماتريس کوواريانس يکسان و ميانگين متفاوت مدل شده باشد ()𝛴 ‪.)𝑝(𝒙|𝐶𝑖 )~𝑁(𝝁𝑖 ,‬‬
‫توزيع پيشين دو دسته را نيز به ترتيب ) ‪ 𝑝(𝐶1‬و ) ‪ 𝑝(𝐶2‬و برابر با هم در نظر بگيريد‪.‬‬
‫‪ 1( .a‬نمره) مرز دستهبند احتمالی بيز را به دست آوريد‪.‬‬
‫‪ 4( .b‬نمره) اگر در حالت قبل از ماتريس هزينه به صورت‬
‫‪𝜆12‬‬
‫]‬
‫‪0‬‬
‫‪0‬‬
‫‪21‬‬
‫𝜆[ استفاده شود‪ ،‬در مورد تغيير مرز دستهبند با‬
‫توجه به مقادير مختلف ‪ 𝜆12‬و ‪ 𝜆21‬نسبت به هم توضيح دهيد‪.‬‬
‫𝑁‬
‫‪ 6( .1.1‬نمره) اگر مجموعه داده ورودی مسئله را به صورت ‪ {(𝒙(𝑖) , 𝑦 (𝑖) )}𝑖=1‬و }‪ 𝑦 (𝑖) ∈ {0,1‬نمايش دهيم که ‪ 𝑁1‬نمونه به‬
‫دسته اول و ‪ 𝑁2‬نمونه به دسته دوم تعلق داشته باشد و اينبار احتمالهای پيشين و ماتريس کوواريانس دو توزيع لزوماً با‬
‫هم مساوی نباشند‪ ،‬پارامترهای اين توزيعها و مقدار احتمال پيشين دو دسته را با استفاده از روش ‪ ML‬تخمين بزنيد‪.‬‬
‫‪ 7( .1.1‬نمره) میدانيم در يک دستهبند بيز با معيار حداقل خطای دستهبندی (‪ )minimum error-rate‬تابع جداساز متناظر با‬
‫دسته ‪-i‬ام ()𝒙( 𝑖𝑓) را میتوان متناظر با احتمال پسين در نظر گرفت‪:‬‬
‫) 𝑖𝐶(𝑝 𝑛𝑙 ‪𝑓𝑖 (𝒙) = 𝑙𝑛 𝑝(𝒙|𝐶𝑖 ) +‬‬
‫فرض کنيد توزيع شرطی دستهها را در يک دستهبندی دو دستهای به صورت توزيع نرمال ) 𝑖𝜮 ‪ 𝑝(𝒙|𝐶𝑖 )~𝑁(𝝁𝑖 ,‬در نظر‬
‫گرفته شده باشد‪ .‬در اين صورت تابع باال را میتوان به صورت زير بازنويسی نمود‪:‬‬
‫‪1‬‬
‫𝑑‬
‫‪1‬‬
‫) 𝑖𝐶(𝑝 ‪𝑓𝑖 (𝒙) = − (𝒙 − 𝝁𝑖 )𝑡 ⁡𝜮𝑖 −1 (𝒙 − 𝝁𝑖 ) − ⁡ ln 2𝜋 − ⁡ ln |𝜮𝑖 | + ln‬‬
‫‪2‬‬
‫‪2‬‬
‫‪2‬‬
‫همانطور که میبينيم يکی از پارامترهای تعيين کننده در شکل تابع باال پارامتر 𝑖𝜮 میباشد‪ .‬در هر يک از حاالت زير‪:‬‬
‫𝑰 ‪𝜮𝑖 = ⁡ 𝜎 2‬‬
‫‪.I‬‬
‫𝚺⁡ = 𝑖𝜮‬
‫‪.II‬‬
‫𝑖𝜮 دلخواه‬
‫‪.III‬‬
‫مرز حاصل از بهکارگيری تابع ‪ discriminant‬مربوطه را به دست آوريد و درباره آن بحث کنيد‪.‬‬
‫سوال ‪ 04( 9‬نمره ‪ 14 +‬نمره اضافه)‪ :‬دستهبندهای ‪ Logistic Regression‬و‬
‫‪Naïve Bayes‬‬
‫‪ 4( .1.1‬نمره) فرض کنيد يک مجموعه داده داريم که هم متغير خروجی و هم متغيرهای ورودی آن از نوع بولين هستند و‬
‫همچنين متغيرهای ورودی آن به شرط داشتن خروجی از هم مستقل باشند‪ .‬ثابت کنيد در اين حالت دستهبند‬
‫‪Logistic‬‬
‫‪ Regression‬معادل ‪ discriminative‬برای دستهبند ‪ Naïve Bayes‬است‪.‬‬
‫‪ 7( .1.1‬نمره) برای تعميم دستهبند ‪ Logistic Regression‬به حالت چند دستهای‪ ،‬احتمال پسين دسته ‪-k‬ام را به صورت زير‬
‫تعريف کنيد‪:‬‬
‫)𝒙 𝑇 𝑘𝒘(⁡𝑝𝑥𝑒‬
‫𝑇‬
‫𝐾∑‬
‫)𝒙 𝑗𝒘(⁡𝑝𝑥𝑒 ‪𝑗=1‬‬
‫⁡ = )𝒙|𝑘 = 𝑦(𝑝‬
‫‪ .a‬بهکارگيری فرم پارامتری باال برای احتمال پسين را توجيه کنيد‪.‬‬
‫‪ .b‬در صورتیکه از روش ‪ ML‬برای تخمين زدن پارامترهای توزيع شرطی باال استفاده شود‪ ،‬تابع هزينه مربوط را‬
‫پيدا کنيد‪.‬‬
‫‪ .c‬همچنين روابط مربوط به بهروزرسانی بردارهای وزن را با بهکارگيری روش نزول در امتداد گراديان به دست‬
‫آوريد‪.‬‬
‫‪ 16( .1.1‬نمره ‪ 11 +‬نمره اضافه) پيادهسازی ‪ Logistic Regression‬و‬
‫‪Naïve Bayes‬‬
‫در اين مسئله هدف پيادهسازی اين دو دستهبند و استفاده از آنها در يک مسئله واقعی است‪ .‬مسئله موردنظر در اين سؤال‬
‫دستهبندی متون است که در اينجا از مجموعه داده رويترز برای اين منظور بهره گرفته شده است‪ .‬مجموعه داده مذکور يک‬
‫مجموعه داده استاندارد در مسائل دستهبندی است که شامل ‪ 111‬دسته متن خبری است‪ .‬در اين تمرين برای سهولت‬
‫زيرمجموعه دو دستهای از اين داده شامل دستههای ورزشی و اجتماعی فراهم شده است‪ .‬الزم به ذکر است که ويژگیها‬
‫در اين مجموعه داده با استفاده از روش کيسه لغات به دست آمده و مبتنی بر فرکانس کلمات است‪ .‬به منظور سادگی بيشتر‬
‫نيز همه مجموعه داده به صورت يک فايل قابل استفاده در متلب با عنوان ‪ data.mat‬در اختيار شما قرار داده شده که‬
‫بخشهای مختلف آن عبارتند از‪:‬‬
‫‪‬‬
‫‪ :Train‬مجموعه داده آموزش که در آن ستونها با کاما ازهم جدا شده و شامل ‪ 4517‬متن با ‪ 5111‬ويژگی برای‬
‫هر متن است‪.‬‬
‫‪‬‬
‫‪ :Test‬مجموعه داده آزمون شامل ‪ 1116‬متن‬
‫‪‬‬
‫‪ :TrainY‬برچسب متون موجود در مجموعه آموزش‬
‫‪‬‬
‫‪ :TestY‬برچسب متون موجود در مجموعه آزمون‬
‫‪ 5( .1.1.1‬نمره) دستهبند ‪ Logistic Regression‬را پيادهسازی کنيد و امکان استفاده از جمله منظمسازی 𝒘 𝑇𝒘 را نيز در‬
‫اين دستهبند فراهم نماييد‪.‬‬
‫‪ 5( .1.1.1‬نمره) برای تنظيم ضريب 𝜆 در حالت استفاده از جمله منظمسازی از ‪ 5-fold CV‬استفاده کرده و از بين‬
‫مجموعه مقادير }‪ 𝜆 ∈ {1𝑒 − 5,0.001,0.01,0.1,1,10,100‬مقدار مناسب را برای مجموعه دادهی مربوطه تعيين‬
‫نماييد‪ .‬خطای آزمون و آموزش را به ازای 𝜆 انتخاب شده باال بهدست آوريد‪ .‬نتايج خطای آموزش و آزمون را با‬
‫حالتی که اصال از جمله منظم سازی استفاده نشده باشد‪ ،‬مقايسه نماييد‪.‬‬
‫‪ .1.1.1‬دستهبند ‪ Naïve Bayes‬را پيادهسازی نماييد‪:‬‬
‫‪ 4( .a‬نمره) برای تخمين پارامترهای اين دستهبند ابتدا با استفاده از حد آستانه صفر مقادير ويژگیها را دودويی‬
‫کرده (مقادير ويژگیهای بزرگتر از صفر را به يک تغيير داده و ويژگیهای با مقدار صفر را تغيير ندهيد‪ ).‬و‬
‫سپس با درنظر گرفتن توزيع برنولی برای ويژگیها با روش ‪ ML‬ثابت کنيد که احتمال پيشين هر دسته به‬
‫صورت 𝑁‪ 𝜋̂𝑘 = 𝑁𝑘⁄‬و احتمال شرطی آنها برابر با‬
‫𝑘𝑗𝑁‬
‫𝑘𝑁‬
‫= ) 𝑘𝐶|‪ 𝜃̂𝑗𝑘 = 𝑝(𝑥𝑗 = 1‬خواهد بود‪ .‬در نهايت از‬
‫اين تخمين به دست آمده برای پارامترها در پيادهسازی استفاده نماييد‪.‬‬
‫‪ 4( .b‬نمره) يکی از مشکالت روش امطرح شده در بند ‪ I‬امکان بروز مقدار صفر برای پارامترهای 𝑘𝑗̂𝜃 است‪.‬‬
‫يک راهکار مناسب برای حل مشکل مذکور تخمين پارامترها با استفاده از روش ‪ MAP‬میباشد‪ .‬ثابت کنيد‬
‫با در نظر گرفتن توزيع بتا با پارامترهای يکسان ‪ α‬به عنوان احتمال پيشين اين پارامترها تخمين به دست‬
‫𝛼⁡‪𝑁 +‬‬
‫آمده به صورت 𝛼‪ 𝜃̂𝑗𝑘 = 𝑁𝑗𝑘+‬تغيير خواهد کرد‪ .‬سپس‪ ،‬مانند بخش قبل از تخمين به دست آمده در پياده‪-‬‬
‫𝑘‬
‫سازی خود استفاده کنيد‪.‬‬
‫‪ 1( .c‬نمره) دقت دستهبندهای حاصل در بندهای (‪ )a‬و (‪ )b‬را روی مجموعه نمونههای آموزش و آزمون‬
‫گزارش نماييد‪.‬‬
‫(در طول اين بخش از تمرين برای جلوگيری از کوچک شدن بيش از حد پارامترها در صورت لزوم از‬
‫فضای لگاريتمی استفاده نماييد‪).‬‬
‫‪ .4.1.1‬دو دستهبند را عالوه بر دادههای کامل با يک دهم از دادههای آموزش نيز اجرا نماييد و به سؤاالت زير پاسخ‬
‫دهيد (برای ‪ Naïve Bayes‬از پيادهسازی بند ‪ )b( 1.1.1‬استفاده نماييد و برای ‪ Logistic Regression‬از جمله‬
‫منظمسازی نيز استفاده نماييد)‪.‬‬
‫‪ 5( .a‬نمره) در هر مورد (داده کامل و يک دهم دادهها) دقت و مدت زمان اجرای دستهبندها را گزارش‬
‫همچنين نمودار تغييرات درستنمايی تا رسيدن به همگرايی را برای ‪ Logitic Regression‬رسم کنيد‪.‬‬
‫دهيد‪.‬‬
‫‪ 1( .b‬نمره) نتايج به دست آمده در بند (‪ )a‬را تحليل کنيد‪.‬‬
‫‪ 11( .5.1.1‬نمره اضافه) بخش ‪ 1.1.1‬را يک بار ديگر با اين فرض که بخواهيم از مقدار ويژگیها يا همان تعداد تکرار‬
‫لغات در اسناد مستقيما (بدون آستانهگذاری) استفاده نماييم‪ ،‬تکرار کنيد‪.‬‬
‫‪ .a‬ابتدا توزيع مناسبی برای ويژگیها (در داخل دستهها) انتخاب کنيد‪.‬‬
‫‪ .b‬از تخمين ‪ ML‬و ‪ MAP‬برای تخمين پارامترها استفاده نماييد‪.‬‬
‫‪ .c‬دقت دستهبندهای حاصل را بر روی مجموعه دادههای آموزش و آزمون به دست آوريد‪.‬‬
‫‪ .d‬نتايج را با نتايج حاصل از بخش ‪ 1.1.1‬مقايسه نماييد‪.‬‬
‫سوال ‪ 14( 0‬نمره)‪ :‬انتخاب ويژگی‬
‫مسئله دستهبندی متون مطرح شده در سوال ‪ 1‬را در نظر بگيريد‪ .‬يکی از روشهايی که میتواند منجر به بهبود دقت دستهبندی متون‬
‫شود‪ ،‬انتخاب ويژگی است‪ .‬در اين بخش از تمرين هدف انتخاب زيرمجموعهای از ويژگیهای متون است‪ .‬در روش فيلتر تک‬
‫متغيره (‪ )univariate filter‬معموال از طريق يک معيار مقدار همبستگی بين تکتک ويژگیها و برچسب پيدا میشود و ويژگیهايی‬
‫که اين معيار برای آنها مقدار باالتری دارد انتخاب میشوند‪ .‬يکی از معيارهای مناسب برای محاسبه امتياز ويژگی 𝑖‪-‬ام‪ ،‬ميزان‬
‫اطالعات متقابل (‪ )multual information‬بين اين ويژگی و برچسب است‪:‬‬
‫)𝑦 ‪𝑝(𝑥𝑖 ,‬‬
‫)𝑦(𝑝) 𝑖𝑥(𝑝‬
‫‪𝑀𝐼(𝑥𝑖 , 𝑦) = ∑ ∑ 𝑝(𝑥𝑖 , 𝑦) log‬‬
‫𝑦‬
‫𝑖𝑥‬
‫‪ 5( )a‬نمره) با استفاده از معيار ‪( MI‬در حالتیکه روی ويژگیها آستانه صفر گذاشته شده است و ويژگیها دودويی شدهاند)‪،‬‬
‫روش انتخاب 𝑙 ويژگی از بين مجموعه 𝑑 ويژگی ورودی را پيادهسازی کنيد‪.‬‬
‫‪ 1( )b‬نمره) با استفاده از پيادهسازی بند (‪ )a‬کاهش تعداد ويژگی به ‪ 511،111‬و ‪ 1111‬را انجام داده و نتايج را برای دسته‪-‬‬
‫بندهای ‪ Naïve Bayes‬و ‪( Logistic Regression‬با جمله منظمسازی) ارائه دهيد‪.‬‬
‫‪ 1( )c‬نمره) نتايج به دست آمده در بند (‪ )b‬را تحليل و با نتايج به دست آمده در سوال قبل مقايسه نماييد‪.‬‬