Μια απλή εισαγωγή για άτομα που θέλουν να μάθουν περισσότερα.

Φαντάσου αυτό:

Είναι ένα ζεστό βράδυ Παρασκευής και είστε στη μέση του δείπνου με τη γιαγιά σας. Μόλις τελείωσε να σε ταΐζει υπερβολικά με το νόστιμο φαγητό της και τώρα θέλει να φτιάξεις τον λογαριασμό της στο Skype. «Δεν λειτουργεί» παραπονιέται. Αποδεικνύεται ότι κατάφερε με κάποιο τρόπο να κολλήσει τον ιό του δούρειου ίππου. Επαναφέρεις τον υπολογιστή της, δημιουργείς νέο λογαριασμό Skype και όλα είναι καλά.

«Πες μου τι κάνεις στο σχολείο!» αυτη ρωταει. Ξέρεις ότι δεν υπάρχει τρόπος να εξηγήσεις τα πράγματα. «Χμμ πράγματα που σχετίζονται με τον υπολογιστή» απαντάτε. «Αλλά τι είδους πράγματα;» ξαναρωτάει. "Λέγεται μηχανική μάθηση...;" λες, ελπίζοντας ότι θα προχωρήσει. Δεν το κάνει. «Τι είναι η μηχανική μάθηση;» ρωτάει με ενθουσιασμό.

Εάν βρίσκεστε αυτήν τη στιγμή σε αυτήν την κατάσταση, ΜΗΝ ΑΝΗΣΥΧΕΤΕ! Αυτό το άρθρο εξυπηρετεί αυτόν ακριβώς τον σκοπό — πώς εξηγείτε μια τέτοια έννοια σε κάποιον που δεν έχει σχεδόν καθόλου γνώσεις στον τομέα; Λοιπόν, ξεκινάς αργά και απλά.

(Αυτό το άρθρο προορίζεται για κάθε αρχάριο που θέλει να μάθει περισσότερα για τη Μηχανική Μάθηση, όχι μόνο για γιαγιάδες😅)

Τι είναι η Μηχανική Μάθηση;

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

Με απλά λόγια, μια μηχανή που μαθαίνει! Η Μηχανική Μάθηση είναι ένα υποπεδίο της Τεχνητής Νοημοσύνης (AI), επομένως πρέπει πρώτα να κατανοήσουμε αυτήν την έννοια.

Τεχνητή νοημοσύνη

Είμαι βέβαιος ότι έχετε ακούσει αυτόν τον όρο να χρησιμοποιείται σε πολλές διαφορετικές ταινίες - "Ex Machina", "The Matrix", "Tron" και ούτω καθεξής. Αυτός ο όρος εμφανίζεται συνήθως σε ένα αρνητικό πλαίσιο, όπως «τα ρομπότ καταλαμβάνουν τον κόσμο και γίνονται πιο έξυπνα από τους ανθρώπους», αλλά στην πραγματικότητα, η βιομηχανία δεν είναι καθόλου έτσι (μέχρι στιγμής). Βλέπουμε την τεχνητή νοημοσύνη γύρω μας καθημερινά: αυτοοδηγούμενα αυτοκίνητα Tesla να περιφέρονται στους δρόμους, το «Alexa» — η προσωπική οικιακή συσκευή αναγνώρισης φωνής της Amazon από την οποία παίζετε μουσική και πολλά άλλα. Όλοι αναρωτιούνται πώς το Netflix γνωρίζει ακριβώς ποια εκπομπή/ταινία πρέπει να παρακολουθήσετε στη συνέχεια; Αυτό είναι τεχνητή νοημοσύνη! Έχει επηρεάσει τον κόσμο μας με πάρα πολλούς τρόπους και αυτή είναι μόνο η αρχή.

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

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

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

Ας εμβαθύνουμε στη μηχανική μάθηση και ας δούμε λίγο τι συμβαίνει στα παρασκήνια.

Τύποι Μηχανικής Μάθησης

Η μηχανική μάθηση μπορεί να χωριστεί σε τρεις διαφορετικές κατηγορίες —

  • Εποπτευόμενη μάθηση
  • Μάθηση χωρίς επίβλεψη
  • Ενίσχυση μάθησης

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

Εποπτευόμενη μάθηση

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

Για παράδειγμα, ας πάρουμε μια διαδικασία που όλοι γνωρίζουμε - κατάθεση επιταγών. Φυσικά, βρισκόμαστε στον 21ο αιώνα και δεν χρειάζεται να πάμε μέχρι την τράπεζα. το μόνο που χρειάζεται είναι μια εικόνα της επιταγής στο τηλέφωνό μας και voilà, τα χρήματα έχουν κατατεθεί στον λογαριασμό σας. Σε αυτήν την περίπτωση, ένας εποπτευόμενος αλγόριθμος μηχανικής μάθησης έπρεπε να επεξεργαστεί το χειρόγραφο στην επιταγή, να τους μετατρέψει σε ψηφιακούς αριθμούς και στη συνέχεια να εκπληρώσει την επιθυμητή εργασία.

Πώς μπορεί μια μηχανή να επεξεργαστεί χειρόγραφους αριθμούς και γράμματα; Λοιπόν, ο αλγόριθμος αρχικά παίρνει χιλιάδες εικόνες χειρόγραφων χαρακτήρων μαζί με ετικέτες που φτιάχνονται από ανθρώπους για το τι είναι κάθε χαρακτήρας. Βρίσκεται μια σχέση μεταξύ χαρακτήρων και ετικετών (αλλάζει ανάλογα με τον αλγόριθμο) και τώρα το πρόγραμμα μπορεί να ταξινομήσει μια νέα εικόνα χρησιμοποιώντας την ίδια σχέση. Με την εποπτευόμενη εκμάθηση, διδάσκουμε το μηχάνημα να βρίσκει ένα συγκεκριμένο μοτίβο με υπάρχοντα δεδομένα, το οποίο στη συνέχεια μπορεί να αναγνωρίσει νέα δεδομένα χρησιμοποιώντας. Ένα προφανές μειονέκτημα αυτής της μεθόδου είναι η ανάγκη να υπάρχουν πολλά δεδομένα για τη δημιουργία ενός αλγόριθμου εκμάθησης. Με χειρόγραφους χαρακτήρες, ένας άνθρωπος χρειάζεται να βάλει ετικέτες σε χιλιάδες διαφορετικές εικόνες, κάτι που απαιτεί λίγη δουλειά.

Η εποπτευόμενη μάθηση μπορεί να χωριστεί σε δύο υποομάδες: παλίνδρομο και ταξινόμηση.

Οπισθοδρόμηση

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

Για παράδειγμα, θέλουμε να προβλέψουμε ποιο θα είναι το ετήσιο εισόδημα κάποιου. Λαμβάνουμε όλες τις σημαντικές πληροφορίες αυτού του ατόμου: έτη εκπαίδευσης, ηλικία, τοποθεσία και οτιδήποτε άλλο είναι σχετικό. αυτά τα χαρακτηριστικά ονομάζονταιχαρακτηριστικά,και μπορεί να έχουν διαφορετικές τιμές με βάση την κατηγορία τους (αριθμητικά, δυαδικά — «ναι»/«όχι»).

Η εποπτευόμενη μάθηση βασίζεται σε γνωστά δεδομένα, επομένως πρέπει πρώτα να εισαγάγουμε πολλούς διαφορετικούς ανθρώπους με τα χαρακτηριστικά και το ετήσιο εισόδημά τους. «Ο Ντέιβιντ έχει 3 χρόνια εκπαίδευσης, είναι 24 ετών και ζει στη Νέα Υόρκη. Το ετήσιο εισόδημά του είναι 120 χιλιάδες». Με πολλά ακόμη από αυτά, το μοντέλο παλινδρόμησης θα δημιουργήσει μια σχέση μεταξύ αυτών των χαρακτηριστικών και ενός ετήσιου εισοδήματος.

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

Ταξινόμηση

Τα μοντέλα ταξινόμησης δεν προσπαθούν να προβλέψουν μια τιμή, αλλά προσπαθούν να βγάλουν κάποιο συμπέρασμα από τις παρατηρούμενες τιμές. Προβλέπουν μια ετικέτα. "Είναι αυτό το email spam ή όχι;", "θα κάνει κλικ ο χρήστης σε αυτήν τη διαφήμιση;". Για να προβλέψει εάν ένα email ανήκει στην κατηγορία «spam», πρέπει πρώτα να βρει το μοτίβο άλλων ανεπιθύμητων μηνυμάτων ηλεκτρονικού ταχυδρομείου.

Αυτά τα μοντέλα δεν μπορούν ποτέ να είναι 100% ακριβή, καθώς οι μηχανές δεν μπορούν να λάβουν αποφάσεις όπως μπορεί ο εγκέφαλός μας. Όλα εξαρτώνται από το μοντέλο ταξινόμησης και από ποια χαρακτηριστικά χρησιμοποιούνται για την κατηγοριοποίηση των ομάδων. Για παράδειγμα, αν προσπαθούσαμε να φτιάξουμε ένα μοντέλο που θα αναγνωρίζει εάν ένα ζώο είναι ερπετό, πρέπει να αποφασίσουμε ποια χαρακτηριστικά κάνουν ένα ζώο ερπετό. Ας υποθέσουμε ότι χρησιμοποιούμε «ψυχρόαιμα;» και «γεννά αυγά;». εάν τα δεδομένα εισόδου μας πληρούν αυτά τα δύο χαρακτηριστικά — μπορούμε να τα κατηγοριοποιήσουμε ως ερπετό. Κροκόδειλος? Εργα. Σαύρα? Ναι. Σολομός? Περιμένετε… ένα ψάρι σολομού είναι ψυχρόαιμα και γεννά αυγά, αλλά δεν είναι ερπετό. Το μοντέλο ταξινόμησής μας έχει δώσει ένα ψευδώς θετικό. Σε αυτήν την περίπτωση, θα αυξήσουμε τα χαρακτηριστικά του μοντέλου μας για να το κάνουμε πιο ακριβές.

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

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

KNN — K-Κοντινότεροι γείτονες

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

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

Για k=3 (δηλαδή στους 3 πλησιέστερους γείτονες), βρίσκουμε δύο κόκκινα τρίγωνα και ένα μπλε τετράγωνο. Σε αυτή την περίπτωση, θα προβλέπαμε ότι ο μυστηριώδης πράσινος κύκλος είναι ένα κόκκινο τρίγωνο αφού είναι οι περισσότεροι από τους πιο κοντινούς του γείτονες. Αν χρησιμοποιήσουμε k=5,βρίσκουμε 3 μπλε τετράγωνα και 2 κόκκινα τρίγωνα, επομένως ονομάζουμε τον πράσινο κύκλο μας ως το πιο κοινό μπλε τετράγωνο. Αυτή είναι η όλη ιδέα πίσω από τους k-πλησιέστερους γείτονες.

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

Τα βήματα για αυτόν τον αλγόριθμο είναι τα ακόλουθα:

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

Τις περισσότερες φορές τα δεδομένα δεν μπορούν να διαιρεθούν τόσο εύκολα σε ένα 2D γράφημα και πρέπει να βρούμε κάποιον άλλο τρόπο για να υπολογίσουμε την απόσταση μεταξύ ενός νέου σημείου δεδομένων και όλων των υπαρχόντων. Για παράδειγμα, αν προσπαθούμε να προβλέψουμε την τιμή ενός σπιτιού, διαφορετικοί παράγοντες δεν μπορούν να απεικονιστούν σε ένα γράφημα και θα χρειαστεί να βρούμε μια διαφορετική μέθοδο. μερικά από αυτά περιλαμβάνουν ΕυκλείδειαήΑπόσταση Μανχάταν.

Μάθηση χωρίς επίβλεψη

Σε ορισμένες περιπτώσεις, δεν θα έχουμε αρχικά δεδομένα βάσει χρήστη. Εάν βγει ένα νέο προϊόν και πρέπει να προβλέψουμε κάτι για αυτό, δεν έχουμε τρόπο να αναλύσουμε προηγούμενες πληροφορίες χωρίς δεδομένα. Αναφερόμαστε σε αυτές τις περιπτώσεις ως χωρίς επίβλεψη (επειδή τα δεδομένα είναι χωρίς ετικέτα), κατά την οποία το μοντέλο μαθαίνει πώς για να βρείτε την υποκείμενη δομή ενός συνόλου δεδομένων. Υπάρχουν μερικές κοινές εργασίες στη μάθηση χωρίς επίβλεψη, με την πιο συνηθισμένη να είναι η «ομαδοποίηση» των δεδομένων σε ομάδες βάσει ομοιότητας.

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

Υπάρχουν διάφορες μέθοδοι ομαδοποίησης - k-means ομαδοποίηση, ιεραρχική ομαδοποίηση και πολλές άλλες. Ελέγξτε το αυτό εάν θέλετε να μάθετε περισσότερα σχετικά με την εκμάθηση χωρίς επίβλεψη.

Ενισχυτική Μάθηση

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

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

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

Υπάρχουν διαφορετικές προσεγγίσεις για την ενισχυτική μάθηση, όπως οι Διαδικασίες Αποφάσεων Markov (MDP), η Q-Learning, η Εκμάθηση Πολιτικής και άλλα.

Νευρωνικά δίκτυα και βαθιά μάθηση

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

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

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

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

Συνοψίζοντας

Όταν τα ρομπότ γίνουν πιο έξυπνα από εμάς και κατακτήσουν τον κόσμο, τουλάχιστον θα ξέρετε γιατί! Η μηχανική μάθηση είναι μια πολύ ευρεία έννοια που περιέχει ακόμη περισσότερες υποέννοιες και αποτελεί μέρος μιας ακόμη ευρύτερης έννοιας (AI). Σε αυτό το άρθρο, εξετάσαμε εν συντομία τα βασικά της Μηχανικής Μάθησης και αν το βρήκατε ενδιαφέρον, θα συνιστούσα να σκάψετε βαθύτερα:

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

Πηγές