Successfully reported this slideshow.
Your SlideShare is downloading. ×

Αναστασία Ηροδότου

Αναστασία Ηροδότου

Download to read offline

Ανίχνευση Αποκλίνουσας Συμπεριφοράς Συστημάτων Λογισμικού με τη Χρήση Μεθόδων Μηχανικής Μάθησης

Ανίχνευση Αποκλίνουσας Συμπεριφοράς Συστημάτων Λογισμικού με τη Χρήση Μεθόδων Μηχανικής Μάθησης

More Related Content

More from ISSEL

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

Αναστασία Ηροδότου

  1. 1. Ανίχνευση αποκλίνουσας συμπεριφοράς συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Αναστασία Ηροδότου ΕΡΓΑΣΤΗΡΙΟ ΕΠΕΞΕΡΓΑΣΙΑΣ ΠΛΗΡΟΦΟΡΙΑΣ ΚΑΙ ΥΠΟΛΟΓΙΣΜΩΝ Υπό την επίβλεψη του Ανδρέα Λ. Συμεωνίδη Επίκουρου Καθηγητή και του Μίλτου Αλλαμανή Υποψήφιου Διδάκτορα Θεσσαλονίκη 2013
  2. 2. Στόχος της εργασίας •Ανίχνευση ανωμαλιών •Χρήση ταξινομητών SVM και GMM 2Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
  3. 3. Μηχανική Μάθηση και Ανίχνευση Ανωμαλιών (1/2) Μηχανική Μάθηση (machine learning) • Κλάδος τεχνητής νοημοσύνης •Δημιουργία μηχανών ικανών να «μαθαίνουν» •Βελτίωση της απόδοσης αξιοποιώντας προηγούμενη εμπειρία 3Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
  4. 4. Μηχανική Μάθηση και Ανίχνευση Ανωμαλιών (2/2) Ανίχνευση Ανωμαλιών (fault/anomaly detection) • αναγνώριση δεδομένων τα οποία δεν ακολουθούν την αναμενόμενη συμπεριφορά. 4Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
  5. 5. Τεχνολογίες που χρησιμοποιήθηκαν Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης 5
  6. 6. Robot Operating System Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης 6 • Δίκτυο κόμβων peer-to-peer • Επικοινωνία κόμβων μέσω: o Services o Messages • Parameter Server • Bιβλιοθήκη actionlib • Package management
  7. 7. Ταξινομητές/Classifiers Ταξινόμηση (classification): •Φάση εκπαίδευσης •Φάση δοκιμής/ταξινόμησης Ταξινομητές: •SVM (Support Vector Machines) •GMM (Gaussian Mixture Models) 7Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
  8. 8. SVM • SVM- Βασισμένος σε διανύσματα υποστήριξης • Εκτελεί την ταξινόμηση βρίσκοντας το υπερεπίπεδο που μεγιστοποιεί το περιθώριο μεταξύ των δύο κατηγοριών. 8Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
  9. 9. SVM(2/2) • Φάση εκπαίδευσης: – Λήψη παραδειγμάτων εκπαίδευσης που ανήκουν σε κάποια από τις δύο κατηγορίες. – Δημιουργία μοντέλου • Φάση Ταξινόμησης: – Νέα παραδείγματα αντιστοιχίζονται στο ίδιο διάστημα – Πρόβλεψη κατηγορίας με βάση την πλευρά του διαστήματος που θα πέσουν Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης 9
  10. 10. GMM(1/2) • GMM- Βασισμένο σε κατανομή μίξης Gaussian. • Συνάρτηση πυκνότητας πιθανότητας σε μια κατανομή μίξης: • Gaussian (κανονική) κατανομή μίξης: 10Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
  11. 11. GMM(2/2) • Φάση εκπαίδευσης: – υπολογίζονται οι συναρτήσεις πυκνότητας πιθανότητας των παρατηρήσεων – δημιουργείται το μοντέλο μίξης • Φάση ταξινόμησης: – υπολογίζεται η log-πιθανότητα για το κάθε στιγμιότυπο – καθορίζονται ανωμαλίες 11Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
  12. 12. Εξέλιξη διπλωματικής – Abalone - E-coli Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης 12
  13. 13. Το πρόβλημα των συνδαιτυμόνων φιλοσόφων • Ν φιλόσοφοι • t- σκέφτεται • e- τρώει • κ- πιρούνια που χρειάζεται για να φάει • F- διαθέσιμα πιρούνια 13Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
  14. 14. Ο κώδικας των συνδαιτυμόνων φιλοσόφων 14Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
  15. 15. Φάση εκπαίδευσης(1/5) Φιλόσοφος 1 Φιλόσοφος 2 Φιλόσοφος 3 Φιλόσοφος 4 Φιλόσοφος 5 t1 2.82 1.90 1.08 2.13 1.99 15Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
  16. 16. Φάση εκπαίδευσης(2/5) Φιλόσοφος 1 Φιλόσοφος 2 Φιλόσοφος 3 Φιλόσοφος 4 Φιλόσοφος 5 t1 2.82 1.90 1.08 2.13 1.99 t2 2.71 1.70 1.13 2.22 1.78 16Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
  17. 17. Φάση εκπαίδευσης(3/5) Φιλόσοφος 1 Φιλόσοφος 2 Φιλόσοφος 3 Φιλόσοφος 4 Φιλόσοφος 5 t1 2.82 1.90 1.08 2.13 1.99 t2 2.71 1.70 1.13 2.22 1.78 t3 2.97 1.52 1.63 2.48 1.59 17Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
  18. 18. Φάση εκπαίδευσης(4/5) Φιλόσοφος 1 Φιλόσοφος 2 Φιλόσοφος 3 Φιλόσοφος 4 Φιλόσοφος 5 t1 2.82 1.90 1.08 2.13 1.99 t2 2.71 1.70 1.13 2.22 1.78 t3 2.97 1.52 1.63 2.48 1.59 t4 2.66 1.36 1.87 2.22 1.66 18Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
  19. 19. Φάση εκπαίδευσης(5/5) Φιλόσοφος 1 Φιλόσοφος 2 Φιλόσοφος 3 Φιλόσοφος 4 Φιλόσοφος 5 t1 2.82 1.90 1.08 2.13 1.99 t2 2.71 1.70 1.13 2.22 1.78 t3 2.97 1.52 1.63 2.48 1.59 t4 2.66 1.36 1.87 2.22 1.66 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Classifier (training) Trained Classifier Model 19Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
  20. 20. Ο φυσιολογικός φιλόσοφος 20Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
  21. 21. Φιλόσοφοι με ιδιάζουσες συμπεριφορές(1/4) Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης 21
  22. 22. Φιλόσοφοι με ιδιάζουσες συμπεριφορές(2/4) Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης 22
  23. 23. Φιλόσοφοι με ιδιάζουσες συμπεριφορές(3/4) Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης 23
  24. 24. Φιλόσοφοι με ιδιάζουσες συμπεριφορές(4/4) 24Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
  25. 25. Φάση ταξινόμησης(1/5) Φιλόσοφος 1 Φιλόσοφος 2 Φιλόσοφος 3 Φιλόσοφος 4 Φιλόσοφος 5 t1 2.82 1.90 1.08 2.13 1.99 Πίνακας πείνας Φιλόσοφος 1 Φιλόσοφος 2 Φιλόσοφος 3 Φιλόσοφος 4 Φιλόσοφος 5 t1 1 1 1 1 1 Πίνακας συμπεριφοράς 25Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
  26. 26. Φάση ταξινόμησης(2/5) Φιλόσοφος 1 Φιλόσοφος 2 Φιλόσοφος 3 Φιλόσοφος 4 Φιλόσοφος 5 t1 2.82 1.90 1.08 2.13 1.99 t2 2.71 1.70 1.13 2.22 1.78 Φιλόσοφος 1 Φιλόσοφος 2 Φιλόσοφος 3 Φιλόσοφος 4 Φιλόσοφος 5 t1 1 1 1 1 1 t2 1 1 1 1 1 Πίνακας συμπεριφοράς Πίνακας πείνας 26Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
  27. 27. Φάση ταξινόμησης(3/5) Φιλόσοφος 1 Φιλόσοφος 2 Φιλόσοφος 3 Φιλόσοφος 4 Φιλόσοφος 5 t1 2.82 1.90 1.08 2.13 1.99 t2 2.71 1.70 1.13 2.22 1.78 t3 2.97 1.52 1.63 2.48 2341 Φιλόσοφος 1 Φιλόσοφος 2 Φιλόσοφος 3 Φιλόσοφος 4 Φιλόσοφος 5 t1 1 1 1 1 1 t2 1 1 1 1 1 t3 1 1 1 1 -1 27Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
  28. 28. Φάση ταξινόμησης(4/5) Φιλόσοφος 1 Φιλόσοφος 2 Φιλόσοφος 3 Φιλόσοφος 4 Φιλόσοφος 5 t1 2.82 1.90 1.08 2.13 1.99 t2 2.71 1.70 1.13 2.22 1.78 t3 2.97 1.52 1.63 2.48 2341 t4 2.66 1.36 1.87 2.22 6666 Φιλόσοφος 1 Φιλόσοφος 2 Φιλόσοφος 3 Φιλόσοφος 4 Φιλόσοφος 5 t1 1 1 1 1 1 t2 1 1 1 1 1 t3 1 1 1 1 -1 t4 1 1 1 1 -1 Πίνακας πείνας Πίνακας συμπεριφοράς 28Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
  29. 29. Φάση ταξινόμησης(5/5) Φιλόσοφος 1 Φιλόσοφος 2 Φιλόσοφος 3 Φιλόσοφος 4 Φιλόσοφος 5 t1 2.82 1.90 1.08 2.13 1.99 t2 2.71 1.70 1.13 2.22 1.78 t3 2.97 1.52 1.63 2.48 2341 t4 2.66 1.36 1.87 2.22 6666 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Trained Classifier Model 1 1 -1 -1 1 1 -1 1 . . . . . Πίνακας αποτελεσμάτων 29Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
  30. 30. Φάση αξιολόγησης(1/2) Φιλόσοφος 1 Φιλόσοφος 2 Φιλόσοφος 3 Φιλόσοφος 4 Φιλόσοφος 5 t1 1 1 1 1 1 t2 1 1 1 1 1 t3 1 1 1 1 -1 t4 1 1 1 1 -1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 -1 -1 . . . . . Πίνακας συμπεριφοράς Τελικός πίνακας συμπεριφοράς 30Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
  31. 31. Φάση αξιολόγησης(2/2) 1 1 -1 -1 . . . . . Τελικός πίνακας συμπεριφοράς 1 1 -1 -1 1 1 -1 1 Πίνακας αποτελεσμάτων Anomaly Recall Accuracy Anomaly Precision 31Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
  32. 32. Πειράματα 32Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
  33. 33. Το κυλιόμενο παράθυρο • Πρόβλημα collective ανωμαλιών. • Χρησιμοποιήθηκαν στους πίνακες δεδομένων κυλιόμενα παράθυρα διαφόρων μεγεθών. 33Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
  34. 34. Αποτελέσματα Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης 34 Classifier: SVM SVM SVM SVM GMM GMM GMM GMM Window: 1 3 5 7 1 3 5 7 0 0 0 0 0 0 0 0 True_Negatives(tn): 527 558 567 515 540 386 402 324 49 16 5 55 36 188 170 246 0 0 0 0 0 0 0 0 576 574 572 570 576 574 572 570 Anomaly_Recall: 0 0 0 0 0 0 0 0 Accuracy: 0,9149305556 0,9721254355 0,9912587413 0,9035087719 0,9375 0,6724738676 0,702797203 0,568421053 True_Positives(tp): False_positives(fp): False_negatives(fn): tp+tn+fp+fn= SVM GMM Anomaly_Recall: 0 0 Accuracy: 0.95 0.72 Anomaly_Precision: 0 0
  35. 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. Αποτελέσματα Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης 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
  37. 37. Αποτελέσματα-Συμπεράσματα Πείραμα 2: SVM GMM Μέσος Όρος: Anomaly_Recall: 42,00% 45,00% Accuracy: 60,00% 55,00% Anomaly_Precision: 46,00% 40,00% Πείραμα 3: SVM GMM Μέσος Όρος: Anomaly_Recall: 57,00% 54,00% Accuracy: 73,00% 70,00% Anomaly_Precision: 72,00% 62,00% Πείραμα 4: SVM GMM Μέσος Όρος: Anomaly_Recall: 41,00% 45,00% Accuracy: 59,00% 53,00% Anomaly_Precision: 48,00% 43,00% 37Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης Πείραμα 1: SVM GMM Μέσος Όρος: Anomaly_Recall: 60,00% 66,00% Accuracy: 74,00% 69,00% Anomaly_Precision: 73,00% 68,00%
  38. 38. Μελλοντικές επεκτάσεις • Διαφορετικές παράμετροι παρόντων ταξινομητών • Διαφορετικοί χρόνοι εκπαίδευσης και ταξινόμησης • Χρήση διαφορετικών ταξινομητών • Pandora Robot ??? 38Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
  39. 39. Ευχαριστώ.. 39Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης

Editor's Notes

  • Σύμφωνα με το πρόβλημα των συνδαιτυμόνων φιλοσόφων (dining philosophers), Ν φιλόσοφοι κάθονται για να φάνε μακαρόνια. Κάθε φιλόσοφος ξοδεύει κάποιο χρόνο t για ποιοτική φιλοσοφική σκέψη και κάποιο χρόνο e για να φάει τα μακαρόνια του. Ωστόσο, κάθε φιλόσοφος χρειάζεται k πιρούνια για να φάει τα μακαρόνια του.
    Το πρόβλημα προκύπτει λόγω των περιορισμένων πόρων κι έτσι υπάρχει περίπτωση κάποιος φιλόσοφος να λιμοκτονήσει.
  • Σταθερά επίπεδα πείνας
  • Λάθος λογική: Ενώ ο φιλόσοφος σκέφτεται ή περιμένει η πείνα του να μειώνεται
  • Αλλαγή στους τύπους αυξομείωσης της πείνας
  • Ο φιλόσοφος που λιμοκτονεί
  • Τύποι πειραμάτων…Η μορφή των αποτελεσμάτων για κάθε περίπτωση.
  • Αποτελέσματα νορμαλ φιλοσόφου
    1 φιλοσοφος 30 λεπτα εκπαιδευσης

×