Download as pdf or txt
Download as pdf or txt
You are on page 1of 37

Αναγνώριση Προτύπων

(Pattern Recognition)
8. Ανάλυση Γραμμικής Διάκρισης
(Linear Discriminant Analysis - LDA)

Κοντοπόδης Λευτέρης
ekontopodis@uniwa.gr
lkontopodis@gmail.com
2022
Ανάλυση Γραμμικής Διάκρισης
Linear Discriminant Analysis (LDA)
Τι είναι η LDA: Η Ανάλυση Γραμμικής Διάκρισης (LDA) είναι μια μέθοδος μετασχηματισμού δεδομένων που ανήκουν
σε κατηγορίες (κλάσεις), με σκοπό (α) τον καλύτερο διαχωρισμό των κλάσεων και ταυτόχρονα (β) την ελάττωση της
διαστατικότητας των δεδομένων.
Σημ.: Εδώ ως LDA εννοείται η μέθοδος Fisher Linear Discriminant [18]. Δείτε τις διαφορές στο [3].

H κεντρική ιδέα της LDA: Η κεντρική ιδέα της LDA είναι ο μετασχηματισμός των δεδομένων με τέτοιο τρόπο ώστε να
μεγιστοποιηθεί η απόσταση μεταξύ των κλάσεων (δηλαδή οι κλάσεις να είναι απομακρυσμένες) και ταυτόχρονα να
ελαχιστοποιηθεί η διασπορά εντός των κλάσεων (δηλαδή τα δεδομένα κάθε κλάσης να είναι συγκεντρωμένα γύρω
από τη μέση τιμή τους).

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

Απαιτήσεις για τα δεδομένα: Για να εφαρμοστεί η LDA, τα δεδομένα πρέπει


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

Ιωάννης Καλατζής, Αναπληρωτής Καθηγητής


Κοντοποδης Λευτέρης, PhD
Το πρόβλημα
Συχνά τα δεδομένα δύο ή περισσότερων κατηγοριών δεν είναι εύκολα γραμμικώς
διαχωρίσιμα, ενώ μπορεί να αποτελούνται από πολλές μεταβλητές, από τις οποίες να μην
είναι εύκολο να βρεθούν εκείνες που διαχωρίζουν καλύτερα τις κατηγορίες.
Ο σκοπός της LDA είναι να επιτύχουμε καλό διαχωρισμό μεταξύ των κατηγοριών (κλάσεων),
με ταυτόχρονη ελάττωση διαστάσεων (μεταβλητών από τις οποίες αποτελούνται τα
δεδομένα).

Στο παράδειγμα του σχήματος, η προσπάθεια


για ελάττωση διαστάσεων (features
reduction), μέσω της χρησιμοποίησης μόνο

Μεταβλητή 2
της μεταβλητής 1 ή μόνο της μεταβλητής 2,
οδηγεί σε επικάλυψη μεταξύ των κλάσεων.

Ιωάννης Καλατζής, Αναπληρωτής Καθηγητής Μεταβλητή 1


Κοντοποδης Λευτέρης, PhD
Ένα κριτήριο διαχωρισμού κλάσεων
Ένα κριτήριο καλού διαχωρισμού μεταξύ κλάσεων (κριτήριο Fisher) είναι:
• η απόσταση μεταξύ των κλάσεων να μεγιστοποιείται (δηλαδή οι μέσες τιμές των
κλάσεων να είναι απομακρυσμένες μεταξύ τους), και ταυτόχρονα
• η διασπορά εντός κάθε κλάσης να ελαχιστοποιείται (δηλαδή κάθε κλάση να είναι
συγκεντρωμένη γύρω από τη μέση τιμή της).
Συγκεκριμένα, το κριτήριο Fisher είναι ο λόγος των δύο παραπάνω μεγεθών, το οποίο όταν
μεγιστοποιείται θεωρούμε ότι οι κλάσεις είναι καλύτερα διαχωρισμένες.

"Διασπορά" εντός
της κλάσης 1 Απόσταση μεταξύ
των κλάσεων
"Διασπορά" εντός
της κλάσης 2

Ιωάννης Καλατζής, Αναπληρωτής Καθηγητής


Κοντοποδης Λευτέρης, PhD
Η λύση που προτείνει η LDA
Σύμφωνα με την LDA, για την αύξηση της διαχωρισιμότητας μεταξύ των κλάσεων (έτσι ώστε η
επικάλυψη μεταξύ τους να είναι η μικρότερη δυνατή), πρέπει να βρεθεί κατάλληλη διεύθυνση
προβολής των δεδομένων έτσι ώστε να μεγιστοποιηθεί το κριτήριο Fisher (δηλαδή ο λόγος της
απόστασης μεταξύ των κλάσεων προς τη συνολική διασπορά εντός κάθε κλάσης).

Απόσταση μεταξύ των


κλάσεων, στο νέο
Νέος άξονας προβολής
άξονα προβολής
(βέλτιστου διαχωρισμού
κατά LDA)

"Διασπορές" εντός των


κλάσεων, στο νέο
άξονα προβολής

Ιωάννης Καλατζής, Αναπληρωτής Καθηγητής


Κοντοποδης Λευτέρης, PhD
Το αποτέλεσμα της προβολής LDA
Με προβολή των δεδομένων στην κατάλληλη διεύθυνση, ο λόγος της απόστασης μεταξύ των κλάσεων
προς τη διασπορά εντός των κλάσεων γίνεται μέγιστος.
Μετασχηματισμός LDA
Μεταβλητή 2

Νέα μεταβλητή 2
1
τή
βλη
ε τα
έαμ
Ν
Νέ
αμ
ετα
βλ
ητή
2

Μεταβλητή 1 Νέα μεταβλητή 1

Συγκεκριμένα, παρατηρούμε ότι, μετά το μετασχηματισμό κατά LDA, στον άξονα της Νέας
μεταβλητής 2 ο διαχωρισμός των κλάσεων είναι βέλτιστος.
Ιωάννης Καλατζής, Αναπληρωτής Καθηγητής
Κοντοποδης Λευτέρης, PhD
Κριτήριο Fisher
Το κριτήριο Fisher για βέλτιστο διαχωρισμό κλάσεων είναι (θεωρούμε 2 κλάσεις):

διασπορά µεταξύ των κλάσεων 6789:88;


!= =
διασπορά εντός των κλάσεων 6:<9=<;

Η διασπορά μεταξύ των κλάσεων είναι η απόσταση των μέσων τιμών των κλάσεων:
67 = >? − >A A = >? − >A >? − >A B
? DE
όπου >C = D ∑<G? HC< η μέση τιμή της κλάσης k=1,2 με Nk το πλήθος των σημείων της,
E
όπου HC< είναι η I-οστή παρατήρηση της κλάσης J (διάνυσμα M μεταβλητών).

Η διασπορά εντός των κλάσεων είναι το άθροισμα:


6: = 6? + 6A
όπου S1 και S2 οι πίνακες διασπορών* κάθε κλάσης k=1,2:
DE DE
A B B
6C = L HC< − >C = L HC< − >C HC< − >C = X C − >C X C − >C
<G? <G?
και X1, X2 είναι οι πίνακες M´Nk των δύο κλάσεων (M=μεταβλητές, Nk=παρατηρήσεις).

* Σημείωση: Ο πίνακας διασποράς (scatter matrix) υπολογίζεται όπως ο πίνακας συνδιακύμανσης, αλλά χωρίς
την κανονικοποίηση με τον παράγοντα (Nk-1).
Ιωάννης Καλατζής, Αναπληρωτής Καθηγητής
Κοντοποδης Λευτέρης, PhD
Η μαθηματική διαδικασία της LDA
1) Το κριτήριο Fisher μετά το μετασχηματισμό
Πρέπει να βρεθεί κατάλληλος πίνακας μετασχηματισμού (V) των δεδομένων ώστε να μεγιστοποιηθεί το
κριτήριο Fisher. Μετά το μετασχηματισμό (~), το κριτήριο Fisher είναι:
%$& " ( %& "
! " = = (
$
%' " %' "
Απόδειξη:
23 23 23
1 1 1
*)+ = . 4)+/ = . " ( 4+/ = " ( . 4+/ = " ( *+ , όπου k=1,2 (οι κλάσεις)
-+ -+ -+
/01 /01 /01

Άρα: %$& = *)1 − *)F F


= " ( *1 − " ( *F F
= " ( *1 − *F *1 − *F ( " = " ( %& "

Επίσης:
23 23

%$+ = . 4)+/ − *)+ F


= . " ( 4+/ − " ( *+ F
= " ( X + − *+ X + − *+ (
" = " ( %+ "
/01 /01

Άρα: %$' = %$1 + %$F = " ( %1 " + " ( %F " = " ( %1 + %F " = " ( %' "
Ιωάννης Καλατζής, Αναπληρωτής Καθηγητής
Κοντοποδης Λευτέρης, PhD
Η μαθηματική διαδικασία της LDA
2) Μεγιστοποίηση του κριτηρίου Fisher μετά το μετασχηματισμό

Tο κριτήριο Fisher J(!) μεγιστοποιείται όταν η παράγωγός του γίνει ίση με το μηδέν:

"# ! " ! ' () ! A


=0⇒ = 0 ⇒ (θυµίζουµε: παράγωγος πηλίκου >/@ = @> A − >@A ) ⇒
"! "! ! ' (* !

"(! ' () !) " ! ' (* !


⇒ ! ' (* ! '
− ! () ! = 0 ⇒ (θυµίζουµε: D ' D A = DE A = 2D) ⇒
"! "!
⇒ ! ' (* ! 2() ! − ! ' () ! 2(* ! = 0 ⇒ (διαίρεση µε ! ' (J !) ⇒

⇒ () ! − # ! (* ! = 0 ⇒

⇒ () ! = # ! (* ! ⇒ (πολλαπλασιασµός µε τον αντίστροφο πίνακα του (* , αν υπάρχει) ⇒


QR ( ! = # ! ! ⇒ (αλλαγή συµβολισµού) ⇒
⇒ (* )

⇒ (! = V! ή ( − VW ! = 0
QR ( και V = #(!)
όπου ( = (* )

Η παραπάνω είναι μια εξίσωση ιδιοτιμών, από τη λύση της οποίας λαμβάνουμε τις ιδιοτιμές λ καθώς και τα ιδιοδιανύσματα v (τα
οποία είναι οι στήλες του πίνακα ιδιοδιανυσμάτων V=[v1 v2 …]).
Η μέγιστη ιδιοτιμή λ* είναι η μέγιστη τιμή του κριτηρίου διαχωρισμού Fisher J, και το αντίστοιχο ιδιοδιάνυσμα v* ορίζει τη
διεύθυνση προβολής για το βέλτιστο διαχωρισμό των κλάσεων. Ιωάννης Καλατζής, Αναπληρωτής Καθηγητής
Κοντοποδης Λευτέρης, PhD
Η μαθηματική διαδικασία της LDA
3) Εύρεση των ιδιοτιμών λ και των ιδιοδιανυσμάτων v:
1ος τρόπος: Για να υπάρχουν μη μηδενικές λύσεις από την εξίσωση ! − #$ % = 0 για τα ιδιοδιανύσματα v, η
ορίζουσα ! − #$ πρέπει να μηδενίζεται:
! − #$ = 0
Από την εξίσωση αυτή υπολογίζονται οι ιδιοτιμές λ, οπότε τα ιδιοδιανύσματα v μπορούν στη συνέχεια να βρεθούν
από την εξίσωση:
! % = #%
Επειδή οι ιδιοτιμές λ είναι οι τιμές του κριτηρίου διαχωρισμού J(%), συμπεραίνουμε ότι καλύτερος διαχωρισμός θα
πραγματοποιείται για τη μέγιστη τιμή του λ. Με άλλη διατύπωση, ο άξονας βέλτιστου διαχωρισμού των κλάσεων
(πάντα σύμφωνα με το κριτήριο γραμμικής διάκρισης Fisher), είναι εκείνος που ορίζεται από το ιδιοδιάνυσμα v*
που αντιστοιχεί στη μέγιστη ιδιοτιμή λ*.
Μετά την επίλυση, στην πράξη απορρίπτουμε τις ιδιοτιμές με λ=0 καθώς και τα αντίστοιχα ιδιοδιανύσματα, διότι
αντιστοιχούν σε διευθύνσεις όπου οι κλάσεις δεν είναι διαχωρίσιμες (διότι λ=J=Sb/Sw=(μ1-μ2)2/Sw, άρα αν λ=0
τότε μ1=μ2).
2ος τρόπος: Εναλλακτικά, η μέγιστη ιδιοτιμή (λ*) και το αντίστοιχο ιδιοδιάνυσμα (v*) βρίσκονται και με απευθείας
λύση της γενικευμένης εξίσωσης ιδιοτιμών ! % = #% ή !()* !+ % = #% , ως εξής [2]:
#∗ = -. − -* / !()* -. − -*
0 ∗ = 1 ⋅ !()* -. − -* , όπου c = σταθερά (άπειρες λύσεις)
0∗
Tο μοναδιαίο ιδιοδιάνυσμα (μοναδική λύση, όπου η σταθερά απλοποιείται) είναι: 03 ∗ =
0 ∗4 0 ∗
Η μαθηματική διαδικασία της LDA
4) Μετασχηματισμός δεδομένων

1ος τρόπος: Οι τιμές των μετασχηματισμένων δεδομένων των δύο κλάσεων είναι:
Y" = $ % X" και Y' = $ % X'

2ος τρόπος: Η απ’ ευθείας προβολή των δεδομένων των δύο κλάσεων στη διεύθυνση βέλτιστου διαχωρισμού είναι:
Y"∗ = ) ∗% X" και Y'∗ = ) ∗% X'

Σημείωση 1: Ο 2ος τρόπος βρίσκει απ’ ευθείας την προβολή των δεδομένων σε Κ-1 διαστάσεις (νέες μεταβλητές),
όπου Κ το πλήθος των κλάσεων. Ο 1ος τρόπος διατηρεί το πλήθος των μεταβλητών ίσο με M, όμως στις μεγαλύτερες
του Κ-1 διαστάσεις οι κλάσεις δεν είναι διαχωρίσιμες (εκεί, λ=0). Αυτό συμβαίνει διότι η τάξη του πίνακα Sb είναι το
πολύ Κ-1.
Σημείωση 2: Οι νέες μεταβλητές (οι μεταβλητές μετά το μετασχηματισμό) δεν έχουν κάποιο άμεσο φυσικό νόημα,
αλλά είναι γραμμικός συνδυασμός των αρχικών μεταβλητών. Αν *+ και * ,+ είναι οι μεταβλητές πριν και μετά το
μετασχηματισμό, όπου i=1,2,…M (M = πλήθος μεταβλητών), τότε ισχύει (όπως προκύπτει από τον υπολογισμό του Y
ως VTX ή v*TX):
0 0
,- = . $+- *+
* ή ,- = . )+∗ *+
*
+/" +/" Ιωάννης Καλατζής, Αναπληρωτής Καθηγητής
Κοντοποδης Λευτέρης, PhD
Σύνοψη της μαθηματικής διαδικασίας της LDA
Έστω 2 κλάσεις X1 και X2 σε πίνακες διαστάσεων M´Nk (M=μεταβλητές, Nk=παρατηρήσεις).
Το κριτήριο Fisher διαχωρισμού των κλάσεων είναι:
#$ διασπορά µεταξύ των κλάσεων
!= =
#% διασπορά εντός των κλάσεων
όπου #$ = 9: − 9< 9: − 9< = , #% = #: + #< = X: − 9: X: − 9: = + X< − 9< X< − 9< =

όπου μ1, μ2 οι μέσες τιμές των 2 κλάσεων και S1, S2 οι πίνακες διασπορών των 2 κλάσεων.
Ο σκοπός της LDA είναι ο μετασχηματισμός των δεδομένων ώστε να μεγιστοποιηθεί το κριτήριο Fisher J, κάτι που
συμβαίνει όταν μηδενιστεί η παράγωγός του. Μετά το μετασχηματισμό μέσω πίνακα @, αποδεικνύεται ότι:
@ = #$ @
! @ = =
@ #% @
Ο μηδενισμός της παραγώγου του J(@) οδηγεί στην εξίσωση ιδιοτιμών, που λύνουμε ως προς V:
#@ = A@, D: # και A = !(@)
όπου # = #% $
Απ’ ευθείας λύση: Η μέγιστη ιδιοτιμή λ*, δηλαδή η μέγιστη τιμή του κριτηρίου Fisher J, καθώς και το αντίστοιχο ιδιοδιάνυσμα
v* που ορίζει τη διεύθυνση προβολής για το βέλτιστο διαχωρισμό των κλάσεων, μπορούν να βρεθούν και με απ’ ευθείας
D:
λύση της εξίσωσης #% #$ @ = A @ , ως εξής [2]:
H∗
A∗ = 9< − 9: = #%
D: 9 − 9 ,
< : H ∗ = I ⋅ #%
D: 9 − 9
< : και HK ∗ = (μοναδιαίο ιδιοδιάνυσμα)
H∗LH∗

Οι κλάσεις μετά το μετασχηματισμό είναι: Y: = @ = X: , Y< = @ = X< (ή N:∗ = O∗= P: , N<∗ = O∗= P<)

Ιωάννης Καλατζής, Αναπληρωτής Καθηγητής


Κοντοποδης Λευτέρης, PhD
Αριθμητικό παράδειγμα [1]
ΔΕΔΟΜΕΝΑ

Έστω δεδομένα δύο κλάσεων, M=2 μεταβλητών με N1=N2=5 δείγματα ανά κλάση:
4 2 2 3 4
!" = , , , ,
2 4 3 6 4
9 6 9 8 10
!) = , , , ,
10 8 5 7 8

Σημείωση: Γενικά, πριν την εφαρμογή της LDA, τα


δεδομένα καλό είναι να κανονικοποιηθούν, ώστε
μεταβλητές υψηλών τιμών να μην κυριαρχούν στις
υπόλοιπες.
Η κανονικοποίηση που επιλέγεται συνήθως είναι αυτή
που δίνει τα z-scores των αρχικών δεδομένων, δηλ.:
1−3
0=
4
όπου 1 και 0 οι τιμές των δεδομένων πριν και μετά την
κανονικοποίηση, και 3, 4 η μέση τιμή και τυπική απόκλιση
της αντίστοιχης μεταβλητής ανεξαρτήτως κλάσης.

Ιωάννης Καλατζής, Αναπληρωτής Καθηγητής


Κοντοποδης Λευτέρης, PhD
Αριθμητικό παράδειγμα
1. ΜΕΣΕΣ ΤΙΜΕΣ ΚΛΑΣΕΩΝ
)*
1 1 4 2 2 3 4 3
!" = & +"' = + + + + =
%" 5 2 4 3 6 4 3.8
'("
)5
1 1 9 6 9 8 10 8.4
!4 = & +4' = + + + + =
%4 5 10 8 5 7 8 7.6
'("

2. ΠΙΝΑΚΕΣ ΔΙΑΣΠΟΡΩΝ ΚΛΑΣΕΩΝ


)*
9" = & +"' − !" 4

'("
4 4 4 4 4
4 3 2 3 2 3 3 3 4 3
= − + − + − + − + −
2 3.8 4 3.8 3 3.8 6 3.8 4 3.8
4 −1
=
−1 8.8
)5
94 = & +4' − !4 4

'("
4 4 4 4 4
9 8.4 6 8.4 9 8.4 8 8.4 10 8.4
= − + − + − + − + −
10 7.6 8 7.6 5 7.6 7 7.6 8 7.6
9.2 −0.2
= Ιωάννης Καλατζής, Αναπληρωτής Καθηγητής
−0.2 13.2 Κοντοποδης Λευτέρης, PhD
Αριθμητικό παράδειγμα
3. ΠΙΝΑΚΑΣ ΔΙΑΣΠΟΡΑΣ ΜΕΤΑΞΥ ΤΩΝ ΚΛΑΣΕΩΝ
(
( 3 8.4 3 8.4 −5.4
!" = $% − $' $% − $' = − − = −5.4 −3.8
3.8 7.6 3.8 7.6 −3.8
29.16 20.52
=
20.52 14.44

4. ΠΙΝΑΚΑΣ ΔΙΑΣΠΟΡΑΣ ΕΝΤΟΣ ΤΩΝ ΚΛΑΣΕΩΝ


4 −1 9.2 −0.2 13.2 −1.2
!4 = !% + !' = + =
−1 8.8 −0.2 13.2 −1.2 22

Ιωάννης Καλατζής, Αναπληρωτής Καθηγητής


Κοντοποδης Λευτέρης, PhD
Αριθμητικό παράδειγμα
5. ΛΥΣΗ ΤΗΣ ΕΞΙΣΩΣΗΣ ΙΔΙΟΤΙΜΩΝ (1ος τρόπος)
!" = $", όπου ! = !*+, !-
Για εύρεση μη μηδενικών λύσεων, οι ιδιοτιμές λ θα βρεθούν από το μηδενισμό της ορίζουσας,
! − $/ = 0 και στη συνέχεια, από την προηγούμενη εξίσωση, θα βρεθεί ο πίνακας ":
2 3 , 5 −3 , 5 −3
Ο αντίστροφος ενός πίνακα 1 = είναι 1+, = = 78+-9
4 5 6 −4 2 −4 2
13.2 −1.2
!* = , άρα
−1.2 22
1 22 1.2 1 22 1.2 0.076135 0.0041528
!*+, = = =
!* 1.2 13.2 13.2 ⋅ 22 − −1.2 ⋅ (−1.2) 1.2 13.2 0.0041528 0.045681

Άρα:
0.076135 0.0041528 29.16 20.52
! = !*+, !- =
0.0041528 0.045681 20.52 14.44
0.076135 ⋅ 29.16 + 0.0041528 ⋅ 20.52 0.076135 ⋅ 20.52 + 0.0041528 ⋅ 14.44
=
0.0041528 ⋅ 29.16 + 0.045681 ⋅ 20.52 0.0041528 ⋅ 20.52 + 0.045681 ⋅ 14.44
2.3053 1.6223
=
1.0585 0.74485
Ιωάννης Καλατζής, Αναπληρωτής Καθηγητής
Κοντοποδης Λευτέρης, PhD
Αριθμητικό παράδειγμα
5. ΛΥΣΗ ΤΗΣ ΕΞΙΣΩΣΗΣ ΙΔΙΟΤΙΜΩΝ (1ος τρόπος – συνέχεια / εύρεση ιδιοτιμών)
α) Εύρεση των ιδιοτιμών λ:
Οι ιδιοτιμές βρίσκονται μέσω του μηδενισμού της ορίζουσας:
! − #$ = 0
2.3053 1.6223 1 0
⇒ −# =0
1.0585 0.74485 0 1
2.3053 1.6223 # 0
⇒ − =0
1.0585 0.74485 0 #
2.3053 − # 1.6223
⇒ =0
1.0585 0.74485 − #
⇒ 2.3053 − # 0.74485 − # − 1.6223 ⋅ 1.0585 = 0
⇒ #2 − 3.05015 ⋅ # = 0
⇒ # ⋅ (# − 3.05015) = 0
⇒ #5 = 3.05015, #2 = 0

Ο βέλτιστος διαχωρισμός μεταξύ των κλάσεων αντιστοιχεί στο ιδιοδιάνυσμα με μέγιστο λ.

Ιωάννης Καλατζής, Αναπληρωτής Καθηγητής


Κοντοποδης Λευτέρης, PhD
Αριθμητικό παράδειγμα
5. ΛΥΣΗ ΤΗΣ ΕΞΙΣΩΣΗΣ ΙΔΙΟΤΙΜΩΝ (1ος τρόπος – συνέχεια / εύρεση ιδιοδιανυσμάτων)
#$
β) Εύρεση των ιδιοδιανυσμάτων ! = # :
%

Τα ιδιοδιανύσματα, με γνωστές τις ιδιοτιμές λ1 και λ2, βρίσκονται από την εξίσωση ιδιοτιμών:
&!' = (' !' &!6 = (6 !6
2.3053 1.6223 #$ #$ 2.3053 1.6223 #$ #$
⇒ = 3.05015 ⇒ = 0
1.0585 0.74485 #% #% 1.0585 0.74485 #% #%
2.3053#$ + 1.6223#% 3.05015#$ 2.3053#$ + 1.6223#% 0
⇒ = 3.05015# ⇒ =
1.0585#$ + 0.74485#% % 1.0585#$ + 0.74485#% 0
2.3053#$ + 1.6223#% = 3.05015#$ 2.3053#$ + 1.6223#% = 0
⇒ ⇒
1.0585#$ + 0.74485#% = 3.05015#% 1.0585#$ + 0.74485#% = 0
⇒ #$ = 2.178#% ⇒ #$ = −0.7037#%
2.178#% −0.7037#%
⇒ !' = #% ⇒ !6 = #%
2.178 −0.7037
#% #%
⇒ !5' = 1 ⇒ !56 = 1
#% 2.178 6 + 16 #% −0.7037 6 + 16
0.9088 −0.57549
⇒ !5' = ⇒ !56 =
0.4173 0.81781 Ιωάννης Καλατζής, Αναπληρωτής Καθηγητής
Κοντοποδης Λευτέρης, PhD
Αριθμητικό παράδειγμα
5. ΛΥΣΗ ΤΗΣ ΕΞΙΣΩΣΗΣ ΙΔΙΟΤΙΜΩΝ (2ος τρόπος – απ’ ευθείας λύση)
γ) Απ’ ευθείας εύρεση της μέγιστης ιδιοτιμής λ* και του αντίστοιχου ιδιοδιανύσματος v* :
Η μέγιστη ιδιοτιμή (λ*), δηλαδή η μέγιστη τιμή του κριτηρίου Fisher J, και το αντίστοιχο ιδιοδιάνυσμα
(v*) που ορίζει τη διεύθυνση προβολής βέλτιστου διαχωρισμού των κλάσεων, μπορούν να βρεθούν και
απ’ ευθείας (2ος τρόπος) ως εξής [2]:
(
8.4 3 0.076135 0.0041528 8.4 3
!∗ = $% − $' ( )*+' $% − $' = − −
7.6 3.8 0.0041528 0.045681 7.6 3.8
5.4 ( 0.076135 0.0041528 5.4
= = 3.05015
3.8 0.0041528 0.045681 3.8
0.076135 0.0041528 8.4 3 0.42691
6 ∗ = 7 ⋅ )*+' $% − $' =7 − =7
0.0041528 0.045681 7.6 3.8 0.19601
όπου c=σταθερά, δηλ. υπάρχουν άπειρες λύσεις, όμως το μοναδιαίο ιδιοδιάνυσμα είναι:
0.42691 0.42691
6 ∗ 7 7
0.19601 0.9088
6: ∗ = = = 0.19601 =
6 ∗( 6 ∗ 7 % 0.42691% + 7 % 0.19601% 7 ⋅ 0.46976 0.4173

Παρατηρούμε ότι με το 2ο τρόπο βρίσκονται απ’ ευθείας οι μη μηδενικές ιδιοτιμές και τα αντίστοιχα ιδιοδιανύσματα
(γενικά το πλήθος τους είναι K-1, όπου K το πλήθος των κλάσεων).
Ιωάννης Καλατζής, Αναπληρωτής Καθηγητής
Κοντοποδης Λευτέρης, PhD
Αριθμητικό παράδειγμα
ΑΠΕΙΚΟΝΙΣΗ ΤΩΝ ΙΔΙΟΔΙΑΝΥΣΜΑΤΩΝ

Στο παρακάτω σχήμα απεικονίζονται τα δύο μοναδιαία ιδιοδιανύσματα "!# και "!$ στο σύστημα
αξόνων των δεδομένων, καθώς και οι διευθύνσεις προβολής που αυτά ορίζουν.

Ιωάννης Καλατζής, Αναπληρωτής Καθηγητής


Κοντοποδης Λευτέρης, PhD
Αριθμητικό παράδειγμα
6. ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ ΤΩΝ ΔΕΔΟΜΕΝΩΝ
1ος τρόπος: Ο πίνακας μετασχηματισμού, που αποτελείται από τα δύο ιδιοδιανύσματα, είναι:
0.9088 −0.5755
! = $#% $#& = ``
0.4173 0.8178
Οι κλάσεις μετά το μετασχηματισμό είναι: Y% = ! 2 X% και Y& = ! 2 X & , άρα: Ιδιοδιάνυσμα που
0.9088 0.4173 4 2 2 3 4 αντιστοιχεί στη
Y% = μέγιστη ιδιοτιμή (εδώ,
−0.5755 0.8178 2 4 3 6 4
ήταν η λ1)
4.4697 3.4866 3.0694 5.2299 5.3042
Y% =
−0.6664 2.1202 1.3024 3.1804 0.9693 Συντεταγμένη
και (μεταβλητή) των
0.9088 0.4173 9 6 9 8 10 δεδομένων όπου
Y& = επιτυγχάνεται ο
−0.5755 0.8178 10 8 5 7 8
βέλτιστος διαχωρισμός
12.352 8.7908 10.265 10.191 10.191 των κλάσεων
Y& =
2.9986 3.0895 −1.0904 1.1207 0.7875
Παρατηρούμε ότι, μετά το μετασχηματισμό, οι μέσες τιμές της 2ης μεταβλητής (που αντιστοιχεί στο ιδιοδιάνυσμα με λ=0)
είναι ίσες: 6% = 4.312 1.3812 2 και 6& = 10.358 1.3812 2 .
2ος τρόπος: Ο μετασχηματισμός με την απ’ ευθείας λύση του ιδιοδιανύσματος που αντιστοιχεί στη μέγιστη ιδιοτιμή δίνει απ’
ευθείας την προβολή στη διεύθυνση βέλτιστου διαχωρισμού των κλάσεων:
∗ ∗2 0.9088 2 4 2 2 3 4
Y% = $# X% = = 4.4697 3.4866 3.0694 5.2299 5.3042
0.4173 2 4 3 6 4
∗ ∗2 0.9088 2 9 6 9 8 10
Y& = $# X & = = 12.352 8.7908 10.265 10.191 10.191
0.4173 10 8 5 7 8
Ιωάννης Καλατζής, Αναπληρωτής Καθηγητής
Κοντοποδης Λευτέρης, PhD
Αριθμητικό παράδειγμα
7. ΠΡΟΒΟΛΗ ΤΩΝ ΔΕΔΟΜΕΝΩΝ ΣΤΟΥΣ ΝΕΟΥΣ ΑΞΟΝΕΣ

Μετά το μετασχηματισμό των δεδομένων, παρατηρούμε ότι στην προβολή των δεδομένων στον άξονα της Νέας
μεταβλητής 1, που αντιστοιχεί στο ιδιοδιάνυσμα με τη μέγιστη ιδιοτιμή (εδώ, λ1), ο διαχωρισμός των κλάσεων είναι
βέλτιστος.
Αυτό σημαίνει ότι στη συνέχεια, για περαιτέρω επεξεργασία, μπορεί να ληφθεί μόνο η Νέα μεταβλητή 1 των
μετασχηματισμένων δεδομένων (features reduction).
Ιωάννης Καλατζής, Αναπληρωτής Καθηγητής
Κοντοποδης Λευτέρης, PhD
Αριθμητικό παράδειγμα
ΟΙ ΝΕΕΣ ΜΕΤΑΒΛΗΤΕΣ ΩΣ ΓΡΑΜΜΙΚΟΣ ΣΥΝΔΥΑΣΜΟΣ ΤΩΝ ΑΡΧΙΚΩΝ

Οι νέες μεταβλητές (οι μεταβλητές μετά το μετασχηματισμό) δεν έχουν κάποιο άμεσο φυσικό νόημα, αλλά είναι
γραμμικοί συνδυασμοί των αρχικών μεταβλητών.
Παράδειγμα υπολογισμού των νέων μεταβλητών της κλάσης 1, ως γραμμικού συνδυασμού των αρχικών μεταβλητών
(βλ. υπολογισμούς προηγούμενης σελίδας):
4 2 2 3 4 ← Μεταβλητή 1
Κλάση 1: X) =
2 4 3 6 4 ← Μεταβλητή 2
0.9088 0.4173 4 2 2 3 4
Κλάση 1 µετά το µετασχηµατισµό: Y) = < = X) = Þ
−0.5755 0.8178 2 4 3 6 4
4.4697 3.4866 3.0694 5.2299 5.3042 ← Νέα µεταβλητή 1
Þ Y) =
−0.6664 2.1202 1.3024 3.1804 0.9693 ← Νέα µεταβλητή 2
Λόγω του πολλαπλασιασμού πινάκων, παρατηρούμε ότι (π.χ.):
4.4697 = 0.9088 ⋅ 4 + 0.4173 I 2
δηλαδή, τελικά, κάθε τιμή των νέων μεταβλητών μετά το μετασχηματισμό είναι:
Νέα µεταβλητή 1 = 0.9088 ⋅ Μεταβλητή 1 + 0.4173 ⋅ Μεταβλητή 2
Νέα µεταβλητή 2 = −0.5755 ⋅ Μεταβλητή 1 + 0.8178 ⋅ Μεταβλητή 2
Νέα µεταβλητή 1 = <)) ⋅ Μεταβλητή 1 + <J) ⋅ Μεταβλητή 2
ή
Νέα µεταβλητή 2 = <)J ⋅ Μεταβλητή 1 + <JJ ⋅ Μεταβλητή 2

Ιωάννης Καλατζής, Αναπληρωτής Καθηγητής


Κοντοπόδης Λευτέρης, PhD
Αριθμητικό παράδειγμα
ΟΙ ΝΕΕΣ ΜΕΤΑΒΛΗΤΕΣ ΩΣ ΓΡΑΜΜΙΚΟΣ ΣΥΝΔΥΑΣΜΟΣ ΤΩΝ ΑΡΧΙΚΩΝ (συνέχεια)

Στο παρακάτω σχήμα φαίνεται η Νέα μεταβλητή 1 του προηγουμένου παραδείγματος ως προς τις αρχικές
μεταβλητές 1 & 2, ώστε να φανεί η σχέση μεταξύ τους:
Νέα µεταβλητή 1 = 0.9088 ⋅ Μεταβλητή 1 + 0.4173 ⋅ Μεταβλητή 2
Επίσης φαίνεται και το επίπεδο που διαχωρίζει τις δύο κλάσεις, κάθετα στον άξονα της Νέας μεταβλητής 1 και στο
σημείο διαχωρισμού των δύο κλάσεων.

Ιωάννης Καλατζής, Αναπληρωτής Καθηγητής


Κοντοπόδης Λευτέρης, PhD
Παράδειγμα εφαρμογής LDA (1)
1) Δεδομένα

Έστω ο πίνακας τεσσάρων σωματομετρικών χαρακτηριστικών επτά ασθενών που ανήκουν σε 2


κατηγορίες, χαμηλού κινδύνου (κλάση Χ) και υψηλού κινδύνου (Y):

X1 X2 X3 Y1 Y2 Y3 Y4
Βάρος (kg) 85 80 78 87 95 92 90
Ύψος (m) 1.85 1.77 1.72 1.83 1.88 1.65 1.80
BMI 24.8 25.5 26.4 26.0 26.9 33.8 27.8
W/H 0.90 0.93 1.05 1.02 0.98 1.10 0.99

Βάρος (kg)
όπου BMI = Δείκτης Σωματικής Μάζας =
Ύψος (m) !
και W/H = λόγος περιμέτρων μέσης προς λεκάνης

Ιωάννης Καλατζής, Αναπληρωτής Καθηγητής


Κοντοπόδης Λευτέρης, PhD
Παράδειγμα εφαρμογής LDA (2)
2) Εφαρμογή LDA και μετασχηματισμός δεδομένων

Κατά την εφαρμογή LDA στις παραπάνω κλάσεις, υπολογίστηκαν τα εξής στοιχεία:
w1 w2 w3 w4
0.017 -0.026 -0.004 -0.0004
Πίνακας -0.912 0.649 -0.797 0.979
ιδιοδιανυσμάτων -0.033 0.066 0.002 -0.006
0.409 0.758 0.604 0.202
Ιδιοτιμές 4.3062 0 0 0

Το αποτέλεσμα του μετασχηματισμού των κλάσεων με βάση τον παραπάνω πίνακα ιδιοδιανυσμάτων ήταν οι
εξής κλάσεις με τις νέες μεταβλητές Q1, Q2, Q3, Q4:
X1 X2 X3 Y1 Y2 Y3 Y4
Q1 -0.675 -0.698 -0.667 -0.612 -0.567 -0.585 -0.605
Q2 1.345 1.49 1.66 1.451 1.308 1.784 1.451
Q3 -1.186 -1.085 -0.964 -1.102 -1.193 -0.914 -1.104
Q4 1.81 1.736 1.706 1.807 1.839 1.597 1.759

Ιωάννης Καλατζής, Αναπληρωτής Καθηγητής


Κοντοπόδης Λευτέρης, PhD
Παράδειγμα εφαρμογής LDA (3)
3) Γραφική απεικόνιση των δεδομένων πριν και μετά το μετασχηματισμό

Τα διαγράμματα διασποράς των αρχικών μεταβλητών ανά 2 δίνονται στο παρακάτω γράφημα, για τις 2
κλάσεις (Χ=μπλε αστέρια, Υ=κόκκινα τετράγωνα):

Το διάγραμμα διασποράς της νέας μεταβλητής Q1 είναι το εξής, για τις δύο κλάσεις:

Ιωάννης Καλατζής, Αναπληρωτής Καθηγητής


Κοντοπόδης Λευτέρης, PhD
Παράδειγμα εφαρμογής LDA (4)
4) Παρατηρήσεις σχετικά με τη διαχωρισιμότητα των κλάσεων μετά την LDA

Παρατηρούμε ότι οι δύο κλάσεις διαχωρίζονται πολύ καλύτερα (οπτικά τουλάχιστον) με τη «Νέα
μεταβλητή 1» (Q1), παρά με τις αρχικές μεταβλητές.

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

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

Ιωάννης Καλατζής, Αναπληρωτής Καθηγητής


Κοντοπόδης Λευτέρης, PhD
Παράδειγμα εφαρμογής LDA (5)
5) Επίδραση των αρχικών μεταβλητών στις τιμές των δεδομένων μετά την LDA

Η Νέα μεταβλητή 1, υπολογισμένη ως γραμμικός συνδυασμός των αρχικών μεταβλητών με τη βοήθεια


των συντεταγμένων του ιδιοδιανύσματος που αντιστοιχεί στη μέγιστη (και μοναδική μη μηδενική)
ιδιοτιμή, είναι:

Νέα μεταβλητή 1 = #$$ ⋅ Μεταβλητή 1 + #'$ ⋅ Μεταβλητή 2 + #)$ ⋅ Μεταβλητή 3 + #+$ ⋅


Μεταβλητή 4
ή Q1 = #$$ ⋅ Βάρος + #'$ ⋅ Ύ-./ + #)$ ⋅ BMI + #+$ ⋅ W/H
ή Q1 = 0.017 ⋅ Βάρος − 0.912 ⋅ Ύψος − 0.033 ⋅ BMI + 0.409 ⋅ W/H

Δηλαδή, παρατηρούμε ότι οι αρχικές μεταβλητές με τη μεγαλύτερη επίδραση στα μετασχηματισμένα


δεδομένα (τιμές της μεταβλητής Q1) είναι το Ύψος και ο λόγος W/H.

Ιωάννης Καλατζής, Αναπληρωτής Καθηγητής


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

Μη γραμμικώς διαχωρίσιμα δεδομένα


Στην πράξη, αν οι κλάσεις είναι γραμμικώς διαχωρίσιμες πριν το μετασχηματισμό (κάτι που μπορεί να μην είναι
γνωστό ή εύκολα προσδιορίσιμο σε περιπτώσεις δεδομένων πολλών μεταβλητών), τότε η LDA μπορεί να
εφαρμοστεί με επιτυχία.
Στην αντίθετη περίπτωση, μπορεί να εφαρμοστεί η Ανάλυση Διαχωρισμού με Πυρήνα (Kernel Discriminant
Analysis, KDA, ή Kernel Fisher Discriminant, KFD, π.χ. [10,11]). Σύμφωνα με τη μέθοδο αυτή, στα δεδομένα
εφαρμόζεται μια μη γραμμική συνάρτηση (π.χ. πολυωνυμική ή ακτινικής βάσης / radial basis κλπ). Στη συνέχεια,
πραγματοποιείται μετασχηματισμός σε έναν χώρο υψηλότερης διάστασης όπου εκεί τα δεδομένα είναι
γραμμικώς διαχωρίσιμα, οπότε στο χώρο αυτό μπορεί να εφαρμοστεί LDA με επιτυχία.

[10]

Ιωάννης Καλατζής, Αναπληρωτής Καθηγητής


Κοντοπόδης Λευτέρης, PhD
LDA πολλών κλάσεων (multi-class LDA)
Η LDA εφαρμόζεται με παρόμοιο τρόπο σε δεδομένα Κ>2 κλάσεων [7,16,17], με τις εξής διαφορές:
Διασπορά μεταξύ των κλάσεων
)
,
!" = $% & *% − * *% − *
%'(
12
διότι με τον τρόπο αυτό το άθροισμα !" + !. είναι η ολική διασπορά !, = ∑) %'( ∑0'( 3%0 − * 3%0 − *
,
( 12
όπου μ η μέση τιμή όλων των σημείων (ανεξαρτήτως κλάσης): * = ∑) )
%'( ∑0'( 3%0 , όπου $ = ∑%'( $%
( 1
Σημ.: Στο [3] χρησιμοποιείται η σχέση: !" = ) ∑)
%'( *% − * *% − *
,
(
ενώ στο [7] αναφέρεται εναλλακτικά και η: !" = $ ∑) %'( *% − *

*% − *∗ , , όπου *∗ = ) ∑)%'( *%

Διασπορά εντός των κλάσεων


) ) 12
,
!. = & !0 = & & 3%0 − *% 3%0 − *%
0'( 0'( 0'( ( 12
Σημ.: Άλλοι συγγραφείς χρησιμοποιούν τη συνδιακύμανση: !. = ∑) 0'( 1 5( ∑0'( 3%0 − *% 3%0 − *%
,
( 2
12
ενώ στο [7] αναφέρεται εναλλακτικά και η: !. = $ ∑)0'( 1 ∑ 0'( 3%0 − *% 3%0 − *%
,
( 2
12
και στα [8,9]: !. = ∑) ∑ 3
0'( 0'( %0 − *% 3%0 − *%
,
(διότι Ν-Κ = πλήθος βαθμ. ελευθερίας, βλ. και [12])
15)

Επίλυση της εξίσωσης – Μετασχηματισμός δεδομένων


Η τάξη του πίνακα Sw είναι το πολύ N-K και του είναι Sb είναι το πολύ K-1, όπου N το πλήθος των παρατηρήσεων και K το πλήθος των
κλάσεων. Για το λόγο αυτό, κατά την επίλυση της εξίσωσης ιδιοτιμών !" 6 = 7!. 6, αρκούν γενικά K–1 ιδιοδιανύσματα για τη διάκριση
μεταξύ των K κλάσεων. Επειδή η προβολή δεν είναι βαθμωτό μέγεθος (έχει K–1 διαστάσεις), το κριτήριο τώρα είναι το 8 6 = 6 , !" 6 /
6 , !. 6 . Μετά το μετασχηματισμό τα δεδομένα προβάλλονται σε χώρο K–1 διαστάσεων.
Ιωάννης Καλατζής, Αναπληρωτής Καθηγητής
Κοντοπόδης Λευτέρης, PhD
PCA vs LDA
Αναπαράσταση δεδομένων vs Διαχωρισμός δεδομένων

Η κεντρική ιδέα του μετασχηματισμού:


PCA: Μετασχηματισμός σε άξονα μέγιστης διακύμανσης των δεδομένων.
LDA: Μετασχηματισμός σε άξονα βέλτιστου διαχωρισμού κλάσεων (ο οποίος βέλτιστος διαχωρισμός
ποσοτικοποιείται με μεγιστοποίηση της απόστασης μεταξύ των κλάσεων ταυτόχρονα με
ελαχιστοποίηση της διασποράς των δεδομένων μέσα σε κάθε κλάση).

Εικόνα: Από [4]

Ιωάννης Καλατζής, Αναπληρωτής Καθηγητής


Κοντοπόδης Λευτέρης, PhD
PCA vs LDA
(συνέχεια)
Δεδομένα σε κατηγορίες ή μη:
PCA: Μετασχηματίζει τα δεδομένα συνολικά χωρίς να θεωρεί ότι ανήκουν σε διακριτές κλάσεις. Για το
λόγο αυτό είναι κατάλληλη για επίλυση προβλημάτων ομαδοποίησης (clustering, μη εποπτευόμενη
αναγνώριση προτύπων).
LDA: Θεωρεί ότι τα δεδομένα ανήκουν σε ξεχωριστές κλάσεις, γνωστές εκ των προτέρων. Για το λόγο
αυτό είναι κατάλληλη για επίλυση προβλημάτων ταξινόμησης (classification, εποπτευόμενη αναγνώριση
προτύπων).
Η προβολή των δεδομένων μετά το μετασχηματισμό:
PCA: Προβολή των δεδομένων σε όσες διαστάσεις επιθυμούμε (από μία έως τον αριθμό των αρχικών
διαστάσεων/μεταβλητών).
LDA: Προβολή των δεδομένων μόνο σε K-1 διαστάσεις (K = πλήθος κλάσεων).
Ελάττωση πλήθους διαστάσεων (features reduction):
Και οι δύο μέθοδοι είναι κατάλληλες για features reduction, αλλά μόνο η PCA μπορεί να χρησιμοποιηθεί
ανεξάρτητα από το αν τα δεδομένα ανήκουν σε κλάσεις ή όχι (με κίνδυνο όμως οι τυχόν κλάσεις να είναι
περισσότερο επικαλυπτόμενες μετά την PCA).
Συνδυασμός PCA & LDA:
Οι δυο μέθοδοι συχνά εφαρμόζονται διαδοχικά, είτε για καλύτερη επίλυση της LDA (PCA®LDA) είτε για
καλύτερο διαχωρισμό, αν και όχι πάντα, μετά την LDA (LDA®PCA).
Ιωάννης Καλατζής, Αναπληρωτής Καθηγητής
Κοντοπόδης Λευτέρης, PhD
Συνάρτηση για LDA σε MATLAB (2 κλάσεις)
function [V, J, Y1, Y2] = lineardiscriminantanalysis(X1, X2)
% LDA transformation
% Xi = original classes (patterns x features), i=1,2
% Yi = transformed classes (patterns x new features), i=1,2
% V = transformation matrix
% J = Fisher criterion

N1 = size(X1,1); % Number of patterns per class


N2 = size(X2,1);
m1 = mean(X1)'; % Class means
m2 = mean(X2)';

% S_between
Sb = (m1-m2)*(m1-m2)';
% S_within
S1 = (X1'-repmat(m1,1,N1))*(X1'-repmat(m1,1,N1))'; % or (N1-1)*cov(X1)
S2 = (X2'-repmat(m2,1,N2))*(X2'-repmat(m2,1,N2))'; % or (N2-1)*cov(X2)
Sw = S1 + S2;

% Eigenvalues
S = inv(Sw)*Sb;
[V,J] = eig(S);
% Sort eigenvalues
[J,idx]=sort(diag(J),'descend');
V = V(:,idx);
% % Or: Direct solution (with features reduction to K-1, K=number of classes):
% J = (m2-m1)'*inv(Sw)*(m2-m1); V = inv(Sw)*(m2-m1); V = V/sqrt(V'*V);

% Data transformation
Y1 = [V'*X1']';
Y2 = [V'*X2']';
Κώδικας εφαρμογής LDA σε MATLAB
Στη συνέχεια παρατίθεται κώδικας σε MATLAB για την εφαρμογή LDA σε ένα απλό παράδειγμα 2
κλάσεων με 5 παρατηρήσεις 3 μεταβλητών.
Ακολούθως, επεξηγείται ο τρόπος με τον οποίο πρέπει να κληθεί η συνάρτηση
lineardiscriminantanalysis της προηγούμενης διαφάνειας.
Τέλος, τα αρχικά και τα μετασχηματισμένα δεδομένα απεικονίζονται γραφικά.
clc; clear all; close all;

% Data (variables x observations)


X1 = [4,2 ; 2,4 ; 2,3 ; 3,6 ; 4,4];
X2 = [9,10 ; 6,8 ; 9,5 ; 8,7 ; 10,8];

% LDA transformation
[V, J, Y1, Y2] = lineardiscriminantanalysis(X1, X2);
% Xi = original classes (patterns x features), i=1,2
% Yi = transformed classes (patterns x new features), i=1,2
% V = transformation matrix
% J = Fisher criterion

% Plot
subplot(2,1,1); hold on; grid on; % Original data
plot(X1(:,1),X1(:,2),'ro');
plot(X2(:,1),X2(:,2),'bs');
subplot(2,1,2); hold on; grid on; % Transformed data
plot(Y1(:,1),Y1(:,2),'ro');
plot(Y2(:,1),Y2(:,2),'bs');
Αναφορές - Βιβλιογραφία
1. Aly A. Farag, Shireen. Y. Elhabian, A Tutorial on Data Reduction - Linear Discriminant Analysis (LDA), 2008
(https://www.lsv.uni-saarland.de/fileadmin/teaching/dsp/ss15/DSP2016/matdid437773.pdf)
2. Kernel Fisher discriminant analysis, Wikipedia
(https://en.wikipedia.org/wiki/Kernel_Fisher_discriminant_analysis)
3. Linear discriminant analysis, Wikipedia (https://en.wikipedia.org/wiki/Linear_discriminant_analysis)
4. Sebastian Raschka, Linear Discriminant Analysis – Bit by Bit, 2014
(http://sebastianraschka.com/Articles/2014_python_lda.html)
5. Kardi Teknomo, Discriminant Analysis Tutorial, 2015 (http://people.revoledu.com/kardi/tutorial/LDA)
6. Olga Veksler, Pattern recognition, 2004
(http://www.csd.uwo.ca/faculty/olga/Courses/CS434a_541a/Lecture8.pdf)
7. MultivariateStats’s documentation for Multi-class Linear Discriminant Analysis, Dahua Lin. Revision 4585dc04,
2014 (http://multivariatestatsjl.readthedocs.io/en/latest/mclda.html)
8. T. Hastie, R. Tibshirani, J. Friedman, The Elements of Statistical Learning, 2nd edition, Springer 2008
(http://statweb.stanford.edu/~tibs/ElemStatLearn/printings/ESLII_print10.pdf)
9. Discriminant Analysis for MATLAB R2016b, Mathworks 2016
(https://www.mathworks.com/help/stats/discriminant-analysis.html)
10. Kernel Discriminant Analysis (http://homepages.inf.ed.ac.uk/rbf/CVonline/LOCAL_COPIES/LI1/kda/)
11. Kernel Fisher discriminant analysis (https://en.wikipedia.org/wiki/Kernel_Fisher_discriminant_analysis)
Ιωάννης Καλατζής, Αναπληρωτής Καθηγητής
Κοντοπόδης Λευτέρης, PhD
Αναφορές - Βιβλιογραφία
12. StackExchange Cross Validated discussions: Estimating the covariance matrix in linear discriminant analysis, 2014
(http://stats.stackexchange.com/questions/90615/estimating-the-covariance-matrix-in-linear-discriminant-analysis, “What is the
correct formula for between-class scatter matrix in LDA?”, 2014 (http://stats.stackexchange.com/questions/123490/what-is-the-
correct-formula-for-between-class-scatter-matrix-in-lda), and “What is the correct formula for covariance matrix in quadratic
discriminant analysis (QDA)?”, 2015 (http://stats.stackexchange.com/questions/129062/what-is-the-correct-formula-for-
covariance-matrix-in-quadratic-discriminant-anal)

13. Linear and Quadratic Discriminant Analysis, Scikit-Learn, (http://scikit-learn.org/stable/modules/lda_qda.html)

14. Ledoit O, Wolf M. Honey, I Shrunk the Sample Covariance Matrix. The Journal of Portfolio Management 30(4), 110-119, 2004
(http://ledoit.net/honey.pdf).

15. Tao Li, Shenghuo Zhu and Mitsunori Ogihara, Using Discriminant Analysis for Multi-class Classification: An Experimental
Investigation, Knowl Inf Syst (2006) 10(4): 453–472 (https://users.cs.fiu.edu/~taoli/pub/Li-discrimant.pdf)

16. Ricardo Gutierrez-Osuna, Introduction to Pattern Recognition (http://courses.cs.tamu.edu/rgutier/cs790_w02/l6.pdf)

17. Ν. Παπανδρέου, Ανασκόπηση στοιχείων γραμμικής άλγεβρας, 2007-2008


(http://xanthippi.ceid.upatras.gr/courses/stochastic_signals/Presentations/Ch_01.pdf)

18. R. A. Fisher, The Use Of Multiple Measurements In Taxonomic Problems, Annals of Eugenics, (1936) 7(2):179-188
(http://onlinelibrary.wiley.com/doi/10.1111/j.1469-1809.1936.tb02137.x/epdf)

19. C. Radhakrishna Rao, The Utilization of Multiple Measurements in Problems of Biological Classification, J of the Royal Statistical
Society, B (Methodological), (1948) 10(2):159-203
Ιωάννης Καλατζής, Αναπληρωτής Καθηγητής
Κοντοπόδης Λευτέρης, PhD

You might also like