Πώς να εφαρμόσετε τη γραμμική ανάλυση διακρίσεων στο R;



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

Η Linear Discriminant Analysis είναι μια πολύ δημοφιλής τεχνική μηχανικής εκμάθησης που χρησιμοποιείται για την επίλυση προβλημάτων ταξινόμησης. Σε αυτό το άρθρο θα προσπαθήσουμε να κατανοήσουμε τη διαίσθηση και τα μαθηματικά πίσω από αυτήν την τεχνική. Ένα παράδειγμα εφαρμογής του LDA το 2007 Ρ παρέχεται επίσης.

Ας ξεκινήσουμε λοιπόν τότε





Παραδοχή γραμμικής διάκρισης

Η ανάλυση γραμμικής διάκρισης βασίζεται στις ακόλουθες παραδοχές:

  • Η εξαρτημένη μεταβλητή Υ είναι διακριτή. Σε αυτό το άρθρο θα υποθέσουμε ότι η εξαρτημένη μεταβλητή είναι δυαδική και λαμβάνει τιμές κλάσης {+1, -1} . Η πιθανότητα ενός δείγματος να ανήκει στην τάξη +1 , δηλ P (Y = +1) = σελ . Επομένως, η πιθανότητα ενός δείγματος να ανήκει στην τάξη -ένας είναι 1-σελ .



  • Οι ανεξάρτητες μεταβλητές Χ προέρχονται από gaussian διανομές. Ο μέσος όρος της γκάουσας κατανομής εξαρτάται από την ετικέτα της τάξης Υ . δηλαδή εάν Υ Εγώ = +1 , τότε ο μέσος όρος του Χ Εγώ είναι & # 120583 +1 , αλλιώς είναι & # 120583 -ένας . Η διακύμανση & # 120590 2 είναι το ίδιο και για τις δύο κατηγορίες. Μαθηματικά μιλώντας, X | (Y = +1) ~ N (& # 120583 +1 , & # 120590 2 ) και X | (Y = -1) ~ N (& # 120583 -ένας , & # 120590 2 ) , που Ν δηλώνει την κανονική κατανομή.

Με αυτές τις πληροφορίες είναι δυνατή η κατασκευή μιας κοινής διανομής Ρ (Χ, Υ) για την ανεξάρτητη και εξαρτημένη μεταβλητή. Επομένως, το LDA ανήκει στην κατηγορία Μοντέλα Generative Classifier . Ένας στενά συνδεδεμένος γενετικός ταξινομητής είναι η Quadratic Discriminant Analysis (QDA). Βασίζεται σε όλες τις ίδιες παραδοχές του LDA, εκτός του ότι οι διακυμάνσεις της τάξης είναι διαφορετικές.

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

Διαίσθηση

Εξετάστε τις τάξεις υπό όρους gaussian για την κατηγορία Χ δεδομένης της τάξης Υ . Το παρακάτω σχήμα δείχνει τις συναρτήσεις πυκνότητας των κατανομών. Σε αυτό το σχήμα, εάν Υ = +1 , τότε ο μέσος όρος του Χ είναι 10 και εάν Υ = -1 , ο μέσος όρος είναι 2. Η διακύμανση είναι 2 και στις δύο περιπτώσεις.

διαίσθηση - Ανάλυση γραμμικής διάκρισης - Edureka

Ας υποθέσουμε τώρα μια νέα τιμή Χ μας δίνεται. Ας το δηλώσουμε Χ Εγώ . Ο στόχος είναι να προσδιοριστεί η πιο πιθανή ετικέτα τάξης για αυτό Χ Εγώ , δηλ. Υ Εγώ . Για απλότητα υποθέστε ότι η πιθανότητα Π του δείγματος που ανήκει στην κλάση +1 είναι το ίδιο με το να ανήκεις στην τάξη -ένας , δηλ. ρ = 0,5 .

Διαισθητικά, είναι λογικό να πούμε ότι αν Χ Εγώ είναι πιο κοντά σε & # 120583 +1 απ 'ότι είναι & # 120583 -ένας , τότε είναι πιο πιθανό αυτό Υ Εγώ = +1 . Πιο επίσημα, Υ Εγώ = +1 αν:

| x Εγώ - & # 120583 +1 |<|x Εγώ - & # 120583 -ένας |

Ομαλοποίηση και των δύο πλευρών με την τυπική απόκλιση:

| x Εγώ - & # 120583 +1 | / & # 120590<|x Εγώ - & # 120583 -ένας | / & # 120590

Τετράγωνο και των δύο πλευρών:

Εγώ - & # 120583 +1 ) 2 / & # 120590 2 <(x Εγώ - & # 120583 -ένας ) 2 / & # 120590 2

Χ Εγώ 2 / & # 120590 2 + & # 120583 +1 2 / & # 120590 2 - 2 x Εγώ & # 120583 +1 / & # 120590 2 Εγώ 2 / & # 120590 2 + & # 120583 -ένας 2 / & # 120590 2 - 2 x Εγώ & # 120583 -ένας / & # 120590 2

2 x Εγώ (& # 120583 -ένας - & # 120583 +1 ) / & # 120590 2 - (& # 120583 -ένας 2 / & # 120590 2 - & # 120583 +1 2 / & # 120590 2 )<0

-2 x Εγώ (& # 120583 -ένας - & # 120583 +1 ) / & # 120590 2 + (& # 120583 -ένας 2 / & # 120590 2 - & # 120583 +1 2 / & # 120590 2 )> 0

Η παραπάνω έκφραση έχει τη μορφή bx Εγώ + γ> 0 που b = -2 (& # 120583 -ένας - & # 120583 +1 ) / & # 120590 2 και c = (& # 120583 -ένας 2 / & # 120590 2 - & # 120583 +1 2 / & # 120590 2 ) .

Είναι προφανές ότι η μορφή της εξίσωσης είναι γραμμικός , εξ ου και το όνομα Linear Discriminant Analysis.

Ας συνεχίσουμε με το άρθρο Linear Discriminant Analysis και ας δούμε,

Μαθηματική περιγραφή του LDA

Η μαθηματική παραγωγή της έκφρασης για LDA βασίζεται σε έννοιες όπως Κανόνας Bayes και Βέλτιστος ταξινομητής Bayes . Οι ενδιαφερόμενοι αναγνώστες ενθαρρύνονται να διαβάσουν περισσότερα σχετικά με αυτές τις έννοιες. Ένας τρόπος για να αντλήσετε την έκφραση μπορεί να βρεθεί εδώ .

Θα παρέχουμε την έκφραση απευθείας για τη συγκεκριμένη περίπτωση όπου Υ παίρνει δύο τάξεις {+1, -1} . Θα επεκτείνουμε επίσης τη διαίσθηση που φαίνεται στην προηγούμενη ενότητα στη γενική περίπτωση όπου Χ μπορεί να είναι πολυδιάστατο. Ας πούμε ότι υπάρχουν προς το ανεξάρτητες μεταβλητές. Σε αυτήν την περίπτωση, η τάξη σημαίνει & # 120583 -ένας και & # 120583 +1 θα ήταν διανύσματα διαστάσεων k * 1 και τον πίνακα διακύμανσης-συνδιακύμανσης & # 120622 θα ήταν ένας πίνακας διαστάσεων κ * κ .

Η συνάρτηση ταξινομητή δίνεται ως

Y = h (X) = σύμβολο (b Τ Χ + γ)

Που,

πώς να χρησιμοποιήσετε το καταγραφικό στο java

b = -2 & # 120622 -ένας (& # 120583 -ένας - & # 120583 +1 )

c = & # 120583 -ένας Τ & # 120622 -ένας & # 120583 -ένας - & # 120583 -ένας Τ & # 120622 -ένας & # 120583 -ένας {-2 ln (1-p) / p}

Επιστρέφει η συνάρτηση σήματος +1 αν η έκφραση σι Τ x + c> 0 , διαφορετικά επιστρέφει -ένας . Ο φυσικός όρος log in ντο είναι παρόν για προσαρμογή για το γεγονός ότι οι πιθανότητες κλάσης δεν χρειάζεται να είναι ίσες και για τις δύο κατηγορίες, δηλαδή Π θα μπορούσε να είναι οποιαδήποτε τιμή μεταξύ (0, 1) και όχι μόνο 0,5.

Εκμάθηση των παραμέτρων μοντέλου

Δόθηκε ένα σύνολο δεδομένων με Ν σημεία δεδομένων ένας Γ ένας ), (Χ 2 Γ 2 ),… (Χ ν Γ ν ) , πρέπει να εκτιμήσουμε σελ. & # 120583 -ένας , & # 120583 +1 και & # 120622 . Μια τεχνική στατιστικής εκτίμησης που ονομάζεται Μέγιστη εκτίμηση πιθανότητας χρησιμοποιείται για την εκτίμηση αυτών των παραμέτρων. Οι εκφράσεις για τις παραπάνω παραμέτρους δίνονται παρακάτω.

πώς να γράψετε τη μέθοδο tostring στην Java

& # 120583 +1 = (1 / Ν +1 ) * & # 120506 i: yi = + 1 Χ Εγώ

& # 120583 -ένας = (1 / Ν -ένας ) * & # 120506 i: yi = -1 Χ Εγώ

p = Ν +1 / Ν

& # 120622 = (1 / N) * & # 120506Εγώ = 1: Ν Εγώ - & # 120583 Εγώ ) (Χ Εγώ - & # 120583 Εγώ ) Τ

Που Ν +1 = αριθμός δειγμάτων όπου y Εγώ = +1 και Ν -ένας = αριθμός δειγμάτων όπου y Εγώ = -1 .

Με τις παραπάνω εκφράσεις, το μοντέλο LDA είναι πλήρες. Κάποιος μπορεί να εκτιμήσει τις παραμέτρους μοντέλου χρησιμοποιώντας τις παραπάνω εκφράσεις και να τις χρησιμοποιήσει στη συνάρτηση ταξινόμησης για να πάρει την ετικέτα τάξης οποιασδήποτε νέας τιμής εισαγωγής ανεξάρτητης μεταβλητής Χ .

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

Παράδειγμα στο R

Ο παρακάτω κώδικας δημιουργεί ένα εικονικό σύνολο δεδομένων με δύο ανεξάρτητες μεταβλητές Χ1 και Χ2 και μια εξαρτημένη μεταβλητή Υ . Για Χ1 και Χ2 , θα δημιουργήσουμε δείγμα από δύο πολυμεταβλητές gaussian διανομές με μέσα & # 120583 -ένας = (2, 2) και & # 120583 +1 = (6, 6) . Το 40% των δειγμάτων ανήκουν στην τάξη +1 και το 60% ανήκουν στην τάξη -ένας , ως εκ τούτου p = 0,4 .

library (ggplot2) library (MASS) library (mvtnorm) # Variance Covariance matrix for random bivariate gaussian sample var_covar = matrix (data = c (1.5, 0.3, 0.3, 1.5), nrow = 2) # Τυχαία διαφορικά δείγματα Gauss για τάξη + 1 Xplus1<- rmvnorm(400, mean = c(6, 6), sigma = var_covar) # Random bivariate gaussian samples for class -1 Xminus1 <- rmvnorm(600, mean = c(2, 2), sigma = var_covar) #Samples for the dependent variable Y_samples <- c(rep(1, 400), rep(-1, 600)) #Combining the independent and dependent variables into a dataframe dataset <- as.data.frame(cbind(rbind(Xplus1, Xminus1), Y_samples)) colnames(dataset) <- c('X1', 'X2', 'Y') dataset$Y <- as.character(dataset$Y) #Plot the above samples and color by class labels ggplot(data = dataset)+ geom_point(aes(X1, X2, color = Y)) 

Στην παραπάνω εικόνα, οι μπλε κουκκίδες αντιπροσωπεύουν δείγματα από την τάξη +1 και τα κόκκινα αντιπροσωπεύουν το δείγμα από την τάξη -ένας . Υπάρχει κάποια αλληλεπικάλυψη μεταξύ των δειγμάτων, δηλαδή οι κλάσεις δεν μπορούν να διαχωριστούν εντελώς με μια απλή γραμμή. Με άλλα λόγια δεν είναι τέλεια γραμμικά διαχωρίσιμο .

Τώρα θα εκπαιδεύσουμε ένα μοντέλο LDA χρησιμοποιώντας τα παραπάνω δεδομένα.

# Εκπαιδεύστε το μοντέλο LDA χρησιμοποιώντας το παραπάνω σύνολο δεδομένων lda_model<- lda(Y ~ X1 + X2, data = dataset) #Print the LDA model lda_model 

Παραγωγή:

Προηγούμενες πιθανότητες ομάδων:

-έντεκα

0,6 0,4

Η ομάδα σημαίνει:

Χ1 Χ2

-1 1.928108 2.010226

1 5.961004 6.015438

Συντελεστές γραμμικών διακρίσεων:

LD1

Χ1 0,5646116

Χ2 0,5004175

Όπως μπορεί κανείς να δει, τα μέσα κλάσης που έχουν μάθει το μοντέλο είναι (1.928108, 2.010226) για την τάξη -ένας και (5.961004, 6.015438) για την τάξη +1 . Αυτά τα μέσα είναι πολύ κοντά στην τάξη σημαίνει ότι είχαμε χρησιμοποιήσει για τη δημιουργία αυτών των τυχαίων δειγμάτων. Η προηγούμενη πιθανότητα για ομάδα +1 είναι η εκτίμηση για την παράμετρο Π . ο σι διάνυσμα είναι οι γραμμικοί διαχωριστικοί συντελεστές.

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

# Προβλέποντας την τάξη για κάθε δείγμα στο παραπάνω σύνολο δεδομένων χρησιμοποιώντας το μοντέλο LDA y_pred<- predict(lda_model, newdata = dataset)$class #Adding the predictions as another column in the dataframe dataset$Y_lda_prediction <- as.character(y_pred) #Plot the above samples and color by actual and predicted class labels dataset$Y_actual_pred <- paste(dataset$Y, dataset$Y_lda_prediction, sep=',') ggplot(data = dataset)+ geom_point(aes(X1, X2, color = Y_actual_pred))

Στο παραπάνω σχήμα, τα μοβ δείγματα είναι από την τάξη +1 που ταξινομήθηκαν σωστά από το μοντέλο LDA. Ομοίως, τα κόκκινα δείγματα είναι από την τάξη -ένας που ταξινομήθηκαν σωστά. Τα μπλε είναι από την τάξη +1 αλλά ταξινομήθηκαν λανθασμένα ως -ένας . Τα πράσινα είναι από την τάξη -ένας που είχαν ταξινομηθεί εσφαλμένα ως +1 . Οι εσφαλμένες ταξινομήσεις συμβαίνουν επειδή αυτά τα δείγματα είναι πιο κοντά στον άλλο μέσο όρο κλάσης (κέντρο) από τον πραγματικό μέσο όρο της τάξης τους.

Αυτό μας φέρνει στο τέλος αυτού του άρθρου, ρίξτε μια ματιά στο από την Edureka, μια αξιόπιστη διαδικτυακή εταιρεία εκμάθησης με δίκτυο περισσότερων από 250.000 ικανοποιημένων μαθητών σε όλο τον κόσμο. Το Data Analytics της Edureka με την εκπαίδευση R θα σας βοηθήσει να αποκτήσετε εξειδίκευση στον προγραμματισμό R, τη διαχείριση δεδομένων, την ανάλυση διερευνητικών δεδομένων, την οπτικοποίηση δεδομένων, την εξόρυξη δεδομένων, την παλινδρόμηση, την ανάλυση συναισθημάτων και τη χρήση του R Studio για πραγματικές μελέτες περιπτώσεων σε λιανικά, κοινωνικά μέσα.

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