روش طبقه بندی ماشین بردارد پشتیبان

  • صفحه اول
  • روش طبقه بندی ماشین بردارد پشتیبان
image

روش طبقه بندی ماشین بردارد پشتیبان

SVM مخفف عبارت Support Vector Machine است. SVM یک الگوریتم یادگیری ماشینی نظارت شده است که معمولاً برای چالش های طبقه بندی و رگرسیون استفاده می شود. کاربردهای رایج الگوریتم SVM عبارتند از: سیستم تشخیص نفوذ، تشخیص دست خط، پیش بینی ساختار پروتئین، تشخیص استگانوگرافی در تصاویر دیجیتال و غیره.

ماشین های بردار پشتیبان چیست؟

ماشین بردار پشتیبان (SVM) یک مدل یادگیری ماشینی نظارت شده است که از الگوریتم‌های طبقه‌بندی برای مسائل طبقه‌بندی دو گروهی استفاده می‌کند. پس از ارائه مجموعه‌های داده‌های آموزشی برچسب‌گذاری‌شده برای هر دسته به مدل SVM، آنها می‌توانند متن جدید را دسته‌بندی کنند.

در مقایسه با الگوریتم های جدیدتر مانند شبکه های عصبی، آنها دو مزیت اصلی دارند: سرعت بالاتر و عملکرد بهتر با تعداد محدود نمونه (در هزاران). این باعث می شود که الگوریتم برای مسائل طبقه بندی متن بسیار مناسب باشد، جایی که دسترسی به مجموعه داده ای از حداکثر چند هزار نمونه برچسب گذاری شده معمول است.

SVM چگونه کار می کند؟

اصول اولیه ماشین‌های بردار پشتیبان و نحوه عملکرد آن با یک مثال ساده بهتر درک می‌شود. بیایید تصور کنیم دو تگ داریم: قرمز و آبی، و داده های ما دو ویژگی دارند: x و y.

طبقه‌بندی‌کننده‌ای می‌خواهیم که با توجه به یک جفت مختصات (x,y)، تشخص دهد که نقطه مورد نظر جزو گروه قرمز است یا آبی؟ 

داده های آموزشی برچسب گذاری شده قبلی خود را در یک نمودار رسم می کنیم:

 

 

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

اما، بهترین خط دقیقا چیست؟

برای SVM، آن چیزی است که حاشیه‌های هر دو تگ را به حداکثر می‌رساند. به عبارت دیگر: خطی که که فاصله آن تا نزدیکترین عنصر هر تگ بزرگترین است یا حاشیه بیشتری دارد بهترین خط است.

  

 

 

 به شکل زیر نگاه کنید

support vector machines (svm)

در این شکل دو خط نشان داده شده است که دوگروه را ایجاد می کند. خط مشکی بهتر است چون با داده ها فاصله بیشتری دارد.

ماشین بردار  پشتیبان در دادهای غیر خطی چگونه کار می کند؟

این مثال آسان بود، زیرا به وضوح داده ها به صورت خطی قابل تفکیک بودند - ما می توانستیم یک خط مستقیم برای جدا کردن قرمز و آبی بکشیم. متأسفانه، معمولاً همه چیز به این سادگی نیست. به این مورد توجه کنید:

support vector machines (svm)

کاملاً واضح است که یک مرز تصمیم خطی وجود ندارد (یک خط مستقیم که هر دو تگ را از هم جدا می کند). با این حال، بردارها به وضوح از هم جدا شده اند و به نظر می رسد که جدا کردن آنها باید آسان باشد.

بنابراین کاری که ما انجام خواهیم داد این است:

بعد سومی را اضافه خواهیم کرد. تا به حال ما دو بعد داشتیم: x و y.

ما یک بعد z جدید ایجاد می کنیم و حکم می کنیم که آن را به روشی که برای ما مناسب است محاسبه شود:

z = x² + y²

(متوجه خواهید شد که معادله یک دایره است).

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

support vector machines (svm)

SVM با این چه کاری می تواند انجام دهد؟ اجازه بدید ببینم:

support vector machines (svm)

 

مراجع

https://www.educba.com/svm-algorithm/