يادگيری ماشين ( 04-717گروه دوم) نيمسال اول 49-40 پروژه اول ( 04+144نمره) مدرس :سليمانی موعد تحويل 10 :آذر 49 طراح پروژه :مقصودی .1هدف پروژه یکی از موضوعات موردتوجه در حوزه یادگیری ماشین دستهبندی متون است که از کاربردهای آن به صورت خاص دستهبندی تمایالت 1کاربران در فضای مجازی است .در حقیقت با توجه به رویکرد روزافزون به اینترنت امروزه بسیاری از کاربران برای ثبت نقد خود درباره کاالها و خدمات مختلف و یا امتیاز دادن به آنها از اینترنت استفاده میکنند .در این پروؤه هدف بهکارگیری روشهای مختلف یادگیری ماشین برای دستهبندی نظرات و پیشبینی امتیازها یا نظرات کاربران میباشد .برای این منظور ،در ادامه برای حل مسائل مذکور چند روش پیشنهاد شده و انتظار میرود که گزارش پروژه در مورد هر آزمایش شامل بحث روی نتایج به دست آمده واستفاده بهجا از مفاهیم آموزش داده شده در کالس درس (نحوه تعیین پارامترها ،بهکارگیری تکنیکهای مناسب برای جلوگیری از بیش برازش در روشها و )...باشد. .2معرفی مجموعه داده همانطور که عنوان شد در این پروژه هدف تحلیل تمایالت یا نظرات ثبت شده در ارتباط با یک کاال یا خدمات خاص است .متناسب با این موضوع مجموعه داده مربوط به نقد فیلمهای سینمایی [ ]1که از مرجع IMDBجمعآوری شده ،استفاده شده است .این مجموعه داده در دو نسخه در دسترس میباشد که در یک حالت نقد کاربران را به دو دسته مثبت و منفی شامل 1111نقد مثبت و 1111نقد منفی تقسیم میکند .نسخه دیگر شامل نقد کاربران به همراه امتیازاتی است که کاربران مختلف از 1تا 4ستاره به فیلمهای سینمایی دادهاند .در این حالت چهار مجموعه داده از چهار نویسنده در پوشههای مجزا در اختیار شما قرار خواهد گرفت که هر یک از پوشهها فایلی با پسوند matدارد که شامل ماتریس ویژگیهای استخراج شده ( ،)TFیک فایل > rating.<author_nameشامل یک عدد در بازه 1تا 1متناظر با تعداد ستارههای داده شده توسط کاربر برای هر نقد و فایل > 4class.<author_nameکه شامل تبدیل امتیازهای نرمال شده به 4کالس با برچسبهای 1تا 3میباشد ،است. میدانیم که نخستین گام برای استفاده از مجموعه داده انتخاب ویژگیها و وزندهی به آنها میباشد تا به این ترتیب هر یک از متون به صورت یک بردار از ویژگیها تبدیل شود .در این پروژه جهت استخراج ویژگی از ایدهی کیسه لغات 2استفاده میشود .الزم به ذکر 1 Sentiment Classification 2 Bag of words است که ابتدا پیشپردازشهای الزم برای حذف کلمات رایج ( )stop wordو در آوردن کلمات به فرم ریشه خود ( )stemmingانجام شده است .سپس برای هر نقد تعداد تکرار کلمات مختلف موجود در واژگان تحت عنوان )term frequency( tfبه عنوان بردار ویژگی اولیه نگهداری میشود .در این حالت داده آموزش و آزمون به ازای هر نقد بردار > 𝑉𝑓𝑡 < 𝑡𝑓1 , 𝑡𝑓2 , … ,شامل تعداد تکرار مربوط به هر کلمه در نقد مربوطه را شامل میشود ( Vتعداد کل کلمات در مجموعه واژگان است). از آنجا ارزش لغات مختلف در تحلیل متون متفاوت است و به عبارت دیگر کلمات پرتکرار از ارزش کمتری در تحلیل متون برخودار هستند ،ویژگیها وزندهی نیز میشوند و برای وزندهی ویژگیها از معیار idfاستفاده میشود .به عبارت دیگر برای ویژگی 𝑖-ام ابتدا تعداد نقدهایی که کلمه 𝑖-ام را شامل میشوند تحت عنوان 𝑖𝑓𝑑 پیدا میشود و سپس مقدار ویژگی 𝑖-ام ،برای نمونه (نقد) 𝑗-ام به صورت 𝑁𝑓𝑑 𝑡𝑓𝑖,𝑗 × logتحت عنوان معیار tf-idfمحاسبه میشود .در واقع ویژگی 𝑖-ام برای نمونهها در مقدار 𝑁𝑓𝑑 logضرب میشود. 𝑖 𝑖 در این حالت داده آموزشی را به این صورت در نظر میگیریم که به ازای هر نقد بردار فرکانس واژهها به صورت > 𝑉𝑓𝑡 < 𝑡𝑓1 , 𝑡𝑓2 , … , شامل تعداد تکرار مربوط به هر کلمه در این نقد است را در اختیار داریم ( Vتعداد کل کلمات در مجموعه واژگان است) .با پیدا کردن مقادیر 𝑓𝑑 برای واژهها ،ویژگیهای وزندار tf-idfبرای مجموعه دادههای آموزش و آزمون محاسبه شدهاند. .3نقد مثبت و منفی ( 22نمره) همانطور که گفته شد یکی از مجموعه دادههای مورد استفاده شامل نظرات کاربران درباره فیلمهای سینمایی و دستهبندی آنها به دو دسته نقدهای مثبت و منفی میباشد .در این بخش از پروژه با این مجموعه داده کار میکنیم و در نتیجه هدف اعمال یک روش دستهبندی برای تعیین مثبت یا منفی بودن هر نقد خواهد بود .به این منظور روشهای دستهبندی رگرسیون لجیستیک ،3ماشین بردار پشتیبان 4و بیز ساده 5را به کار برده و نتایج هر دستهبند را بر اساس ماتریس درهمریختگی( 6شامل مقادیر FP ،TN ،TPو )FNو معیار درستی 7که به صورت زیر محاسبه میشود: 𝑁𝑇 𝑇𝑃 + 𝑁𝐹 𝑇𝑃 + 𝑇𝑁 + 𝐹𝑃 + = 𝑦𝑐𝑎𝑟𝑢𝑐𝑐𝑎 نمایش داده و در نهایت نتایج دستهبندها را با هم مقایسه کنید. Logistic Regression 3 SVM 4 Naïve Bayes 5 6 Confusion Matrix 7 Accuracy الزم به ذکر است که در استفاده از دستهبند رگرسیون لجیستیک برای پیشگیری از بروز بیشبرازش تمهید الزم را با توجه به آنچه در کالس درس آموختهاید در نظر بگیرید .همچنین با توجه به تمرین سری دوم درس در حالت استفاده از دستهبند بیز ساده توزیع پیشین مناسب و راهحل درست برای مشکالت احتمالی را مدنظر قرار دهید. .4امتيازدهی به نقدها نسخه دیگری از مجموعه داده که مورد استفاده قرار میگیرد ،نسخهای است که مربوط به امتیازدهی کاربران به هر نقد با یک تا چهار ستاره میباشد .در این بخش از شما خواسته میشود که به سه روشی که در ادامه ذکر خواهد شد ،امتیاز مربوط به یک نقد جدید را پیشبینی کنید .در این بخش برای ارزیابی نتایج از معیار درستی و F-measureاستفاده کرده و روشها را با هم مقایسه کنید .معیار F- measureبر حسب دقت و یادآوری در یک دستهبندی دو دستهای با استفاده از رابطه زیر محاسبه میشود: 𝑙𝑙𝑎𝑐𝑒𝑟 × 𝑛𝑜𝑖𝑠𝑖𝑐𝑒𝑟𝑝 × 2 𝑙𝑙𝑎𝑐𝑒𝑟 𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 + = 𝑒𝑟𝑢𝑠𝑎𝑒𝑚 𝐹 − 𝑃𝑇 𝑃𝐹 𝑇𝑃 + = 𝑛𝑜𝑖𝑠𝑖𝑐𝑒𝑟𝑝 𝑃𝑇 𝑁𝐹 𝑇𝑃 + = 𝑛𝑜𝑖𝑠𝑖𝑐𝑒𝑟𝑝 که برای استفاده از این معیار در یک دستهبندی چنددستهای میتوان از میانگینگیری precisionو recallبهدست آمده روی دستههای مختلف به صورت زیر استفاده کرد: 𝑙𝑙𝑎𝑐𝑒𝑟_𝑜𝑟𝑐𝑎𝑚 × 𝑛𝑜𝑖𝑠𝑖𝑐𝑒𝑟𝑝_𝑜𝑟𝑐𝑎𝑚 × 2 𝑙𝑙𝑎𝑐𝑒𝑟_𝑜𝑟𝑐𝑎𝑚 × 𝑛𝑜𝑖𝑠𝑖𝑐𝑒𝑟𝑝_𝑜𝑟𝑐𝑎𝑚𝑝 = 𝐹_𝑜𝑟𝑐𝑎𝑚 𝑐𝑁 1 = 𝑛𝑜𝑖𝑠𝑖𝑐𝑒𝑟𝑝_𝑜𝑟𝑐𝑎𝑚 )𝑖 𝑠𝑠𝑎𝑙𝑐 𝑓𝑜 𝑛𝑜𝑖𝑠𝑖𝑐𝑒𝑟𝑝(∑ 𝑐𝑁 𝑖=1 𝑐𝑁 1 )𝑖 𝑠𝑠𝑎𝑙𝑐 𝑓𝑜 𝑙𝑙𝑎𝑐𝑒𝑟(∑ 𝑐𝑁 = 𝑙𝑙𝑎𝑐𝑒𝑟_𝑜𝑟𝑐𝑎𝑚 𝑖=1 در این رابطه 𝑐𝑁 تعداد دستهها را نشان میدهد. بخش اول -استفاده از رگرسيون خطی ( 11نمره) در این حالت از فایل مربوط به امتیازها (در حالت پیوسته) استفاده کنید و بردار وزن در روش رگرسیون خطی را برای هر یک از 4 کاربر داده شده به دست آورید .بردار وزن در روش رگرسیون خطی (با در نظر گرفتن جمله منظمسازی) را برای هر یک از 4کاربر داده شده به دست آورید .به عنوان توابع پایه در رگرسیون از تابع پایه چندجملهای استفاده کرده و با در نظر گرفتن یک مقدار درجه بزرگ ثابت برای چند جملهای مقدار مناسب برای ضریب منظمسازی را با بهکارگیری روش اعتبارسنجی 5گانه تعیین کنید .بعد از به دست آوردن خروجی به ازای هر داده آزمون با استفاده از قوانین داده شده در زیر آن را به یک شماره دسته نگاشت کنید و سپس با توجه به برچسبهای داده شده روش خود را طبق معیارهای باال ارزیابی کنید. Label 0: rating <=.3 Label 1: .3 < rating <=.5 Label 2: .5 < rating <= .7 Label 3: .7 < rating همچنین خروجی خام به دست آمده را نیز طبق معیار RMSEبا خروجی پیوسته مطلوب مقایسه نمایید. بخش دوم -استفاده از دستهبندی ( 21نمره) برای حل مسئله با استفاده از دستهبندی از فایل شامل برچسبهای 1تا 3برای هر یک از 4کاربر استفاده کنید .دستهبندهای موردنظر برای این بخش نیز دستهبندهای -Kنزدیکترین همسایه ،ماشین بردار پشتیبان ،رگرسیون لجستیک و بیز ساده هستند که باید در حالت چنددستهای مورد استفاده قرار بگیرند .در روش -Kنزدیکترین همسایه از شباهت کسینوسی به عنوان معیار شباهت استفاده نمایید. برای تعیین مقدار مناسب 𝐾 در دستهبند -Kنزدیکترین همسایه و تعیین 𝐶 در ماشین بردار پشتیبان روش اعتبارسنجی 5گانه را به کار ببرید .به عنوان تابع هسته ماشین بردار پشتیبان نیز از هستههای چندجملهای و گوسی استفاده کرده و با توجه به اینکه در این مسئله با دستهبندی چند دستهای سروکار داریم از روش مناسب برای تبدیل دستهبند به حالت چنددستهای استفاده کرده و در گزارش خود درباره آن توضیح دهید. بخش سوم -استفاده از رگرسيون ترتيبی 31( 8نمره) روشهایی که تا این قسمت از سؤال برای دستهبندی استفاده کردیم روشهایی بودند که به ارتباط بین برچسبها در این مسئله خاص توجه نکردهاند .به عنوان مثال به صورت مفهومی نقدی که دو ستاره دارد از نظر امتیاز به نقدی که یک ستاره دارد نزدیکتر است تا به نقدی که 4ستاره به آن داده شده است .هدف از این بخش از تمرین آشنایی با روشهای Ordinal Regressionاست .این روشها زمانی که با دادههایی با برچسبهای گسسته اما از نوع ترتیبی سروکار داریم مناسب هستند .به عبارتی میتوان این روشها را از نظر محدود بودن تعداد مقادیر ممکن برای خروجی شبیه به دستهبندی و از نظر وجود ارتباط بین خروجیها شبیه به رگرسیون دانست. دستهای از روشهای مورد استفاده برای Ordinal Regressionمبتنی بر دستهبندها هستند .در ادامه یکی از این روشها که بر پایه ماشین بردار پشتیبان بوده و در مرجع [ ]2پیشنهاد شده مورد بررسی قرار میگیرد .برای ارزیابی روش پیادهسازی در این بخش عالوه بر معیارهای عنوان شده ،از معیار RMSEکه برای روشهای ترتیبدار مناسبتر میباشد نیز استفاده نمایید. فرض کنید 𝒙 نشاندهنده ورودی 𝜙(𝒙) ،تابع نگاشت ورودی به فضای جدید 𝑘 ،تابع هسته و مجموعه }𝑟 𝑌 = {1, … ,مجموعه شامل برچسبهای ترتیبی باشد .همچنین فرض میکنیم تعداد عناصر موجود در دسته 𝑗 را با 𝑗𝑛 نشان دهیم .اگر به مسئله دستهبندی با ماشین Ordinal Regression 8 بردار پشتیبان با این دید نگاه کنیم که مسئله عبارت است از یافتن جهت بردار نرمال ابرصفحه مرزی و 𝑟 − 1عدد که مکان مرزها را مشخص میکنند ،میتوان مسئله تعیین برچسب ترتیبی را معادل با یافتن یک بردار 𝒘 و 𝑟 − 1مقدار حدآستانه که مشخص کننده 𝑟 − 1ابرصفحه در فضای نمونهها هستند در نظر گرفت .این مسئله را میتوانید در شکل 1مشاهده کنید. شکل :1فضای مسئله SVM ordinal regression به این ترتیب اگر برای دو دسته مجاور 𝑗 و 𝑗 + 1حد آستانه 𝑗𝑏 در نظر گرفته شده باشد ،هر نمونه در دسته 𝑗 باید با در نظر گرفتن حاشیه مقداری کمتر از 𝑏𝑗 − 1داشته باشد .در غیر این صورت خطایی برابر با ) 𝑤 𝑇 𝜙(𝒙𝒋𝒊 ) − (𝑏𝑗 − 1برای آن نمونه منظور خواهد شد .همین حالت باید برای نمونههای دسته 𝑗 + 1هم برقرار بوده و مقدار به دست آمده برای آنها باید از 𝑏𝑗 + 1بیشتر باشد که در 𝑗 𝟏 (𝑏𝑗+1 − 1) − 𝑤 𝑇 𝜙(𝒙𝒋+میشود .با توجه به آنچه گفته شد ،اگر خطای اول را با 𝑖𝜉 و خطای غیر این صورت مقدار خطا برابر با ) 𝒊 ∗𝑗+1 دوم را با 𝑖𝜉 نشان دهیم ،مسئله اصلی SVM 9برای Ordinal Regressionبه صورت زیر خواهد بود: 𝑛𝑗+1 ) ∗𝑗+1 𝑖𝜉 𝑗𝑛 𝑟−1 𝑗 1 ∑ min𝒘,𝑏,𝜉,𝜉 ∗ 𝒘𝑻 𝒘 + 𝐶 ∑(∑ 𝜉𝑖 + 2 𝑗=1 𝑖=1 𝑖=1 شرایط مسئله نیز در این حالت عبارتند از: 𝑗 𝒋 𝑖𝜉 𝒘𝑇 𝜙(𝒙𝒊 ) − 𝑏𝑗 ≤ −1 + 𝑗 𝑗𝑛 𝜉𝑖 ≥ 0, 𝑓𝑜𝑟 𝑖 = 1, … , ∗𝑗+1 𝑖𝜉 ) − 𝑏𝑗 ≥ 1 + 𝑗+1 𝑖𝒙(𝜙 𝑇𝒘 ≥ 0, 𝑓𝑜𝑟 𝑖 = 1, … , 𝑛𝑗+1 ∗𝑗+1 𝑖𝜉 Primal 9 برای در نظر گرفتن شرط الزم 𝑏1 ≤ 𝑏2 ≤ ⋯ ≤ 𝑏𝑟−1به منظور حفظ سازگاری حدود آستانه نیز محدودیت زیر به مسئله اضافه میشود: 𝑏𝑗−1 ≤ 𝑏𝑗 , 𝑓𝑜𝑟 𝑗 = 2, … , 𝑟 − 1 اکنون اگر برای سادهتر کردن رابطه اصلی متغیرهای جدید ∞ 𝑏0 = −و ∞ 𝑏𝑟 = +را تعریف کنیم ،رابطه اصلی به صورت زیر بازنویسی خواهد شد: 𝑗𝑛 𝑟 𝑗 ∗𝑗+1 1 ) 𝑖𝜉 min𝑤,𝑏,𝜉,𝜉 ∗ 𝒘𝑻 𝒘 + 𝐶 ∑ ∑(𝜉𝑖 + 2 𝑗=1 𝑖=1 اکنون با توجه به توضیحات ارائه شده به سؤاالت زیر پاسخ دهید: 4( .aنمره) ابتدا توضیح دهید چگونه استفاده از یک بردار 𝒘 و 𝑟 − 1مقدار ثابت میتواند منجر به حل مساله رگرسیون ترتیبی شود .سپس اجزای مسالهی بهینهسازی معرفی شده باال و تاثیر هر یک را هم مختصراً توصیف کنید. 7( .bنمره) با نوشتن تابع الگرانژ و در نظر گرفتن شرایط KKTفرم دوگان عبارت اصلی را به دست آورید. 4( .cنمره) پس از به دست آوردن بردارهای پشتیبان ،فرم تابع جداساز برای این مسئله را مشخص نمایید؟ 21( .dنمره) با استفاده از معادله به دست آمده برای فرم دوگان مسئله که فرم درجه دو دارد این روش را پیادهسازی کرده و مقادیر معیارهای خواسته شده را پیدا کنید. تحليل نتايج ( 5نمره) نتایج به دست آمده در بخشهای اول تا سوم برای امتیازدهی نقدها را مقایسه و تحلیل نمایید. .1دستهبندی چندبرچسبی ( 22نمره اضافه) مسئله دیگری که در دستهبندی نظرات کاربران گاهی با آن مواجه میشویم قرار گرفتن یک نقد در چند دسته میباشد .به عنوان مثال اگر هدف در یک کاربردی دستهبندی نقدهای کابران از نظر احساس آنها باشد و دستههای در نظر گفته شده رضایت ،تأسف، عصبانیت ،بیتفاوتی و ترس باشد ،ممکن است یک نمونه نقد در هر دو دسته ترس و تأسف قرار بگیرد .به چنین مسئلهای چندبرچسبی گفته میشود .میتوان گفت دو راه کلی برای حل مسئلههای چندبرچسبی وجود دارد .یک روش مبتنی بر تبدیل مسئله به یک یا چند مسئله تکبرچسبی و سپس ترجمه خروجی به دست آمده در زمان آزمون به حالت چندبرچسبی و راه دیگر مبتنی بر تغییر الگوریتمهای دستهبندی تکبرچسبی برای حل مسئله چندبرچسبی به صورت مستقیم میباشد .هدف از این بخش از پروژه پیادهسازی یک راهحل پیشنهادی برای مسئله چندبرچسبی با استفاده از مجموعه دادهای که در اختیار شما قرار گرفته میباشد. .aروش پیشنهادی خود را به طور کامل با ذکر روابط و قانون تصمیمگیری آن شرح دهید. .bمعیاری مناسب برای ارزیابی یک روش دستهبندی چندبرچسبی ارائه دهید. .cپس از پیادهسازی نتایج خود را با توجه به معیار باال روی مجموعه دادهی مربوه گزارش کنید. مراجع [1] http://www.cs.cornell.edu/people/pabo/movie-review-data/ [2] W. Chu and S.S. Keerthi. Support vector ordinal regression. Neural Computation, 19(3), 2007.
© Copyright 2025 Paperzz