ML_Project.pdf

‫یادگیری ماشین‬
‫نیمسال اول ‪۳۴-۳۹‬‬
‫دانشکدهی مهندسی کامپیوتر‬
‫پروژهی پایانی‬
‫استاد درس‪ :‬دکتر بیگی‬
‫مهلت ارسال‪ :‬شنبه ‪ ۴‬بهمن‬
‫نحوهی تحویل‪ :‬پاسخهای تمرینهای خود را حداکثر تا تاریخ معین شده به صورت فشرده شده در فرمت ‪ zip‬به آدرس‬
‫‪ sahba.ezami@gmail.com‬ارسال کنید‪ .‬فایل فشرده باید شامل پاسخ سواالت شامل کد و توضیح مختصری در‬
‫مورد عملکرد و نحوهی اجرا و همچنین موارد خواسته شده در هر سوال باشد‪ .‬توجه کنید که تمامی کدها و فایلهای اجرای‬
‫هر سوال در پوشهای با نام ‪(Q#‬مثال ‪ )Q1‬قرار گرفته شده باشد‪.‬‬
‫‪ 1‬سوال اول‬
‫در این سوال‪ ،‬یک عامل یادگیر طراحی خواهید کرد که میتواند در یک ساختار شبکهای حرکت کند تا به هدف خود که‬
‫در خانه ی انتهایی شبکه قرار گرفته است برسد‪ .‬ساختار کلی این شبکه در شکل زیر نشان داده شده است‪:‬‬
‫‪G‬‬
‫در این شکل‪،‬‬
‫نشاندهندهی حالت ابتدایی عامل است و ‪ G‬نشاندهندهی خانهای از شبکه است که هدف در آن قرار‬
‫گرفته است‪ .‬همچنین اضالع قرمز رنگ نشاندهندهی مانع هستند که عامل نمیتواند از آن عبور کند‪ .‬بنابراین هدف اصلی‪،‬‬
‫این است که با استفاده از روش های یادگیری تقویتی‪ ،‬عامل بتواند مسیری را یاد بگیرد که در آن عامل بدون عبور از موانع‪،‬‬
‫از حالت ابتدایی به حالت هدف برسد‪.‬‬
‫برای یادگیری تقویتی‪ ،‬موارد زیر را در نظر بگیرید‪:‬‬
‫‪-‬‬
‫حالت‪ :‬شما میدانید در هر زمان عامل در کدام مربع است‪.‬‬
‫‪-‬‬
‫اقدام‪ :‬باال‪ ،‬پایین‪ ،‬راست و چپ‪.‬‬
‫‪-‬‬
‫گذرهای حالت‪ :‬به صورت فطعی است‪ .‬توجه کنید که چنانچه با انجام یک حرکت عامل از صفحه خارج شود و‬
‫یا به مانع برخورد کند‪ ،‬عامل در همان حالت قبلی باقی میماند‪.‬‬
‫‪-‬‬
‫پاداش‪ :‬با هر حرکت عامل پاداش ‪ -۱‬دریافت میکند و با رسیدن به هدف پاداش ‪ ۲‬دریافت میکند‬
‫‪-‬‬
‫𝜸‪ :‬تصمیمگیری در مورد ضرایب گسستگی بر عهدهی شماست‪.‬‬
‫الف) سیاست 𝜋 را به عنوان ورودی گرفته و با استفاده از روش ‪ ،first-visit MC‬تابع ارزش 𝜋 𝑉 را تخمین بزنید‪.‬‬
‫ب) از الگوریتم ‪ ϵ -soft on-policy Monte Carlo control‬برای بدست آوردن تابع اقدام‪-‬ارزش بهینه ∗𝑄 استفاده‬
‫کنید‪ .‬همچنین سیاست ‪ 𝜖 - soft‬بهینه )𝑎 ‪ 𝜋 ∗ (𝑠,‬را بدست آورید‪.‬‬
‫شرط توقف در این دو قسمت تعداد تکرارهاست که باید به عنوان ورودی به الگوریتم داده شود‪ .‬همچنین در قسمت ب‬
‫تصمیمگیری میتوانید ‪ 𝜖 = 0.1‬در نظر بگیرید‪.‬‬
‫‪ 2‬سوال دوم‬
‫در این سوال‪ ،‬با استفاده از روشهای دستهبندی‪ ،‬مجموعهای از ای‪-‬میلها که به همراه این تمرین داده شده است را به دو‬
‫دستهی ‪ spam‬و ‪ ham‬دستهبندی خواهید کرد‪ .‬به این منظور‪ ،‬میبایست ابتدا با استفاده از روشهای پردازش متن‪ ،‬هر‬
‫یک از بردارها را به یک بردار در فضای برداری (در حالت ‪ )tf-idf‬تبدیل کنید و سپس با استفاده از روش ‪ ،PCA‬ابعاد فضا‬
‫را کاهش دهید تا بتوان با سرعت و دقت بیشتری عمل دستهبندی را انجام داد‪.‬‬
‫پس از کاهش ابعاد و انتقال بردارها به فضای جدید‪ ،‬هر یک از روشهای دستهبندی زیر را بر روی این دادهها اعمال کنید‪:‬‬
‫‪-‬‬
‫روش ماشین بردار پشتیبان (‪)SVM‬‬
‫‪-‬‬
‫روش ‪Logistic regression‬‬
‫برای این روشها‪ ،‬میتوانید از توابعی که در تمرینهای قبلی پیادهسازی کرده بودید استفاده کنید‪ .‬در نهایت میبایست‬
‫موارد زیر را گزارش کنید‪:‬‬
‫‪-‬‬
‫مقایسهی روشها از نظر عملکرد و زمان اجرا‬
‫‪-‬‬
‫دقت هر یک از روشها برای دادههای آزمون با توجه به تعداد ابعاد فضای مقصد‪ .‬به این منظور‪ ،‬الگوریتم را بر‬
‫روی فضای داده با ابعاد ‪۹۱۱ ،۱۱۱‬و ‪ ۰۱۱‬و همچنین فضای دادهی اولیه (قبل از اجرای ‪ )PCA‬اجرا کنید و بیان‬
‫کنید به نظر شما در این مسئله چه تعدادی برای ابعاد فضای مقصد مناسبتر است؟‬
‫توجه کنید که در این سوال‪ ،‬نمیتوانید از توابع آماده برای کاهش بعد استفاده کنید‪ .‬همچنین به منظور افزایش دقت و‬
‫کاهش ابعاد اولیه‪ ،‬در عمل پیش پردازش داده و تبدیل آن به فضای برداری بهتر است از حذف کلمات پرکاربرد( ‪stop‬‬
‫‪ )words‬و همچنین ریشهیابی کلمات استفاده کنید‪.‬‬