HW_3.pdf

‫به نام هستی بخش‬
‫تمرین سوم‪ :‬توابع جداساز خطی‪ ،‬غیرپارامتری‬
‫‪.1‬‬
‫تاریخ تحویل‪ :‬یکشنبه‪ 16 ،‬آذر ‪39‬‬
‫در مساله دستهبندی چند دستهای یک مجموعه نمونه "خطی جداپذیر" نامیده میشود هرگاه یک ماشین خطی وجود داشته باشد که همه نمونههای این‬
‫مجموعه را درست دسته بندی کند‪ .‬در حالتی که نمونههای هر دسته قابل جدا شدن از نمونههای بقیه دستهها توسط یک ابرصفحه باشند نمونهها "کامال‬
‫خطی جداپذیر" نامیده میشوند‪ .‬همچنین یک مجموعه نمونه "دوبهدو خطی جداپذیر" نامیده میشوند اگر نمونههای هر زوج دسته توسط یک ابرصفحه‬
‫قابل جدا شدن باشند‪ .‬با توجه به این تعاریف درستی یا نادرستی گزاره های زیر را با ذکر دلیل بیان کنید‪:‬‬
‫الف) نمونههای کامال جداپذیر خطی‪ ،‬جداپذیر خطی هستند‪.‬‬
‫ب) نمونههای جداپذیر خطی‪ ،‬کامال جداپذیر خطی هستند‪.‬‬
‫ج) نمونههای دوبهدو جداپذیر خطی‪ ،‬جداپذیر خطی هستند‪.‬‬
‫د) نمونههای جداپذیر خطی‪ ،‬دوبهدو جداپذیر خطی هستند‪.‬‬
‫‪ .2‬داده های زیر را که مربوط به یک مسالهی دو دستهای هستند‪ ،‬در نظر بگیرید‪:‬‬
‫برچسب‬
‫‪X2‬‬
‫‪X1‬‬
‫ترتیب داده ها‬
‫‪+‬‬
‫‪+‬‬
‫‬‫‪-‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪2‬‬
‫‪9‬‬
‫‪4‬‬
‫الگوریتم پرسپترون را بر روی داده های باال با فرض ]‪ 𝜃 0 = [0,0,0‬اجرا نمایید و مقادیر بردار وزنها ) 𝑡 𝜃( را در هر مرحله مشخص کنید‪ .‬شکل نهایی‬
‫دستهبند خروجی را نیز رسم کنید‪( .‬ترتیب بررسی داده ها نیز مشخص شده است)‬
‫‪ .3‬سه تابع جداساز زیر را برای یک مساله جداسازی خطی در نظر بگیرید‪:‬‬
‫‪g2(x) = x1 + x2 - 1 , g3(x) = -2 x2‬‬
‫‪g1(x) = -x1 + x2 ,‬‬
‫قانون تصمیمگیری به این صورت است که اگر به ازای همه 𝑗 ≠ 𝑖 داشته باشیم )‪ 𝑔i (x) > g j (x‬آنگاه داده ‪ x‬را به کالس ‪ i‬ام بده‪.‬‬
‫الف) شکل مرزهای دستهبند را به همراه مشخص کردن کالسها رسم کنید‪.‬‬
‫ب) آیا ناحیهای وجود دارد که قابل دستهبندی نباشد؟‬
‫‪ .4‬فرض کنید عناصر بردار ‪ d‬بعدی ‪ x‬فقط مقادیر صفر و یک را اختیار کنند‪ .‬همچنین فرض کنید که اگر تعداد عناصر غیر صفر ‪ x‬فرد باشد‪ ،‬آن را به کالس‬
‫‪ c1‬و در غیر این صورت به کالس ‪ c2‬نسبت دهیم‪ .‬ثابت کنید دادهها در فضای ‪ d‬بعدی جداپذیر خطی نیستند‪.‬‬
‫‪ .5‬یک تعمیم برای توابع جداساز تعریف آنها به صورت 𝑗𝑥 𝑖𝑥 𝑗𝑖𝑊 𝑗𝑖∑ ‪ 𝑔(𝑥) = 𝑤0 + ∑𝑖 𝑤𝑖 𝑥𝑖 +‬است‪ .‬فرض می کنیم ‪ W‬یک ماتریس متقارن باشد و‬
‫قرار میدهیم‬
‫‪W‬‬
‫‪wt W−1 w−4w0‬‬
‫= ̂‬
‫𝑊‪.‬‬
‫الف) اگر 𝐼𝑘 = ̂‬
‫𝑊 باشد (‪ ، )k >0‬ثابت کنید مرز جداساز یک ابرکره است‪.‬‬
‫ب) اگر ̂‬
‫𝑊 یک ماتریس ‪ positive definite‬باشد‪ ،‬ثابت کنید مرز جداساز یک ابربیضی است‪.‬‬
‫‪.6‬‬
‫توزیع نرمال ) ‪ 𝑝(𝑥) ∝ 𝑁(𝜇, 𝜎 2‬و تابع پنجره پارزن )‪ ∅(𝑥) ∝ 𝑁(0,1‬را در نظر بگیرید‪ .‬ثابت کنید توزیع میانگین پنجره پارزن به صورت ∝ )‪𝑝̂ (x‬‬
‫) ‪ℎ𝑛2‬‬
‫‪2‬‬
‫‪ N(𝜇, 𝜎 +‬است‪.‬‬
‫‪ .7‬تمرين برنامه نويسی‪ :‬مسالهی دو دستهای را در نظر بگیرید که دادههای هر دسته دارای توزیع نرمال هستند‪ .‬پارامترهای این توزیعها برابر است با‪:‬‬
‫‪𝜇1𝑇 = [1.1], 𝜇2𝑇 = [0.0], 𝜎12 = 𝜎22 = 0.2‬‬
‫الف) از هر دسته ‪ 00‬داده به صورت تصادفی تولید کنید‪( .‬برای آنکه مطمئن باشید شرط جدا پذیر بودن داده های دو دسته به صورت خطی باقی می‬
‫ماند‪ ،‬داده هایی را که در آنها شرط ‪ 𝑥1 + 𝑥2 < 1‬برای دادههای دستهی اول وشرط ‪ 𝑥1 + 𝑥2 > 1‬برای دادههای دستهی دوم برقرار است را از‬
‫مجموعهی دادههای آموزشی حذف کنید‪).‬‬
‫(راهنمايی‪ :‬برای تولید دادههای نرمال در متلب می توانید از دستور ‪ mnvrnd‬استفاده کنید‪.‬‬
‫ب) الگوریتم پرسپترون را بر روی داده های ورودی (با هر ترتیب دلخواه) اعمال کنید‪.‬‬
‫‪ ‬پس از همگرایی‪ ،‬دستهبند خطی نهایی (به همراه دادهها) را رسم کنید‪.‬‬
‫‪ ‬تعداد تکرارهای الزم برای رسیدن به همگرایی با استفاده از دادههای مورد استفادهی خود را مشخص کنید‪.‬‬
‫‪o‬‬
‫آیا ترتیب در نظرگرفتن دادهها در خط خروجی تاثیرگذار است؟ توضیح دهید‪.‬‬
‫‪o‬‬
‫آیا ترتیب در نظرگرفتن دادهها در تعداد تکرارها تا رسیدن به همگرایی تاثیرگذار است؟ توضیح دهید‪.‬‬
‫‪ .8‬تمرين برنامه نويسی‪ :‬دستهبند ‪-k‬نزدیکترین همسایه را پیادهسازی کنید و خطای آن را به ازای ‪ k=1‬و ‪ k=5‬و ‪ k=15‬روی نمونههای موجود در فایل‬
‫”‪ “iris.mat‬گزارش دهید‪ .‬با استفاده از تکنیک ‪ 10-fold cross validation‬مقدار بهترین ‪ k‬را تعیین نمایید‪.‬‬