ماشین بردار پشتیبان (Support Vector Machine - SVM) یک الگوریتم قدرتمند در حوزه یادگیری نظارت شده است که عمدتاً برای مسائل طبقهبندی و رگرسیون استفاده میشود. هدف اصلی SVM یافتن یک ابرصفحه (Hyperplane) بهینه است که کلاسهای مختلف را با حداکثر حاشیه (Maximal Margin) از یکدیگر جدا کند. در نرمافزار Weka، پیادهسازی استاندارد SVM تحت عنوان SMO (Sequential Minimal Optimization) شناخته میشود.
گام اول: آمادهسازی دادهها در Weka
برای اجرای هر الگوریتم طبقهبندی در Weka، ابتدا باید دادهها در فرمت ARFF آماده شوند و در محیط Weka Explorer بارگذاری شوند.
- بارگذاری فایل: به تب “Preprocess” بروید و با استفاده از گزینه “Open file…” مجموعه داده خود را که شامل ویژگیها و یک ستون کلاس (برچسب) است، بارگذاری کنید.
- تعیین ویژگی کلاس: در پایین تب “Preprocess”، ویژگیای که قصد دارید مدل SVM آن را پیشبینی کند (Class Attribute)، به عنوان ویژگی کلاس انتخاب شده باشد.
گام دوم: انتخاب و پیکربندی الگوریتم SMO
پس از آمادهسازی داده، به تب “Classify” بروید تا مدل SVM را انتخاب و تنظیم کنید.
- انتخاب Classifier:
- بر روی دکمه “Choose” کلیک کرده و مسیر زیر را دنبال کنید:
weka->classifiers->functions->SMO.
- پیکربندی پارامترهای اصلی:
- روی نام
SMOکلیک کنید تا پنجره تنظیمات باز شود. مهمترین جنبه در تنظیم SVM انتخاب هسته (Kernel) و پارامتر جریمه (Cost Parameter) است. - C (Cost Parameter): این پارامتر مقدار جریمهای را که به نمونههای طبقهبندیشده به صورت نادرست اعمال میشود، کنترل میکند. مقدار بالاتر C، حاشیه را باریکتر میکند تا خطای آموزشی کمتر شود (اما ریسک بیشبرازش را افزایش میدهد). مقدار پایینتر C حاشیه را پهنتر میکند تا مدل سادهتر و تعمیمپذیرتر باشد.
- Kernel: هسته، تابعی است که دادهها را به فضای ابعاد بالاتر نگاشت میکند تا حتی دادههای غیرخطی (Non-linear) در فضای جدید به صورت خطی قابل تفکیک باشند. Weka هستههای متعددی را ارائه میدهد که رایجترین آنها RBFKernel (Radial Basis Function Kernel) برای مسائل پیچیده و PolyKernel (Polynomial Kernel) هستند.
گام سوم: تنظیم روش ارزیابی و اجرا
در بخش “Test options” روش ارزیابی مدل خود را تعیین کنید.
- تنظیم ارزیابی:
Cross-validation: (روش استاندارد) تعداد Foldها (مانند ۱۰-Fold) را تعیین کنید. این روش دادهها را به بخشهای آموزشی و آزمایشی تقسیم میکند تا ارزیابی عملکرد مدل به صورت مستقل از دادههای آموزشی صورت پذیرد.Use training set: برای ارزیابی سریع بر روی همان دادههای آموزشی (که معمولاً منجر به ارزیابی بیش از حد خوشبینانه میشود).
- اجرای مدل:
- با کلیک بر روی دکمه “Start”، وکا فرآیند بهینهسازی (Sequential Minimal Optimization) را برای یافتن ابرصفحه بهینه آغاز میکند.
گام چهارم: تحلیل و تفسیر خروجیها
پس از اتمام پردازش، نتایج در قسمت “Classifier output” نمایش داده میشوند.
- خلاصه مدل:
- این بخش اطلاعاتی مانند نوع هسته استفاده شده و تعداد بردار پشتیبانهای (Support Vectors) استخراج شده را نمایش میدهد. بردار پشتیبانها نمونههایی از دادههای آموزشی هستند که در نزدیکی ابرصفحه قرار گرفتهاند و برای تعریف مرز طبقهبندی حیاتی هستند.
- دقت طبقهبندی (Accuracy):
Correctly Classified Instances: این درصد، میزان دقت کلی مدل را نشان میدهد.
- ماتریس درهمریختگی (Confusion Matrix):
- این ماتریس عملکرد تفکیکی مدل را برای هر کلاس نشان میدهد و مشخص میکند که مدل، چند نمونه واقعی از کلاس A را به درستی (True Positive) یا به اشتباه (False Negative) طبقهبندی کرده است.
- معیارهای کلاسمحور:
- معیارهایی مانند Precision (دقت)، Recall (فراخوان) و F-Measure برای هر کلاس به طور جداگانه گزارش میشوند که امکان ارزیابی عمیقتری از توانایی مدل در تشخیص موارد مثبت و منفی واقعی را فراهم میسازند.
پیادهسازی SVM (SMO) در Weka یک ابزار قدرتمند برای حل مسائل طبقهبندی پیچیده و غیرخطی است، مشروط بر اینکه تنظیمات صحیح پارامترهایی نظیر C و Kernel متناسب با ماهیت مجموعه داده انتخاب شوند.
کلیدواژه ها : پیاده-سازی-الگوریتم-در-وکا-SVM-Support-Vector-Machine-ماشین-بردار-پشتیبان-SMO-Sequential-Minimal-Optimization-Weka-Classification-Kernel-Trick-Hyperplane-Maximal-Margin-C-Parameter-RBFKernel-PolyKernel-Cross-validation-Confusion-Matrix-Precision-Recall-F-Measure-Weka-Explorer-Classify