اس‌وی‌ام رتبه‌بندی

در یادگیری ماشین، یک SVM رتبه‌بندی گونه‌ای از الگوریتم ماشین بردار پشتیبانی است که برای حل مسائل رتبه‌بندی خاص (از طریق یادگیری رتبه‌بندی) استفاده می‌شود. الگوریتم SVM رتبه بندی توسط Thorsten Joachims در سال 2002 منتشر شد.  هدف اصلی این الگوریتم بهبود عملکرد یک موتور جستجوی اینترنتی بود. با این حال، مشخص شد که رتبه بندی SVM همچنین می تواند برای حل مسائل دیگری مانند Rank SIFT استفاده شود.

توصیف 
الگوریتم رتبه‌بندی SVM یک تابع بازیابی یادگیری است که از روش‌های رتبه‌بندی زوجی برای مرتب‌سازی تطبیقی نتایج بر اساس «مرتبط بودن» آنها برای یک پرس‌وجو خاص استفاده می‌کند. تابع رتبه بندی SVM از یک تابع نگاشت برای توصیف تطابق بین یک عبارت جستجو و ویژگی های هر یک از نتایج ممکن استفاده می کند. این تابع نگاشت هر جفت داده (مثلاً یک پرس و جوی جستجو و صفحه وب کلیک شده) را به یک فضای ویژگی تصویر می‌کند. این ویژگی‌ها با داده‌های کلیکی مربوطه ترکیب می‌شوند (که می‌تواند به عنوان یک واسط برای ارتباط یک صفحه برای یک جستجوی خاص عمل کند) و سپس می‌تواند به عنوان داده‌های آموزشی برای الگوریتم رتبه‌بندی SVM استفاده شود.

به طور کلی، رتبه بندی SVM شامل سه مرحله در دوره آموزش است:

 یک نگاشت از شباهت‌های بین پرس‌و‌جوها و صفحات کلیک‌شده به در یک فضای ویژگی خاص تعریف می‌کند.
 فاصله بین هر دو بردار به دست آمده در مرحله 1 را محاسبه می کند.
 این یک مسئله بهینه سازی را تشکیل می دهد که شبیه به یک طبقه بندی استاندارد SVM است و این مشکل را با حل کننده SVM معمولی حل می کند.

زمینه

روش رتبه بندی 
فرض کنید مجموعه داده ای است که شامل  عنصر  است.  یک روش رتبه بندی است که به اعمال می شود. سپس  در را می توان به صورت یک ماتریس دودویی  نشان داد. اگر رتبه  از رتبه  بالاتر باشد، یعنی:

آنگاه درایه متناظر با آن را در ماتریس مقدار 1 و در غیر این صورت مقدار 0 قرار می‌دهیم.

تای کندال   
تای کندال همچنین به ضریب همبستگی رتبه تای کندال اشاره دارد، که معمولاً برای مقایسه دو روش رتبه‌بندی برای یک مجموعه داده استفاده می‌شود.

فرض کنید  و  دو روش رتبه بندی باشد که برای مجموعه داده های  اعمال می شود، تای کندال بین  و  را می توان به صورت زیر نشان داد:

که در آن  تعداد جفت های همخوان است و  تعداد جفت های ناسازگار (وارونگی) است. یک جفت  و  همخوان است اگر در هر دو روش  و  رتبه بندی  و  یکسان باشد. در غیر این صورت ناسازگار خواهند بود.

کیفیت بازیابی اطلاعات    
کیفیت بازیابی اطلاعات معمولاً با سه معیار زیر ارزیابی می شود:

 صحت، درستی (Precision)
 فراخوانی، حساسیت (Recall)
 دقت متوسط (Average Precision)

برای یک پرس و جو خاص به یک پایگاه داده، فرض کنید  مجموعه ای از عناصر اطلاعاتی مرتبط در پایگاه داده و  مجموعه ای از عناصر اطلاعاتی بازیابی شده باشد. سپس سه اندازه گیری فوق را می توان به صورت زیر نشان داد:

که در آن  دقت فراخوانی است.

فرض کنید  و  به ترتیب روش های رتبه بندی مورد انتظار و پیشنهادی یک پایگاه داده باشند، کران پایین میانگین دقت روش  را می‌توان به صورت زیر نشان داد.

که در آن  تعداد درایه های متفاوت در قسمت بالای قطر اصلی ماتریس های و  و  تعداد عناصر مرتبط در مجموعه داده است.

طبقه بندی SVM  
فرض کنید  عنصر یک مجموعه داده آموزشی که در آن  بردار ویژگی و  برچسب (که دسته  را مشخص می‌کند) است. یک طبقه بندی کننده SVM معمولی برای چنین مجموعه داده ای می تواند به عنوان راه حل مسئله بهینه سازی زیر تعریف شود.

حل مسئله بهینه سازی فوق را می توان به صورت ترکیبی خطی از بردارهای ویژگی  نشان داد.

که در آن  ضرایبی هستند که باید تعیین شوند.

الگوریتم رتبه بندی SVM

تابع زیان 
فرض کنید  تای کندال بین روش رتبه بندی مورد انتظار  و روش پیشنهادی  باشد، می توان ثابت کرد که به ماکسیمم کردن  به مینیمم کردن کران پایینِ میانگینِ دقت  کمک می‌کند.

 تابع زیان مورد انتظار 

منفی  را می توان به عنوان تابع زیان برای به حداقل رساندن کران پایین میانگین دقت  انتخاب کرد.

که در آن  توزیع آماری  به پرس و جو خاص  است.

 تابع زیان تجربی

از آنجایی که تابع زیان مورد انتظار قابل پیاده سازی نیست، تابع زیان تجربی زیر در عمل برای داده های آموزشی انتخاب می شود.

جمع آوری داده های آموزشی 
 پرس و حوی iid روی یک پایگاه داده اعمال می شوند و هر پرس و جو با یک روش رتبه بندی مطابقت دارد. مجموعه داده های آموزشی  عنصر دارد. هر عنصر حاوی یک پرس و جو و روش رتبه بندی مربوطه است.

فضای ویژگی 

یک نگاشت    مورد نیاز است که هر پرس و جو و عنصر پایگاه داده را به فضای ویژگی مورد نیاز متناظر کند. سپس هر نقطه در فضای ویژگی با روش رتبه بندی با رتبه خاصی برچسب گذاری می شود.

مسئله بهینه سازی 
نقاط تولید شده توسط داده های آموزشی در فضای ویژگی قرار دارند که حاوی اطلاعات رتبه (برچسب ها) نیز می باشد. از این نقاط برچسب زده شده می توان برای یافتن مرز (طبقه بندی) که ترتیب آنها را مشخص می کند استفاده کرد. در حالت خطی، چنین مرزی (طبقه‌بندی کننده) یک بردار است.

فرض کنید  و  دو عنصر در پایگاه داده هستند و می‌نویسیم  اگر رتبه از  بالاتر از  در روش رتبه بندی معین  باشد. فرض کنید بردار  کاندیدای طبقه بندی کننده خطی در فضای ویژگی باشد. آنگاه مسئله رتبه بندی را می توان به مسئله طبقه بندی SVM زیر ترجمه کرد. توجه داشته باشید که یک روش رتبه بندی با یک پرس و جو مطابقت دارد.

مسئله بهینه سازی فوق با مسئله طبقه بندی SVM کلاسیک یکسان است، به همین دلیل است که این الگوریتم Ranking-SVM نامیده می شود.

تابع بازیابی 
بردار بهینه  که توسط نمونه آموزشی به دست آمده است، چنین است:

بنابراین تابع بازیابی را می توان بر اساس چنین طبقه بندی بهینه ای تشکیل داد. 

برای پرس و جوی جدید ، تابع بازیابی ابتدا تمام عناصر پایگاه داده را به فضای ویژگی تصویر می‌کند. سپس این نقاط ویژگی را بر اساس مقادیر ضرب داخلی آنها با بردار بهینه مرتب می کند. و رتبه هر نقطه ویژگی، رتبه عنصر مربوطه پایگاه داده برای پرس و جوی  است.

کاربرد رتبه بندی SVM 
رتبه بندی SVM می تواند برای رتبه بندی صفحات بر اساس پرس و جو اعمال شود. الگوریتم را می توان با استفاده از داده های کلیکی آموزش داد که از سه بخش زیر تشکیل شده است:

 پرس و جو.
 رتبه بندی فعلی نتایج جستجو
 نتایج جستجو توسط کاربر کلیک شده است

ترکیب 2 و 3 نمی تواند ترتیب داده های آموزشی کاملی را که برای اعمال الگوریتم کامل SVM لازم است را ارائه دهد. در عوض، بخشی از اطلاعات رتبه بندی داده های آموزشی را ارائه می دهد. بنابراین الگوریتم را می توان به صورت زیر کمی اصلاح کرد.

روش  اطلاعات رتبه بندی کل مجموعه داده را ارائه نمی دهد، بلکه زیر مجموعه ای از روش رتبه بندی کامل است. بنابراین شرط مسئله بهینه سازی در مقایسه با Ranking-SVM اصلی راحت تر می شود.

منابع 
 
ماشین‌های بردار پشتیبانی
صفحات با ترجمه بازبینی‌نشده