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

Post on 11-Jan-2017

13 views 0 download

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

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

μηχανικής μάθησης

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ

ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ

ΤΟΜΕΑΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ

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

ΕΡΓΑΣΤΗΡΙΟ ΕΠΕΞΕΡΓΑΣΙΑΣ ΠΛΗΡΟΦΟΡΙΑΣ ΚΑΙ ΥΠΟΛΟΓΙΣΜΩΝ

Υπό την επίβλεψη του Ανδρέα Λ. Συμεωνίδη

Επίκουρου Καθηγητήκαι του

Μίλτου ΑλλαμανήΥποψήφιου Διδάκτορα

Θεσσαλονίκη 2013

Στόχος της εργασίας

•Ανίχνευση ανωμαλιών

•Χρήση ταξινομητών SVM και GMM

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

Μηχανική Μάθηση και Ανίχνευση Ανωμαλιών (1/2)

Μηχανική Μάθηση (machine learning) • Κλάδος τεχνητής νοημοσύνης•Δημιουργία μηχανών ικανών να «μαθαίνουν» •Βελτίωση της απόδοσης αξιοποιώντας προηγούμενη εμπειρία

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

Μηχανική Μάθηση και Ανίχνευση Ανωμαλιών (2/2)

Ανίχνευση Ανωμαλιών (fault/anomaly detection) • αναγνώριση δεδομένων τα οποία δεν ακολουθούν την

αναμενόμενη συμπεριφορά.

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

Τεχνολογίες που χρησιμοποιήθηκαν

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

Robot Operating System

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

• Δίκτυο κόμβων peer-to-peer• Επικοινωνία κόμβων μέσω:

o Serviceso Messages

• Parameter Server• Bιβλιοθήκη actionlib• Package management

Ταξινομητές/Classifiers

Ταξινόμηση (classification): •Φάση εκπαίδευσης •Φάση δοκιμής/ταξινόμησης

Ταξινομητές:•SVM (Support Vector Machines)•GMM (Gaussian Mixture Models)

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

SVM

• SVM- Βασισμένος σε διανύσματα υποστήριξης• Εκτελεί την ταξινόμηση βρίσκοντας το υπερεπίπεδο που

μεγιστοποιεί το περιθώριο μεταξύ των δύο κατηγοριών.

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

SVM(2/2)

• Φάση εκπαίδευσης:– Λήψη παραδειγμάτων εκπαίδευσης που ανήκουν σε κάποια από τις

δύο κατηγορίες.– Δημιουργία μοντέλου

• Φάση Ταξινόμησης:– Νέα παραδείγματα αντιστοιχίζονται στο ίδιο διάστημα– Πρόβλεψη κατηγορίας με βάση την πλευρά του διαστήματος που θα

πέσουν

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

GMM(1/2)

• GMM- Βασισμένο σε κατανομή μίξης Gaussian.• Συνάρτηση πυκνότητας πιθανότητας σε μια κατανομή μίξης:

• Gaussian (κανονική) κατανομή μίξης:

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

GMM(2/2)

• Φάση εκπαίδευσης:– υπολογίζονται οι συναρτήσεις πυκνότητας πιθανότητας των

παρατηρήσεων – δημιουργείται το μοντέλο μίξης

• Φάση ταξινόμησης:– υπολογίζεται η log-πιθανότητα για το κάθε στιγμιότυπο– καθορίζονται ανωμαλίες

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

Εξέλιξη διπλωματικής

– Abalone - E-coli

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

Το πρόβλημα των συνδαιτυμόνων

φιλοσόφων

• Ν φιλόσοφοι• t- σκέφτεται• e- τρώει• κ- πιρούνια που χρειάζεται για να φάει• F- διαθέσιμα πιρούνια

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

Ο κώδικας των συνδαιτυμόνων φιλοσόφων

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

Φάση εκπαίδευσης(1/5)

Φιλόσοφος 1 Φιλόσοφος 2 Φιλόσοφος 3 Φιλόσοφος 4 Φιλόσοφος 5t1 2.82 1.90 1.08 2.13 1.99

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

Φάση εκπαίδευσης(2/5)Φιλόσοφος 1 Φιλόσοφος 2 Φιλόσοφος 3 Φιλόσοφος 4 Φιλόσοφος 5

t1 2.82 1.90 1.08 2.13 1.99t2 2.71 1.70 1.13 2.22 1.78

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

Φάση εκπαίδευσης(3/5)

Φιλόσοφος 1 Φιλόσοφος 2 Φιλόσοφος 3 Φιλόσοφος 4 Φιλόσοφος 5t1 2.82 1.90 1.08 2.13 1.99t2 2.71 1.70 1.13 2.22 1.78t3 2.97 1.52 1.63 2.48 1.59

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

Φάση εκπαίδευσης(4/5)Φιλόσοφος 1 Φιλόσοφος 2 Φιλόσοφος 3 Φιλόσοφος 4 Φιλόσοφος 5

t1 2.82 1.90 1.08 2.13 1.99t2 2.71 1.70 1.13 2.22 1.78t3 2.97 1.52 1.63 2.48 1.59t4 2.66 1.36 1.87 2.22 1.66

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

Φάση εκπαίδευσης(5/5)

Φιλόσοφος 1 Φιλόσοφος 2 Φιλόσοφος 3 Φιλόσοφος 4 Φιλόσοφος 5t1 2.82 1.90 1.08 2.13 1.99t2 2.71 1.70 1.13 2.22 1.78t3 2.97 1.52 1.63 2.48 1.59t4 2.66 1.36 1.87 2.22 1.66. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .

Classifier (training)

Trained Classifier Model 19Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης

Ο φυσιολογικός φιλόσοφος

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

Φιλόσοφοι με ιδιάζουσες συμπεριφορές(1/4)

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

Φιλόσοφοι με ιδιάζουσες συμπεριφορές(2/4)

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

Φιλόσοφοι με ιδιάζουσες συμπεριφορές(3/4)

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

Φιλόσοφοι με ιδιάζουσες συμπεριφορές(4/4)

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

Φάση ταξινόμησης(1/5)

Φιλόσοφος 1 Φιλόσοφος 2 Φιλόσοφος 3 Φιλόσοφος 4 Φιλόσοφος 5t1 2.82 1.90 1.08 2.13 1.99

Πίνακας πείνας

Φιλόσοφος 1 Φιλόσοφος 2 Φιλόσοφος 3 Φιλόσοφος 4 Φιλόσοφος 5t1 1 1 1 1 1

Πίνακας συμπεριφοράς

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

Φάση ταξινόμησης(2/5)Φιλόσοφος 1 Φιλόσοφος 2 Φιλόσοφος 3 Φιλόσοφος 4 Φιλόσοφος 5

t1 2.82 1.90 1.08 2.13 1.99t2 2.71 1.70 1.13 2.22 1.78

Φιλόσοφος 1 Φιλόσοφος 2 Φιλόσοφος 3 Φιλόσοφος 4 Φιλόσοφος 5t1 1 1 1 1 1t2 1 1 1 1 1

Πίνακας συμπεριφοράς

Πίνακας πείνας

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

Φάση ταξινόμησης(3/5)

Φιλόσοφος 1 Φιλόσοφος 2 Φιλόσοφος 3 Φιλόσοφος 4 Φιλόσοφος 5t1 2.82 1.90 1.08 2.13 1.99t2 2.71 1.70 1.13 2.22 1.78t3 2.97 1.52 1.63 2.48 2341

Φιλόσοφος 1 Φιλόσοφος 2 Φιλόσοφος 3 Φιλόσοφος 4 Φιλόσοφος 5t1 1 1 1 1 1t2 1 1 1 1 1t3 1 1 1 1 -1

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

Φάση ταξινόμησης(4/5)

Φιλόσοφος 1 Φιλόσοφος 2 Φιλόσοφος 3 Φιλόσοφος 4 Φιλόσοφος 5t1 2.82 1.90 1.08 2.13 1.99t2 2.71 1.70 1.13 2.22 1.78t3 2.97 1.52 1.63 2.48 2341t4 2.66 1.36 1.87 2.22 6666

Φιλόσοφος 1 Φιλόσοφος 2 Φιλόσοφος 3 Φιλόσοφος 4 Φιλόσοφος 5t1 1 1 1 1 1t2 1 1 1 1 1t3 1 1 1 1 -1t4 1 1 1 1 -1

Πίνακας πείνας

Πίνακας συμπεριφοράς

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

Φάση ταξινόμησης(5/5)Φιλόσοφος 1 Φιλόσοφος 2 Φιλόσοφος 3 Φιλόσοφος 4 Φιλόσοφος 5

t1 2.82 1.90 1.08 2.13 1.99t2 2.71 1.70 1.13 2.22 1.78t3 2.97 1.52 1.63 2.48 2341t4 2.66 1.36 1.87 2.22 6666. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .

Trained Classifier Model

1

1

-1

-1

1

1

-1

1

.

.

.

.

.

Πίνακας αποτελεσμάτων

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

Φάση αξιολόγησης(1/2)

Φιλόσοφος 1 Φιλόσοφος 2 Φιλόσοφος 3 Φιλόσοφος 4 Φιλόσοφος 5t1 1 1 1 1 1t2 1 1 1 1 1t3 1 1 1 1 -1t4 1 1 1 1 -1. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .

11

-1-1

.

.

.

.

.

Πίνακας συμπεριφοράςΤελικός πίνακας συμπεριφοράς

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

Φάση αξιολόγησης(2/2)

1

1

-1

-1

.

.

.

.

.

Τελικός πίνακας συμπεριφοράς

1

1

-1

-1

1

1

-1

1

Πίνακας αποτελεσμάτων

Anomaly RecallAccuracyAnomaly Precision

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

Πειράματα

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

Το κυλιόμενο παράθυρο• Πρόβλημα collective ανωμαλιών. • Χρησιμοποιήθηκαν στους πίνακες δεδομένων κυλιόμενα

παράθυρα διαφόρων μεγεθών.

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

Αποτελέσματα

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

Classifier: SVM SVM SVM SVM GMM GMM GMM GMMWindow: 1 3 5 7 1 3 5 7

0 0 0 0 0 0 0 0True_Negatives(tn): 527 558 567 515 540 386 402 324

49 16 5 55 36 188 170 2460 0 0 0 0 0 0 0

576 574 572 570 576 574 572 570Anomaly_Recall: 0 0 0 0 0 0 0 0Accuracy: 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 GMMAnomaly_Recall: 0 0Accuracy: 0.95 0.72Anomaly_Precision: 0 0

Αποτελέσματα

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

Class ifier: SVM S VM SVM SVM GM M GM M GMM GMMWindow: 1 3 5 7 1 3 5 7True_P os it ives (tp): 0 0 0 0 0 0 0 0True_Negatives (tn): 276 290 276 173 255 170 132 65False_pos itives (fp): 325 309 321 422 346 429 465 530False_negatives (fn): 0 0 0 0 0 0 0 0tp+ tn+ fp+ fn= 601 599 597 595 601 599 597 595Anom aly_Recall: 0 0 0 0 0 0 0 0Accuracy : 0.459234609 0.4841402337 0.4623115578 0.2907563025 0.4242928453 0.2838063439 0.2211055276 0.1092436975Anom aly_Prec is ion: 0 0 0 0 0 0 0 0faulty : 19 19 19 19 19 19 19 19

SVM GMMAnomaly_Recall: 0 0Accuracy: 0.42 0.26Anomaly_Precision: 0 0

Αποτελέσματα

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

SVM GMMAnomaly_Recall: 0.99 0.99Accuracy: 0.98 0.89Anomaly_Precision: 0.98 0.86

Class ifier: SV M SVM SV M S VM GM M GM M GM M GM MWindow: 1 3 5 7 1 3 5 7True_Pos itives(tp): 386 391 391 392 387 391 393 393True_Negatives(tn): 195 207 206 195 192 131 139 112False_pos it ives(fp): 15 1 0 9 18 77 67 92False_negatives(fn): 9 4 4 3 8 4 2 2tp+ tn+ fp+ fn= 605 603 601 599 605 603 601 599Anom aly_Recall: 0.9772151899 0.9898734177 0.9898734177 0.9924050633 0.9797468354 0.9898734177 0.9949367089 0.9949367089Accuracy : 0.9603305785 0.991708126 0.993344426 0.979966611 0.9570247934 0.8656716418 0.8851913478 0.8430717863Anom aly_P rec is ion: 0.9625935162 0.9974489796 1 0.9775561097 0.9555555556 0.8354700855 0.8543478261 0.8103092784faulty : 20 20 20 20 20 20 20 20

Αποτελέσματα-Συμπεράσματα

Πείραμα 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%

Μελλοντικές επεκτάσεις

• Διαφορετικές παράμετροι παρόντων ταξινομητών• Διαφορετικοί χρόνοι εκπαίδευσης και ταξινόμησης• Χρήση διαφορετικών ταξινομητών• Pandora Robot ???

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

Ευχαριστώ..

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