Βίντεο: Section 2 2024
Αν και το πρόβλημα της μηχανής μάθησης είναι να μαντέψει έναν αριθμό ή μια κλάση, η ιδέα πίσω από τη στρατηγική μάθησης του αλγορίθμου k-Nearest Neighbours (kNN) είναι πάντα η ίδια. Ο αλγόριθμος βρίσκει τις πιο παρόμοιες παρατηρήσεις με εκείνες που πρέπει να προβλέψετε και από τις οποίες αντλούν μια καλή διαίσθηση της πιθανής απάντησης με τον μέσο όρο των γειτονικών αξιών ή επιλέγοντας μεταξύ τους την πιο συχνή κατηγορία απαντήσεων.
Η στρατηγική μάθησης σε ένα kNN μοιάζει περισσότερο με απομνημόνευση. Είναι ακριβώς όπως θυμόμαστε ποια θα είναι η απάντηση όταν η ερώτηση έχει ορισμένα χαρακτηριστικά (βάσει περιστάσεων ή προηγούμενων παραδειγμάτων) αντί να γνωρίζει πραγματικά την απάντηση, επειδή καταλαβαίνετε το ερώτημα μέσω ειδικών κανόνων ταξινόμησης. Κατά μία έννοια, το kNN συχνά ορίζεται ως ένας τεμπέλης αλγόριθμος επειδή δεν πραγματοποιείται πραγματική εκμάθηση κατά τον χρόνο εκπαίδευσης, απλώς καταγραφή δεδομένων.
Όντας ένας τεμπέλης αλγόριθμος υποδηλώνει ότι το kNN είναι αρκετά γρήγορο στην εκπαίδευση αλλά πολύ αργό στην πρόβλεψη. (Οι περισσότερες από τις δραστηριότητες αναζήτησης και οι υπολογισμοί για τους γείτονες γίνονται εκείνη την εποχή.) Υποδηλώνει επίσης ότι ο αλγόριθμος είναι αρκετά μνήμη-εντατική επειδή πρέπει να αποθηκεύσετε το σύνολο δεδομένων σας στη μνήμη (πράγμα που σημαίνει ότι υπάρχει ένα όριο σε πιθανές εφαρμογές όταν ασχολείται με μεγάλα δεδομένα).
Στην ιδανική περίπτωση, το kNN μπορεί να κάνει τη διαφορά όταν εργάζεστε στην ταξινόμηση και έχετε πολλές ετικέτες για να αντιμετωπίσετε (για παράδειγμα, όταν ένας πράκτορας λογισμικού τοποθετεί μια ετικέτα σε ένα κοινωνικό δίκτυο ή όταν προτείνει σύσταση πώλησης). Το kNN μπορεί εύκολα να ασχοληθεί με εκατοντάδες ετικέτες, ενώ άλλοι αλγόριθμοι μάθησης πρέπει να καθορίσουν ένα διαφορετικό μοντέλο για κάθε ετικέτα.
Συνήθως, το kNN επεξεργάζεται τους γείτονες μιας παρατήρησης αφού χρησιμοποιήσει ένα μέτρο απόστασης όπως το Euclidean (η πιο κοινή επιλογή) ή το Manhattan (λειτουργεί καλύτερα όταν έχετε πολλά πλεονάζοντα χαρακτηριστικά στα δεδομένα σας). Δεν υπάρχουν απόλυτοι κανόνες σχετικά με το μέτρο απόστασης που είναι καλύτερο να χρησιμοποιηθεί. Εξαρτάται πραγματικά από την εφαρμογή που έχετε. Πρέπει επίσης να ελέγξετε κάθε απόσταση ως ξεχωριστή υπόθεση και να επιβεβαιώσετε μέσω διασταυρούμενης επικύρωσης ποιο μέτρο λειτουργεί καλύτερα με το πρόβλημα που επιλύετε.