Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

63 views

Published on

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

Published in: Software

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

  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Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης

×