Principal Component Analysis (PCA)
Τι είναι το Principal Component Analysis (PCA) ;
Το Principal Component Analysis (PCA) είναι μια στατιστική τεχνική παραγοντικής ανάλυσης και μείωσης διαστάσεων που μετασχηματίζει ένα σύνολο πιθανώς συσχετισμένων αρχικών χαρακτηριστικών σε ένα μικρότερο σύνολο γραμμικά μη συσχετισμένων χαρακτηριστικών που ονομάζονται κύριες συνιστώσες. Με αυτόν τον τρόπο, η PCA διατηρεί όσο το δυνατόν μεγαλύτερη διακύμανση στο σύνολο δεδομένων, ελαχιστοποιώντας παράλληλα τον αριθμό των χαρακτηριστικών.
Γιατί είναι σημαντική η μείωση διαστάσεων στην ανάλυση δεδομένων;
Τα σύνολα δεδομένων με μεγάλο αριθμό μεταβλητών απαιτούν σημαντική υπολογιστική ισχύ και μνήμη. Επιπλέον, τα δεδομένα υψηλής διάστασης μπορούν να προκαλέσουν υπερπροσαρμογή των μοντέλων μηχανικής μάθησης, που σημαίνει ότι απομνημονεύουν τα δεδομένα εκπαίδευσης αντί να βρίσκουν γενικά μοτίβα. Η μείωση των διαστάσεων απλοποιεί το σύνολο δεδομένων, μειώνει τον χρόνο υπολογισμού και φιλτράρει τον δομικό θόρυβο, οδηγώντας σε πιο ισχυρά μοντέλα.
Πώς λειτουργεί η PCA στην πράξη;
Η PCA υπολογίζει μαθηματικά τον πίνακα συνδιακύμανσης ολόκληρου του συνόλου δεδομένων για να ποσοτικοποιήσει τον τρόπο με τον οποίο οι διαφορετικές μεταβλητές σχετίζονται μεταξύ τους. Από αυτόν τον πίνακα, υπολογίζει τα ιδιοδιανύσματα και τις ιδιοτιμές. Τα ιδιοδιανύσματα καθορίζουν τις κατευθύνσεις του νέου χώρου χαρακτηριστικών, ενώ οι ιδιοτιμές καθορίζουν το μέγεθος της διακύμανσης που εξηγεί κάθε συγκεκριμένη κατεύθυνση. Τα αρχικά σημεία δεδομένων στη συνέχεια προβάλλονται μαθηματικά σε αυτές τις νέες κατευθύνσεις.
Τι ακριβώς είναι το "principal component";
Το principal component είναι μια νέα παραγόμενη μεταβλητή που κατασκευάζεται ως ένας γραμμικός συνδυασμός των αρχικών μεταβλητών στο σύνολο δεδομένων. Η πρώτη κύρια συνιστώσα είναι η κατεύθυνση που καταγράφει την απόλυτη μέγιστη διακύμανση των δεδομένων. Κάθε επόμενo principal component καταγράφει τη μέγιστη εναπομένουσα διακύμανση, υπό τον αυστηρό μαθηματικό περιορισμό ότι πρέπει να είναι ορθογώνια (εντελώς ασυσχέτιστη) με όλα τα προηγούμενα συστατικά.
Ποιοι είναι οι κύριοι περιορισμοί της χρήσης της PCA;
Η PCA υποθέτει ότι οι σχέσεις μεταξύ μεταβλητών είναι γραμμικές, δεν μπορεί να ανιχνεύσει ή να επεξεργαστεί μη γραμμικές σχέσεις. Είναι επίσης εξαιρετικά ευαίσθητη στις ακραίες τιμές, οι οποίες μπορούν να στρεβλώσουν σε μεγάλο βαθμό τον υπολογισμό του πίνακα συνδιακύμανσης. Επιπλέον, επειδή τα κύρια συστατικά είναι συνδυασμοί αρχικών χαρακτηριστικών, χάνουν την άμεση ερμηνευσιμότητα. Είναι δύσκολο να αντιστοιχιστεί μια προκύπτουσα κύρια συνιστώσα απευθείας πίσω σε μια συγκεκριμένη, πραγματική μέτρηση.
Πώς εφαρμόζεται η PCA σε ένα machine learning workflow και ποια εργαλεία χρησιμοποιούνται;
Μια κοινή εφαρμογή της PCA είναι η αναγνώριση προσώπου στην όραση υπολογιστών. Ένα σύνολο δεδομένων εικόνας περιέχει χιλιάδες pixel, όπου κάθε pixel λειτουργεί ως ένα μεμονωμένο χαρακτηριστικό.
Η τροφοδοσία χιλιάδων pixel απευθείας σε έναν αλγόριθμο ταξινομητή είναι υπολογιστικά δαπανηρή. Η PCA εφαρμόζεται για να μειώσει αυτά τα χιλιάδες χαρακτηριστικά pixel σε μερικές δεκάδες κύρια στοιχεία που διατηρούν την πιο κρίσιμη οπτική διακύμανση (όπως ακμές αντίθεσης και δομικά όρια). Ο ταξινομητής μηχανικής μάθησης εκπαιδεύεται στη συνέχεια σε αυτά τα λίγα κύρια στοιχεία αντί για τα ακατέργαστα pixel.
Πλαίσιο προγραμματισμού:
- Στην Python, η PCA εφαρμόζεται τυπικά χρησιμοποιώντας τη βιβλιοθήκη μηχανικής μάθησης scikit-learn, συγκεκριμένα μέσω της ενότητας sklearn.decomposition.PCA.
- Στην R, υλοποιείται χρησιμοποιώντας βασικές στατιστικές συναρτήσεις όπως η prcomp() ή μέσω εξωτερικών βιβλιοθηκών όπως η FactoMineR.