آیا ماشین بردار پشتیبان (SVM) نوع خاصی از شبکه های عصبی مصنوعی است؟
یکی از مخاطبین فرادرس، در خصوص این که چرا موضوع ماشین های بردار پشتیبان (SVM) و آموزش های مربوط به آن، در وبسایت فرادرس در دسته «شبکه های عصبی مصنوعی» طبقه بندی شده اند، سئوالی را مطرح نموده اند، و بیان کرده اند که ارتباط میان SVM و مدل های دیگر شبکه عصبی، برایشان چندان واضح نیست.
در پاسخ به این سئوال، مدرس عضو هیات علمی فرادرس پاسخی مشروح ارائه کرده اند، که به نظر می رسد با توجه به اهمیت این پرسش و احتمال مطرح بودن آن برای سایر مخاطبین گرامی فرادرس، انتشار عمومی این پاسخ خالی از لطف نباشد. در ادامه پاسخ به این سئوال را می بینیم.
یکی از مخاطبین فرادرس، در خصوص این که چرا موضوع ماشین های بردار پشتیبان (SVM) و آموزش های مربوط به آن، در وبسایت فرادرس در دسته «شبکه های عصبی مصنوعی» طبقه بندی شده اند، سئوالی را مطرح نموده اند، و بیان کرده اند که ارتباط میان SVM و مدل های دیگر شبکه عصبی، برایشان چندان واضح نیست.
در پاسخ به این سئوال، مدرس عضو هیات علمی فرادرس پاسخی مشروح ارائه کرده اند، که به نظر می رسد با توجه به اهمیت این پرسش و احتمال مطرح بودن آن برای سایر مخاطبین گرامی فرادرس، انتشار عمومی این پاسخ خالی از لطف نباشد. در ادامه پاسخ به این سئوال را می بینیم.
مدل مورد استفاده در ماشین های بردار پشتیبان، به ویژه در پایه ای ترین حالات (مثلا طبقه بندی دو کلاسه)، یک مدل با ساختار خطی و بسیار مشابه با آن چیزی است که مثلا در شبکه عصبی پرسپترون چند لایه یا MLP استفاده می شود. در واقع، در کنار برخی تفاوت های دیگری که این دو مدل دارند، عملا یک ساختار بسیار مشابه را با دو روش مختلف آموزش می دهند.
در شبکه عصبی MLP پارامترهای این مدل با کمینه سازی خطا تنظیم می شوند، اما در SVM ریسک ناشی از عدم طبقه بندی صحیح به عنوان یک تابع هدف تعریف می شود و پارامترها نسبت به آن، تنظیم و بهینه سازی می شوند.
برای برخی از مسائل، شاید معیار خطا به صفر هم برسد، اما در میان همه مدل هایی که دارای خطای صفر هستند، فقط یک مورد وجود دارد که کمترین ریسک عملیاتی را دارد. از این رو، در برخی موارد، خروجی SVM در کنار عملکرد بهتری که دارد، مقاوت (Robustness) بیشتری نیز نسبت به تغییر و نویز در داده ها، از خود نشان خواهد داد. زیرا اساسا، طوری طراحی و آموزش داده شده است، که بتواند در مقابل چنین نایقینی هایی، مقاومت نماید و عملکرد مطلوب خودش را داشته باشد.
از طرفی، استفاده از اصطلاح شبکه عصبی (مصنوعی) یا هر اصطلاح مشابه دیگری برای اشاره به چنین ابزارهایی، صرفا برای ایجاد یک متافور مناسب و نزدیک به طبیعت بوده است و اصل قضیه، رابطه ریاضی است که در پشت این سیستم ها وجود دارد. از این منظر، بسیاری از سیستم ها و مدل های مورد استفاده در حوزه یادگیری ماشینی، عملا از ساختارهای ریاضی بسیار مشابه (و بعضا یکسان) استفاده می نمایند، و تنها در طرز بیان مسأله، شیوه تربیت و تنظیم مدل ها، و توصیف با یکدیگر تفاوت دارند.
برای مطالعات تکمیلی در این خصوص، پیشنهاد می شود که ویرایش دوم کتاب معروف سایمون هیکین (Simon Haykin) با عنوان «Neural Networks : A Comprehensive Foundation» (شبکه های عصبی: مبانی مشروح) را مطالعه نمایید، که در سال ۱۹۹۹ چاپ شده است. این کتاب در کتابخانه برخی از دانشگاه های ایران موجود است و می توانید مطالعه نمایید.
در این کتاب که در سال ۱۹۹۹ چاپ شده است و مربوط به انتشارات اشپرینگر است، در فصل دهم به این موضوع پرداخته است. در مقدمه، به خوبی توضیح داده است که SVM یک نوع شبکه عصبی است. البته ویرایش سوم این کتاب، با عنوان جدید «Neural Networks and Learning Machines» در سال ۲۰۰۸ چاپ شده است، که متأسفانه در کتابخانه های دانشگاه های ایران، کمیاب است.
یکی دیگر از مراجع مناسب برای مطالعات تکمیلی در این خصوص، کتاب «Neural Networks in a Soft-computing Framework» (شبکه های عصبی در چارچوب محاسبات نرم) است که در بخش مقدمه و فصل دهم این کتاب، موضوع ماشین های بردار پشتیبان، و این که آن ها حالت خاصی از شبکه های عصبی مصنوعی هستند، مورد بحث و بررسی واقع شده است.
کتاب «Pattern Recognition and Machine Learning» (بازشناسی الگو و یادگیری ماشینی) نیز، که نوشه شده توسط Christopher M. Bishop (کریستوفر ام. بیشاپ) است، یکی دیگر از مراجع بسیار مهم و کاربردی در این زمینه است، و علاقه مندان می توانند برای کسب اطلاعات تکمیلی، به این مرجع مهم و کاربردی، مراجعه نمایند.
در کنار مطالعه این موارد، مشاهده این فیلم آموزشی نیز توصیه می شود: فیلم آموزشی جامع ماشین های بردار پشتیبان یا SVM