|
|
<!--
|
|
|
CO_OP_TRANSLATOR_METADATA:
|
|
|
{
|
|
|
"original_hash": "9d91f3af3758fdd4569fb410575995ef",
|
|
|
"translation_date": "2025-09-05T00:27:54+00:00",
|
|
|
"source_file": "1-Introduction/4-techniques-of-ML/README.md",
|
|
|
"language_code": "el"
|
|
|
}
|
|
|
-->
|
|
|
# Τεχνικές Μηχανικής Μάθησης
|
|
|
|
|
|
Η διαδικασία δημιουργίας, χρήσης και συντήρησης μοντέλων μηχανικής μάθησης και των δεδομένων που χρησιμοποιούν είναι πολύ διαφορετική από πολλές άλλες ροές εργασίας ανάπτυξης. Σε αυτό το μάθημα, θα απομυθοποιήσουμε τη διαδικασία και θα περιγράψουμε τις βασικές τεχνικές που πρέπει να γνωρίζετε. Θα:
|
|
|
|
|
|
- Κατανοήσετε τις διαδικασίες που υποστηρίζουν τη μηχανική μάθηση σε υψηλό επίπεδο.
|
|
|
- Εξερευνήσετε βασικές έννοιες όπως "μοντέλα", "προβλέψεις" και "δεδομένα εκπαίδευσης".
|
|
|
|
|
|
## [Προ-μάθημα κουίζ](https://ff-quizzes.netlify.app/en/ml/)
|
|
|
|
|
|
[](https://youtu.be/4NGM0U2ZSHU "ML για αρχάριους - Τεχνικές Μηχανικής Μάθησης")
|
|
|
|
|
|
> 🎥 Κάντε κλικ στην εικόνα παραπάνω για ένα σύντομο βίντεο που επεξηγεί αυτό το μάθημα.
|
|
|
|
|
|
## Εισαγωγή
|
|
|
|
|
|
Σε υψηλό επίπεδο, η τέχνη της δημιουργίας διαδικασιών μηχανικής μάθησης (ML) αποτελείται από μια σειρά βημάτων:
|
|
|
|
|
|
1. **Αποφασίστε την ερώτηση**. Οι περισσότερες διαδικασίες ML ξεκινούν με την υποβολή μιας ερώτησης που δεν μπορεί να απαντηθεί με ένα απλό πρόγραμμα συνθηκών ή μια μηχανή βασισμένη σε κανόνες. Αυτές οι ερωτήσεις συχνά περιστρέφονται γύρω από προβλέψεις βασισμένες σε μια συλλογή δεδομένων.
|
|
|
2. **Συλλέξτε και προετοιμάστε δεδομένα**. Για να μπορέσετε να απαντήσετε στην ερώτησή σας, χρειάζεστε δεδομένα. Η ποιότητα και, μερικές φορές, η ποσότητα των δεδομένων σας θα καθορίσει πόσο καλά μπορείτε να απαντήσετε στην αρχική σας ερώτηση. Η οπτικοποίηση των δεδομένων είναι μια σημαντική πτυχή αυτής της φάσης. Αυτή η φάση περιλαμβάνει επίσης τη διαίρεση των δεδομένων σε ομάδες εκπαίδευσης και δοκιμής για τη δημιουργία ενός μοντέλου.
|
|
|
3. **Επιλέξτε μέθοδο εκπαίδευσης**. Ανάλογα με την ερώτησή σας και τη φύση των δεδομένων σας, πρέπει να επιλέξετε πώς θέλετε να εκπαιδεύσετε ένα μοντέλο ώστε να αντικατοπτρίζει καλύτερα τα δεδομένα σας και να κάνει ακριβείς προβλέψεις. Αυτό είναι το μέρος της διαδικασίας ML που απαιτεί συγκεκριμένη εξειδίκευση και, συχνά, σημαντική ποσότητα πειραματισμού.
|
|
|
4. **Εκπαιδεύστε το μοντέλο**. Χρησιμοποιώντας τα δεδομένα εκπαίδευσης, θα χρησιμοποιήσετε διάφορους αλγόριθμους για να εκπαιδεύσετε ένα μοντέλο ώστε να αναγνωρίζει μοτίβα στα δεδομένα. Το μοντέλο μπορεί να χρησιμοποιεί εσωτερικά βάρη που μπορούν να προσαρμοστούν για να δώσουν προτεραιότητα σε ορισμένα μέρη των δεδομένων έναντι άλλων για τη δημιουργία ενός καλύτερου μοντέλου.
|
|
|
5. **Αξιολογήστε το μοντέλο**. Χρησιμοποιείτε δεδομένα που δεν έχουν ξαναχρησιμοποιηθεί (τα δεδομένα δοκιμής σας) από το συλλεγμένο σύνολο για να δείτε πώς αποδίδει το μοντέλο.
|
|
|
6. **Ρύθμιση παραμέτρων**. Με βάση την απόδοση του μοντέλου σας, μπορείτε να επαναλάβετε τη διαδικασία χρησιμοποιώντας διαφορετικές παραμέτρους ή μεταβλητές που ελέγχουν τη συμπεριφορά των αλγορίθμων που χρησιμοποιούνται για την εκπαίδευση του μοντέλου.
|
|
|
7. **Προβλέψτε**. Χρησιμοποιήστε νέες εισόδους για να δοκιμάσετε την ακρίβεια του μοντέλου σας.
|
|
|
|
|
|
## Ποια ερώτηση να θέσετε
|
|
|
|
|
|
Οι υπολογιστές είναι ιδιαίτερα ικανοί στο να ανακαλύπτουν κρυφά μοτίβα στα δεδομένα. Αυτή η χρησιμότητα είναι πολύ χρήσιμη για ερευνητές που έχουν ερωτήσεις σχετικά με έναν συγκεκριμένο τομέα που δεν μπορούν να απαντηθούν εύκολα με τη δημιουργία μιας μηχανής βασισμένης σε κανόνες. Δεδομένης μιας αναλογιστικής εργασίας, για παράδειγμα, ένας επιστήμονας δεδομένων μπορεί να κατασκευάσει χειροποίητους κανόνες γύρω από τη θνησιμότητα των καπνιστών έναντι των μη καπνιστών.
|
|
|
|
|
|
Όταν όμως εισάγονται πολλές άλλες μεταβλητές στην εξίσωση, ένα μοντέλο ML μπορεί να αποδειχθεί πιο αποτελεσματικό για την πρόβλεψη μελλοντικών ποσοστών θνησιμότητας βάσει ιστορικού υγείας. Ένα πιο ευχάριστο παράδειγμα μπορεί να είναι η πρόβλεψη καιρού για τον μήνα Απρίλιο σε μια συγκεκριμένη τοποθεσία βάσει δεδομένων που περιλαμβάνουν γεωγραφικό πλάτος, γεωγραφικό μήκος, κλιματική αλλαγή, εγγύτητα στη θάλασσα, μοτίβα του αεροχειμάρρου και άλλα.
|
|
|
|
|
|
✅ Αυτή η [παρουσίαση](https://www2.cisl.ucar.edu/sites/default/files/2021-10/0900%20June%2024%20Haupt_0.pdf) σχετικά με μοντέλα καιρού προσφέρει μια ιστορική προοπτική για τη χρήση της ML στην ανάλυση καιρού.
|
|
|
|
|
|
## Εργασίες πριν την κατασκευή
|
|
|
|
|
|
Πριν ξεκινήσετε να δημιουργείτε το μοντέλο σας, υπάρχουν αρκετές εργασίες που πρέπει να ολοκληρώσετε. Για να δοκιμάσετε την ερώτησή σας και να σχηματίσετε μια υπόθεση βάσει των προβλέψεων ενός μοντέλου, πρέπει να εντοπίσετε και να διαμορφώσετε αρκετά στοιχεία.
|
|
|
|
|
|
### Δεδομένα
|
|
|
|
|
|
Για να μπορέσετε να απαντήσετε στην ερώτησή σας με οποιοδήποτε είδος βεβαιότητας, χρειάζεστε μια καλή ποσότητα δεδομένων του σωστού τύπου. Υπάρχουν δύο πράγματα που πρέπει να κάνετε σε αυτό το σημείο:
|
|
|
|
|
|
- **Συλλογή δεδομένων**. Λαμβάνοντας υπόψη το προηγούμενο μάθημα σχετικά με τη δικαιοσύνη στην ανάλυση δεδομένων, συλλέξτε τα δεδομένα σας με προσοχή. Να είστε ενήμεροι για τις πηγές αυτών των δεδομένων, τυχόν εγγενείς προκαταλήψεις που μπορεί να έχουν και να τεκμηριώσετε την προέλευσή τους.
|
|
|
- **Προετοιμασία δεδομένων**. Υπάρχουν αρκετά βήματα στη διαδικασία προετοιμασίας δεδομένων. Ίσως χρειαστεί να συγκεντρώσετε δεδομένα και να τα κανονικοποιήσετε εάν προέρχονται από διαφορετικές πηγές. Μπορείτε να βελτιώσετε την ποιότητα και την ποσότητα των δεδομένων μέσω διάφορων μεθόδων, όπως η μετατροπή συμβολοσειρών σε αριθμούς (όπως κάνουμε στην [Ομαδοποίηση](../../5-Clustering/1-Visualize/README.md)). Ίσως επίσης να δημιουργήσετε νέα δεδομένα βάσει των αρχικών (όπως κάνουμε στην [Κατηγοριοποίηση](../../4-Classification/1-Introduction/README.md)). Μπορείτε να καθαρίσετε και να επεξεργαστείτε τα δεδομένα (όπως θα κάνουμε πριν το μάθημα [Web App](../../3-Web-App/README.md)). Τέλος, ίσως χρειαστεί να τα τυχαιοποιήσετε και να τα ανακατέψετε, ανάλογα με τις τεχνικές εκπαίδευσης που χρησιμοποιείτε.
|
|
|
|
|
|
✅ Αφού συλλέξετε και επεξεργαστείτε τα δεδομένα σας, αφιερώστε λίγο χρόνο για να δείτε αν η μορφή τους θα σας επιτρέψει να απαντήσετε στην ερώτηση που θέσατε. Μπορεί να διαπιστώσετε ότι τα δεδομένα δεν θα αποδώσουν καλά στην εργασία που έχετε θέσει, όπως ανακαλύπτουμε στα μαθήματα [Ομαδοποίησης](../../5-Clustering/1-Visualize/README.md)!
|
|
|
|
|
|
### Χαρακτηριστικά και Στόχος
|
|
|
|
|
|
Ένα [χαρακτηριστικό](https://www.datasciencecentral.com/profiles/blogs/an-introduction-to-variable-and-feature-selection) είναι μια μετρήσιμη ιδιότητα των δεδομένων σας. Σε πολλά σύνολα δεδομένων εκφράζεται ως επικεφαλίδα στήλης όπως 'ημερομηνία', 'μέγεθος' ή 'χρώμα'. Η μεταβλητή χαρακτηριστικού σας, συνήθως εκπροσωπείται ως `X` στον κώδικα, αντιπροσωπεύει τη μεταβλητή εισόδου που θα χρησιμοποιηθεί για την εκπαίδευση του μοντέλου.
|
|
|
|
|
|
Ο στόχος είναι αυτό που προσπαθείτε να προβλέψετε. Ο στόχος, συνήθως εκπροσωπείται ως `y` στον κώδικα, αντιπροσωπεύει την απάντηση στην ερώτηση που προσπαθείτε να θέσετε στα δεδομένα σας: τον Δεκέμβριο, ποιο **χρώμα** κολοκύθες θα είναι οι φθηνότερες; Στο Σαν Φρανσίσκο, ποιες γειτονιές θα έχουν την καλύτερη **τιμή** ακινήτων; Μερικές φορές ο στόχος αναφέρεται επίσης ως χαρακτηριστικό ετικέτας.
|
|
|
|
|
|
### Επιλογή μεταβλητής χαρακτηριστικού
|
|
|
|
|
|
🎓 **Επιλογή Χαρακτηριστικών και Εξαγωγή Χαρακτηριστικών** Πώς ξέρετε ποια μεταβλητή να επιλέξετε όταν δημιουργείτε ένα μοντέλο; Πιθανότατα θα περάσετε από μια διαδικασία επιλογής χαρακτηριστικών ή εξαγωγής χαρακτηριστικών για να επιλέξετε τις σωστές μεταβλητές για το πιο αποδοτικό μοντέλο. Ωστόσο, δεν είναι το ίδιο πράγμα: "Η εξαγωγή χαρακτηριστικών δημιουργεί νέα χαρακτηριστικά από συναρτήσεις των αρχικών χαρακτηριστικών, ενώ η επιλογή χαρακτηριστικών επιστρέφει ένα υποσύνολο των χαρακτηριστικών." ([πηγή](https://wikipedia.org/wiki/Feature_selection))
|
|
|
|
|
|
### Οπτικοποίηση των δεδομένων σας
|
|
|
|
|
|
Μια σημαντική πτυχή του εργαλείου του επιστήμονα δεδομένων είναι η δύναμη να οπτικοποιεί δεδομένα χρησιμοποιώντας αρκετές εξαιρετικές βιβλιοθήκες όπως Seaborn ή MatPlotLib. Η αναπαράσταση των δεδομένων σας οπτικά μπορεί να σας επιτρέψει να ανακαλύψετε κρυφές συσχετίσεις που μπορείτε να αξιοποιήσετε. Οι οπτικοποιήσεις σας μπορεί επίσης να σας βοηθήσουν να ανακαλύψετε προκαταλήψεις ή μη ισορροπημένα δεδομένα (όπως ανακαλύπτουμε στην [Κατηγοριοποίηση](../../4-Classification/2-Classifiers-1/README.md)).
|
|
|
|
|
|
### Διαχωρισμός του συνόλου δεδομένων σας
|
|
|
|
|
|
Πριν από την εκπαίδευση, πρέπει να διαχωρίσετε το σύνολο δεδομένων σας σε δύο ή περισσότερα μέρη άνισης μεγέθους που εξακολουθούν να αντιπροσωπεύουν καλά τα δεδομένα.
|
|
|
|
|
|
- **Εκπαίδευση**. Αυτό το μέρος του συνόλου δεδομένων προσαρμόζεται στο μοντέλο σας για να το εκπαιδεύσει. Αυτό το σύνολο αποτελεί την πλειοψηφία του αρχικού συνόλου δεδομένων.
|
|
|
- **Δοκιμή**. Ένα σύνολο δεδομένων δοκιμής είναι μια ανεξάρτητη ομάδα δεδομένων, συχνά συγκεντρωμένη από τα αρχικά δεδομένα, που χρησιμοποιείτε για να επιβεβαιώσετε την απόδοση του μοντέλου που δημιουργήθηκε.
|
|
|
- **Επικύρωση**. Ένα σύνολο επικύρωσης είναι μια μικρότερη ανεξάρτητη ομάδα παραδειγμάτων που χρησιμοποιείτε για να ρυθμίσετε τις υπερπαραμέτρους ή την αρχιτεκτονική του μοντέλου για να το βελτιώσετε. Ανάλογα με το μέγεθος των δεδομένων σας και την ερώτηση που θέτετε, μπορεί να μην χρειαστεί να δημιουργήσετε αυτό το τρίτο σύνολο (όπως σημειώνουμε στην [Πρόβλεψη Χρονοσειρών](../../7-TimeSeries/1-Introduction/README.md)).
|
|
|
|
|
|
## Δημιουργία μοντέλου
|
|
|
|
|
|
Χρησιμοποιώντας τα δεδομένα εκπαίδευσης σας, ο στόχος σας είναι να δημιουργήσετε ένα μοντέλο, ή μια στατιστική αναπαράσταση των δεδομένων σας, χρησιμοποιώντας διάφορους αλγόριθμους για να το **εκπαιδεύσετε**. Η εκπαίδευση ενός μοντέλου το εκθέτει σε δεδομένα και του επιτρέπει να κάνει υποθέσεις σχετικά με αντιληπτά μοτίβα που ανακαλύπτει, επικυρώνει και αποδέχεται ή απορρίπτει.
|
|
|
|
|
|
### Αποφασίστε τη μέθοδο εκπαίδευσης
|
|
|
|
|
|
Ανάλογα με την ερώτησή σας και τη φύση των δεδομένων σας, θα επιλέξετε μια μέθοδο για να τα εκπαιδεύσετε. Εξετάζοντας την [τεκμηρίωση του Scikit-learn](https://scikit-learn.org/stable/user_guide.html) - την οποία χρησιμοποιούμε σε αυτό το μάθημα - μπορείτε να εξερευνήσετε πολλούς τρόπους για να εκπαιδεύσετε ένα μοντέλο. Ανάλογα με την εμπειρία σας, μπορεί να χρειαστεί να δοκιμάσετε αρκετές διαφορετικές μεθόδους για να δημιουργήσετε το καλύτερο μοντέλο. Είναι πιθανό να περάσετε από μια διαδικασία όπου οι επιστήμονες δεδομένων αξιολογούν την απόδοση ενός μοντέλου τροφοδοτώντας το με δεδομένα που δεν έχει δει, ελέγχοντας για ακρίβεια, προκαταλήψεις και άλλα ζητήματα που υποβαθμίζουν την ποιότητα, και επιλέγοντας την πιο κατάλληλη μέθοδο εκπαίδευσης για την εργασία.
|
|
|
|
|
|
### Εκπαίδευση μοντέλου
|
|
|
|
|
|
Με τα δεδομένα εκπαίδευσης σας, είστε έτοιμοι να τα "προσαρμόσετε" για να δημιουργήσετε ένα μοντέλο. Θα παρατηρήσετε ότι σε πολλές βιβλιοθήκες ML θα βρείτε τον κώδικα 'model.fit' - είναι αυτή τη στιγμή που στέλνετε τη μεταβλητή χαρακτηριστικού σας ως πίνακα τιμών (συνήθως 'X') και μια μεταβλητή στόχου (συνήθως 'y').
|
|
|
|
|
|
### Αξιολόγηση του μοντέλου
|
|
|
|
|
|
Μόλις ολοκληρωθεί η διαδικασία εκπαίδευσης (μπορεί να χρειαστούν πολλές επαναλήψεις ή "εποχές" για να εκπαιδευτεί ένα μεγάλο μοντέλο), θα μπορείτε να αξιολογήσετε την ποιότητα του μοντέλου χρησιμοποιώντας δεδομένα δοκιμής για να μετρήσετε την απόδοσή του. Αυτά τα δεδομένα είναι ένα υποσύνολο των αρχικών δεδομένων που το μοντέλο δεν έχει αναλύσει προηγουμένως. Μπορείτε να εκτυπώσετε έναν πίνακα μετρικών σχετικά με την ποιότητα του μοντέλου σας.
|
|
|
|
|
|
🎓 **Προσαρμογή μοντέλου**
|
|
|
|
|
|
Στο πλαίσιο της μηχανικής μάθησης, η προσαρμογή μοντέλου αναφέρεται στην ακρίβεια της υποκείμενης λειτουργίας του μοντέλου καθώς προσπαθεί να αναλύσει δεδομένα με τα οποία δεν είναι εξοικειωμένο.
|
|
|
|
|
|
🎓 **Υποπροσαρμογή** και **υπερπροσαρμογή** είναι κοινά προβλήματα που υποβαθμίζουν την ποιότητα του μοντέλου, καθώς το μοντέλο προσαρμόζεται είτε όχι αρκετά καλά είτε υπερβολικά καλά. Αυτό προκαλεί το μοντέλο να κάνει προβλέψεις είτε πολύ στενά ευθυγραμμισμένες είτε πολύ χαλαρά ευθυγραμμισμένες με τα δεδομένα εκπαίδευσης του. Ένα υπερπροσαρμοσμένο μοντέλο προβλέπει τα δεδομένα εκπαίδευσης πολύ καλά επειδή έχει μάθει τις λεπτομέρειες και τον θόρυβο των δεδομένων υπερβολικά καλά. Ένα υποπροσαρμοσμένο μοντέλο δεν είναι ακριβές καθώς δεν μπορεί να αναλύσει με ακρίβεια ούτε τα δεδομένα εκπαίδευσης ούτε τα δεδομένα που δεν έχει "δει".
|
|
|
|
|
|

|
|
|
> Γραφικό από [Jen Looper](https://twitter.com/jenlooper)
|
|
|
|
|
|
## Ρύθμιση παραμέτρων
|
|
|
|
|
|
Μόλις ολοκληρωθεί η αρχική εκπαίδευση, παρατηρήστε την ποιότητα του μοντέλου και σκεφτείτε να το βελτιώσετε τροποποιώντας τις "υπερπαραμέτρους" του. Διαβάστε περισσότερα για τη διαδικασία [στην τεκμηρίωση](https://
|
|
|
|
|
|
---
|
|
|
|
|
|
**Αποποίηση ευθύνης**:
|
|
|
Αυτό το έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία αυτόματης μετάφρασης [Co-op Translator](https://github.com/Azure/co-op-translator). Παρόλο που καταβάλλουμε προσπάθειες για ακρίβεια, παρακαλούμε να έχετε υπόψη ότι οι αυτοματοποιημένες μεταφράσεις ενδέχεται να περιέχουν λάθη ή ανακρίβειες. Το πρωτότυπο έγγραφο στη μητρική του γλώσσα θα πρέπει να θεωρείται η αυθεντική πηγή. Για κρίσιμες πληροφορίες, συνιστάται επαγγελματική ανθρώπινη μετάφραση. Δεν φέρουμε ευθύνη για τυχόν παρεξηγήσεις ή εσφαλμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης. |