Professional Documents
Culture Documents
LDA Kontopodis1
LDA Kontopodis1
(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: Για την επίτευξη της καλύτερης διαχωρισιμότητας, τα δεδομένα κατά το
μετασχηματισμό τους προβάλλονται σε χώρο μικρότερης διάστασης από τον αρχικό, με αποτέλεσμα να ελαττώνεται
το πλήθος των διαστάσεών τους (δηλαδή των μεταβλητών από τις οποίες αποτελούνται), έτσι ώστε στη συνέχεια η
ταξινόμηση νέων δεδομένων να είναι ευχερέστερη και ακριβέστερη.
Μεταβλητή 2
της μεταβλητής 1 ή μόνο της μεταβλητής 2,
οδηγεί σε επικάλυψη μεταξύ των κλάσεων.
"Διασπορά" εντός
της κλάσης 1 Απόσταση μεταξύ
των κλάσεων
"Διασπορά" εντός
της κλάσης 2
Νέα μεταβλητή 2
1
τή
βλη
ε τα
έαμ
Ν
Νέ
αμ
ετα
βλ
ητή
2
Συγκεκριμένα, παρατηρούμε ότι, μετά το μετασχηματισμό κατά LDA, στον άξονα της Νέας
μεταβλητής 2 ο διαχωρισμός των κλάσεων είναι βέλτιστος.
Ιωάννης Καλατζής, Αναπληρωτής Καθηγητής
Κοντοποδης Λευτέρης, PhD
Κριτήριο Fisher
Το κριτήριο Fisher για βέλτιστο διαχωρισμό κλάσεων είναι (θεωρούμε 2 κλάσεις):
Η διασπορά μεταξύ των κλάσεων είναι η απόσταση των μέσων τιμών των κλάσεων:
67 = >? − >A A = >? − >A >? − >A B
? DE
όπου >C = D ∑<G? HC< η μέση τιμή της κλάσης k=1,2 με Nk το πλήθος των σημείων της,
E
όπου HC< είναι η I-οστή παρατήρηση της κλάσης J (διάνυσμα M μεταβλητών).
* Σημείωση: Ο πίνακας διασποράς (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
Επίσης:
23 23
Άρα: %$' = %$1 + %$F = " ( %1 " + " ( %F " = " ( %1 + %F " = " ( %' "
Ιωάννης Καλατζής, Αναπληρωτής Καθηγητής
Κοντοποδης Λευτέρης, PhD
Η μαθηματική διαδικασία της LDA
2) Μεγιστοποίηση του κριτηρίου Fisher μετά το μετασχηματισμό
Tο κριτήριο Fisher J(!) μεγιστοποιείται όταν η παράγωγός του γίνει ίση με το μηδέν:
⇒ () ! − # ! (* ! = 0 ⇒
⇒ (! = 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<)
Έστω δεδομένα δύο κλάσεων, 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
'("
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
Άρα:
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
Τα ιδιοδιανύσματα, με γνωστές τις ιδιοτιμές λ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
Αριθμητικό παράδειγμα
ΑΠΕΙΚΟΝΙΣΗ ΤΩΝ ΙΔΙΟΔΙΑΝΥΣΜΑΤΩΝ
Στο παρακάτω σχήμα απεικονίζονται τα δύο μοναδιαία ιδιοδιανύσματα "!# και "!$ στο σύστημα
αξόνων των δεδομένων, καθώς και οι διευθύνσεις προβολής που αυτά ορίζουν.
Μετά το μετασχηματισμό των δεδομένων, παρατηρούμε ότι στην προβολή των δεδομένων στον άξονα της Νέας
μεταβλητής 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
Στο παρακάτω σχήμα φαίνεται η Νέα μεταβλητή 1 του προηγουμένου παραδείγματος ως προς τις αρχικές
μεταβλητές 1 & 2, ώστε να φανεί η σχέση μεταξύ τους:
Νέα µεταβλητή 1 = 0.9088 ⋅ Μεταβλητή 1 + 0.4173 ⋅ Μεταβλητή 2
Επίσης φαίνεται και το επίπεδο που διαχωρίζει τις δύο κλάσεις, κάθετα στον άξονα της Νέας μεταβλητής 1 και στο
σημείο διαχωρισμού των δύο κλάσεων.
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 = λόγος περιμέτρων μέσης προς λεκάνης
Κατά την εφαρμογή 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
Τα διαγράμματα διασποράς των αρχικών μεταβλητών ανά 2 δίνονται στο παρακάτω γράφημα, για τις 2
κλάσεις (Χ=μπλε αστέρια, Υ=κόκκινα τετράγωνα):
Το διάγραμμα διασποράς της νέας μεταβλητής Q1 είναι το εξής, για τις δύο κλάσεις:
Παρατηρούμε ότι οι δύο κλάσεις διαχωρίζονται πολύ καλύτερα (οπτικά τουλάχιστον) με τη «Νέα
μεταβλητή 1» (Q1), παρά με τις αρχικές μεταβλητές.
Επίσης, λόγω του πλήθους των αρχικών μεταβλητών (4), και του πλήθους των δυνατών συνδυασμών
τους, είναι δύσκολο να βρεθεί ποιος από αυτούς τους συνδυασμούς δίνει (αν δίνει) καλό διαχωρισμό
μεταξύ των κλάσεων, ειδικά αν ληφθεί υπ’ όψιν ότι θα πρέπει να εξεταστούν όλοι οι συνδυασμοί των
αρχικών μεταβλητών.
Δηλαδή, εκτός από τους ανά 2 συνδυασμούς των μεταβλητών (που παρουσιάζονται στο διάγραμμα),
πρέπει να εξεταστούν οι μεταβλητές τόσο κάθε μία ξεχωριστά (συνδυασμοί «ανά 1»), όσο και οι
συνδυασμοί τους ανά 3 (δηλ. σε διάγραμμα 3 διαστάσεων), όσο τέλος και ανά 4 (κάτι που είναι
αδύνατον να γίνει εποπτικά).
[10]
% 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;
% 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)
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)
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