021-71053903 [email protected] پشتیبانی از شنبه تا چهارشنبه ساعت 9 الی 16

Support vector machine

SVM یا Support vector machineیک الگوریتم یادگیری نظارت شده است که هم برای طبقه بندی و هم رگراسیون کاربرد دارد. با این حال بیشتر برای طبقه بندی استفاده می شود.

هدف از الگوریتم SVM یافتن hyperplane در فضای N بعدی است. (N تعداد ویژگی ها است.) به طور مشخص تمام نقطه ها را طبقه بندی می کند.

مقدار هر ویژگی مربوط به داده‌ها، یکی از مؤلفه‌های مختصات‌ نقطه روی نمودار را مشخص می‌کند. سپس SVM، با ترسیم یک خط راست، داده‌های مختلف و متمایز از یکدیگر را دسته‌بندی می‌کند (مطابق شکل ۱).

ترسیم خط راست برای جداسازی داده ها در SVM:

برای جداسازی دو کلاس از داده ها خط راست(hyperplane) های زیادی وجود دارد که می توان ترسیم کرد.در SVM هدف ما پیدا کردن خطی است که بیشترین حاشیه (margin) را ایجاد می کند. یعنی بیشترین فاصله بین داده های هر دو کلاس. بیشترین فاصله را برای تقویت حاشیه است. بنابراین داده های بعدی با اطمینان بیشتری طبقه بندی می شوند.

hyperplane در SVM چیست؟

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

فرمول ترسیم hyperplane در SVM :

فرمول ترسیم خط و حاشیه در SVM

برای محاسبه از فرمول (Y=W.X+b) استفاده می شود.

Y: متغیر وابسته

X: متغیر مستقل

W: شیب خط

b: عرض از مبدا

مقدار Y تعیین کننده خط است . اگر برابر با 1 یا 1- باشد یعنی خط به دست آمده margin است. اگر Y برابر 0 شود این خط همان hyperplane است.

هدف SVM ایجاد حداکثر فاصله ممکن بین hyperplane و داده های موجود در دسته ها است.

مزایا SVM:
  • در فضای N بعدی موثر است.
  • در مواردی که تعداد ابعاد از تعداد ویژگی ها بیشتر باشد موثر است.
  • استفاده از زیر مجموعه داده های آموزش داده شده در تصمیم گیریاستفاده می کند بنابراین از نظر حافظه کارایی دارد.
معایب SVM:
  • نیازبه زمان طولانی برای آموزش داده ها با حجم بالا دارد.
  • درک و تفسیر مدل نهایی و تعیین وزن متغیر ها دشوار است.
  • پیچیدگی الگوریتم SVM بسیار بالا است .بنابر این به حافظه زیادی احتیاج دارد.

کاربردها:

  • تشخیص سرطان سینه
  • تشخیص دست خط
  • تشخیص استگانوگرافی در تصاویر دیجیتال و….
نتیجه گیری:

بسیاری از نرم افزار ها برای SVM در دسترس هستند.

این الگوریتم برای طبقه بندی متن بسیار مناسب است.

مطالعه بیشتر

maryam keshvari

31 مطلب منتشر شده

کارشناسی ارشد فناوری اطلاعات علاقمند به زبان برنامه نویسی python و هوش مصنوعی

درباره این مطلب نظر دهید !

مطالب پرمخاطب پایتونی ها

k-means

الگوریتم k-means

2
دقیـقه مطالعه
ادامه ...
sklearn

کتابخانه scikit-learn

2
دقیـقه مطالعه
ادامه ...

محصولات فروش پایتونی ها

%60
تخفیف

آموزش فیگما (Figma)

30,000 تومان
3
%69
تخفیف

آموزش برنامه نویسی پایتون

35,000 تومان
2