1. Ανίχνευση αποκλίνουσας συμπεριφοράς
συστημάτων λογισμικού με τη χρήση μεθόδων
μηχανικής μάθησης
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ
ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ
ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ
ΤΟΜΕΑΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ
Αναστασία Ηροδότου
ΕΡΓΑΣΤΗΡΙΟ ΕΠΕΞΕΡΓΑΣΙΑΣ ΠΛΗΡΟΦΟΡΙΑΣ ΚΑΙ ΥΠΟΛΟΓΙΣΜΩΝ
Υπό την επίβλεψη του
Ανδρέα Λ. Συμεωνίδη
Επίκουρου Καθηγητή
και του
Μίλτου Αλλαμανή
Υποψήφιου Διδάκτορα
Θεσσαλονίκη 2013
2. Στόχος της εργασίας
•Ανίχνευση ανωμαλιών
•Χρήση ταξινομητών SVM και GMM
2Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
3. Μηχανική Μάθηση και
Ανίχνευση Ανωμαλιών (1/2)
Μηχανική Μάθηση (machine learning)
• Κλάδος τεχνητής νοημοσύνης
•Δημιουργία μηχανών ικανών να «μαθαίνουν»
•Βελτίωση της απόδοσης αξιοποιώντας προηγούμενη εμπειρία
3Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
4. Μηχανική Μάθηση και
Ανίχνευση Ανωμαλιών (2/2)
Ανίχνευση Ανωμαλιών (fault/anomaly detection)
• αναγνώριση δεδομένων τα οποία δεν ακολουθούν την
αναμενόμενη συμπεριφορά.
4Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
8. SVM
• SVM- Βασισμένος σε διανύσματα υποστήριξης
• Εκτελεί την ταξινόμηση βρίσκοντας το υπερεπίπεδο που
μεγιστοποιεί το περιθώριο μεταξύ των δύο κατηγοριών.
8Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
9. SVM(2/2)
• Φάση εκπαίδευσης:
– Λήψη παραδειγμάτων εκπαίδευσης που ανήκουν σε κάποια από τις
δύο κατηγορίες.
– Δημιουργία μοντέλου
• Φάση Ταξινόμησης:
– Νέα παραδείγματα αντιστοιχίζονται στο ίδιο διάστημα
– Πρόβλεψη κατηγορίας με βάση την πλευρά του διαστήματος που θα
πέσουν
Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης 9
10. GMM(1/2)
• GMM- Βασισμένο σε κατανομή μίξης Gaussian.
• Συνάρτηση πυκνότητας πιθανότητας σε μια κατανομή μίξης:
• Gaussian (κανονική) κατανομή μίξης:
10Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
11. GMM(2/2)
• Φάση εκπαίδευσης:
– υπολογίζονται οι συναρτήσεις πυκνότητας πιθανότητας των
παρατηρήσεων
– δημιουργείται το μοντέλο μίξης
• Φάση ταξινόμησης:
– υπολογίζεται η log-πιθανότητα για το κάθε στιγμιότυπο
– καθορίζονται ανωμαλίες
11Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
12. Εξέλιξη διπλωματικής
– Abalone - E-coli
Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης 12
13. Το πρόβλημα των
συνδαιτυμόνων
φιλοσόφων
• Ν φιλόσοφοι
• t- σκέφτεται
• e- τρώει
• κ- πιρούνια που χρειάζεται για να φάει
• F- διαθέσιμα πιρούνια
13Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
14. Ο κώδικας των
συνδαιτυμόνων φιλοσόφων
14Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
15. Φάση εκπαίδευσης(1/5)
Φιλόσοφος 1 Φιλόσοφος 2 Φιλόσοφος 3 Φιλόσοφος 4 Φιλόσοφος 5
t1 2.82 1.90 1.08 2.13 1.99
15Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
35. Αποτελέσματα
Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης 35
C la s s if ie r : S V M S V M S V M S V M G M M G M M G M M G M M
W in d o w : 1 3 5 7 1 3 5 7
T r u e _ P o s it iv e s ( t p ) : 0 0 0 0 0 0 0 0
T r u e _ N e g a t iv e s ( t n ) : 2 7 6 2 9 0 2 7 6 1 7 3 2 5 5 1 7 0 1 3 2 6 5
F a ls e _ p o s it iv e s ( f p ) : 3 2 5 3 0 9 3 2 1 4 2 2 3 4 6 4 2 9 4 6 5 5 3 0
F a ls e _ n e g a t iv e s ( f n ) : 0 0 0 0 0 0 0 0
t p + t n + f p + f n = 6 0 1 5 9 9 5 9 7 5 9 5 6 0 1 5 9 9 5 9 7 5 9 5
A n o m a ly _ R e c a ll: 0 0 0 0 0 0 0 0
A c c u r a c y : 0 . 4 5 9 2 3 4 6 0 9 0 . 4 8 4 1 4 0 2 3 3 7 0 . 4 6 2 3 1 1 5 5 7 8 0 . 2 9 0 7 5 6 3 0 2 5 0 . 4 2 4 2 9 2 8 4 5 3 0 . 2 8 3 8 0 6 3 4 3 9 0 . 2 2 1 1 0 5 5 2 7 6 0 . 1 0 9 2 4 3 6 9 7 5
A n o m a ly _ P r e c is io n : 0 0 0 0 0 0 0 0
f a u lt y : 1 9 1 9 1 9 1 9 1 9 1 9 1 9 1 9
SVM GMM
Anomaly_Recall: 0 0
Accuracy: 0.42 0.26
Anomaly_Precision: 0 0
36. Αποτελέσματα
Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης 36
SVM GMM
Anomaly_Recall: 0.99 0.99
Accuracy: 0.98 0.89
Anomaly_Precision: 0.98 0.86
C la s s if ie r : S V M S V M S V M S V M G M M G M M G M M G M M
W in d o w : 1 3 5 7 1 3 5 7
T r u e _ P o s it iv e s (t p ): 3 8 6 3 9 1 3 9 1 3 9 2 3 8 7 3 9 1 3 9 3 3 9 3
T r u e _ N e g a t iv e s ( t n ) : 1 9 5 2 0 7 2 0 6 1 9 5 1 9 2 1 3 1 1 3 9 1 1 2
F a ls e _ p o s it iv e s ( f p ) : 1 5 1 0 9 1 8 7 7 6 7 9 2
F a ls e _ n e g a t iv e s ( f n ) : 9 4 4 3 8 4 2 2
t p + t n + f p + f n = 6 0 5 6 0 3 6 0 1 5 9 9 6 0 5 6 0 3 6 0 1 5 9 9
A n o m a ly _ R e c a ll: 0 . 9 7 7 2 1 5 1 8 9 9 0 . 9 8 9 8 7 3 4 1 7 7 0 . 9 8 9 8 7 3 4 1 7 7 0 . 9 9 2 4 0 5 0 6 3 3 0 . 9 7 9 7 4 6 8 3 5 4 0 . 9 8 9 8 7 3 4 1 7 7 0 . 9 9 4 9 3 6 7 0 8 9 0 . 9 9 4 9 3 6 7 0 8 9
A c c u r a c y : 0 . 9 6 0 3 3 0 5 7 8 5 0 . 9 9 1 7 0 8 1 2 6 0 . 9 9 3 3 4 4 4 2 6 0 . 9 7 9 9 6 6 6 1 1 0 . 9 5 7 0 2 4 7 9 3 4 0 . 8 6 5 6 7 1 6 4 1 8 0 . 8 8 5 1 9 1 3 4 7 8 0 . 8 4 3 0 7 1 7 8 6 3
A n o m a ly _ P re c is io n : 0 . 9 6 2 5 9 3 5 1 6 2 0 . 9 9 7 4 4 8 9 7 9 6 1 0 . 9 7 7 5 5 6 1 0 9 7 0 . 9 5 5 5 5 5 5 5 5 6 0 . 8 3 5 4 7 0 0 8 5 5 0 . 8 5 4 3 4 7 8 2 6 1 0 . 8 1 0 3 0 9 2 7 8 4
f a u lt y : 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0
Σύμφωνα με το πρόβλημα των συνδαιτυμόνων φιλοσόφων (dining philosophers), Ν φιλόσοφοι κάθονται για να φάνε μακαρόνια. Κάθε φιλόσοφος ξοδεύει κάποιο χρόνο t για ποιοτική φιλοσοφική σκέψη και κάποιο χρόνο e για να φάει τα μακαρόνια του. Ωστόσο, κάθε φιλόσοφος χρειάζεται k πιρούνια για να φάει τα μακαρόνια του.
Το πρόβλημα προκύπτει λόγω των περιορισμένων πόρων κι έτσι υπάρχει περίπτωση κάποιος φιλόσοφος να λιμοκτονήσει.
Σταθερά επίπεδα πείνας
Λάθος λογική: Ενώ ο φιλόσοφος σκέφτεται ή περιμένει η πείνα του να μειώνεται
Αλλαγή στους τύπους αυξομείωσης της πείνας
Ο φιλόσοφος που λιμοκτονεί
Τύποι πειραμάτων…Η μορφή των αποτελεσμάτων για κάθε περίπτωση.