2.2.5
Μηχανές Διανυσμάτων Υποστήριξης (SVM)
Σύνοψη
- Οι SVM μαθαίνουν ένα όριο απόφασης που μεγιστοποιεί το περιθώριο μεταξύ κλάσεων, δίνοντας έμφαση στη γενίκευση.
- Τα μαλακά περιθώρια εισάγουν μεταβλητές χαλάρωσης ώστε να επιτρέπονται κάποιες λανθασμένες ταξινομήσεις, ενώ η ποινή \(C\) εξισορροπεί το πλάτος του περιθωρίου και τα σφάλματα.
- Τα τεχνάσματα πυρήνα αντικαθιστούν τα εσωτερικά γινόμενα με συναρτήσεις πυρήνα, επιτρέποντας μη γραμμικά όρια απόφασης χωρίς ρητή επέκταση χαρακτηριστικών.
- Η τυποποίηση χαρακτηριστικών και η ρύθμιση υπερπαραμέτρων (π.χ. \(C\), \(\gamma\)) είναι κρίσιμες για καλή απόδοση.
Εισαγωγή #
Αυτή η μέθοδος πρέπει να ερμηνεύεται μέσα από τις υποθέσεις της, τις συνθήκες δεδομένων και τον τρόπο με τον οποίο οι επιλογές παραμέτρων επηρεάζουν τη γενίκευση.
Αναλυτική Επεξήγηση #
Μαθηματική Διατύπωση #
Για γραμμικά διαχωρίσιμα δεδομένα λύνουμε
$$ \min_{\mathbf{w}, b} \ \frac{1}{2} \lVert \mathbf{w} \rVert_2^2 \quad \text{s.t.} \quad y_i(\mathbf{w}^\top \mathbf{x}_i + b) \ge 1. $$Στην πράξη χρησιμοποιούμε την παραλλαγή μαλακού περιθωρίου με μεταβλητές χαλάρωσης \(\xi_i \ge 0\):
$$ \min_{\mathbf{w}, b, \boldsymbol{\xi}} \ \frac{1}{2} \lVert \mathbf{w} \rVert_2^2 + C \sum_{i=1}^{n} \xi_i \quad \text{s.t.} \quad y_i(\mathbf{w}^\top \mathbf{x}_i + b) \ge 1 - \xi_i. $$Η αντικατάσταση των εσωτερικών γινομένων \(\mathbf{x}_i^\top \mathbf{x}_j\) με πυρήνες \(K(\mathbf{x}_i, \mathbf{x}_j)\) δίνει μη γραμμικά όρια απόφασης.
Πειράματα σε Python #
Ο παρακάτω κώδικας προσαρμόζει SVM με γραμμικό πυρήνα και με πυρήνα RBF σε ένα μη γραμμικά διαχωρίσιμο σύνολο δεδομένων που δημιουργήθηκε με make_moons. Ο πυρήνας RBF αποτυπώνει πολύ καλύτερα το καμπύλο όριο.
| |

Αναφορές #
- Vapnik, V. (1998). Statistical Learning Theory. Wiley.
- Smola, A. J., & Schölkopf, B. (2004). A Tutorial on Support Vector Regression. Statistics and Computing, 14(3), 199–222.