26 Σεπτεμβρίου 2017

Αλγόριθμοι που πρέπει να γνωρίζεις

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

Σε αυτό το άρθρο θα παρουσιάσουμε περιληπτικά, κάποιους βασικούς αλγόριθμους που χρησιμοποιούνται πολύ συχνά. Οι αλγόριθμοι μηχανικής μάθησης μπορούν να κατηγοριοποιηθούν σε 3 μεγάλες ομάδες. Τους αλγόριθμους μάθησης υπό επίβλεψη, χωρίς επίβλεψη και ενισχυμένης μάθησης. Η Μάθηση υπό επίβλεψη είναι πολύ χρήσιμη σε περιπτώσεις που έχουμε τις κατηγορίες για ένα σετ δεδομένων (training dataset), αλλά δεν έχουμε τις κατηγορίες και θέλουμε να τις προβλέψουμε για ένα άλλο dataset. Η χωρίς επίβλεψη μάθηση είναι χρήσιμη όταν θέλουμε να ανακαλύψουμε σχέσεις σε ένα σετ δεδομένων. Θα παρουσιάσουμε αλγόριθμους από αυτές τις δύο μεθόδους.

Μάθηση υπό επίβλεψη

 

1. Δέντρα απόφασης (Decision Trees): Ένα δέντρο απόφασης είναι ένα εργαλείο που υποστηρίζει την λήψη αποφάσεων. Χρησιμοποιεί ένα διάγραμμα που μοιάζει με δέντρο ή ένα μοντέλο από αποφάσεις και τα πιθανά γεγονότα που προκύπτουν από κάθε απόφαση. Η παρακάτω εικόντα δίνει μια αίσθηση για το πώς μοιάζει.



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

2. Naïve Bayes Classification: Είναι μια οικογένεια από απλούς πιθανοτικούς classifiers που βασίζονται στο θεώρημα του Bayes με πολύ δυνατές (Naïve) υποθέσεις ανεξαρτησίας ανάμεσα στις μεταβλητές.

Κάποια παραδείγματα εφαρμογής του στον πραγματικό κόσμο:
  • Να κατηγοριοποιήσει ένα email ως spam ή όχι spam
  • Να κατηγοριοποιήσει άρθρα ειδήσεων ανά θέμα
  • Να τσεκάρει αν ένα κείμενο εκφράζει θετικά ή αρνητικά συναισθήματα
  • Χρησιμοποιήσει σε λογισμικό αναγνώρισης προσώπου

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

3. Cluster Algorithms (Συστάδες): Είναι αλγόριθμοι που ομαδοποιούν ένα σετ παρατηρήσεων έτσι ώστε οι παρατηρήσεις στην ίδια ομάδα να είναι πιο όμοια μεταξύ τους από αυτά που βρίσκονται σε άλλες ομάδες. Κάθε αλγόριθμος είναι διαφορετικός και παρουσιάζουμε λίγους από αυτούς:
  • Centroid-based algorithms
  • Connectivity-based algorithms
  • Density-based algorithms
  • Probabilistic
  • Dimensionality Reduction
  • Neural networks / Deep Learning

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



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

Πηγή: kdnuggets.com