Υλοποίηση άλλων γεύσεων SVM με το Scikit-Learn της Python

Υλοποίηση άλλων γεύσεων SVM με το Scikit-Learn της Python

Εισαγωγή

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

Στην πλήρη σειρά οδηγών SVM, εκτός από την εκμάθηση άλλων τύπων SVM, θα μάθετε επίσης για απλές SVM, προκαθορισμένες παραμέτρους SVM, υπερπαραμέτρους C και Gamma και πώς μπορούν να συντονιστούν με την αναζήτηση πλέγματος και τη διασταυρούμενη επικύρωση.

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

  1. Εφαρμογή SVM και Kernel SVM με το Scikit-Learn της Python
  • Περίπτωση χρήσης: ξεχάστε τα χαρτονομίσματα
  • Ιστορικό των SVM
  • Απλό (γραμμικό) μοντέλο SVM
    • Σχετικά με το σύνολο δεδομένων
    • Εισαγωγή του συνόλου δεδομένων
    • Εξερευνώντας το σύνολο δεδομένων
  • Εφαρμογή SVM με το Scikit-Learn
    • Διαίρεση δεδομένων σε σύνολα αμαξοστοιχίας/δοκιμών
    • Εκπαίδευση του Μοντέλου
    • Κάνοντας προβλέψεις
    • Αξιολόγηση του Μοντέλου
    • Ερμηνεία Αποτελεσμάτων
  1. Κατανόηση των υπερπαραμέτρων SVM
  • Η υπερπαράμετρος C
  • Η υπερπαράμετρος γάμμα

3. Εφαρμογή άλλων γεύσεων SVM με το Scikit-Learn της Python

  • Η γενική ιδέα των SVM (ανακεφαλαίωση)
  • Πυρήνας (Trick) SVM
  • Εφαρμογή μη γραμμικού πυρήνα SVM με Scikit-Learn
  • Εισαγωγή βιβλιοθηκών
    • Εισαγωγή του συνόλου δεδομένων
    • Διαίρεση δεδομένων σε χαρακτηριστικά (X) και στόχο (y)
    • Διαίρεση δεδομένων σε σύνολα αμαξοστοιχίας/δοκιμών
    • Εκπαίδευση του Αλγόριθμου
  • Πολυωνυμικός πυρήνας
    • Κάνοντας προβλέψεις
    • Αξιολόγηση του Αλγορίθμου
  • Γκαουσιανός πυρήνας
    • Πρόβλεψη και Αξιολόγηση
  • Σιγμοειδής πυρήνας
    • Πρόβλεψη και Αξιολόγηση
  • Σύγκριση μη γραμμικών επιδόσεων πυρήνα

Ας θυμηθούμε τι είναι το SVM πριν δούμε μερικές ενδιαφέρουσες παραλλαγές του πυρήνα του SVM.

Η Γενική Ιδέα των SVM

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

Πολλαπλά όρια απόφασης

Σχήμα 1: Πολλαπλά όρια απόφασης

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

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

Όριο απόφασης με διανύσματα υποστήριξης

Σχήμα 2: Όριο απόφασης με διανύσματα υποστήριξης

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

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

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

Συμβουλές: τώρα που κάναμε μια ανακεφαλαίωση της αλγοριθμικής διαδικασίας, είναι σαφές ότι η απόσταση μεταξύ των σημείων δεδομένων θα επηρεάσει το όριο απόφασης που επιλέγει η SVM, λόγω αυτού, κλιμάκωση των δεδομένων είναι συνήθως απαραίτητο όταν χρησιμοποιείτε έναν ταξινομητή SVM. Δοκιμάστε να χρησιμοποιήσετε Scikit-learn's Standard Scaler μέθοδος για να προετοιμάσετε δεδομένα και στη συνέχεια να εκτελέσετε ξανά τους κωδικούς για να δείτε εάν υπάρχει διαφορά στα αποτελέσματα.

Πυρήνας (Trick) SVM

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

Μη γραμμικά Διαχωρίσιμα Δεδομένα

Σχήμα 3: Μη γραμμικά διαχωρίσιμα δεδομένα

Αντίθετα, μπορούμε να χρησιμοποιήσουμε την τροποποιημένη έκδοση του SVM που είχαμε συζητήσει στην αρχή, που ονομάζεται Kernel SVM.

Βασικά, αυτό που θα κάνει ο πυρήνας SVM είναι να προβάλει τα μη γραμμικά διαχωρισμένα δεδομένα χαμηλότερων διαστάσεων στην αντίστοιχη μορφή του σε υψηλότερες διαστάσεις. Αυτό είναι ένα τέχνασμα, γιατί κατά την προβολή μη γραμμικά διαχωρίσιμων δεδομένων σε υψηλότερες διαστάσεις, το σχήμα των δεδομένων αλλάζει με τέτοιο τρόπο ώστε να γίνεται διαχωρισμό. Για παράδειγμα, όταν σκεφτόμαστε 3 διαστάσεις, τα σημεία δεδομένων από κάθε τάξη θα μπορούσαν να καταλήξουν να κατανεμηθούν σε διαφορετική διάσταση, καθιστώντας την διαχωρίσιμη. Ένας τρόπος αύξησης των διαστάσεων των δεδομένων μπορεί να είναι μέσω της εκθέσεώς τους. Και πάλι, υπάρχουν πολύπλοκα μαθηματικά που εμπλέκονται σε αυτό, αλλά δεν χρειάζεται να ανησυχείτε για να χρησιμοποιήσετε το SVM. Αντίθετα, μπορούμε να χρησιμοποιήσουμε τη βιβλιοθήκη Scikit-Learn της Python για να υλοποιήσουμε και να χρησιμοποιήσουμε τους μη γραμμικούς πυρήνες με τον ίδιο τρόπο που χρησιμοποιήσαμε τους γραμμικούς.

Εφαρμογή μη γραμμικού πυρήνα SVM με Scikit-Learn

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

Θα δείτε ότι τα υπόλοιπα βήματα είναι τυπικά βήματα μηχανικής εκμάθησης και χρειάζονται πολύ λίγη εξήγηση μέχρι να φτάσουμε στο τμήμα όπου εκπαιδεύουμε τα μη γραμμικά SVM πυρήνα μας.

Εισαγωγή βιβλιοθηκών

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns
from sklearn.model_selection import train_test_split

Εισαγωγή του συνόλου δεδομένων

data_link = "https://archive.ics.uci.edu/ml/machine-learning-databases/00267/data_banknote_authentication.txt"
col_names = ["variance", "skewness", "curtosis", "entropy", "class"] bankdata = pd.read_csv(data_link, names=col_names, sep=",", header=None)
bankdata.head()mes)

Διαίρεση δεδομένων σε χαρακτηριστικά (X) και στόχο (y)

X = bankdata.drop('class', axis=1)
y = bankdata['class']

Διαίρεση δεδομένων σε σύνολα αμαξοστοιχίας/δοκιμών

SEED = 42 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.20, random_state = SEED)

Εκπαίδευση του Αλγόριθμου

Για να εκπαιδεύσουμε τον πυρήνα SVM, θα χρησιμοποιήσουμε το ίδιο SVC τάξη του Scikit-Learn's svm βιβλιοθήκη. Η διαφορά έγκειται στην τιμή για την παράμετρο πυρήνα του SVC τάξη.

Στην περίπτωση του απλού SVM χρησιμοποιήσαμε το "γραμμικό" ως τιμή για την παράμετρο του πυρήνα. Ωστόσο, όπως αναφέραμε προηγουμένως, για τον πυρήνα SVM, μπορούμε να χρησιμοποιήσουμε Gaussian, πολυωνυμικούς, σιγμοειδείς ή υπολογιστικούς πυρήνες. Θα εφαρμόσουμε πολυωνυμικούς, Gaussian και σιγμοειδείς πυρήνες και θα εξετάσουμε τις τελικές μετρήσεις τους για να δούμε ποια ταιριάζει στις τάξεις μας με υψηλότερη μέτρηση.

1. Πολυωνυμικός πυρήνας

Στην άλγεβρα, ένα πολυώνυμο είναι μια έκφραση της μορφής:

$$
2a*b^3 + 4a – 9
$$

Αυτό έχει μεταβλητές, όπως π.χ a και b, σταθερές, στο παράδειγμά μας, 9 και συντελεστές (σταθερές που συνοδεύονται από μεταβλητές), όπως π.χ 2 και 4. ο 3 θεωρείται ο βαθμός του πολυωνύμου.

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

Ρίξτε μια ματιά στον πρακτικό μας οδηγό για την εκμάθηση του Git, με βέλτιστες πρακτικές, πρότυπα αποδεκτά από τον κλάδο και συμπεριλαμβανόμενο φύλλο εξαπάτησης. Σταματήστε τις εντολές του Git στο Google και πραγματικά μαθαίνουν το!

Έτσι, για την εφαρμογή του πολυωνυμικό πυρήνα, εκτός από την επιλογή του poly πυρήνα, θα περάσουμε επίσης μια τιμή για το degree παράμετρος του SVC τάξη. Παρακάτω είναι ο κωδικός:

from sklearn.svm import SVC
svc_poly = SVC(kernel='poly', degree=8)
svc_poly.fit(X_train, y_train)

Κάνοντας προβλέψεις

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

Όπως κάναμε πριν, μπορούμε να εκτελέσουμε το ακόλουθο σενάριο για να το κάνουμε:

y_pred_poly = svclassifier.predict(X_test)

Αξιολόγηση του Αλγορίθμου

Ως συνήθως, το τελευταίο βήμα είναι να γίνουν αξιολογήσεις στον πολυωνυμικό πυρήνα. Επειδή έχουμε επαναλάβει τον κωδικό για την αναφορά ταξινόμησης και τον πίνακα σύγχυσης μερικές φορές, ας τον μετατρέψουμε σε μια συνάρτηση που display_results μετά την παραλαβή των αντίστοιχων y_test, y_pred και τίτλος στον πίνακα σύγχυσης του Seaborn με cm_title:

def display_results(y_test, y_pred, cm_title): cm = confusion_matrix(y_test,y_pred) sns.heatmap(cm, annot=True, fmt='d').set_title(cm_title) print(classification_report(y_test,y_pred))

Τώρα, μπορούμε να καλέσουμε τη συνάρτηση και να δούμε τα αποτελέσματα που λαμβάνονται με τον πολυωνυμικό πυρήνα:

cm_title_poly = "Confusion matrix with polynomial kernel"
display_results(y_test, y_pred_poly, cm_title_poly)

Η έξοδος μοιάζει με αυτό:

 precision recall f1-score support 0 0.69 1.00 0.81 148 1 1.00 0.46 0.63 127 accuracy 0.75 275 macro avg 0.84 0.73 0.72 275
weighted avg 0.83 0.75 0.73 275

Εφαρμογή άλλων γεύσεων SVM με τη νοημοσύνη δεδομένων Scikit-Learn PlatoBlockchain της Python. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Τώρα μπορούμε να επαναλάβουμε τα ίδια βήματα για Gaussian και sigmoid πυρήνες.

2. Γκαουσιανός πυρήνας

Για να χρησιμοποιήσουμε τον πυρήνα Gaussian, χρειάζεται μόνο να καθορίσουμε το 'rbf' ως τιμή για το kernel παράμετρος της κλάσης SVC:

svc_gaussian = SVC(kernel='rbf', degree=8)
svc_gaussian.fit(X_train, y_train)

Κατά την περαιτέρω εξερεύνηση αυτού του πυρήνα, μπορείτε επίσης να χρησιμοποιήσετε την αναζήτηση πλέγματος για να τον συνδυάσετε με διαφορετικά C και gamma αξιών.

Πρόβλεψη και Αξιολόγηση

y_pred_gaussian = svc_gaussian.predict(X_test)
cm_title_gaussian = "Confusion matrix with Gaussian kernel"
display_results(y_test, y_pred_gaussian, cm_title_gaussian)

Η έξοδος του πυρήνα Gaussian SVM μοιάζει με αυτό:

 precision recall f1-score support 0 1.00 1.00 1.00 148 1 1.00 1.00 1.00 127 accuracy 1.00 275 macro avg 1.00 1.00 1.00 275
weighted avg 1.00 1.00 1.00 275

Εφαρμογή άλλων γεύσεων SVM με τη νοημοσύνη δεδομένων Scikit-Learn PlatoBlockchain της Python. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

3. Σιγμοειδής πυρήνας

Τέλος, ας χρησιμοποιήσουμε έναν σιγμοειδές πυρήνα για την υλοποίηση του Kernel SVM. Ρίξτε μια ματιά στο παρακάτω σενάριο:

svc_sigmoid = SVC(kernel='sigmoid')
svc_sigmoid.fit(X_train, y_train)

Για να χρησιμοποιήσετε τον πυρήνα σιγμοειδούς, πρέπει να καθορίσετε το 'sigmoid' ως τιμή για το kernel παράμετρος του SVC τάξη.

Πρόβλεψη και Αξιολόγηση

y_pred_sigmoid = svc_sigmoid.predict(X_test)
cm_title_sigmoid = "Confusion matrix with Sigmoid kernel"
display_results(y_test, y_pred_sigmoid, cm_title_sigmoid)

Η έξοδος του Kernel SVM με πυρήνα Sigmoid μοιάζει με αυτό:

 precision recall f1-score support 0 0.67 0.71 0.69 148 1 0.64 0.59 0.61 127 accuracy 0.65 275 macro avg 0.65 0.65 0.65 275
weighted avg 0.65 0.65 0.65 275

Εφαρμογή άλλων γεύσεων SVM με τη νοημοσύνη δεδομένων Scikit-Learn PlatoBlockchain της Python. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Σύγκριση μη γραμμικών επιδόσεων πυρήνα

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

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

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

Πρόκειται για τη δοκιμή όλων των πυρήνων και την επιλογή αυτού με συνδυασμό παραμέτρων και προετοιμασία δεδομένων που δίνουν τα αναμενόμενα αποτελέσματα σύμφωνα με το πλαίσιο του έργου σας.

Going Further – Χειροκίνητο έργο από άκρο σε άκρο

Η περιπετειώδης φύση σας σας κάνει να θέλετε να πάτε παραπέρα; Σας προτείνουμε να ελέγξετε το δικό μας Καθοδηγούμενο Έργο: «Πρόβλεψη τιμών σπιτιού – Μηχανική μάθηση στην Python».

Εφαρμογή άλλων γεύσεων SVM με τη νοημοσύνη δεδομένων Scikit-Learn PlatoBlockchain της Python. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Σε αυτό το καθοδηγούμενο έργο – θα μάθετε πώς να δημιουργείτε ισχυρά παραδοσιακά μοντέλα μηχανικής μάθησης καθώς και μοντέλα βαθιάς μάθησης, να χρησιμοποιείτε το Ensemble Learning και να εκπαιδεύετε μετα-μαθητές για να προβλέψετε τις τιμές των σπιτιών από μια τσάντα μοντέλων Scikit-Learn και Keras.

Χρησιμοποιώντας το Keras, το API βαθιάς εκμάθησης που έχει δημιουργηθεί πάνω από το Tensorflow, θα πειραματιστούμε με αρχιτεκτονικές, θα δημιουργήσουμε ένα σύνολο από στοιβαγμένα μοντέλα και θα εκπαιδεύσουμε μετα-μαθητής νευρωνικό δίκτυο (μοντέλο επιπέδου 1) για να υπολογίσετε την τιμολόγηση ενός σπιτιού.

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

Αυτό είναι ένα έργο από άκρο σε άκρο και όπως όλα τα έργα Machine Learning, θα ξεκινήσουμε με – με Διερευνητική Ανάλυση Δεδομένων, Ακολουθούμενη από Προεπεξεργασία δεδομένων και τελικά Ρηχό κτίριο και Μοντέλα Deep Learning για να ταιριάζει με τα δεδομένα που έχουμε εξερευνήσει και καθαρίσει προηγουμένως.

Συμπέρασμα

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

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

Η ξεκάθαρη κατανόηση του τρόπου λειτουργίας του κάθε πυρήνα και του πότε να τον χρησιμοποιήσετε σίγουρα θα σας βοηθήσει στο ταξίδι σας. Ενημερώστε μας πώς πάει η πρόοδος και καλή κωδικοποίηση!

Σφραγίδα ώρας:

Περισσότερα από Stackabuse