Project1.pdf

‫نیمسال اول ‪94-95‬‬
‫یادگیری ماشین ‪( 40-717‬گروه دوم)‬
‫مدرس‪ :‬دکتر سلیمانی‬
‫فاز اول پروژه‬
‫طراح پروژه‪ :‬شجاعی‪ ،‬اوصیا‬
‫موعد تحویل‪ 10 :‬آذر ‪94‬‬
‫ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬
‫هدف پروژه‬
‫در سالهای اخیر تحلیل داده اهمیت بسیاری پیدا کرده است و بسیاری از شرکتهای نوپا نیز بر همین اساس بنا شـدهاند‪ .‬در واقـ‬
‫با رشد روزافزون سختافزار‪ ،‬امکان پردازش و ذخیره سازی حجم زیادی از اطالعات فراهم شده است و انسان بـ تناـاین نمنتوانـد‬
‫اطالعات مام این دادهها را استخراج کند‪ .‬ب همین دلیل است ک تحلیلگران داده سعن منکننـد بـا اسـتهاده از ایـن امکانـات بـ‬
‫باترین نحو از دادهها استهاده کنند و اطالعات ناهت در ننها را کشف کنند‪ .‬هدف یادگیری ماشین نیز استخراج اطالعات و الگوهـا‬
‫از تجربیاتن است ک در قالب داده در اختیار قرار گرفت است‪ .‬شما تاکنون با تعدادی از روشهای این کـار نشـنا شـدهاید و تئـوری‬
‫ننها را فراگرفت اید‪ .‬در این پروژه قرار است همین مطالب ر ا در عمل ببینید تا شاود باتری نسبت ب ننها داشت باشید و عالوه بر‬
‫این با چالشهاین ک در عمل با ننها مواجاید نشنا شوید‪ .‬مـالال یکـن از چالشهـا در نوردن دادههـا بـ فرمـن قابـل قبـول بـرای‬
‫الگوریتمهای یادگیری است؛ زیرا در بسیاری از موارد دادهها ب شکلن نیستند ک بتوانیم ب راحتن از ننها استهاده کنیم‪.‬‬
‫پیادهسازی‬
‫برای پیادهسازی بخشهای مختلف منتوانید از هر کتابخان ای استهاده کنید‪ .‬قسمتن از نمرهی شما ب انتخاب محیط پیادهسـازی‬
‫مربوط منشود‪ .‬بنابراین پیش از اینک اجرای پروژه را شروع کنید باید یک تحقیـ نسـبتا جـام از کتابخانـ های معـروف داشـت‬
‫باشید‪ ،‬خوبنها و بدیهای کتابخان هاین ک دیدهاید را در گزارشتان ذکر کرده و یکن را برای اجرای این فاز پروژه انتخاب کنید‪.‬‬
‫مجموعه دادگان‬
‫مجموع ی دادگان نموزش شامل ‪ 22000‬دادهی ‪ 400‬بعدی است ک از ‪ 5000‬تای ننها بـ عنـوان دادهی ‪ validation‬اسـتهاده‬
‫منشود‪ .‬تقسیمبندی دادهها قبالً انجام شده و در ندرسهای ‪ xtrain‬و ‪ xval‬در اختیار شما قرار گرفت است‪ .‬همچنین مجموعـ ی‬
‫دادگان تستن شامل ‪ 3000‬وجود دارد ک در ندرس ‪ xtest‬موجود است‪ .‬مقادیر درخواستن در قسـمتهای بعـد‪ ،‬بـرای ‪ xtrain‬و‬
‫‪ xval‬در ندرسهاین با نامهای با معنن وجود دارد‪ .‬برای ‪ xtest‬شما باید جواباایتان را در فایلهای متنن با نام مشاب ارسال کنیـد؛‬
‫ب این صورت ک هر سطر حاوی مقدار پیشبینن شده توسط شما برای هر یک از دادههای درون ‪ xtest‬خواهد بود‪.‬‬
‫معرفی پروژه‬
‫در هر قسمت تعدادی روش اولی برای پیادهسازی انتخاب شده است‪ .‬در این روشها شما باید با پیدا کردن تنظمیات باین باترین‬
‫نتیج را برای هر روش ب دست نورید‪ .‬نتیج ی شما در هر روش با نتیج ی دیگر افراد مقایس منشود‪.‬‬
‫‪1‬‬
‫پس از ب دست نمدن نتایج برای روشهای گهت شده‪ ،‬نوبت ب شما منرسد کـ روشـن بـرای حـل مسـال پیشـنااد کنیـد‪ .‬روش‬
‫پیشناادی شما منتواند اصال ربطن ب روشهای گهت شده در صورت سوال نداشت باشد و یا یکـن از ننهـا باشـد‪ .‬در ایـن بخـش‬
‫تالشتان را بکنید تا ب باترین نتیج برای حل مسال برسید؛ زیرا در ناایت نتایج ناـاین روشهـای افـراد مختلـف بـا هـم مقایسـ‬
‫خواهند شد و قسمتن از نمرهی شما بر این اساس خواهد بود‪.‬‬
‫جزئیات نمرهدهن پروژه در فایل دیگری نماده شده است و در اختیارتان قرار خواهد گرفت‪.‬‬
‫پیشپردازش و تنظیمات‬
‫در تمامن قسمتها پیشنااد منشود‪ ،‬تنظیمات مختص نن بخش روی دادهها داشت باشید‪ .‬پیشپردازش خوب ممکـن اسـت تـا یر‬
‫خیلن زیادی روی نتیج ی نااین داشت باشد‪ .‬سعن کنید مواردی مشاب موارد زیر را در بخش تنظیمات درنظر داشت باشید‪:‬‬
‫‪-‬‬
‫انتخاب تواب پای مناسب )𝒙(𝝓 (یا تاب کرنل مناسب)‬
‫‪-‬‬
‫استهاده از روشهای انتخاب‬
‫‪-‬‬
‫استهاده از انواع مختلف منظمساز مالل ‪ l1‬و ‪ l2‬و تنظیم وزن جمل ی منظمساز‬
‫ویژگن‪1‬‬
‫منتوانید با استهاده از روشهاین مالل ‪ cross validation‬باترین مدل انتخابن را برای هر قسمت پیدا کنید‪.‬‬
‫تحویلدادنیها‬
‫‪-‬‬
‫تمامن کدهاین ک توسط خودتان پیادهسازی شدهاند‪.‬‬
‫‪-‬‬
‫موارد پیشبینن شده توسط شما برای دادههای تست‪ ،‬در قالبن ک در هر قسمت گهت شده است‪.‬‬
‫‪-‬‬
‫مستند پروژه شامل‬
‫‪ o‬معرفن کتابخان های مورد استهاده‪ ،‬دلیل انتخاب ننها و نحوهی نصب ننها‬
‫‪ o‬مستند اجرای کدها‬
‫‪ o‬شرح نحوهی انجام تنظیمات برای هر قسمت‬
‫‪ o‬شرح معیارهای ارزیابن انتخاب شده و جوابهای گرفت شـده بـر اسـاس ننهـا در هـر قسـمت روی دادههـای‬
‫نموزش و ‪.validation‬‬
‫‪Feature Selection‬‬
‫‪2‬‬
‫‪1‬‬
‫بخشهای مختلف این فاز از پروژه به صورت زیر هستند‪.‬‬
‫‪ .1‬دستهبندی دو کالسه‬
‫‪2‬‬
‫در این قسمت‪ ،‬هدف تشخیص وجود یا عدم وجود یک ویژگن درون دادههاست‪ .‬برچسب درست نشاندهنده این موضـوع‬
‫در مجموع دادهها در ندرس ‪ bin_train‬و ‪ bin_val‬وجود دارد‪ .‬ننچ در برای این بخش باید تحویـل دهیـد عبـارت‬
‫است از کدها و جوابتان روی دادهی تست در فایلن با نام ‪.bin_test‬‬
‫دست بندهای اولی ک برای این قسمت در نظر گرفت شدهاند ب ترتیب زیر منباشند‪:‬‬
‫‪-‬‬
‫دست بندهای غیر احتمالن‪:‬‬
‫‪-‬‬
‫‪SVM o‬‬
‫‪KNN o‬‬
‫دست بندهای احتمالن‪:‬‬
‫‪Logistic Regression o‬‬
‫‪Naïve Bayes o‬‬
‫از معیارهای دقت‪ 3‬و ‪ 4F‬برای ارزیابن روشها استهاده کنید‪.‬‬
‫‪ .2‬دستهبندی چند کالسه‬
‫‪5‬‬
‫هرکدام از دادههاین ک در اختیار شما قرار گرفت است متعل ب یکن از ‪ 43‬کالس ممکن است‪ .‬برچسبهای صـحی در‬
‫ندرسهای ‪ y_val‬و ‪ y_train‬در اختیار شما قرار گرفت است و شما نیز باید جوابتان را روی داده تست در فایلن بـا نـام‬
‫‪ y_test‬تحویل دهید‪.‬‬
‫دست بندهای اولی ک برای این قسمت در نظر گرفت شدهاند ب ترتیب زیر منباشند‪:‬‬
‫‪-‬‬
‫دست بندهای غیر احتمالن‪:‬‬
‫‪-‬‬
‫‪SVM o‬‬
‫‪KNN o‬‬
‫دست بندهای احتمالن‪:‬‬
‫‪Multiclass Logistic Regression o‬‬
‫‪Naïve Bayes o‬‬
‫از معیارهای دقت‪ ROC-AUC ،‬و ‪ Macro-F1‬و ‪ Micro-F1‬برای ارزیابن استهاده کنید‪.‬‬
‫‪Binary Classification‬‬
‫‪Accuracy‬‬
‫‪F-Measure‬‬
‫‪Multiclass Classification‬‬
‫‪3‬‬
‫‪2‬‬
‫‪3‬‬
‫‪4‬‬
‫‪5‬‬
‫‪ .3‬رگرسیون‬
‫‪6‬‬
‫برای دادههای ما یک خروجن عددی پیوست نیز مـدنظر اسـت کـ مقـادیر نن در ندرسهـای ‪ reg_train‬و ‪reg_val‬‬
‫موجود است و شما نیز پیشبینن خود را برای دادههای تست در فایلن با نام ‪ reg_test‬ارسال خواهید کرد‪.‬‬
‫از روشهای زیر برای رگرسیون استهاده کنید‪:‬‬
‫‪Linear Regression o‬‬
‫‪KNN Regression o‬‬
‫همچنین از معیارهای ‪ RMSE‬و ‪ MAE‬برای ارزیابن روشتان استهاده کنید‪.‬‬
‫‪ .4‬دستهبندی چند برچسبی‪( 7‬اختیاری)‬
‫مسال ی دست بندی چندبرچسبن با مسائلن ک تاکنون دیدهاید کمن فرق منکند‪ .‬در این مسال تعدادی برچسب موجـود‬
‫است و هر داده منتواند تعدادی از این برچسبها را داشت باشد‪ .‬در واق هر داده منتواند هر برچسب را داشت باشـد یـا‬
‫نداشت باشد‪ .‬مالالن از این مسال منتواند برچسب زدن ب عکسهای مختلف باشد‪ .‬یک عکس منتواند برچسبهای دریـا‪،‬‬
‫خورشید و قای را همزمان داشت باشد و عکس دیگری منتواند برچسبهای خیابـان‪ ،‬سـاختمان و ماشـین را دارا باشـد؛‬
‫ولن بعید است ک عکسن همزمان برچسبهای قای و خیابان را داشت باشد‪.‬‬
‫دادههای این پروژه نیز ‪ 40‬برچسب برایشان متصور است ک مقادیر صـحی بـرای دادههـای نمـوزش و ‪ validation‬در‬
‫ندرسهای ‪ mult_val‬و ‪ mult_train‬در اختیار شما قرار گرفت است‪ .‬بدیان است ک شما بایـد جوابتـان را روی داده‬
‫تست در فایلن با نام ‪ mult_test‬تحویل دهید‪.‬‬
‫مطالع ای روی روشهای دست بندی چندبرچسبن و روشهای ارزیابن ننها داشت باشید و بـرای ایـن مسـال یـک روش‬
‫دست بندی چندبرچسبن ارائ دهید‪.‬‬
‫از معیارهای دقت مبتنن بر نمون ‪ 8‬و ‪ Micro-F1‬و ‪ Macro-F1‬برای ارزیابن روشهایتان استهاده کنید‪.‬‬
‫‪Regression‬‬
‫‪Multi Label Classification‬‬
‫‪Example Accuracy‬‬
‫‪4‬‬
‫‪6‬‬
‫‪7‬‬
‫‪8‬‬