Βασικές αρχές της AI

Τι είναι τα Support Vector Machines;

mm
Προσθέστε το Unite.AI στις προτιμώμενες πηγές σας στο Google

Τι είναι τα Support Vector Machines;

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

Τα Support Vector Machines λειτουργούν δημιουργώντας συνήθως decision boundaries μεταξύ των δεδομένων, με στόχο να βρουν το decision boundary που分割ει καλύτερα τα δεδομένα σε κατηγορίες (ή είναι το πιο γενικευμένο). Ο στόχος όταν χρησιμοποιούμε ένα Support Vector Machine είναι ότι το decision boundary μεταξύ των σημείων είναι όσο το δυνατόν μεγαλύτερο, ώστε η απόσταση μεταξύ οποιουδήποτε δεδομένου σημείου και της γραμμής του ορίου να μεγιστοποιηθεί. Αυτή είναι μια γρήγορη εξήγηση του πώς λειτουργούν τα Support Vector Machines (SVMs), αλλά ας πάρουμε λίγο χρόνο για να διεισδύσουμε sâu hơn στο πώς λειτουργούν τα SVMs και να κατανοήσουμε τη λογική πίσω από τη λειτουργία τους.

Στόχος των Support Vector Machines

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

Μπορείτε να σκεφτείτε τα Support Vector Machines ως δημιουργία “δρόμων” σε μια πόλη, χωρίζοντας την πόλη σε περιοχές σε κάθε πλευρά του δρόμου. Όλα τα κτήρια (δεδομένα σημεία) που βρίσκονται στην μια πλευρά του δρόμου ανήκουν σε μια περιοχή.

Ο στόχος των Support Vector Machines δεν είναι μόνο να σχεδιάσουν υπερεπίπεδα και να χωρίσουν τα δεδομένα, αλλά να σχεδιάσουν το υπερεπίπεδο που χωρίζει τα δεδομένα με τη μεγαλύτερη απόσταση, ή με το περισσότερο χώρο μεταξύ της γραμμής του ορίου και οποιουδήποτε δεδομένου σημείου. Επιστρέφοντας στη μεταφορά “δρόμων”, αν ένας πολεοδόμος σχεδιάζει σχέδια για einen αυτοκινητόδρομο, δεν θέλει ο αυτοκινητόδρομος να είναι πολύ κοντά σε σπίτια ή άλλα κτήρια. Όσο μεγαλύτερη είναι η απόσταση μεταξύ του αυτοκινητόδρομου και των κτηρίων σε κάθε πλευρά, τόσο καλύτερα. Η μεγαλύτερη αυτή απόσταση, τόσο πιο “βέβαιος” μπορεί να είναι ο ταξινομητής για τις προβλέψεις του. Σε περίπτωση δυαδικής ταξινόμησης, το να σχεδιάσεις το σωστό υπερεπίπεδο σημαίνει να επιλέξεις ένα υπερεπίπεδο που είναι ακριβώς στο μέσο των δύο διαφορετικών κατηγοριών. Αν η γραμμή του ορίου/υπεπεπίπεδο είναι πιο μακριά από μια κατηγορία, θα είναι πιο κοντά σε μια άλλη.,因此, το υπερεπίπεδο πρέπει να ισορροπήσει την απόσταση μεταξύ των δύο διαφορετικών κατηγοριών.

Υπολογισμός του Χωρίζοντος Υπερεπίπεδου

Πώς υπολογίζει ένα Support Vector Machine το καλύτερο χωρίζον υπερεπίπεδο/decision boundary; Αυτό επιτυγχάνεται με τον υπολογισμό των πιθανών υπερεπίπεδων χρησιμοποιώντας μια μαθηματική формуλή. Δεν θα καλύψουμε την формуλή για τον υπολογισμό των υπερεπίπεδων σε ακραίο λεπτό, αλλά η γραμμή υπολογίζεται με τη διάσημη формуλή της γραμμής:

Y = ax + b

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

Τα SVMs σχεδιάζουν πολλά υπερεπίπεδα. Για παράδειγμα, η γραμμή του ορίου είναι ένα υπερεπίπεδο, αλλά τα δεδομένα σημεία που ο ταξινομητής θεωρεί είναι επίσης σε υπερεπίπεδα. Οι τιμές για x καθορίζονται με βάση τα χαρακτηριστικά του συνόλου δεδομένων. Για παράδειγμα, αν είχατε ένα σύνολο δεδομένων με τα ύψη και τα βάρη πολλών ανθρώπων, τα “ύψος” και “βάρος” θα ήταν τα χαρακτηριστικά που χρησιμοποιούνται για τον υπολογισμό του “X”. Οι αποστάσεις μεταξύ του προτεινόμενου υπερεπίπεδου και των verschiedenen “υποστηρικτικών διανυσμάτων” (δεδομένων σημείων) που βρίσκονται σε κάθε πλευρά της γραμμής του ορίου υπολογίζονται με την ακόλουθη формуλή:

W * X – b

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

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

Πολυκατηγορική Ταξινόμηση

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

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

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

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

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

Το kernel trick μετατρέπει τα δεδομένα και τα μεταμορφώνει με μη-γραμμικό τρόπο. Φωτογραφία: Shiyu Ju via Wikmedia Commons, CC BY SA 4.0 (https://commons.wikimedia.org/wiki/File:Kernel_trick_idea.svg)

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

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