στέλεχος Τι είναι οι μηχανές υποστήριξης διανυσμάτων; - Unite.AI
Συνδεθείτε μαζί μας
Masterclass AI:

AI 101

Τι είναι οι μηχανές υποστήριξης διανυσμάτων;

mm
Ενημερώθηκε on

Τι είναι οι μηχανές υποστήριξης διανυσμάτων;

Οι μηχανές με διανύσματα υποστήριξης είναι ένας τύπος ταξινομητή μηχανικής μάθησης, αναμφισβήτητα ένα από τα πιο δημοφιλή είδη ταξινομητών. Οι μηχανές διανυσμάτων υποστήριξης είναι ιδιαίτερα χρήσιμες για εργασίες αριθμητικής πρόβλεψης, ταξινόμησης και αναγνώρισης προτύπων.

Οι μηχανές διανυσμάτων υποστήριξης λειτουργούν σχεδιάζοντας όρια απόφασης μεταξύ σημείων δεδομένων, στοχεύοντας στο όριο απόφασης που διαχωρίζει καλύτερα τα σημεία δεδομένων σε κλάσεις (ή είναι το πιο γενικεύσιμο). Ο στόχος όταν χρησιμοποιείται μια μηχανή διανυσμάτων υποστήριξης είναι το όριο απόφασης μεταξύ των σημείων να είναι όσο το δυνατόν μεγαλύτερο, έτσι ώστε η απόσταση μεταξύ οποιουδήποτε δεδομένου σημείου δεδομένων και της οριακής γραμμής να μεγιστοποιείται. Αυτή είναι μια γρήγορη εξήγηση του πώς μηχανές υποστήριξης διανυσμάτων (SVM) λειτουργούν, αλλά ας αφιερώσουμε λίγο χρόνο για να εμβαθύνουμε στον τρόπο λειτουργίας των SVM και να κατανοήσουμε τη λογική πίσω από τη λειτουργία τους.

Goal Of Support Vector Machines

Φανταστείτε ένα γράφημα με έναν αριθμό σημείων δεδομένων πάνω του, με βάση τα χαρακτηριστικά που καθορίζονται από τους άξονες X και Y. Τα σημεία δεδομένων στο γράφημα μπορούν χαλαρά να χωριστούν σε δύο διαφορετικά συμπλέγματα και το σύμπλεγμα στο οποίο ανήκει ένα σημείο δεδομένων υποδεικνύει την κλάση του σημείου δεδομένων. Τώρα ας υποθέσουμε ότι θέλουμε να σχεδιάσουμε μια γραμμή κάτω από το γράφημα που χωρίζει τις δύο κατηγορίες μεταξύ τους, με όλα τα σημεία δεδομένων σε μια κλάση να βρίσκονται στη μία πλευρά της γραμμής και όλα τα σημεία δεδομένων να ανήκουν σε μια άλλη κλάση που βρίσκονται στην άλλη πλευρά της γραμμής. Αυτή η διαχωριστική γραμμή είναι γνωστή ως υπερεπίπεδο.

Μπορείτε να σκεφτείτε ένα μηχάνημα φορέα υποστήριξης ως δημιουργία «δρόμων» σε όλη την πόλη, χωρίζοντας την πόλη σε περιοχές και στις δύο πλευρές του δρόμου. Όλα τα κτίρια (σημεία δεδομένων) που βρίσκονται στη μία πλευρά του δρόμου ανήκουν σε μία συνοικία.

Ο στόχος μιας μηχανής διανυσμάτων υποστήριξης δεν είναι μόνο να σχεδιάσει υπερεπίπεδα και να διαιρέσει σημεία δεδομένων, αλλά να σχεδιάσει το υπερεπίπεδο τα χωριστά σημεία δεδομένων με το μεγαλύτερο περιθώριο ή με το μεγαλύτερο διάστημα μεταξύ της διαχωριστικής γραμμής και οποιουδήποτε δεδομένου σημείου δεδομένων. Επιστρέφοντας στη μεταφορά των «δρόμων», εάν ένας πολεοδόμος σχεδιάζει σχέδια για έναν αυτοκινητόδρομο, δεν θέλει ο αυτοκινητόδρομος να είναι πολύ κοντά σε σπίτια ή άλλα κτίρια. Όσο μεγαλύτερο περιθώριο μεταξύ του αυτοκινητόδρομου και των κτιρίων εκατέρωθεν, τόσο το καλύτερο. Όσο μεγαλύτερο είναι αυτό το περιθώριο, τόσο πιο «σίγουρη» μπορεί να είναι ο ταξινομητής για τις προβλέψεις του. Στην περίπτωση της δυαδικής ταξινόμησης, η σχεδίαση του σωστού υπερεπίπεδου σημαίνει την επιλογή ενός υπερεπίπεδου που βρίσκεται ακριβώς στη μέση των δύο διαφορετικών κατηγοριών. Εάν το όριο απόφασης/υπερπλάνο είναι πιο μακριά από μια κλάση, θα είναι πιο κοντά σε μια άλλη. Επομένως, το υπερεπίπεδο πρέπει να εξισορροπεί το περιθώριο μεταξύ των δύο διαφορετικών κατηγοριών.

Υπολογισμός του Διαχωριστικού Υπερπλάνου

Πώς λοιπόν μια μηχανή διανύσματος υποστήριξης καθορίζει το καλύτερο διαχωριστικό υπερεπίπεδο/όριο απόφασης; Αυτό επιτυγχάνεται με τον υπολογισμό πιθανών υπερεπιπέδων χρησιμοποιώντας έναν μαθηματικό τύπο. Δεν θα καλύψουμε τον τύπο για τον υπολογισμό των υπερεπιπέδων με εξαιρετική λεπτομέρεια, αλλά η γραμμή υπολογίζεται με τον διάσημο τύπο κλίσης/γραμμής:

Υ = τσεκούρι + β

Εν τω μεταξύ, οι γραμμές γίνονται από σημεία, πράγμα που σημαίνει ότι οποιοδήποτε υπερεπίπεδο μπορεί να περιγραφεί ως: το σύνολο σημείων που εκτείνονται παράλληλα με το προτεινόμενο υπερεπίπεδο, όπως προσδιορίζεται από τα βάρη του μοντέλου επί το σύνολο των χαρακτηριστικών που τροποποιούνται από μια καθορισμένη μετατόπιση/προκατάληψη ("ρε").

Τα SVM σχεδιάζουν πολλά υπερεπίπεδα. Για παράδειγμα, η οριακή γραμμή είναι ένα υπερεπίπεδο, αλλά τα σημεία δεδομένων που θεωρεί ο ταξινομητής βρίσκονται επίσης σε υπερεπίπεδα. Οι τιμές για το x καθορίζονται με βάση τα χαρακτηριστικά του συνόλου δεδομένων. Για παράδειγμα, εάν είχατε ένα σύνολο δεδομένων με τα ύψη και τα βάρη πολλών ατόμων, τα χαρακτηριστικά "ύψος" και "βάρος" θα ήταν τα χαρακτηριστικά που χρησιμοποιούνται για τον υπολογισμό του "Χ". Τα περιθώρια μεταξύ του προτεινόμενου υπερεπίπεδου και των διαφόρων «διανυσμάτων υποστήριξης» (σημείων δεδομένων) που βρίσκονται σε κάθε πλευρά του υπερεπιπέδου διαίρεσης υπολογίζονται με τον ακόλουθο τύπο:

W * X – β

Ενώ μπορείτε να διαβάσετε περισσότερα για τα μαθηματικά πίσω από τα SVM, αν ψάχνετε για μια πιο διαισθητική κατανόησή τους, απλώς να ξέρετε ότι ο στόχος είναι να μεγιστοποιήσετε την απόσταση μεταξύ του προτεινόμενου διαχωριστικού υπερεπίπεδου/οριακής γραμμής και των άλλων υπερεπίπεδων που εκτείνονται παράλληλα με αυτό ( και στα οποία βρίσκονται τα σημεία δεδομένων).

Φωτογραφία: ZackWeinberg μέσω Wikimedia Commons, CC BY SA 3.0 (https://commons.wikimedia.org/wiki/File:Svm_separating_hyperplanes_(SVG).svg)

Ταξινόμηση πολλαπλών τάξεων

Η διαδικασία που περιγράφηκε μέχρι τώρα ισχύει για εργασίες δυαδικής ταξινόμησης. Ωστόσο, οι ταξινομητές SVM μπορούν επίσης να χρησιμοποιηθούν για εργασίες μη δυαδικής ταξινόμησης. Όταν γίνεται ταξινόμηση SVM σε ένα σύνολο δεδομένων με τρεις ή περισσότερες κλάσεις, χρησιμοποιούνται περισσότερες οριακές γραμμές. Για παράδειγμα, εάν μια εργασία ταξινόμησης έχει τρεις κλάσεις αντί για δύο, δύο διαχωριστικές γραμμές θα χρησιμοποιηθούν για τη διαίρεση των σημείων δεδομένων σε κλάσεις και η περιοχή που περιλαμβάνει μια κλάση θα βρίσκεται ανάμεσα σε δύο διαχωριστικές γραμμές αντί για μία. Αντί να υπολογίζει απλώς την απόσταση μεταξύ δύο μόνο κλάσεων και ενός ορίου απόφασης, ο ταξινομητής πρέπει να εξετάσει τώρα τα περιθώρια μεταξύ των ορίων απόφασης και των πολλαπλών κλάσεων μέσα στο σύνολο δεδομένων.

Μη Γραμμικοί Διαχωρισμοί

Η διαδικασία που περιγράφεται παραπάνω ισχύει για περιπτώσεις όπου τα δεδομένα είναι γραμμικά διαχωρισμένα. Σημειώστε ότι, στην πραγματικότητα, τα σύνολα δεδομένων δεν είναι σχεδόν ποτέ πλήρως γραμμικά διαχωρισμένα, πράγμα που σημαίνει ότι όταν χρησιμοποιείτε έναν ταξινομητή SVM θα πρέπει συχνά να χρησιμοποιείτε δύο διαφορετικές τεχνικές: soft margin και kernel tricks. Εξετάστε μια κατάσταση όπου τα σημεία δεδομένων διαφορετικών κλάσεων αναμειγνύονται μεταξύ τους, με ορισμένες περιπτώσεις να ανήκουν σε μια κλάση στο "cluster" μιας άλλης κλάσης. Πώς θα μπορούσατε να έχετε τον ταξινομητή να χειριστεί αυτές τις περιπτώσεις;

Μια τακτική που μπορεί να χρησιμοποιηθεί για τον χειρισμό μη γραμμικά διαχωρισμένων συνόλων δεδομένων είναι η εφαρμογή ενός ταξινομητή SVM «soft margin». Ένας ταξινομητής soft margin λειτουργεί με την αποδοχή μερικών λανθασμένων σημείων δεδομένων. Θα προσπαθήσει να σχεδιάσει μια γραμμή που διαχωρίζει καλύτερα τα συμπλέγματα των σημείων δεδομένων το ένα από το άλλο, καθώς περιέχουν την πλειονότητα των περιπτώσεων που ανήκουν στις αντίστοιχες κλάσεις τους. Ο ταξινομητής SVM soft margin επιχειρεί να δημιουργήσει μια διαχωριστική γραμμή που εξισορροπεί τις δύο απαιτήσεις του ταξινομητή: ακρίβεια και περιθώριο. Θα προσπαθήσει να ελαχιστοποιήσει την εσφαλμένη ταξινόμηση ενώ παράλληλα θα μεγιστοποιήσει το περιθώριο.

Η ανοχή του SVM για σφάλματα μπορεί να ρυθμιστεί μέσω χειρισμού μιας υπερπαράμετρου που ονομάζεται "C". Τα στοιχεία ελέγχου της τιμής C πόσα διανύσματα υποστήριξης λαμβάνει υπόψη ο ταξινομητής όταν σχεδιάζει τα όρια απόφασης. Η τιμή C είναι μια ποινή που εφαρμόζεται σε λανθασμένες ταξινομήσεις, που σημαίνει ότι όσο μεγαλύτερη είναι η τιμή C τόσο λιγότερα διανύσματα υποστήριξης λαμβάνει υπόψη ο ταξινομητής και τόσο μικρότερο είναι το περιθώριο.

Ο πυρήνας ξεγελά τα δεδομένα και τα μετατρέπει με μη γραμμικό τρόπο. Φωτογραφία: Shiyu Ju μέσω Wikmedia Commons, CC BY SA 4.0 (https://commons.wikimedia.org/wiki/File:Kernel_trick_idea.svg)

Το Kernel Trick λειτουργεί εφαρμόζοντας μη γραμμικούς μετασχηματισμούς στα χαρακτηριστικά του συνόλου δεδομένων. Το Kernel Trick παίρνει τα υπάρχοντα χαρακτηριστικά στο σύνολο δεδομένων και δημιουργεί νέα χαρακτηριστικά μέσω της εφαρμογής μη γραμμικών μαθηματικών συναρτήσεων. Αυτό που προκύπτει από την εφαρμογή αυτών των μη γραμμικών μετασχηματισμών είναι ένα μη γραμμικό όριο απόφασης. Επειδή ο ταξινομητής SVM δεν περιορίζεται πλέον στη σχεδίαση γραμμικών ορίων απόφασης, μπορεί να αρχίσει να σχεδιάζει καμπύλα όρια απόφασης που ενσωματώνουν καλύτερα την πραγματική κατανομή των διανυσμάτων υποστήριξης και ελαχιστοποιούν τις εσφαλμένες ταξινομήσεις. Δύο από τους πιο δημοφιλείς μη γραμμικούς πυρήνες SVM είναι η Radial Basis Function και η Polynomial. Η πολυωνυμική συνάρτηση δημιουργεί πολυωνυμικούς συνδυασμούς όλων των υπαρχόντων χαρακτηριστικών, ενώ η συνάρτηση Radial Basis δημιουργεί νέα χαρακτηριστικά μετρώντας την απόσταση μεταξύ ενός κεντρικού σημείου/σημείων σε όλα τα άλλα σημεία.

Blogger και προγραμματιστής με ειδικότητες στο Μηχανική μάθηση και Βαθιά μάθηση Θέματα. Ο Daniel ελπίζει να βοηθήσει άλλους να χρησιμοποιήσουν τη δύναμη της τεχνητής νοημοσύνης για κοινωνικό καλό.