Ένα SVM, συντομογραφία του support vector machine, είναι ένας ταξινομητής που επιλέγει ένα όριο ανάμεσα σε κλάσεις με το μεγαλύτερο δυνατό περιθώριο. Αν ψάχνεις τι είναι το SVM, αυτή είναι η βασική ιδέα: δεν αρκεί απλώς να χωρίσεις τις ομάδες, αλλά να αφήσεις και το πιο μεγάλο αξιόπιστο κενό ανάμεσά τους.
Τα σημεία που βρίσκονται πιο κοντά σε αυτό το όριο λέγονται support vectors. Είναι τα πιο σημαντικά, γιατί καθορίζουν πού μπορεί να τοποθετηθεί ο διαχωριστής.
Γιατί έχει σημασία το περιθώριο
Φαντάσου δύο συστάδες σημείων, μία από την κλάση A και μία από την κλάση B. Πολλές ευθείες μπορεί να τις διαχωρίζουν. Ένα SVM προτιμά την ευθεία που αφήνει το μεγαλύτερο περιθώριο ασφαλείας και από τις δύο πλευρές.
Αυτό το μεγαλύτερο περιθώριο συχνά κάνει τον ταξινομητή λιγότερο ευαίσθητο σε μικρές αλλαγές στα δεδομένα εκπαίδευσης. Δεν εγγυάται καλύτερη απόδοση στον πραγματικό κόσμο, αλλά είναι η βασική διαίσθηση πίσω από τα SVM.
Πώς μοιάζει το όριο απόφασης του SVM
Σε ένα γραμμικό SVM, το όριο απόφασης είναι ένα υπερεπίπεδο:
Ο ταξινομητής προβλέπει τη μία κλάση όταν και την άλλη όταν .
Στην τυπική κλιμάκωση μέγιστου περιθωρίου για διαχωρίσιμα δεδομένα, το SVM επιλέγει και έτσι ώστε
για κάθε σημείο εκπαίδευσης, ενώ ταυτόχρονα κάνει το περιθώριο όσο το δυνατόν μεγαλύτερο. Σε αυτή την κλιμάκωση, το συνολικό πλάτος του περιθωρίου είναι
Η σημαντική πρακτική ιδέα είναι πιο απλή από τον τύπο: μικρότερο σημαίνει μεγαλύτερο περιθώριο σε αυτή την κανονικοποιημένη ρύθμιση.
Λυμένο παράδειγμα: Ένα μονοδιάστατο SVM
Ένα μονοδιάστατο παράδειγμα κάνει την ιδέα του περιθωρίου εύκολη να φανεί.
Έστω ότι η αρνητική κλάση έχει σημεία στα και , και η θετική κλάση έχει σημεία στα και .
Οποιοδήποτε κατώφλι ανάμεσα στο και το διαχωρίζει τις κλάσεις. Για παράδειγμα, το λειτουργεί και το λειτουργεί, αλλά αυτές οι επιλογές δεν δίνουν το ίδιο περιθώριο και από τις δύο πλευρές.
Σε αυτή τη μονοδιάστατη διαχωρίσιμη περίπτωση, το SVM επιλέγει το μέσο σημείο ανάμεσα στα πιο κοντινά σημεία αντίθετων κλάσεων, οπότε το κατώφλι απόφασης είναι
Το πιο κοντινό αρνητικό σημείο είναι το , και το πιο κοντινό θετικό σημείο είναι το . Αυτά είναι τα support vectors. Καθένα απέχει μονάδες από το όριο, άρα το περιθώριο είναι ισορροπημένο και όσο το δυνατόν μεγαλύτερο.
Εδώ μπορείς να γράψεις τον ταξινομητή ως «πρόβλεψε θετική κλάση όταν και αρνητική όταν ». Αυτή η απλή περίπτωση αποτυπώνει την πραγματική ιδέα: το όριο καθορίζεται από τις πιο δύσκολες κοντινές περιπτώσεις, όχι από μακρινά σημεία που ήδη ταξινομούνται εύκολα.
Hard-Margin Vs Soft-Margin SVM
Ένα hard-margin SVM λειτουργεί μόνο όταν τα δεδομένα εκπαίδευσης είναι τέλεια γραμμικά διαχωρίσιμα. Αν έστω και ένα σημείο παραβιάζει αυτή τη συνθήκη, η hard-margin διατύπωση δεν ταιριάζει στα δεδομένα.
Γι’ αυτό πολλά πρακτικά SVM χρησιμοποιούν soft margin. Ένα soft-margin SVM εξακολουθεί να προτιμά μεγάλο περιθώριο, αλλά επιτρέπει σε ορισμένα σημεία να πέσουν μέσα στο περιθώριο ή ακόμη και στη λάθος πλευρά του ορίου, με κάποια ποινή.
Η παράμετρος ελέγχει αυτόν τον συμβιβασμό. Μεγαλύτερο τιμωρεί πιο έντονα τις παραβιάσεις. Μικρότερο επιτρέπει περισσότερη ευελιξία. Καμία επιλογή δεν είναι αυτόματα καλύτερη· εξαρτάται από τα δεδομένα και πρέπει να ελέγχεται με βάση την απόδοση στην επικύρωση.
Πότε βοηθούν τα kernel SVM
Μερικές φορές ένα ευθύ όριο δεν αρκεί στον αρχικό χώρο χαρακτηριστικών. Ένα kernel SVM το αντιμετωπίζει αυτό συγκρίνοντας σημεία μέσω μιας συνάρτησης kernel, κάτι που μπορεί να επιτρέψει ένα καμπύλο όριο χωρίς να χρειάζεται να γράψεις ρητά ένα τεράστιο μετασχηματισμένο διάνυσμα χαρακτηριστικών.
Η βασική προϋπόθεση είναι ότι αυτή η επιπλέον ευελιξία βοηθά μόνο αν το μοτίβο των δεδομένων την απαιτεί πραγματικά. Τα kernels μπορούν να βελτιώσουν ένα μοντέλο, αλλά μπορούν επίσης να κάνουν τη ρύθμιση πιο δύσκολη, οπότε πρέπει να επικυρώνονται και όχι να επιλέγονται ως προεπιλογή.
Συνηθισμένα λάθη στα SVM
Να νομίζεις ότι όλα τα σημεία έχουν την ίδια σημασία
Σε ένα SVM, τα πιο κοντινά σημεία έχουν τη μεγαλύτερη σημασία. Τα σημεία που βρίσκονται μακριά από το όριο συχνά έχουν μικρή επίδραση στον τελικό διαχωριστή.
Να ξεχνάς τη συνθήκη πίσω από το hard margin
Η τέλεια γραμμική διαχωρισιμότητα είναι πραγματική συνθήκη, όχι προεπιλεγμένη υπόθεση. Αν οι κλάσεις αλληλεπικαλύπτονται, χρειάζεσαι soft margin ή διαφορετικό μοντέλο.
Να αγνοείς την κλιμάκωση χαρακτηριστικών
Τα SVM εξαρτώνται από αποστάσεις και εσωτερικά γινόμενα. Αν ένα χαρακτηριστικό μετριέται σε πολύ μεγαλύτερη κλίμακα από κάποιο άλλο, μπορεί να κυριαρχήσει στο όριο εκτός αν πρώτα κλιμακώσεις τις εισόδους.
Να υποθέτεις ότι ένα kernel είναι αυτόματα καλύτερο
Ένα πιο ευέλικτο όριο μπορεί να ταιριάξει καλύτερα στα δεδομένα εκπαίδευσης, αλλά αυτό δεν σημαίνει αυτόματα ότι θα γενικεύει καλύτερα.
Πού χρησιμοποιούνται τα SVM
Τα SVM χρησιμοποιούνται σε προβλήματα ταξινόμησης όπου το όριο ανάμεσα στις κλάσεις μπορεί να είναι αρκετά καθαρό και όπου η λογική του περιθωρίου είναι χρήσιμη. Είναι ιδιαίτερα συνηθισμένα σε μικρού και μεσαίου μεγέθους πινακοποιημένα προβλήματα και στην ταξινόμηση κειμένου, όπου οι χώροι χαρακτηριστικών υψηλής διάστασης είναι συχνοί.
Χρησιμοποιούνται επίσης και για παλινδρόμηση σε μια συγγενική μέθοδο που λέγεται support vector regression, αλλά αυτό είναι διαφορετική διατύπωση από την εικόνα της δυαδικής ταξινόμησης που εξηγήθηκε εδώ.
Δοκίμασε ένα παρόμοιο πρόβλημα SVM
Πάρε τα μονοδιάστατα σημεία από το παράδειγμα και πρόσθεσε ένα νέο αρνητικό σημείο στο . Τώρα το καθαρό μεγάλο κενό έχει χαθεί. Αναρωτήσου τι αλλάζει αν επιμείνεις σε hard margin και τι αλλάζει αν επιτρέψεις soft margin. Αυτή η σύγκριση είναι συχνά ο πιο γρήγορος τρόπος για να καταλάβεις πραγματικά τα SVM.
Χρειάζεσαι βοήθεια με μια άσκηση;
Ανέβασε την ερώτησή σου και πάρε επαληθευμένη λύση βήμα-βήμα σε δευτερόλεπτα.
Άνοιξε το GPAI Solver →