اگه علاقمند هستید که راجع به ماشین بردار پشتیبان (SVM) بیشتر یاد بگیرید و جزییات آن را بدانید، آدرس درستی را انتخاب کردهاید. چون در این پست و پستهای بعدی، من(پیمان برجوییان) قصد دارم راجع به SVM بنویسم. در واقع این پست میشه فهرستی برای بقیه مطالب مربوط به SVM و بالتهایی که اینجا میبینید در آینده به لینکهایی تبدیل خواهند شد و شما را به صفحات مربوط به خودشون راهنمایی خواهند کرد. منبع اصلی این مطلبها کتاب آقای Alexandre Kowalczyk هست و از ایشون بابت اینکه اجازه دادن از مطلبهاشون استفاده و اونا رو به فارسی ترجمه و منتشر کنم، تشکر میکنم.
اگر قصد دارید پیش زمینهای راجع به مرور این که SVMها چه چیزی هستند داشته باشید، میتوانید این متن رو مطالعه کنید.
آموزشهای ریاضی
درک مجموعه مفاهیم ریاضی مورد نیاز:
- بخش ۱: هدف ماشین بردار پشتیبان (SVM) چیست؟
- بخش ۲: نحوه محاسبه حاشیه؟
- بخش ۳: نحوه پیدا کردن ابرصفحه بهینه؟
- بخش ۴: کمینهسازی بدون قید
- بخش ۵: توابع محدب
- بخش ۶: دوگان و ضرایب لاگرانژ
SVMها به این معروف هستند که درک کردن آنها کاری مشکلی است و به همین دلیل بیشتر مردم آنها را به صورت یک «جعبه سیاه» (Black Box) در نظر میگیرند و به آنها ارجاع میدهند. در پستهای بعدی قصد دارم تمام ابزارهایی که برای درک ریاضیات پشت SVM ضروری هستند را معرفی کنم. در ابتدا با مفاهیم سادهای آشنا میشویم و کمکم به سمت مفاهیم پیچیدهتر پیش میرویم. ولی هدف کلی این هست که مفاهیم برای همه قابل درک باشند بخصوص برای کسانی که در ریاضیات قوی نیستند و پیش زمینهای ندارند.
آموزشهای SVM به کمک زبان R
اگر قصد دارید که روی SVM آزمایش کنید، زبان R ابزار مناسبی برای این موضوع هست.
پس در آینده آموزشهای مقدماتی در این رابطه را آماده خواهم کرد.
مطلبی هم درباره رگرسیون(برازش) بردار پشتبان خواهم نوشت که ممکن است برای شما جالب باشند، حتی اگر قصد استفاده از R را هم نداشته باشید.
آموزشهای SVM به کمک زبان C#
زبانهای برنامهنویسی که در حوزه یادگیری ماشینی استفاده میشوند معمولا Python، R و Matlab هستند. ولی اگر شما طرفدار C# هم باشید، باز هم میتوانید با SVM کار کنید.
به تازگی به فریمورک(چارچوب) Accord.NET machine learning framework برخوردم که به نظرم خیلی قدرتمند هست. پس اگه قصد پیادهسازی و انجام یادگیری ماشینی با زبان C# دارین میتوانید نگاهی به آن بندازید و اگر به آن علاقمند شدید در پروژههای خود از آن استفاده کنید.
آموزشهای طبقهبندی متن(Text Classification)
SVM میتواند در زمینههای زیادی استفاده شود. یکی از این زمینهها طبقهبندی متن هست. در آموزشهای زیر شما یاد میگیرید که چطور متن را به فرمی در بیاورید که قابل استفاده در SVM باشد.
بعد از آن با استفاده کردن این دادهها در طبقهبنی متن، آشنا خواهید شد.(به کمک زبانها یا ابزارهایی مثل R)
مطلب دیگری که راجع به آن صحبت میکنم این هست که کلک کرنل «Kernel Trick» چیست؟ و چرا استفاده از کرنل خطی در طبقهبندی متن معمولا بهترین نتیجه را میدهد؟
سلام . بسیار مفید ساده و تخصصی بود . خیلی ممنون که اینقدر خوب بیان فرمودید
سلام امیر جان. خیلی ممنون از نظرت.
درحال ترجمه قسمت جدیدش هستم.
سلام . تشکر از بیان بسیار عالی تون . میشه بپرسم مطالب بعدی چه مدت دیگه لود میشه ؟
سلام به شما حسن عزیز. ممنون از نظرت و خیلی خوشحال هستم که مطلب مفید بوده براتون.
همین الآن درحال نوشتن قسمت بعدی هستم و امیدوارم همین امشب و یا فردا شب منتشرش کنم.
دمتون گرم با این بیان خوبتون.عالیه
منتظر ادامه فصل ها هستیم دوست عزیز
سلام نیلوفر.
ممنون از نظرت و خوشحالم که مطلب مفیدی بوده برات.
در اولین فرصت ادامه فصلها رو هم آماده میکنم.
با سلام ممنون بابت اشترک گذاری مطالب مفید در این سایت.
اگه کتابی به زبان انگلیسی که به مفاهیم تئوریک SVM مانند تعاریف و قضایای مربوطه و ثبوت آنها به صورت پایه ای برای علاقه مندان مبتدی پرداخته است ممنون میشم راهنمایی بفرمایید.
با تشکر