Privacy preserving data mining με χρήση δενδρικών δομών εξόρυξης κανόνων συσχέτισης

Σχετικά έγγραφα
TID Items. Τ = {t 1, t 2,.., t N } ένα σύνολο από δοσοληψίες, όπου κάθε t i είναι ένα στοιχειοσύνολο

Οι διαφάνειες στηρίζονται στο P.-N. Tan, M.Steinbach, V. Kumar, «Introduction to Data Mining», Addison Wesley, 2006

Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων:

Ανάλυση Συσχέτισης IΙ

Οι διαφάνειες στηρίζονται στο P.-N. Tan, M.Steinbach, V. Kumar, «Introduction to Data Mining», Addison Wesley, 2006

Ο Αλγόριθμος FP-Growth

Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων

Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων:

Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων

Lecture Notes for Chapter 6. Introduction to Data Mining

Κεφάλαιο 7: Εξόρυξη Συχνών Στοιχειοσυνόλων και Κανόνων Συσχέτισης

Τεχνικές Εξόρυξης Δεδομένων

Αποθήκες και Εξόρυξη Δεδομένων

Data mining Εξόρυξη εδοµένων. o Association rules mining o Classification o Clustering o Text Mining o Web Mining

HY380 Αλγόριθμοι και πολυπλοκότητα Hard Problems

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007

Υπερπροσαρμογή (Overfitting) (1)

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Πεδί α

Πανεπιστήµιο Πειραιώς Τµήµα Πληροφορικής. Εξόρυξη Γνώσης από εδοµένα (Data Mining) Εξόρυξη Κανόνων Συσχετίσεων. Γιάννης Θεοδωρίδης

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τμήμα Πληροφορικής

1 Εισαγωγή στις Συνδυαστικές Δημοπρασίες - Combinatorial Auctions

Κανόνες Συσχέτισης IIΙ

ΗΥ562 Προχωρημένα Θέματα Βάσεων Δεδομένων Efficient Query Evaluation over Temporally Correlated Probabilistic Streams

ΑΠΟΣΤΑΣΕΙΣ ΓΙΑ ΤΗΝ ΤΑΞΙΝΟΜΗΣΗ ΣΕ ΠΟΙΟΤΙΚΕΣ ΜΕΤΑΒΛΗΤΈΣ (ΤΑΞΙΝΟΜΗΣΗ ΣΕ ΛΟΓΙΚΑ ΔΕΔΟΜΕΝΑ)

Data Mining: Στοχεύοντας στους σωστούς πελάτες. Αριστομένης Μακρής

Διδάσκων: Παναγιώτης Ανδρέου

Πληροφορική 2. Δομές δεδομένων και αρχείων

Αλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες)

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

ΠΑΝΕΠΙΣΤΗΜΙΑΚΑ ΦΡΟΝΤΙΣΤΗΡΙΑ ΚΟΛΛΙΝΤΖΑ. Ερωτήσεις πολλαπλής επιλογής. Συντάκτης: Δημήτριος Κρέτσης

ΑΝΑΛΥΣΗ ΔΙΑΚΥΜΑΝΣΗΣ. Επικ. Καθ. Στέλιος Ζήμερας. Τμήμα Μαθηματικών Κατεύθυνση Στατιστικής και Αναλογιστικά Χρηματοοικονομικά Μαθηματικά

Αναγνώριση Προτύπων Ι

ΔΙΑΧΕΙΡΙΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ ΠΑΓΚΟΣΜΙΟΥ ΙΣΤΟΥ ΚΑΙ ΓΛΩΣΣΙΚΑ ΕΡΓΑΛΕΙΑ. Data Mining - Classification

5.2 ΑΠΛΟΠΟΙΗΣΗ ΜΕ ΤΗΝ ΜΕΘΟΔΟ ΚΑΤΑΤΑΞΗΣ ΣΕ ΠΙΝΑΚΑ

Σύνοψη Προηγούμενου. Πίνακες (Arrays) Πίνακες (Arrays): Βασικές Λειτουργίες. Πίνακες (Arrays) Ορέστης Τελέλης

Ζητήματα ηήμ με τα δεδομένα

ΚΕΦΑΛΑΙΟ Μηχανική Μάθηση

Τι είναι αλγόριθμος; Υποπρογράμματα (υποαλγόριθμοι) Βασικές αλγοριθμικές δομές

Ανάκτηση Πληροφορίας

Αντισταθμιστική ανάλυση

ΔΙΑΧΕΙΡΙΣΗ ΥΔΑΤΙΚΩΝ ΠΟΡΩΝ

ΜΕΡΙΚΑ ΣΤΟΙΧΕΙΑ ΓΙΑ ΤΙΣ ΓΛΩΣΣEΣ ΠPOΓPAMMATIΣMOY

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

Ανακάλυψη κανόνων συσχέτισης από εκπαιδευτικά δεδομένα

Σχεδίαση & Ανάλυση Αλγορίθμων

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

Ευφυής Προγραμματισμός

ΙΑ ΟΧΙΚΕΣ ΒΕΛΤΙΩΣΕΙΣ

Διάλεξη 12: Δέντρα ΙΙ Δυαδικά Δέντρα

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

Δέντρα Απόφασης (Decision(

Κεφάλαιο 8. Οπτικοποίηση Απαλοιφή

2. Η πιθανότητα της αριθμήσιμης ένωσης ξένων μεταξύ τους ενδεχομένων είναι το άθροισμα των πιθανοτήτων των ενδεχομένων.

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΣΤΑΤΙΣΤΙΚΗ ΤΩΝ ΕΠΙΧΕΙΡΗΣΕΩΝ. Κεφάλαιο 8. Συνεχείς Κατανομές Πιθανοτήτων

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Ε π ι μ έ λ ε ι α Κ Ο Λ Λ Α Σ Α Ν Τ Ω Ν Η Σ

Επίλυση Προβλημάτων 1

K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων

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

Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος

On line αλγόριθμοι δρομολόγησης για στοχαστικά δίκτυα σε πραγματικό χρόνο

Κεφάλαιο 20. Ανακάλυψη Γνώσης σε Βάσεις δεδοµένων. Τεχνητή Νοηµοσύνη - Β' Έκδοση Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η.

Κανόνες Συσχέτισης IΙ

Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find)

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

0x2 = 2. = = δηλαδή η f δεν. = 2. Άρα η συνάρτηση f δεν είναι συνεχής στο [0,3]. Συνεπώς δεν. x 2. lim f (x) = lim (2x 1) = 3 και x 2 x 2

Συνήθεις διαφορικές εξισώσεις προβλήματα οριακών τιμών

Δομές δεδομένων. Ενότητα 8: Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find) Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών

AVL-trees C++ implementation

Αλγόριθμοι Ταξινόμησης Μέρος 2

ΕΝΑΣ ΔΙΚΡΙΤΗΡΙΟΣ ΑΛΓΟΡΙΘΜΟΣ SIMPLEX

Πωλήσεις. Μπίτης Αθανάσιος 2017

Ανάκτηση Πληροφορίας

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

ΟΙΚΟΝΟΜΕΤΡΙΑ. Παπάνα Αγγελική

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

Αλγόριθμοι και πολυπλοκότητα Δυναμικός Προγραμματισμός

Αλγόριθμοι και Πολυπλοκότητα

Συστήματα Κοστολόγησης: Κοστολόγηση Συνεχούς Παραγωγής

ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ - ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 3

Εξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων

Εφαρμοσμένη Βελτιστοποίηση

Κεφάλαιο Δύο Γραφήματα και Πίνακες Περιγραφικές Τεχνικές

Κεφ. 6Β: Συνήθεις διαφορικές εξισώσεις (ΣΔΕ) - προβλήματα αρχικών τιμών

Ενδεικτικές Λύσεις 1ου Σετ Ασκήσεων

ΚΕΦΑΛΑΙΟ 3ο ΤΥΧΑΙΟΙ ΑΡΙΘΜΟΙ ΕΛΕΓΧΟΣ ΤΥΧΑΙΟΤΗΤΑΣ

ΚΕΦΑΛΑΙΟ 2ο ΠΡΟΣΟΜΟΙΩΣΗ ΔΙΑΚΡΙΤΩΝ ΓΕΓΟΝΟΤΩΝ

Θεωρία Πληροφορίας. Διάλεξη 4: Διακριτή πηγή πληροφορίας χωρίς μνήμη. Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής

4. ΚΕΦΑΛΑΙΟ ΕΦΑΡΜΟΓΕΣ ΤΟΥ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΥ FOURIER

ΕΙΔΙΚΑ ΘΕΜΑΤΑ ΔΙΑΧΕΙΡΙΣΗΣ ΚΙΝΔΥΝΟΥ. Value at Risk (VaR) και Expected Shortfall

Αλγόριθμοι Ταξινόμησης Μέρος 4

Διάλεξη 04: Παραδείγματα Ανάλυσης

Αλγόριθμοι και Πολυπλοκότητα

Κεφάλαιο 9. Εξαγωγή Κανόνων Συσχέτισης

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

Κανόνες Συσχέτισης Ι. Εισαγωγή. Εισαγωγή. Ορισμοί. Ορισμοί. Ορισμοί. Market-Basket transactions (Το καλάθι της νοικοκυράς!)

Transcript:

-------------------------- Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πολυτεχνική Σχολή Πανεπιστημίου Πατρών Διπλωματική Εργασία για το Μεταπτυχιακό Δίπλωμα Ειδίκευσης στην «Επιστήμη και Τεχνολογία Υπολογιστών» Privacy preserving data mining με χρήση δενδρικών δομών εξόρυξης κανόνων συσχέτισης Αγγελική Δουλαβέρη ΑΜ: 819 Επιβλέπων Επίκουρος Καθηγητής κ. Χρήστος Μακρής Τριμελής Εξεταστική Επιτροπή Επίκουρος Καθηγητής κ. Χρήστος Μακρής Καθηγητής κ. Αθανάσιος Τσακαλίδης Καθηγητής κ. Μεγαλοοικονόμου Βασίλειος Πάτρα, Ιούνιος 2017

Ευχαριστίες Θα ήθελα να εκφράσω την βαθιά μου εκτίμηση & να ευχαριστήσω τον επίκουρο καθηγητή κ. Χρήστο Μακρή, για την υπομονετική καθοδήγηση που μου παρείχε από την έναρξη της ερευνητικής δραστηριότητας μέχρι την ολοκλήρωση της διπλωματικής εργασίας & την ευκαιρία που μου έδωσε να ασχοληθώ με το θέμα του data privacy στην εξόρυξη δεδομένων με χρήση δενδρικών δομών δεδομένων, αποκτώντας έτσι πολύτιμη εμπειρία. Θα ήθελα επίσης να ευχαριστήσω τα δύο άλλα μέλη της τριμελούς επιτροπής τον καθηγητή κ. Αθανάσιο Τσακαλίδη & τον καθηγητή κ. Βασίλειο Μεγαλοοικονόμου για την πολύτιμη υποστήριξη της διπλωματικής μου εργασίας όπως & την συμμετοχή τους στην εξέταση & κρίση της.

Επιτελική Σύνοψη Στόχος μας μέσα από αυτήν την διπλωματική είναι να μπορέσουμε να ορίσουμε ένα FP-tree με πολλαπλή υποστήριξη και μέσα από αυτό να μπορεί να καθοριστεί ποια θα είναι τα αντικείμενα προς απόκρυψη. Ο αρχικός αλγόριθμος θεωρεί ότι έχουμε μια δεδομένη βάση συναλλαγών και ανιχνεύουμε σύνολα που έχουν συχνότητα εμφάνισης στην βάση μεγαλύτερη από ένα ελάχιστο κατώφλι υποστήριξης που έχουμε θέσει. Στην προηγούμενη λοιπόν προσέγγιση έχουμε το κλειδί για την εύρεση των κανόνων συσχέτισης που ήταν το κατώφλι υποστήριξης (support) που θέταμε και με βάση αυτό απορρίπταμε κανόνες που δεν το ικανοποιούσαν, δηλαδή είχαμε μόνο patterns πάνω από το κατώφλι. Όμως αυτή η τακτική της χρησιμοποίησης ενός και μοναδικού minimum support λειτουργεί αρκετά ικανοποιητικά αλλά έχει το μειονέκτημα ότι θεωρεί ότι όλα τα αντικείμενα είναι «ομοειδή» όσον αφορά την επιλογή τους μέσα από τις συναλλαγές. Αυτό οδηγεί στο συμπέρασμα ότι δεν είναι σωστό οι πωλήσεις μεγάλων συσκευών να αξιολογηθούν με τα ίδια κριτήρια που αξιολογούμε μικρές καθημερινές πωλήσεις. Η προσαρμογή αυτού του συμπεράσματος στο παράδειγμα μας σημαίνει ότι δεν μπορούμε να θέσουμε κοινό κάτω όριο συχνότητας εμφάνισης σε όλα τα αντικείμενα συναλλαγών. Έτσι οδηγούμαστε στο παρακάτω τρόπο αντιμετώπισης. Να ορίζουμε πολλά διαφορετικά supports για τα αντικείμενα μας. Ο αλγόριθμος μας ουσιαστικά δέχεται σαν είσοδο Ν transactions, με ένα σύνολο από miminum supports για συγκεκριμένους κόμβους και ένα γενικό minimum support για όλους τους υπόλοιπους κόμβους. Ταυτόχρονα δεχόμαστε και την λίστα των αντικειμένων που χαρακτηρίζονται σαν sensitive. Υλοποιούμε το FP-tree και παίρνουμε την λίστα Lκαι L των σχετικών συναλλαγών. Ξεκινά η διαδικασία αφαίρεσης κόμβων από το δέντρο ακολουθώντας τα παρακάτω. Διαγράφουμε κάθε αντικείμενο στη λίστα Ln, η οποία έχει support level μικρότερο του αντίστοιχου support του αντικειμένου. Υπολογίζουμε το βάρος κάθε κλαδιού στο fp-tree. Για το κλαδί με το μεγαλύτερο βάρος υπολογίζουμε το

αντικείμενο που έχει το μεγαλύτερο βάρος και μειώνουμε τον αριθμό εμφάνισης του στον κόμβο που εμφανίζεται. Αν έχουμε 0 στον κόμβο τότε διαγράφουμε τον κόμβο και επανασυνθέτουμε το δέντρο. Φαίνεται ξεκάθαρα ότι όσο αυξάνουμε τις τιμές του support έχουμε όλο και περισσότερους κόμβους να διαγράφονται από το δέντρο μας. Επίσης είναι λογικό ότι όσο μεγαλύτερη είναι η βάση τόσο περισσότεροι κόμβοι διαγράφονται. Ταυτόχρονα έχουμε ότι όσο μεγαλώνει το μέγεθος των transactions έχουμε και περισσότερους κόμβους άρα και μήκος του δέντρου είναι μεγαλύτερο με αποτέλεσμα το να έχουμε και περισσότερες διαγραφές.

Executive Summary Our aim is to be able to define a FP-tree with multiple supports, so that it can be determined through it which the privacy items are. The original algorithm considers that we have a given transaction database and detect sets that have existence frequency in the database of more than a minimum support threshold we have set. In the previous approach, therefore we have the key to finding the association rules, which was the support threshold (support) that we set and we automatically rejected rules not met, so we had only patterns above the threshold. But this tactic of using a single minimum support works pretty well but it has the disadvantage that considers, that all objects are 'similar' in terms of their choice through the transactions. This leads to the conclusion that it is not correct, that the sales of major appliances are evaluated with the same evaluation criteria of small daily sales. Adapting this conclusion in our example means that we cannot set common frequency limit for all the transaction items. So we define many different supports for our objects. Our algorithm essentially accepts as input N transactions, the miminum supports for specific nodes and a general minimum support for all other nodes. At the same time we also accept the list of objects that are considered as sensitive. We implement the FP-tree and get the list L and L 'of the transactions. The node removal process from the tree starts using the following. We delete any item in the list which Ln support level is lower than that of the object support. We calculate the weight of each branch in fp-tree. For the branch with the largest weight we estimate the object that has the highest weight and we reduce the corresponding node count. If we have 0 count for the node then we delete the node and we create the tree again. It seems clear that as we increase the support prices, we have more and more nodes, which are removed from our tree. It is reasonable that if the database is larger, we have more nodes, which are deleted. At the same time as the size of the transactions increase, we have more nodes and therefore the length of the tree is longer so we have more deletions.

Περιεχόμενα Κεφάλαιο 1 Εξόρυξη δεδομένων... 8 1.1 Ορισμός Εξόρυξης Γνώσης... 8 1.2 Αναπαράσταση Δεδομένων και εξόρυξη δεδομένων... 9 1.3 Ανάκτηση-Εξόρυξη Δεδομένων από μεγάλες βάσεις δεδομένων... 10 1.3 Σχέση μεταξύ αντικειμένων σε βάσεις δεδομένων... 11 1.4 Εξόρυξη Συχνών προτύπων από Μεγάλα σύνολα ή Βάσεις Δεδομένων... 12 1.5 Η διατήρησης ιδιωτικότητας στην εξόρυξη δεδομένων... 13 Κεφάλαιο 2 Αλγόριθμοι... 15 2.1 Ορισμός του προβλήματος... 16 2.2H διατύπωση του προβλήματος εξόρυξης των κανόνων συσχέτισης... 18 2.3 Παραγωγή συχνών συνολοστοιχείων... 18 2.4 Η αρχή Apriori... 19 2.5 Η παραγωγή συχνών συνολοστοιχείων στον Apriori αλγόριθμο... 20 2.6 Παραγωγή κανόνων... 22 2.6.1 Αφαίρεση με βάση το confidence... 22 2.6.2 Η παραγωγή κανόνων με τον Apriori αλγόριθμο... 22 2.7 Αναπαράσταση των συχνών συνολοστοιχείων... 23 2.7.1 Maximal συχνά συνολοστοιχεία... 23 2.7.2 Κλειστά συχνά συνολοστοιχεία... 23 2.8 Εναλλακτικές μέθοδοι για την παραγωγή των συχνών συνολοστοιχείων... 24 2.9 Αξιολόγηση των προτύπων συσχετισμού... 25 2.9.1 Αντικειμενικά μέτρα ενδιαφέροντος... 26 Κεφάλαιο 3 Αναθεώρηση της βιβλιογραφίας για την απόκρυψη συχνών συνολοστοιχείων... 30 3.1 Εισαγωγή... 30 3.2 Ιστορική ανασκόπηση της απόκρυψης κανόνων συσχέτισης... 30 3.3 Διαστάσεις των αλγορίθμων της απόκρυψης των κανόνων συσχέτισης... 31 3.4 Ταξινόμηση των αλγορίθμων απόκρυψης κανόνων συσχέτισης... 32 3.4.1 Προσεγγίσεις που βασίζονται σε ευρετικές μεθόδους... 32 3.4. 2 Σχήματα παραμόρφωσης με χρήση του support& του confidence... 33 3.4.3 Σχήματα μπλοκαρίσματος με χρήση του support& του confidence... 35 3.4.4 Οι προσεγγίσεις που βασίζονται στα όρια... 35 3.4.5 Οι ακριβείς προσεγγίσεις... 36 3.4.6 Οι προσεγγίσεις που βασίζονται στην αναδόμηση... 36 3.4.7 Οι προσεγγίσεις που βασίζονται στην κρυπτογραφία... 36 3.4.8 Άλλες προσεγγίσεις... 37 3.4.9 Περίληψη... 37

Κεφάλαιο 4 - Ο FP-Growth αλγόριθμος... 39 4.1 Αναπαράσταση του FP-tree... 39 4.2 Παραγωγή συχνών συνολοστοιχείων χρησιμοποιώντας τον FP-Growth αλγόριθμο.... 39 4.3 Παράδειγμα FP Tree... 41 4.4 FP Growth... 42 Κεφάλαιο 5 Μεθοδολογία... 45 5.1 Οι μέθοδοι έρευνας... 45 5.2 Συναρτήσεις βάρους για τα στοιχεία... 49 5.3 Συναρτήσεις βαρών για κλάδους... 50 Κεφάλαιο 6 Αποτελέσματα Εφαρμογής της μεθοδολογίας... 52 6.1 Περιγραφή Αλγορίθμου... 52 6.2Δεδομένα εκτέλεσης... 53 6.3Αποτελέσματα... 54 Κεφάλαιο 7 - Συμπεράσματα... 61 Βιβλιογραφία Αναφορές... 63 Παράρτημα... 69 Classes.hpp... 69 Classes.cpp... 72 Main.cpp... 81

Κεφάλαιο 1 Εξόρυξη δεδομένων 1.1 Ορισμός Εξόρυξης Γνώσης Ο ορισμός της εξόρυξης γνώσης (data mining) αποτελεί την διαδικασία εξαγωγής νέων προτύπων δεδομένων από τα υπάρχοντα δεδομένα. Πιο συγκεκριμένα η εξόρυξη γνώσης είναι γνωστή ως ανακάλυψη γνώσης από δεδομένα από υπάρχουσες βάσεις δεδομένων. Η εξόρυξη πληροφορίας δεν περιλαμβάνει μόνο την εξόρυξη δεδομένων αλλά & την μετατροπή των δεδομένων, την αξιολόγηση προτύπων και την παρουσίαση των δεδομένων. Οι επιστήμονες μελέτης των δεδομένων στόχο έχουν την εξόρυξη γνώσης, την αποθήκευση της πληροφορίας σε δομές κατάλληλες για γρήγορη αναζήτηση και προσπέλαση, για δυνατότητα συμπερασμάτων και νέας γνώσης από τα αποθηκευμένα δεδομένα και γενικότερα την ανάπτυξη τεχνολογιών για την καλύτερη και πιο αποτελεσματική διαχείριση της γνώσης αυτής. H εξόρυξη γνώσης ουσιαστικά αποτελεί βάση για το λεγόμενο machine learning, και ουσιαστικά λαμβάνει υπόψη της διαδικασίες πάνω στην ανάκτηση πληροφορίας, τη στατιστική, τις βάσεις δεδομένων, ακόμα και την οπτικοποίηση δεδομένων. Έτσι η εξόρυξη δεδομένων είναι η επεξεργασία των δεδομένων που χρησιμοποιεί ικανότητες αναζήτησης δεδομένων και στατιστικούς αλγορίθμους για να ανακαλύψει πρότυπα και συσχετισμούς σε μεγάλες προϋπάρχουσες βάσεις δεδομένων. Ένας τρόπος για να ανακαλύψουμε νέα σημασία στα δεδομένα. Η εξόρυξη δεδομένων ουσιαστικά αποτελεί την διαδικασία εύρεση καινούργιας πληροφορίας σε ένα σύνολο δεδομένων, η οποία είναι κρυμμένη ή λανθάνουσα. Η εξόρυξη δεδομένων επίσης μπορεί να βοηθήσει ανθρώπους να καταλάβουν καλύτερα μεγάλα σύνολα δεδομένων. Μια συνήθης διαδικασία στην εξόρυξη γνώσης είναι η κατάταξη (Classification) μια προσέγγιση κατάλληλη όταν το σύνολο των δεδομένων έχει ετικέτες ή ένα μικρό τμήμα των δεδομένων έχει ετικέτες. Συνήθως οι αλγόριθμοι κατάταξης αρχίζουν με ένα σύνολο δεδομένων εκπαίδευσης που περιλαμβάνουν ετικέτες για κάθε στοιχείο των δεδομένων. Ένας αλγόριθμος λοιπόν κατάταξης αρχικά μαθαίνει από τα δεδομένα εκπαίδευσης και φτιάχνει ένα μοντέλο μέσω του οποίου κατηγοριοποιεί τελικά τα στοιχεία των νέων δεδομένων σε μια από τις παραγόμενες τάξεις που προκύπτουν από τα δεδομένα εκπαίδευσης. Χαρακτηριστικά είναι οι κανόνες

κατάταξης και τα δέντρα απόφασης που αποτελούν βασικές δομές για τους αλγόριθμους κατάταξης. Η λεγόμενη συσταδοποίηση αποτελεί μια άλλη συνηθισμένη τεχνική εξόρυξης δεδομένων που είναι χρήσιμη όταν αντιμετωπίζουμε σύνολα δεδομένων χωρίς ετικέτες.οι αλγόριθμοι συσταδοποίησης δεν εξαρτώνται από δεδομένα εκπαίδευσης για να αναπτύξουν ένα μοντέλο. Οι αλγόριθμοι αυτοί καθορίζουν τελικά ποια στοιχεία μοιάζουν στο σύνολο δεδομένων και βασιζόμενοι σε αυτή την ομοιότητα ορίζουν περιοχές και ομάδες που τελικά από αυτές παράγεται νέα γνώση. Η ομοιότητα ορίζεται με πολλούς τρόπους. Πιο συνηθισμένος από αυτούς είναι η λεγόμενη ευκλείδεια απόσταση για μερικά σύνολα αριθμητικών δεδομένων. Οι τεχνικές συσταδοποίησης βρίσκουν πολύ μεγάλη ανταπόκριση. Χρησιμοποιούν λέξεις κλειδιά οι οποίες αντιπροσωπεύονται ως διανύσματα και τελικά το μέτρο της ομοιότητας χρησιμοποιείται για να ξεχωρίσει πώς μοιάζει ένα διάνυσμα, δηλαδή ένα σύνολο δεδομένων, με ένα άλλο. 1.2 Αναπαράσταση Δεδομένων και εξόρυξη δεδομένων Συνήθως σε όλες τις περιπτώσεις ανάλυσης δεδομένων προσπαθούμε να αναπαραστήσουμε τα δεδομένα σαν ένα γράφο αναπαράστασης που συνδέει τις πληροφορίες μεταξύ τους. Κάτι τέτοιο εφαρμόζεται σε όλα τα κοινωνικά δίκτυα. Ένας γράφος αποτελείται από ένα σύνολο περιεχομένων κορυφών (κόμβοι) και άκρων(δεσμοί).τα άτομα αντιπροσωπεύονται τυπικά σαν κόμβοι στο γράφο. Οι σχέσεις ή οι συνεργασίες μεταξύ των ατόμων (κόμβων) αντιπροσωπεύονται σα δεσμοί στο γράφο. Αφού επιλέξουμε μια κατάλληλη διαδικασία εξόρυξης δεδομένων, σκεφτόμαστε κάθε προεπεξεργασία που χρειάζεται να γίνει. Επίσης, ίσως είναι αναγκαίο να εφαρμόσουμε μία μεθοδική διαδικασία για τη δημιουργία ενός περισσότερου αραιού συνόλου δεδομένων για να θέσουμε λογικούς χρόνους επεξεργασίας. Η προεπεξεργασία θα περιελάβανε θεώρηση για ανωνυμία και κατάλληλο μηχανισμό για προστασία της ιδιωτικότητος. Π.χ. τα μέσα κοινωνικής δικτύωσης περιλαμβάνουν πελώριες ποσότητες δημοσίως διαθέσιμων δεδομένων αλλά είναι σημαντικό να διασφαλιστούν τα ατομικά δικαιώματα και να προστατευθεί η αποκλειστικότητα των περιοχών τους. Επιπροσθέτως με την προεπεξεργασία, σημαντικό είναι να εξετάσουμε την επίδραση του χρόνου. Είναι πολύ διαφορετικά τα αποτελέσματα μιας χρονικής στιγμής συγκρινόμενα με μιας άλλης στιγμής.αν και η συνιστώσα του χρόνου είναι ολοφάνερη θεώρηση για ορισμένες περιοχές όπως ο εντοπισμός θέματος, η διάδοση επίδρασης, η ανάπτυξη δικτύου, λιγότερο εμφανής είναι η

επίδραση του χρόνου σε εντοπισμό κοινότητας, στη συμπεριφορά ομάδας, και στο μάρκετινγκ. Το τι καθορίζει μια κοινότητα σε μία χρονική στιγμή μπορεί να είναι σημαντικά διαφορετικό από κάποια άλλη χρονική στιγμή.η συμπεριφορά της ομάδας και τα ενδιαφέροντα αλλάζουν με το χρόνο και ότι ήταν δημοφιλές τη μια μέρα σε μια ομάδα την άλλη μέρα ίσως να μην είναι. Με τα δεδομένα να αντιπροσωπεύονται σε γράφο, η εργασία αρχίζει με επιλογή αριθμού κόμβων που είναι γνωστά ως «NodeIDs» ή «seeds». 1.3 Ανάκτηση-Εξόρυξη Δεδομένων από μεγάλες βάσεις δεδομένων Συνήθως τα δεδομένα μας είναι αποθηκευμένα σε μεγάλες βάσεις δεδομένων όπου τελικά στόχος είναι η συλλογή των δεδομένων από όλες αυτές τις διαφορετικές πηγές- βάσεις δεδομένων. Σήμερα μάλιστα οι περισσότεροι οργανισμοί διατηρούν συνήθως μια ενιαία κεντρική αποθήκη δεδομένων. Αυτό έχει συμβαίνει για πολλούς λόγους: Τα δεδομένα στην αποθήκη δεν αφορούν όλη την εταιρία αλλά μόνο την κεντρική διαχείριση. Η εταιρεία λειτουργεί σε κεντρικό επιχειρηματικό μοντέλο και όλοι πρέπει να έχουν πρόσβαση σε κοινά δεδομένα. Ο όγκος των δεδομένων στην αποθήκη δεδομένων είναι τέτοιος ώστε επιτρέπει ένα μοναδικό κεντρικό serverσαν αποθήκη δεδομένων. Ακόμη και αν τα δεδομένα θα μπορούσαν να ενταχθούν σε διαφορετικά σημεία, η πρόσβαση σε αυτά είναι δύσκολη. Έτσι γενικά η πολιτική μιας εταιρίας αλλά και οικονομικοί λόγοι συνήθως οδηγούν σε κεντρικές αποθήκες δεδομένων. Παρόλα στην περίπτωση των Big Data τα πράγματα είναι διαφορετικά. Σε αυτή την περίπτωση τόσο ο όγκος αλλά και η ίδια η φύση των πληροφοριών απαιτεί ή απλά συμβαίνει να είναι σε πολλαπλές βάσεις δεδομένων τις λεγόμενες κατανεμημένες αποθήκες δεδομένων που τελικά έχουν νόημα. Οι αποθήκες δεδομένων (data warehouses) είναι ειδικές βάσεις δεδομένων που περιέχουν κατάλληλα επεξεργασμένα δεδομένα, προερχόμενα από τις επιμέρους βάσεις δεδομένων μιας επιχείρησης ή από διαφορετικές βάσεις, που σκοπό έχουν να υποβοηθήσουν ή να υποστηρίξουν ένα σύστημα υποστήριξης αποφάσεων. Μία Αποθήκη Δεδομένων διατηρεί δεδομένα που αντλεί από τις βάσεις δεδομένων των πληροφοριακών συστημάτων του οργανισμού αλλά και άλλες πηγές δεδομένων, όπως αρχεία του οργανισμού ή δεδομένα που προέρχονται από εξωτερικές πηγές. Αυτά τα δεδομένα οργανώνονται στην Αποθήκη Δεδομένων

σε δομές κατάλληλες να απαντήσουν τις απαιτήσεις των αναλυτών - χρηστών των συστημάτων στήριξης αποφάσεων. Τα συστήματα στήριξης αποφάσεων αποκτούν πρόσβαση στα δεδομένα λειτουργίας του οργανισμού χωρίς την παρουσία των προαναφερθέντων προβλημάτων. Οι Αποθήκες Δεδομένων παρέχουν τη δυνατότητα για Συνεχή Αναλυτική Επεξεργασία (On-Line Analytical Processing- OLAP) των δεδομένων περιέχοντας συνήθως ιστορικά και συγκεντρωτικά δεδομένα που συνήθως αποδεικνύονται χρήσιμα για υποστήριξη αποφάσεων. Επίσης, παρέχουν μία ολοκληρωμένη εικόνα του σχήματος των δεδομένων του οργανισμού. Η σχεδίαση των Αποθηκών Δεδομένων έχει σαν στόχο την αποδοτική απάντηση των πολύπλοκων ερωτήσεων που θέτονται κατά την αναλυτική επεξεργασία δεδομένων από τις εφαρμογές στρατηγικού σχεδιασμού. Η δημιουργία και η συντήρηση μίας Αποθήκης Δεδομένων είναι μία πολύπλοκη διαδικασία καθώς πολλές διαφορετικές προσεγγίσεις είναι εφικτές. Αρκετοί οργανισμοί επιδιώκουν να δημιουργήσουν μία Αποθήκη Δεδομένων που θα περιέχει αναλυτικά δεδομένα από όλες τις δραστηριότητες του οργανισμού. Πρόκειται για ένα πολύπλοκο εγχείρημα που απαιτεί μεγάλο κόστος για να επιτύχει. Μία άλλη λύση είναι η δημιουργία Επιμέρους Συλλογών Δεδομένων (data marts) με κριτήριο το αντικείμενο των εφαρμογών από τις οποίες προέρχονται ή το τμήμα του οργανισμού που τις χρησιμοποιεί. Πρόκειται για πιο ευέλικτα συστήματα στη δημιουργία τους, τα οποία όμως δεν παρέχουν ενιαία λύση, δημιουργώντας προβλήματα σε περίπτωση μακρόχρονης χρήσης τους 1.3 Σχέση μεταξύ αντικειμένων σε βάσεις δεδομένων Η εξόρυξη κανόνων συσχέτισης (association rules) έχει ως σκοπό την εύρεση συσχετίσεων μεταξύ αντικειμένων μιας βάσης δεδομένων. Ένας κανόνας συσχέτισης λέει ότι εάν επιλεγεί ένα σύνολο αντικειμένων Χ από ένα μεγαλύτερο σύνολο Ι τότε είναι πιθανό να επιλεγεί και το αντικείμενο Υ. Μαθηματικά εκφράζεται ως R X Y. Ηισχύς ενός κανόνα ελέγχεται μέσω δύο ποσοτήτων, την υποστήριξη και την εμπιστοσύνη. Η υποστήριξη supp(x) ορίζεται ως ο αριθμός των εγγράφων που περιέχουν το αντικείμενο Χ ως υποσύνολο. Ενώ η εμπιστοσύνη ορίζεται ως ο λόγος μεταξύ της υποστήριξης της κεφαλής του κανόνα προς την υποστήριξη του σώματος. Δηλαδή για τον κανόνα R X Y έχουμε υποστήριξη supp(r) = supp(x Y)και εμπιστοσύνη conf(r) = supp(x Y) supp(x). Το πρόβλημα με τους κανόνες συσχέτισης μιας βάσης δεδομένων είναι ο μεγάλος τους αριθμός που είναι της τάξης του Ο(3 n ), όπου n είναι ο αριθμός των αντικειμένων της βάσης. Έτσι προκειμένου να επιλεγούν κανόνες που έχουν κάποια πρακτική αξία επιλέγονται τα σύνολα με υποστήριξη μεγαλύτερη ή ίση με την τιμή κατωφλίου s και μετά παράγονται όλοι οι κανόνες

που προκύπτουν από τα σύνολα αυτά και έχουν εμπιστοσύνη μεγαλύτερη ή ίση με την τιμή κατωφλίου c. Η αξία των κανόνων συσχέτισης είναι μεγάλη επειδή συνδυάζουν πολλά πλεονεκτήματα. Μπορούν να ανταπεξέλθουν σε πραγματικά προβλήματα μεγάλου μεγέθους με θόρυβο σε αντίθεση με άλλες τεχνικές μάθησης όπου η εκπαίδευση των δεδομένων πρέπει να γίνει σε προσεκτικά επιλεγμένα δεδομένα. Οι κανόνες από μόνοι τους είναι μια αναπαράσταση πιο κατανοητή στον άνθρωπο από κάθε άλλη αναπαράσταση γνώσης όπως δένδρα, ομάδες κτλ. Επίσης οι αλγόριθμοι μάθησης κανόνων συσχέτισης επιτυγχάνουν πολύ καλή απόδοση σε μεγάλο όγκο δεδομένων, κλιμακώνονται εύκολα και μπορούν να χειριστούν σύνθετα δεδομένα όπως χωρικά, πολυμεσικά, χρονικά κα. Το βασικότερο μειονέκτημα των κανόνων συσχέτισης είναι η επιλογή χρήσιμων και ουσιωδών κανόνων από το μεγάλο σύνολο που έχουμε. Υπάρχουν οι παρακάτω βασικοί κανόνες συσχέτισης: Boolean Κανόνες Συσχέτισης: Μία κλασική περίπτωση είναι οι κανόνες που αναζητούμε να σχετίζονται με την ύπαρξη ή απουσία αντικειμένων. Οι κανόνες σε αυτή τη περίπτωση ονομάζονται Boolean Κανόνες συσχέτισης. Oι κανόνες που προκύπτουν κατά τη ανάλυση του μάρκετινγκ, είναι συνήθως τέτοιοι κανόνες. Ποσοτικοί Κανόνες Συσχέτισης: Αν όμως οι κανόνες περιγράφουν συσχετίσεις μεταξύ ποσοτικών αντικειμένων ή ιδιοτήτων τότε ονομάζονται ποσοτικοί κανόνες συσχέτισης. Για παράδειγμα η ηλικία εκφράζει διαστήματα τιμών και θα υποστεί διακριτοποίηση- ομαδοποίηση των δεδομένων. Δεν έχουν μόνο μία τιμή. Κανόνες μονής διάστασης ή πολλών διαστάσεων: Αν οι κανόνες αναφέρονται σε μία διάσταση ή ιδιότητα τότε ονομάζονται κανόνες απλής (ή μονής) διάστασης. Κανόνες Επιπέδου: Κάποιες μέθοδοι παραγωγής κανόνων συσχέτισης μπορούν να δημιουργήσουν κανόνες σε διαφορετικό επίπεδο αφαίρεσης. Για παράδειγμα, με την ηλικία που έχει διάφορα στάδια. Μπορεί να προκύπτει διαφορετικός κανόνας για 30-39 και διαφορετικός για 30. 1.4 Εξόρυξη Συχνών προτύπων από Μεγάλα σύνολα ή Βάσεις Δεδομένων Με τον όρο συχνά πρότυπα μπορεί να αναφερόμαστε είτε σε σύνολα από συνολοστοιχεία (itemsets), είτε σε ακολουθίες (sequences), είτε σε δομές (structures), οι οποίες κάνουν την εμφάνισή τους μέσα σε μια βάση δεδομένων με συχνότητα μεγαλύτερη από μια προκαθορισμένη τιμή.

Ένα σύνολο από αντικείμενα - για παράδειγμα γάλα, ψωμί, νερό- είναι συχνό όταν εμφανίζονται πολλές φορές μαζί σε μια βάση αγορών, χωρίς να μας απασχολεί η σειρά με την οποία θα αγοραστούν τα προϊόντα. Αντιθέτως όταν δεν μας ενδιαφέρει η ταυτόχρονη αγορά τους αλλά και η χρονολογική σειρά με την οποία αγοράστηκαν τότε μιλάμε για ακολουθία. Τέλος όταν αναφερόμαστε σε δομή, αυτή μπορεί να είναι είτε δέντρο είτε γράφος. Αποκτά δε την ιδιότητα του συχνού όταν εμφανίζεται τουλάχιστον ένα συγκεκριμένο αριθμό φορών ως τμήμα μιας ευρύτερης δομής. Γενικά η εύρεση συχνών προτύπων παίζει εξέχοντα ρόλο σε εργασίες όπως η δεικτοδότηση αντικειμένων, η κατηγοριοποίηση τους και ο καταμερισμός τους. Αυτό οδήγησε στην ανάπτυξη της έρευνας σχετικά με την εξόρυξη προτύπων. Μια πρώτη σημαντική εργασία προτάθηκε από τον Agrawal (1993) όπου γίνεται προσέγγιση μέσα από την έρευνα αγορών. Η ανάλυση των αγοραστικών συνηθειών των πελατών αναδεικνύει συσχετίσεις μεταξύ των αντικειμένων που οδηγούν στα συχνά πρότυπα. 1.5 Η διατήρησης ιδιωτικότητας στην εξόρυξη δεδομένων Σήμερα, οι συλλογές δεδομένων είναι παντού, και κάθε συναλλαγή καταγράφεται κάπου. Η αύξηση στις συλλογές δεδομένων με εργαλεία που μπορούν να αναλύσουν αυτό τον μεγάλο όγκο πληροφοριών έχει οδηγήσει σε ανησυχίες διαφύλαξης της ιδιωτικότητας. Για την κοινωνία η προστασία των προσωπικών δεδομένων είναι σημαντική. Για παράδειγμα, πολλοί νόμοι σήμερα απαιτούν την συγκατάθεση πριν την ανάλυση των προσωπικών δεδομένων. Επίσης, η ιδιωτικότητα των δεδομένων εν περιορίζεται σε ατομικό επίπεδο αλλα και σε επίπεδο εταιρειών που μπορεί να είναι πρόθυμες να κοινοποιήσουν πληροφορίες για όφελός τους, αλλά θα πρέπει να ξέρουν ότι μοιράζονται ιδιωτικές πληροφορίες. Η ισορροπία μεταξύ του να χρησιμοποιούνται ιδιωτικά δεδομένα για την εξόρυξη γνώσης από το να διατηρούνται μυστικά είναι μία πρόκληση. Από την άλλη πλευρά η διατήρηση της ιδιωτικότητας στην εξόρυξη δεδομένων είναι ένα μεγάλο και αυξανόμενο πεδίο έρευνας. Πολλοί ερευνητές εξετάζουν αυτό το θέμα & έχουν προταθεί πολλές τεχνικές η διατήρηση της ιδωτικότητας στην εξόρυξη δεδομένων ( Privacy preserving data mining (PPDM)) χωρίζεται σε δύο κατηγορίες, την απόκρυψη δεδομένων και την απόκρυψη κανόνων. Οι τεχνικές της απόκρυψης δεδομένων στοχεύουν στην διατήρηση των ευαίσθητων προσωπικών δεδομένων & στην τροποποίηση των αλγορίθμων εξόρυξης δεδομένων με τέτοιο τρόπο ώστε τα ευαίσθητα δεδομένα να μην μπορούν να εξαχθούν από τα αποτελέσματα του αλγορίθμου εξόρυξης δεδομένων. Με άλλα

λόγια, η ιδιωτικότητα εισόδου διατηρείται. Οι τεχνικές απόκρυψης κανόνων στοχεύουν στην διατήρηση των ευαίσθητων κανόνων ή των ιδιωτικών patterns& στην τροποποίηση των αρχικών δεδομένων με τέτοιο τρόπο ώστε όλα τα ευαίσθητα patterns ή κανόνες να μην αποκαλυφθούν ενώ αυτοί που παραμένουν μπορεί να ανακαλυφθούν. Η απόκρυψη κανόνων είναι γνωστή ως διατήρηση της ιδιωτικότητας εξόδου.

Κεφάλαιο 2 Αλγόριθμοι Πολλές επιχειρήσεις σήμερα συγκεντρώνουν μεγάλες ποσότητες δεδομένων από τις καθημερινές τους διεργασίες. Ο πίνακας παρακάτω δείχνει ένα τέτοιο παράδειγμα δεδομένων συναλλαγών. Κάθε γραμμή στον πίνακα αντιστοιχεί σε μία συναλλαγή, που περιέχει έναν μοναδικό αριθμό, με τον οποίο την αναγνωρίζουμε,& ένα σύνολο στοιχείων που αγοράζονται από έναν πελάτη. Οι πωλητές ενδιαφέρονται να αναλύσουν τα δεδομένα για να μάθουν την αγοραστική συμπεριφορά των πελατών τους. Αυτή η πληροφορία που εξάγεται από την ανάλυση των δεδομένων μπορεί να χρησιμοποιηθεί για την υποστήριξη προώθησης προϊόντων, διαχείρισης εμπορευμάτων & διαχείρισης της σχέσης με τον πελάτη. Η ανάλυση συσχέτισης είναι μία μεθοδολογία, που είναι χρήσιμη για την εύρεση σημαντικών σχέσεων κρυμμένων στα μεγάλα σύνολα δεδομένων. Οι σχέσεις που δεν βρίσκουμε μπορούν να αναπαρασταθούν με την μορφή κανόνων συσχέτισης ή σύνολα συχνών στοιχείων. Για παράδειγμα, ο ακόλουθος κανόνας μπορεί να εξαχθεί από το σύνολο δεδομένων του παρακάτω πίνακα: Diapers Beer. Ο κανόνας δείχνει ισχυρή σχέση στην πώληση των δύο προϊόντων, επειδή ένας πελάτης που αγοράζει το πρώτο προϊόν αγοράζει & το δεύτερο. Οι πωλητές μπορούν να χρησιμοποιήσουν αυτούς τους κανόνες για να τους βοηθηθούν στην αναγνώριση ευκαιριών όσον αφορά την πώληση των προϊόντων τους. TID Items 1 Bread, Milk 2 Bread, Diapers, Beer, Eggs 3 Milk, Diapers, Beer, Cola 4 Bread, Milk, Diapers, Beer 5 Bread, Milk, Diapers, Cola Πίνακας 1: Παράδειγμα συναλλαγών Υπάρχουν δύο κύρια θέματα που πρέπει να επιλυθούν κατά την εφαρμογή της ανάλυσης συσχέτισης στα δεδομένα. Πρώτον, η εύρεση προτύπων από ένα μεγάλο σύνολο δεδομένων συναλλαγών μπορεί να είναι υπολογιστικά ακριβή, αλλά υπάρχουν αλγόριθμοι που εξάγουν τέτοια πρότυπα αποδοτικά. Δεύτερον, μερικά από τα πρότυπα που βρέθηκαν είναι πιθανόν ψεύτικα, επειδή μπορεί να συμβούν κατά τύχη, γεγονός που πρέπει να αξιολογηθεί.

2.1 Ορισμός του προβλήματος Εδώ θα αναφέρουμε την βασική ορολογία που χρησιμοποιείται στην ανάλυση συσχέτισης. Δυαδική αναπαράσταση. Τα δεδομένα μπορούν να αναπαρασταθούν σε δυαδική μορφή όπως φαίνεται στον παρακάτω πίνακα, όπου η κάθε γραμμή αντιστοιχεί σε μία συναλλαγή & η κάθε στήλη αντιστοιχεί σε ένα στοιχείο. Ένα στοιχείο μπορεί να αναπαρασταθεί ως δυαδική μεταβλητή όπου παίρνει την τιμή 1εάν το στοιχείο βρίσκεται στην συναλλαγή & την τιμή 0 διαφορετικά. Επειδή η παρουσία ενός στοιχείου σε μία συναλλαγή θεωρείται πιο σημαντική από την απουσία του, ένα στοιχείο είναι μία ασυμμετρική δυαδική μεταβλητή. Αυτή η αναπαράσταση είναι ίσως απλή επειδή αγνοεί κάποιες σημαντικές πλευρές των δεδομένων όπως η ποσότητα των στοιχείων που πουλήθηκαν ή η τιμή για την αγορά τους. Μέθοδοι για την επεξεργασία τέτοιων μη δυαδικών δεδομένων εξηγείται παρακάτω. Μετρητής συνολοστοιχείων & υποστήριξης (support).έστω Ι = ι1,ι2,ι3..,ιm ένα σύνολο από διακριτά αντικείμενα (items).έστω επίσης T = t1,t2,t3..,tm ένα σύνολο από δοσοληψίες (transactions) όπου κάθε δοσοληψία ti είναι ένα υποσύνολο αντικειμένων του Ι. Στην ανάλυση συσχέτισης, ένα συνολοστοιχείο είναι μία συλλογή από 0 ή περισσότερα στοιχεία. Εάν ένα συνολοστοιχείο περιέχει k στοιχεία, ονομάζεται k-συνολοστοιχείο. Για παράδειγμα, Beer, Diapers, Milk είναι ένα παράδειγμα ενός 3-συνολοστοιχείου. Το null (ή άδειο) σύνολο είναι ένα συνολοστοιχείο που δεν περιέχει στοιχεία. Το μήκος της συναλλαγής ορίζεται ως το πλήθος των στοιχείων στην συναλλαγή. Η συναλλαγή tj περιέχει το συνολοστοιχείο Χ, εάν το Χ είναι υποσύνολο του tj. Για παράδειγμα, η δεύτερη συναλλαγή που φαίνεται στον παρακάτω πίνακα περιέχει το συνολοστοιχείο Bread, Diapers αλλά όχι το Bread, Milk. Μία σημαντική ιδιότητα ενός συνολοστοιχείου είναι ο μετρητής υποστήριξης, που αναφέρεται στο πλήθος των συναλλαγών που περιέχουν ένα συγκεκριμένο συνολοστοιχείο. Μαθηματικά, ο μετρητής υποστήριξης, σ(χ), για το συνολοστοιχείο Χ έχει ως εξής: σ(χ) = ti X ti, ti T, όπου το σύμβολο δείχνει το πλήθος των στοιχείων στο σύνολο. Στο σύνολο δεδομένων που φαίνεται στον παρακάτω πίνακα, ο μετρητής υποστήριξης για το Beer, Diapers, Milk είναι ίσο με 2 επειδή υπάρχουν μόνο δύο συναλλαγές που περιέχουν & τα τρία στοιχεία.

TID Bread Milk Diapers Beer Eggs Cola 1 1 1 0 0 0 0 2 1 0 1 1 1 0 3 0 1 1 1 0 1 4 1 1 1 1 0 0 5 1 1 1 0 0 1 Πίνακας 2: Η δυαδική αναπαράσταση 0/1 των δεδομένων. Κανόνας συσχέτισης. Ένας κανόνας συσχέτισης είναι μία έκφραση της μορφής Χ Υ, όπου Χ & Υ είναι συνολοστοιχεία που δεν ενώνονται, Χ Υ = 0. Η ισχύς ενός κανόνα συσχέτισης μπορεί να μετρηθεί με την βοήθεια του support&confidence του. Το support δείχνει πόσο συχνά ένας κανόνας εφαρμόζεται σε ένα δεδομένο σύνολο στοιχείων, ενώ το confidence δείχνει πόσο συχνά τα στοιχεία στο Υ εμφανίζονται σε συναλλαγές που περιέχουν το Χ. Οι τυπικοί ορισμοί αυτών των μετρικών φαίνονται παρακάτω: Support, s(x -> Y) = σ (X U Y) / N Confidence, c(x -> Y) = σ (Χ U Y) / σ(χ) Παράδειγμα : Ας θεωρήσουμε τον κανόνα Milk, Diapers Beer. Αφού το support για το Milk, Diapers, Beer είναι 2 & το συνολικό πλήθος των συναλλαγών είναι 5, το support του κανόνα είναι 2/5 = 0.4. Το confidence του κανόνα ισούται με το πηλίκο του support για Milk, Diapers, Beer με το support για Milk, Diapers. Αφού υπάρχουν τρεις συναλλαγές που περιέχουν milk&diapers, το confidence για αυτόν τον κανόνα είναι 2/3 = 0.67. Γιατί η χρήση support & confidence? Το support χρησιμοποιείται για να εξαλείψει τους μη σημαντικούς κανόνες & έχει μία ιδιότητα που μπορεί να χρησιμοποιηθεί για την αποδοτική ανεύρεση των κανόνων συσχέτισης. Το confidence χαρακτηρίζει την αξιοπιστία του αποτελέσματος ενός κανόνα. Για έναν δοθέν κανόνα Χ Υ, όσο μεγαλύτερο είναι το confidence, τόσο πιο πιθανό είναι για το Υ να είναι στις συναλλαγές που περιέχουν το Χ. Το confidence επίσης εκφράζει και την υποθετική πιθανότητα του Υ, δοθέντος του Χ.

2.2H διατύπωση του προβλήματος εξόρυξης των κανόνων συσχέτισης Δοθέντος ενός συνόλου συναλλαγών Τ, πρέπει να βρούμε όλους τους κανόνες για τους οποίους ισχύει support minsup & confidence minconf, όπου τα minsup & minconf είναι τα αντίστοιχα support & confidence όρια. Μία κοινή στρατηγική για πολλούς αλγορίθμους εξόρυξης κανόνων συσχέτισης είναι να αποσυνθέσουν το πρόβλημα σε 2 κύρια βήματα: (a) Παραγωγή συχνών συνολοστοιχείων, όπου το αντικείμενο είναι να βρεθούν όλα τα συνολοστοιχεία που ικανοποιούν το minsup όριο. (b) Παραγωγή κανόνων, όπου το αντικείμενο είναι να εξαχθούν όλοι οι κανόνες με μεγάλο confidence από τα συχνά συνολοστοιχεία που βρέθηκαν στο προηγούμενο βήμα. Αυτοί οι κανόνες ονομάζονται ισχυροί κανόνες. NULL a b c d e ab ac ad ae bc bd be cd ce de abc abd abe acd ace ade bcd bce bde cde abcd abce abde acde bcde abcde Εικόνα 1: Πλέγμα συνολοστοιχείων 2.3 Παραγωγή συχνών συνολοστοιχείων Η δομή πλέγματος μπορεί να χρησιμοποιηθεί για την απαρίθμηση όλων των πιθανών συνολοστοιχείων. Η παραπάνω εικόνα δείχνει ένα πλέγμα για I = a,b,c,d,e. Γενικά, ένα σύνολο δεδομένων που περιέχει k στοιχεία μπορεί να

παράγει μέχρι 2 k -1 συχνά συνολοστοιχεία, αφαιρώντας το null σύνολο. Επειδή το k μπορεί να είναι πολύ μεγάλο σε πολλές πρακτικές εφαρμογές, ο χώρος έρευνας των συνολοστοιχείων που πρέπει να διερευνηθούν είναι εκθετικά μεγάλος. Μία στρατηγική για την εύρεση των συχνών συνολοστοιχείων είναι να καθορισθεί το support για κάθε υποψήφιο συνολοστοιχείο στο πλέγμα. Όπως φαίνεται στον παρακάτω πίνακα εάν το υποψήφιο συνολοστοιχείο περιέχεται σε μία συναλλαγή το support θα αυξηθεί. Για παράδειγμα το support για το Bread, Milk αυξάνεται τρεις φορές, διότι αυτό το συνολοστοιχείο περιέχεται στις συναλλαγές 1,4 & 5. Μία τέτοια προσέγγιση είναι ακριβή επειδή απαιτεί Ο(ΝΜw) συγκρίσεις, όπου Ν είναι το πλήθος των συναλλαγών, Μ = 2 k -1 είναι το πλήθος των υποψήφιων συνολοστοιχείων & w είναι το μέγιστο μήκος συναλλαγών. Υπάρχουν δύο τρόποι για την μείωση της υπολογιστικής πολυπλοκότητας της παραγωγής συχνών συνολοστοιχείων. o Μείωση του πλήθους των υποψήφιων συνολοστοιχείων (Μ). Η αρχή Apriori είναι ένας αποδοτικός τρόπος για να εξαλείψουμε κάποια υποψήφια συνολοστοιχεία χωρίς την μέτρηση των support τους. 1.3 Μείωση του πλήθους των συγκρίσεων. Αντί να συγκρίνουμε κάθε υποψήφιο συνολοστοιχείο με κάθε συναλλαγή, μπορούμε να μειώσουμε το πλήθος των συγκρίσεων με την χρήση πιο προχωρημένων δομών δεδομένων, είτε για να αποθηκεύσουμε τα υποψήφια συνολοστοιχεία είτε για να συμπιέσουμε το σύνολο δεδομένων. 2.4 Η αρχή Apriori Με την παρακάτω αρχή Apriori βλέπουμε πως το support βοηθά στην μείωση των υποψήφιων συνολοστοιχείων κατά την παραγωγή των συχνών συνολοστοιχείων. Θεώρημα : Εάν ένα συνολοστοιχείο είναι συχνό, τότε όλα τα υποσύνολά του πρέπει να είναι συχνά. Αντίθετα, εάν ένα συνολοστοιχείο όπως το a,b είναι μη συχνό, τότε όλα τα υπερσύνολα του είναι επίσης μη συχνά. Όπως φαίνεται στην παρακάτω εικόνα, όλος ο υπογράφος που περιέχει τα υπερσύνολα του a,b, μπορεί να αφαιρεθεί αφού το a,b είναι μη συχνό. Η στρατηγική αφαίρεσης με βάση το support στηρίζεται στην αντι-μονοτονική ιδιότητα, που υποστηρίζει ότι το support για ένα συνολοστοιχείο ποτέ δεν υπερβαίνει το support των υποσυνόλων του. Ιδιότητα μονοτονίας : Εάν το I είναι το σύνολο των στοιχείων & J=2 I είναι το υπερσύνολο του Ι. Η f είναι μονοτονική (αύξουσα) εάν: X, YεJ: (X Υ) f(x) f(y), που σημαίνει ότι το Χ είναι υποσύνολο του Υ, τότε το f(x) δεν πρέπει να ξεπερνά το f(y). Η f είναι αντιμονοτονική (φθίνουσα) εάν: X, YεJ: (X Υ) f(υ) f(χ),που σημαίνει ότι το Χ είναι υποσύνολο του Υ, τότε το f(υ) δεν πρέπει να

ξεπερνά το f(χ). 2.5 Η παραγωγή συχνών συνολοστοιχείων στον Apriori αλγόριθμο Η παρακάτω εικόνα δείχνει μια αναπαράσταση της παραγωγής των συχνών συνολοστοιχείων μέρος του Apriori αλγορίθμου για τις συναλλαγές του πίνακα 1. Υποθέτουμε ότι το support είναι 60%, που είναι ίσο με σmin=3. Candidate 1-ietmsets Itemset Count Beer 3 Bread 4 Cola 2 Diapers 4 Milk 4 Eggs 1 Candidate 2-itemsets Itemset Count Beer, Bread 2 Beer, Diapers 3 Beer, Milk 2 Bread, Diapers 3 Bread, Milk 3 Diapers, Milk 3 Candidate 3-itemsets Itemset Count Bread, Diapers, Milk 3 Minimum support count = 3. *grey: Itemsets removed because of low support. Εικόνα 1: Αναπαράσταση της παραγωγής συχνών συνολοστοιχείων χρησιμοποιώντας τον Apriori αλγόριθμο. Αρχικά, το κάθε στοιχείο θεωρείται ως υποψήφιο 1-συνολοστοιχείο. Μετά την μέτρηση των supports τα υποψήφια συνολοστοιχεία Cola, Eggs αφαιρούνται επειδή εμφανίζονται σε λιγότερες από τρεις συναλλαγές. Στην επόμενη επανάληψη, τα υποψήφια 2-συνολοστοιχεία παράγονται χρησιμοποιώντας μόνο τα συχνά 1-συνολοστοιχεία λόγω της Apriori αρχής, που εξασφαλίζει ότι όλα τα υπερσύνολα των μη συχνών 1-συνολοστοιχείων πρέπει να είναι μη συχνά. Επειδή υπάρχουν μόνο τέσσερα συχνά 1-συνολοστοιχεία, το

πλήθος των υποψήφιων 2-συνολοστοιχείων που παράγονται από τον αλγόριθμο είναι 6. Δύο από τα 6 είναι μη συχνά λόγω των support τους, τα Beer, Bread &Beer, Milk. Τα εναπομείναντα 4 υποψήφια είναι συχνά, & θα χρησιμοποιηθούν για να παράγουν τα υποψήφια 3-συνολοστοιχεία. Χωρίς την αφαίρεση με βάση το support, υπάρχουν 20 υποψήφια 3-συνολοστοιχεία. Με βάση την Apriori αρχή, πρέπει να έχουμε μόνο τα υποψήφια 3-συνολοστοιχεία των οποίων τα υποσύνολα είναι συχνά. Το μόνο υποψήφιο που έχει αυτήν την ιδιότητα είναι το Bread, Diapers, Milk. Ο ψευδοκώδικας για την παραγωγή των συχνών συνολοστοιχείων φαίνεται στον παρακάτω αλγόριθμο. Αν Ckείναι το σύνολο των υποψήφιων k- συνολοστοιχείων & Fk είναι το σύνολο των συχνών k-συνολοστοιχείων: 1.4 Ο αλγόριθμος αρχικά κάνει ένα μόνο πέρασμα στο σύνολο δεδομένων για να καθορίσει το support του κάθε στοιχείου & έχουμε ως αποτέλεσμα το F1 που είναι το σύνολο όλων των συχνών 1-συνολοστοιχείων. 1.5 Έπειτα, ο αλγόριθμος θα παράγει επαναληπτικά νέα υποψήφια k- συνολοστοιχεία χρησιμοποιώντας τα k-1 συνολοστοιχεία που βρέθηκαν από την προηγούμενη επανάληψη (βήμα 5). 1.6 Για την μέτρηση των support των υποψηφίων, o αλγόριθμος πρέπει να κάνει ένα επιπρόσθετο πέρασμα στο σύνολο των δεδομένων (βήματα 6-10). Η συνάρτηση subset χρησιμοποιείται για να καθορισθούν όλα τα υποψήφια συνολοστοιχεία στο Ck που περιέχονται σε κάθε συναλλαγή t. 1.7 Μετά την μέτρηση των support, ο αλγόριθμος αφαιρεί όλα τα υποψήφια συνολοστοιχεία των οποίων το support είναι μικρότερο από το minsup (βήμα 12). 1.8 Ο αλγόριθμος ολοκληρώνεται όταν δεν υπάρχουν καθόλου νέα συχνά συνολοστοιχεία Fk= 0 (βήμα 13). Η παραγωγή των συχνών συνολοστοιχείων του Apriori έχει δύο σημαντικά χαρακτηριστικά. Πρώτον, διασχίζει το πλέγμα συνολοστοιχείων ένα επίπεδο την φορά, από τα συχνά 1-συνολοστοιχεία μέχρι το μέγιστο μέγεθος συχνών συνολοστοιχείων. Δεύτερον, χρησιμοποιεί την στρατηγική της παραγωγής & ελέγχου για την εύρεση των συχνών συνολοστοιχείων. Σε κάθε επανάληψη, παράγονται νέα υποψήφια συνολοστοιχεία από τα συχνά συνολοστοιχεία που βρέθηκαν στην προηγούμενη επανάληψη. Το support για κάθε υποψήφιο υπολογίζεται & ελέγχεται σε σχέση με το minsup. Το συνολικό πλήθος των επαναλήψεων που απαιτούνται από τον αλγόριθμο είναι kmax+1, όπου kmaxείναι το μέγιστο μέγεθος των συχνών συνολοστοιχείων. Algorithm 6.1. Frequent itemset generation of the Apriori algorithm. 1: k =1 2: Fk = i i Є I Λσ(i) N x minsup Find all frequent 1-itemsets 3:repeat 4: k = k+1 5: Ck = apriori-gen(fk-1) Generate candidate itemsets 6: for each transaction t Є T do 7: Gt = subset(ck,t) Identify all candidates that belong to t 8: for each candidate itemset c Є Ct do 9: σ(c ) = σ(c ) + 1 Increment support count 10: end for 11: end for

12: Fk = c c Є Ck Λσ(c) N x minsup Extract the frequent k-itemsets 13:until Fk = 0 14: Result = U Fk. 2.6 Παραγωγή κανόνων Παρακάτω θα εξηγήσουμε πως μπορούμε να παράγουμε κανόνες συσχέτισης αποδοτικά από ένα δοθέν συχνό συνολοστοιχείο. Το κάθε συχνό k- συνολοστοιχείο, Υ, μπορεί να παράγει μέχρι 2 k -2 κανόνες συσχέτισης αγνοώντας τους κανόνες που έχουν άδεια αριστερά ή δεξιά μέλη (0 Υ ή Υ 0). Ένας κανόνας συσχέτισης μπορεί να εξαχθεί με τον διαχωρισμό του συνολοστοιχείου Υ σε 2 μη άδεια υποσύνολα, Χ & Υ-Χ, ώστε το Χ Υ-Χ να ικανοποιεί το confidence όριο. Σημειώστε ότι όλοι οι κανόνες πρέπει ήδη να ικανοποιούν το support επειδή παράγονται από συχνό συνολοστοιχείο. 2.6.1 Αφαίρεση με βάση το confidence Εάν ένας κανόνας Χ Υ-Χ δεν ικανοποιεί το confidence όριο, τότε οποιοσδήποτε κανόνας Χ Υ-Χ, όπου Χ είναι υποσύνολο του Χ, δεν πρέπει να ικανοποιεί το confidence όριο επίσης. 2.6.2 Η παραγωγή κανόνων με τον Apriori αλγόριθμο O ψευδοκώδικας για το βήμα της παραγωγής κανόνων φαίνεται στον παρακάτω αλγόριθμο. Ας σημειώσουμε εδώ την ομοιότητα μεταξύ της διαδικασίας ap-genrules που φαίνεται στον 2 ο αλγόριθμο & την διαδικασία παραγωγής συχνών συνολοστοιχείων που φαίνεται στον 1 ο αλγόριθμο. Η μόνη διαφορά είναι ότι, στην παραγωγή κανόνων, δεν πρέπει να κάνουμε επιπρόσθετα περάσματα στο σύνολο δεδομένων για τον υπολογισμό του confidence των υποψήφιων κανόνων. Αντί αυτού, ορίζουμε το confidence του κάθε κανόνα με την χρήση των support που υπολογίσθηκαν κατά την παραγωγή των συχνών συνολοστοιχείων. Algorithm 6.2 Rule generation of the Apriori algorithm. 1:for each frequent k-itemset fk, k 2 do 2: H1 = i i Є fk 1-item consequents of the rule 3: call ap-genrules(fk, H1) 4:end for

Algorithm 6.3 Procedure ap-genrules(fk,hm). 1: k = fk size of frequent itemset 2: m = Hm size of rule consequent 3:if k > m + 1 then 4: Hm+1 = apriori-gen(hm). 5: for each hm+1 Є Hm+1do 6: conf = σ(fk)/σ(fk hm+1) 7: if conf minconf then 8: output the rule (fk-hm+1) -> hm+1 9: else 10: delete hm+1 from Hm+1 11: end if 12: end for 13: call ap-genrules(fk,hm+1) 14: endif 2.7 Αναπαράσταση των συχνών συνολοστοιχείων Πρακτικά, το πλήθος των συχνών συνολοστοιχείων που παράγονται από ένα σύνολο δεδομένων συναλλαγών μπορεί να είναι πολύ μεγάλο. Είναι χρήσιμο να αναγνωρισθεί ένα μικρό αντιπροσωπευτικό σύνολο συνολοστοιχείων από τα οποία μπορούν να παραχθούν όλα τα άλλα συχνά συνολοστοιχεία. Παρακάτω αναφέρονται δύο τέτοια σύνολα. 2.7.1 Maximal συχνά συνολοστοιχεία Το maximal συχνό συνολοστοιχείο είναιι το συχνό συνολοστοιχείο για το οποίο κανένα από τα άμεσα υπερσύνολά του δεν είναι συχνό. 2.7.2 Κλειστά συχνά συνολοστοιχεία Ένα συνολοστοιχείο Χ είναι κλειστό εάν κανένα από τα άμεσα υπερσύνολά του δεν έχει ακριβώς το ίδιο support με το Χ. Ένα συνολοστοιχείο είναι κλειστό συχνό συνολοστοιχείο εάν είναι

κλειστό & το support του είναι μεγαλύτερο ή ίσο με minsup. Frequent itemsets Maximal Frequent Itemsets Closed Frequent itemsets Εικόνα 3: Σχέσεις μεταξύ συχνών, maximal συχνών & κλειστών συχνών συνολοστοιχείων. 2.8 Εναλλακτικές μέθοδοι για την παραγωγή των συχνών συνολοστοιχείων O Apriori είναι ένας από τους πρώτους αλγορίθμους που επίλυσαν το πρόβλημα της παραγωγής των συχνών συνολοστοιχείων χρησιμοποιώντας την Apriori αρχή, για να μειώσει τον εκθετικό χώρο αναζήτησης. Παρά την βελτίωση της απόδοσης, υπάρχει Ι/Ο φόρτος διότι απαιτεί πολλαπλά περάσματα στο σύνολο δεδομένων. Η απόδοση του Apriori μπορεί να μειωθεί για πυκνά σύνολα δεδομένων λόγω του αυξημένου πλάτους των συναλλαγών. Πολλές εναλλακτικές μέθοδοι έχουν αναπτυχθεί για την υπέρβαση αυτών των περιορισμών &την βελτίωση της απόδοσης του αλγορίθμου. Παρακάτω αναφέρεται μία σύντομη περιγραφή αυτών των μεθόδων. [43] Το πέρασμα του πλέγματος συνολοστοιχείων. Μία αναζήτηση για συχνά συνολοστοχεία μπορεί να θεωρηθεί ως πέρασμα στο πλέγμα των συνολοστοιχείων. Η στρατηγική αναζήτησης που υλοποιείται από τον αλγόριθμο δείχνει πως η δομή του πλέγματος διασχίζεται κατά την παραγωγή των συχνών συνολοστοιχείων. Μερικές στρατηγικές αναζήτησης είναι καλύτερες από άλλες, κάτι που εξαρτάται από την διαμόρφωση των συχνών συνολοστοιχείων στο πλέγμα. Στρατηγική από το γενικό σε ειδικό έναντι ειδικό σε γενικό : O Apriori αλγόριθμος χρησιμοποιεί την στρατηγική αναζήτησης από το γενικό στο ειδικό, όπου τα ζεύγη των συχνών (k-1) συνολοστοιχείων συγχωνεύονται για να παράγουν τα υποψήφια k-συνολοστοιχεία. Αυτή η στρατηγική αναζήτησης από το γενικό στο ειδικό είναι αποτελεσματική, εάν το μέγιστο μήκος ενός συχνού συνολοστοιχείου δεν είναι μεγάλο. Εναλλακτικά, η στρατηγική αναζήτησης από το ειδικό στο γενικό ψάχνει για πιο ειδικά συχνά συνολοστοιχεία αρχικά, προτού να βρει τα πιο γενικά συχνά συνολοστοιχεία. Μία άλλη προσέγγιση είναι να συνδυάσουμε τις στρατηγικές αναζήτησης από το γενικό στο ειδικό & από το ειδικό στο

γενικό. Αυτή η προσέγγιση δύο κατευθύνσεων απαιτεί περισσότερο χώρο για να αποθηκεύσει τα υποψήφια συνολοστοιχεία, αλλά βοηθά στην γρήγορη αναγνώριση του ορίου των συχνών συνολοστοιχείων. Κλάσεις ισοδυναμίας : Ένας άλλος τρόπος για να δούμε το πέρασμα στο δέντρο είναι να χωρίσουμε αρχικά το πλέγμα σε ομάδες κόμβων (ή κλάσεις ισοδυναμίας). Ο αλγόριθμος της παραγωγής συχνών συνολοστοιχείων ψάχνει για συχνά συνολοστοιχεία σε μία συγκεκριμένη κλάση ισοδυναμίας αρχικά πριν την μετακίνηση σε μία άλλη κλάση ισοδυναμίας. Για παράδειγμα, η στρατηγική κατά επίπεδα που χρησιμοποιήθηκε στον Apriori αλγόριθμο μπορεί να διαχωρίζει το πλέγμα με βάση τα μεγέθη των συνολοστοιχείων, ο αλγόριθμος ανακαλύπτει όλα τα συχνά 1-συνολοστοιχεία πριν προχωρήσει στα μεγαλύτερα συνολοστοιχεία. Οι κλάσεις ισοδυναμίας μπορούν επίσης να ορισθούν με βάση το πρόθεμα ή το επίθεμα ενός συνολοστοιχείου. Σε αυτήν την περίπτωση, δύο συνολοστοιχεία ανήκουν στην ίδια κλάση ισοδυναμίας εάν έχουν κοινό πρόθεμα ή επίθεμα μεγέθους k. 2.9 Αξιολόγηση των προτύπων συσχετισμού Οι αλγόριθμοι της ανάλυσης των προτύπων συσχέτισης παράγουν συνήθων μεγάλο πλήθος προτύπων. Αφού το μέγεθος των πραγματικών βάσεων δεδομένων μπορεί να είναι μεγάλο, μπορούμε να καταλήξουμε σε χιλιάδες ή εκατομμύρια πρότυπα, κάποια από τα οποία μπορεί να μην είναι ενδιαφέροντα. Έτσι απαιτείται ένα σύνολο κριτηρίων για την αξιολόγηση των προτύπων συσχέτισης. Το πρώτο σύνολο κριτηρίων μπορεί να ορισθεί μέσω στατιστικών παραμέτρων. Τα πρότυπα που έχουν ένα σύνολο κοινά ανεξάρτητων στοιχείων ή καλύπτουν λίγες συναλλαγές δεν είναι ενδιαφέροντα επειδή μπορεί να έχουν τυχαίες σχέσεις στα δεδομένα. Αυτά τα πρότυπα μπορούν να μειωθούν με την εφαρμογή ενός αντικειμενικού μέτρου ενδιαφέροντος που χρησιμοποιεί στατιστικά που παράγονται από τα δεδομένα για να καθορισθεί εάν ένα πρότυπο είναι ενδιαφέρον. Παραδείγματα αντικειμενικών μέτρων ενδιαφέροντος είναι το support, confidence, correlation. Το δεύτερο σύνολο κριτηρίων μπορεί να δημιουργηθεί από υποκειμενικά επιχειρήματα. Ένα πρότυπο θεωρείται μη ενδιαφέρον εάν δεν αποκαλύπτει μη αναμενόμενες πληροφορίες για τα δεδομένα ή δεν παρέχει χρήσιμη γνώση που μπορεί να οδηγήσει σε προσοδοφόρες ενέργειες. Για παράδειγμα, ο κανόνας Butter -> Bread μπορεί να μην είναι ενδιαφέρον παρά το υψηλό support & confidence, επειδή η σχέση που αναπαρίσταται από τον κανόνα είναι προφανής. Αντιθέτως, ο κανόνας Diapers -> Beer είναι ενδιαφέρον επειδή η σχέση

είναι μη αναμενόμενη. Η ενσωμάτωση υποκειμενικής γνώσης στην αξιολόγηση προτύπων είναι δύσκολη εργασία επειδή απαιτεί πρότερη γνώση. Οι ακόλουθες προσεγγίσεις είναι για την ενσωμάτωση υποκειμενικής γνώσης στην εργασία ανακάλυψης προτύπων. Απεικόνιση. Αυτή η προσέγγιση απαιτεί ένα φιλικό προς τον χρήστη περιβάλλον & επιτρέπει στους ειδικούς να αλληλεπιδρούν με το σύστημα εξόρυξης δεδομένων με την επαλήθευση των προτύπων που ανακαλύφθηκαν. Η προσέγγιση με βάση τα πρότυπα. Αυτή η προσέγγιση επιτρέπει στους χρήστες να περιορίσουν τα πρότυπα από τον αλγόριθμο εξόρυξης. Αντί των εξαγόμενων κανόνων, έχουμε μόνο κανόνες που ικανοποιούν ένα πρότυπο χρήστη. Υποκειμενικό μέτρο ενδιαφέροντος. Ένα υποκειμενικό μέτρο μπορεί να ορισθεί βασισμένο σε πληροφορίες πεδίου. Το μέτρο μετά μπορεί να χρησιμοποιηθεί για το φιλτράρισμα προτύπων που είναι προφανή. 2.9.1 Αντικειμενικά μέτρα ενδιαφέροντος Ένα αντικειμενικό μέτρο είναι προσέγγιση με βάση τα δεδομένα για την αξιολόγηση της ποιότητας των προτύπων συσχέτισης. Είναι ανεξάρτητο του πεδίου & απαιτεί την ελάχιστη είσοδο από τους χρήστες, από να ορίζει ένα όριο για το φιλτράρισμα προτύπων χαμηλής ποιότητας. Ένα αντικειμενικό μέτρο υπολογίζεται συνήθως από τους μετρητές συχνότητας που είναι στον παρακάτω πίνακα, που είναι ένα παράδειγμα για ένα ζεύγος δυαδικών μεταβλητών, Α & Β. Χρησιμοποιούμε τον συμβολισμό Α & Β για να δείξουμε ότι τα Α & Β δεν είναι στην συναλλαγή. Η κάθε συχνότητα fij είναι ένας μετρητής συχνότητας. Για παράδειγμα, το f11 είναι το πλήθος των φορών που τα Α & Β παρουσιάζονται μαζί στην ίδια συναλλαγή, ενώ το f01 είναι το πλήθος των συναλλαγών που περιέχουν το Β αλλά όχι το Α. Το άθροισμα των γραμμών f1+ αναπαριστά τον μετρητή υποστήριξης για το Α, ενώ το άθροισμα στηλών f+1 αναπαριστά τον μετρητή υποστήριξης για το Β. Περιορισμοί του Support-Confidence Framework. Οι υπάρχοντες κανόνες συσχέτισης στηρίζονται στο support & το confidence για να μειώσουν τα μη ενδιαφέροντα πρότυπα. Όμως το μειονέκτημα φαίνεται όταν αφαιρούνται ενδιαφέροντα πρότυπα που έχουν χαμηλό support & confidence. Λόγω των περιορισμών του framework support-confidence, πολλά αντικειμενικά μέτρα έχουν χρησιμοποιηθεί για την αξιολόγηση ποιοτικών προτύπων συσχέτισης.

Παράγοντας ενδιαφέροντος. Ορίζουμε ως lift: Lift = c(a->b)/s(b) (1) που υπολογίζει, το κλάσμα του confidence του κανόνα & του support του συνολοστοιχείου στον κανόνα. Για δυαδικές μεταβλητές, το lift είναι ισοδύναμο με ένα άλλο αντικειμενικό μέτρο, που ονομάζεται παράγοντας ενδιαφέροντος, που ορίζεται ως εξής: Ι(Α,Β) = s(a,b)/s(a) x s(b) = Nf11/f1+f+1 (2) Ο παράγοντας ενδιαφέροντος συγκρίνει την συχνότητα ενός προτύπου έναντι της βασικής συχνότητας που υπολογίζεται με την υπόθεση της στατιστικής ανεξαρτησίας. Η βασική συχνότητα για ανεξάρτητες μεταβλητές είναι f11/n = f1+/n x f+1/n ή f11=f1+f+1/n. (3) Αυτή η σχέση ακολουθεί την προσέγγιση της χρήσης απλών κλασμάτων για τον υπολογισμό των πιθανοτήτων. Το κλάσμα f11/n είναι ο υπολογισμός της πιθανότητας P(A,B), ενώ f1+/n & f+1/n είναι οι υπολογισμοί για τις P(A) & P(B) αντίστοιχα. Εάν το Α & το Β είναι στατιστικά ανεξάρτητα, τότε P(A,B) = P(A) x P(B), οπότε καταλήγουμε στον τύπο της σχέσης (3). Χρησιμοποιώντας τις σχέσεις (1) & (2), μπορούμε να έχουμε ως εξής: Ι(Α,Β) = 1, εάν Α & Β είναι ανεξάρτητα Ι(Α,Β) > 1, εάν Α & Β είναι θετικά συσχετισμένα Ι(Α,Β) < 1, εάν Α & Β είναι αρνητικά συσχετισμένα Ανάλυση συσχέτισης. Η ανάλυση συσχέτισης είναι μία στατιστική τεχνική για την ανάλυση των σχέσεων μεταξύ ενός ζεύγους μεταβλητών. Για συνεχείς μεταβλητές, η συσχέτιση ορίζεται χρησιμοποιώντας τον συντελεστή συσχέτισης Pearson. Για δυαδικές μεταβλητές, η συσχέτιση μπορεί να μετρηθεί χρησιμοποιώντας τον συντελεστή φ, που ορίζεται ως εξής: φ = f11f00 f01f10/(f1+f+1f0+f+0) (4) Η τιμή της συσχέτισης είναι από -1 έως +1. Εάν οι μεταβλητές είναι στατιστικά ανεξάρτητες, τότε φ=0.

Περιορισμοί της ανάλυσης συσχέτισης. Ο φ συντελεστής δίνει ίση σημασία & στην παρουσία & στην απουσία των στοιχείων σε μία συναλλαγή. Είναι επομένως πιο κατάλληλος για την ανάλυση συμμετρικών δυαδικών μεταβλητών. IS μέτρο. Το IS είναι ένα εναλλακτικό μέτρο που προτάθηκε για τον χειρισμό των ασυμμετρικών δυαδικών μεταβλητών. Το μέτρο ορίζεται ως εξής: IS(A,B) = (I(A,B) x s(a,b) ) 1/2 = s(a,b)/s(a)s(b) 1/2 (5). Σημειώστε ότι το IS είναι μεγάλο όταν ο παράγοντας ενδιαφέροντος & η υποστήριξη του προτύπου είναι μεγάλα. Εάν Α, Β είναι πίνακες bit, AB=s(A,B). Επομένως: IS(A,B) = s(a,b)/(s(a) x s(b)) 1/2 = AB/ A x B = cosine(a,b) (6). Το IS μέτρο μπορεί να εκφρασθεί ως ο γεωμετρικός μέσος του confidence των κανόνων συσχέτισης των δυαδικών μεταβλητών: IS(A,B) = (s(a,b)/s(a) x s(a,b)/s(b)) 1/2 = (c(a->b) x c(b->a)) 1/2 (7) Περιορισμοί του IS μέτρου. Αφού το IS για ένα ζεύγος ανεξάρτητων συνολοστοιχείων Α,Β είναι: ISindep(A,B) = s(a,b)/(s(a) x s(b)) 1/2 = s(a) x s(b)/(s(a) x s(b)) 1/2 = (s(a) x s(b)) 1/2. Αφού η τιμή εξαρτάται από το s(a) & s(b), το IS έχει ένα κοινό πρόβλημα με το confidence, ότι η τιμή του μέτρου μπορεί να είναι πολύ μεγάλη, ακόμα και για μη συσχετισμένα & αρνητικά συσχετισμένα πρότυπα. Εναλλακτικά αντικειμενικά μέτρα ενδιαφέροντος. Εκτός από τα μέτρα που περιγράψαμε μέχρι τώρα, υπάρχουν και άλλα εναλλακτικά μέτρα που προτείνονται για την ανάλυση των σχέσεων μεταξύ των ζευγών των δυαδικών μεταβλητών. Αυτά τα μέτρα μπορεί να χωρισθούν σε δύο κατηγορίες, τα συμμετρικά και τα ασύμμετρα μέτρα. Ένα μέτρο Μ είναι συμμετρικό εάν Μ(Α->Β) = Μ(Β->Α). Για παράδειγμα, ο παράγοντας ενδιαφέροντος είναι ένα συμμετρικό μέτρο επειδή η τιμή του είναι ίδια για τους κανόνες Α->Β & Β->Α. Αντιθέτως, το confidence είναι ένα ασύμμετρο μέτρο

επειδή το confidence για το Α->Β & Β->Α μπορεί να μην είναι τα ίδια. Τα συμμετρικά μέτρα χρησιμοποιούνται γενικά για την αξιολόγηση των συνολοστοιχείων, ενώ τα ασύμμετρα μέτρα είναι κατάλληλα για την ανάλυση των κανόνων συσχέτισης.

Κεφάλαιο 3 Αναθεώρηση της βιβλιογραφίας για την απόκρυψη συχνών συνολοστοιχείων 3.1 Εισαγωγή Σε αυτό το κεφάλαιο θα παρουσιαστεί η ιστορία της διατήρησης της ιδιωτικότητας, οι διαστάσεις της & η κατηγοριοποίησή της. Το επίκεντρο της αναθεώρησης της βιβλιογραφίας θα είναι οι προσεγγίσεις που βασίζονται σε ευρετικές μεθόδους αφού & η προσέγγιση του FP-tree ανήκει σε αυτήν την κατηγορία. 3.2 Ιστορική ανασκόπηση της απόκρυψης κανόνων συσχέτισης Οι Wang&Hong (2007) όρισαν δύο ευρείες κατηγορίες για την διατήρηση της ιδωτικότητας στην εξόρυξη δεδομένων: την ιδιωτικότητα εισόδου& την ιδιωτικότητα εξόδου. Η ιδιωτικότητα εξόδου συνδέεται κυρίως με την ελάχιστη τροποποίηση των δεδομένων για την αποφυγή αποκάλυψης οποιονδήποτε ιδιωτικών ή ευαίσθητων πληροφοριών, ως αποτέλεσμα της χρήσης μίας τεχνικής εξόρυξης. Παραδείγματα των μεθόδων διατήρησης της ιδιωτικότητας εξόδου είναι η συγχώνευση δεδομένων (merging), η δειγματοληψία & άλλες μέθοδοι. Η ιδιωτικότητα εισόδου, από την άλλη πλευρά, συνδέεται με τον χειρισμό των δεδομένων ώστε τα αποτελέσματα εξόρυξης να επηρεάζονται από ελάχιστα έως καθόλου. Παραδείγματα μεθόδων διατήρησης της ιδιωτικότητας εισόδου περιλαμβάνουν τεχνικές βασισμένες στην αναδόμηση & την κρυπτογραφία. Από την άλλη πλευρά, οι Βερύκιος & Γκουβαλάς-Ντιβάνης (2008) όρισαν δύο άλλες ευρείες κατηγορίες για μεθόδους διατήρησης ιδιωτικότητας: την απόκρυψη δεδομένων & γνώσης. Η απόκρυψη δεδομένων αφαιρεί την εμπιστευτική, ιδιωτική πληροφορία από τα δεδομένα πριν την αποκάλυψή της σε τρίτους & το κύριο θέμα είναι τα ίδια τα δεδομένα. Η απόκρυψη γνώσης συνδέεται με την πληροφορία ή την γνώση δεδομένων που μπορεί να βρεθούν με τεχνικές εξόρυξης δεδομένων. Ο D.E.O Leary (1991) ήταν ο πρώτος που πρότεινε ότι η εξόρυξη δεδομένων πρέπει να αντιμετωπισθεί με έναν τρόπο για την αποφυγή παραβιάσεων στην ασφάλεια & την ιδιωτικότητα μετά την εφαρμογή αυτών

των μεθόδων στα δεδομένα (Βερύκιος & Γκουβαλάς-Ντιβάνης, 2008). Ο όρος «Απόκρυψη Κανόνων Συσχέτισης» χρησιμοποιήθηκε αρχικά από τους Atallahetal στο 1999 workshoppaper (Βερύκιος & Γκουβαλάς-Ντιβάνης, 2008). Οι Atallahetal (1999) άρχισαν να εφαρμόζουν μερικές από τις ιδέες που προτάθηκαν από τους Clifton&Marks (1996), π.χ. την τροποποίηση της βάσης δεδομένων & την χρήση δειγμάτων από την χρήση όλης της βάσης δεδομένων. Οι τεχνικές απόκρυψης γνώσης, ειδικά η απόκρυψη κανόνων συσχέτισης, ήταν το επίκεντρο αυτής της έρευνας. Ακολουθώντας την προσέγγιση των Βερύκιου & Γκουβάλα-Ντιβάνη (2008), θα παρουσιασθεί μία ταξινόμηση των συχνών συνολοστοιχείων & των αλγορίθμων απόκρυψης κανόνων συσχέτισης. Παρακάτω, θα παρουσιάσουμε τις διαστάσεις της απόκρυψης κανόνων συσχέτισης & μία ταξινόμηση των αλγορίθμων απόκρυψης κανόνων συσχέτισης. 3.3 Διαστάσεις των αλγορίθμων της απόκρυψης των κανόνων συσχέτισης Οι αλγόριθμοι απόκρυψης κανόνων συσχέτισης μπορεί να έχουν πολλές διαστάσεις μπορεί να πετύχουν την απόκρυψη είτε με την μείωση του supportείτε με την μείωση του confidence του κανόνα συσχέτισης. Οι αλγόριθμοι αυτοί μπορεί να είναι είτε ευρετικοί είτε ακριβείς. Αν & οι ευρετικές προσεγγίσεις είναι αποτελεσματικές, γρήγορες & μπορούν να διαχειρισθούν μία μεγάλη βάση δεδομένων, δεν εγγυώνται μία βέλτιστη λύση. Οι αλγόριθμοι απόκρυψης κανόνων συσχέτισης έχουν ως κύριο στόχο την απόκρυψη των ευαίσθητων συνολοστοιχείων & ως δευτερεύων ρόλο την ελαχιστοποίηση παρενεργειών που μπορεί να προκύψουν από την διαδικασία απόκρυψης, π.χ., απώλεια των μη ευαίσθητων συνολοστοιχείων, μείωση του συνολικού πλήθους των στοιχείων & παραγωγή των νέων κανόνων συσχέτισης. Σε αντίθεση με την ευρετική προσέγγιση, η ακριβής προσέγγιση λαμβάνει υπόψη όλους τους στόχους της απόκρυψης κανόνων συσχέτισης. Η χρήση μίας τέτοιας προσέγγισης μπορεί να αυξήσει το υπολογιστικό κόστος, πιθανόν μέχρι το σημείο όπου οι υπολογιστικοί πόροι να εξαντλούνται επειδή μία βέλτιστη λύση δεν υπάρχει. Σε αυτήν την περίπτωση, οι όροι που θέτονται από τους στόχους μπορεί να χαλαρώσουν για να επιτρέψουν στον αλγόριθμο στην εύρεση της λύσης (Βερύκιος & Γκουβαλάς-Ντιβάνης, 2008, Modi, Rao & Patel, 2010). Οι αλγόριθμοι απόκρυψης των κανόνων συσχέτισης μπορεί να χρησιμοποιήσουν τεχνικές παραμόρφωσης ή μπλοκαρίσματος στην απόκρυψη των κανόνων. Η παραμόρφωση είναι η διαδικασία της αντικατάστασης των 1 με 0& των 0 με 1, ενώ το μπλοκάρισμα είναι η διαδικασία της αντικατάστασης

των αρχικών τιμών στην αρχική βάση δεδομένων με ερωτηματικά (Βερύκιος & Γκουβαλάς-Ντιβάνης, 2008, Modi, Rao & Patel, 2010). Οι αλγόριθμοι μπορεί επίσης να κρύψουν έναν κανόνα συσχέτισης ή πολλούς κανόνες συσχέτισης κατά την διάρκεια μίας μόνο επανάληψης του αλγορίθμου που ονομάζονται σχήματα μονού-κανόνα ή πολλαπλών-κανόνων, αντίστοιχα (Βερύκιος & Γκουβαλάς-Ντιβάνης, 2008). Οι Βερύκιος & Γκουβαλάς-Ντιβάνης (2008) σημειώνουν ότι κάποιοι αλγόριθμοι μπορεί να απαιτήσουν ένα βήμα προεξόρυξης πριν την διαδικασία απόκρυψης, ενώ άλλοι όχι. Η προεξόρυξη μπορεί να εισάγει κάποιες παραβιάσεις της ιδιωτικότητας αφού τα συχνά συνολοστοιχεία μπορεί να παραχθούν πριν γίνει η διαδικασία απόκρυψης, επιτρέποντας την δυνατότητα για τα ευαίσθητα συνολοστοιχεία να αποκαλυφθούν στο άτομο που κάνει την διαδικασία απόκρυψης (Yildiz & Ergenc, 2011, Wang & Hon 2007). H προεξόρυξη επίσης έχει αναποτελεσματικότητες & καθυστερήσεις στην διαδικασία απόκρυψης αφού οι περισσότερες διαδικασίες προεξόρυξης απαιτούν την παραγωγή των συνόλων υποψηφίων που καταλήγει σε πολλαπλά σκαναρίσματα της ΒΔ & σε αύξηση του χρόνου εκτέλεσης (Yildiz&Ergenc, 2011, Wang&Hong, 2007). 3.4 Ταξινόμηση των αλγορίθμων απόκρυψης κανόνων συσχέτισης Οι Βερύκιος & Γκουβαλάς-Ντιβάνης (2008) ταξινομούν τους αλγορίθμους απόκρυψης κανόνων συσχέτισης σε προσεγγίσεις που βασίζονται σε ευρετικές μεθόδους, σε όρια & σε ακριβείς προσεγγίσεις. Οι Modi et al (2010) έχουν δύο άλλες προσεγγίσεις που βασίζονται στην αναδόμηση & στην κρυπτογραφία. 3.4.1 Προσεγγίσεις που βασίζονται σε ευρετικές μεθόδους Οι προσεγγίσεις που βασίζονται σε ευρετικές μεθόδους, όπως αναφέρθηκε νωρίτερα είναι αποδοτικοί, γρήγοροι & επεκτάσιμοι αλγόριθμοι που τροποποιούν την ΒΔ (Βερύκιος & Γκουβαλάς-Ντιβάνης, 2008). Έτσι, έχουν γίνει το επίκεντρο πολλών ερευνητικών προσπαθειών παρά των παρενεργειών τους που μπορεί να επηρεάσουν την ποιότητα της ΒΔ εξόδου (Βερύκιος & Γκουβαλάς-Ντιβάνης, 2008). Οι ευρετικές προσεγγίσεις χρησιμοποιούν συνήθως το support, το confidence είτε τον συνδυασμό τους. Η μείωση αυτών μπορεί να επιτευχθεί με τεχνικές παραμόρφωσης (Βερύκιος & Γκουβαλάς-Ντιβάνης, 2008, Modi, Rao & Patel, 2010).

3.4. 2 Σχήματα παραμόρφωσης με χρήση του support& του confidence Οι Atallah et al. (1999) ήταν οι πρώτοι που προσπάθησαν μία ευρετική προσέγγιση σε αυτό το πεδίο. Με κάποιες υποθέσεις, τα ευαίσθητα συνολοστοιχεία κρύβονται με την μείωση του supportή του confidence (Modi, Rao & Patel, 2010). Το μειονέκτημα αυτής της προσέγγισης είναι ότι δεν λαμβάνει υπόψη το ποσό της απώλειας για μεγάλα συνολοστοιχεία εάν παρέμειναν συχνά στην τροποποιημένη ΒΔ (Βερύκιος & Γκουβαλάς-Ντιβάνης, 2008). Παρότι υπάρχει αυτό το μειονέκτημα, οι Atallahetal. (1999) παρείχαν μία απόδειξη ότι το πρόβλημα απόκρυψης των κανόνων συσχέτισης, όταν προσπαθεί να βρει μία βέλτιστη λύση είναι NP-hard πρόβλημα (Βερύκιος & Γκουβαλάς-Ντιβάνης, 2008, Modi, Rao & Patel, 2010). Οι Dassemi, Verykios, Elmagarmid&Bertino (2001) πρότειναν τρεις ευρετικές μεθόδους που θεώρησαν την μείωση του support& του confidenceτων ευαίσθητων συνολοστοιχείων. Ο στόχος αυτών των τριών ευρετικών ήταν η απόκρυψη των ευαίσθητων συνολοστοιχείων με την ελαχιστοποίηση της απώλειας του support για τα μη ευαίσθητα & συχνά συνολοστοιχεία (Βερύκιος & Γκουβαλάς-Ντιβάνης, 2008). Οι προτεινόμενοι αλγόριθμοι απέτυχαν στην ελαχιστοποίηση των μη επιθυμητών παρενεργειών όπως η απώλεια ενός μη ευαίσθητου & συχνού συνολοστοιχείου ή η δημιουργία ενός νέου συχνού συνολοστοιχείου (Βερύκιος & Γκουβαλάς- Ντιβάνης, 2008). Οι Βερύκιος, Elmagarmid, Bertino, Saygin&Dasseni (2004) επέκτειναν την δουλειά των Dasennietal. (2001) με την αξιολόγηση της απόδοσης των ΒΔ εισόδου διαφορετικών μεγεθών & με την χρήση διαφορετικών μεγεθών ευαίσθητων συνολοστοιχείων. Επίσης, βελτίωσαν την διαδικασία διατήρησης της γνώσης εντός της τροποποιημένης ΒΔ με την υλοποίηση μίας διαδικασίας που επιλέγει το στοιχείο με το μεγαλύτερο support& αφαιρεί αυτό το στοιχείο από την συναλλαγή με το μικρότερο πλήθος στοιχείων. Οι Olivera & Zaiane (2002) πρότειναν την πρώτη ευρετική προσέγγιση απόκρυψης πολλαπλών κανόνων. Εφηύραν τρεις αλγορίθμους που προσπαθούν να αποκρύψουν τα ευαίσθητα συνολοστοιχεία ενώ συγχρόνως μειώνουν την επίδραση στα μη ευαίσθητα συνολοστοιχεία (Βερύκιος & Γκουβαλάς- Ντιβάνης, 2008). Οι προτεινόμενοι αλγόριθμοι είναι πολύ αποδοτικοί, & απαιτούν μόνο δύο σκαναρίσματα της ΒΔ. Ωστόσο, ένας πιο αποτελεσματικός αλγόριθμος που απαιτεί μόνο ένα σκανάρισμα της ΒΔ προτάθηκε από τους Olivera & Zaiane (2003). Ο Amiri πρότεινε ένα άλλο σύνολο ευρετικών απόκρυψης πολλαπλών κανόνων καλύτερου από αυτόν των Olivera & Zaiane (2003), αλλά με υψηλότερο υπολογιστικό κόστος. Ο στόχος των προτεινόμενων μεθόδων ήταν η μείωση της παραμόρφωσης της

τροποποιημένης ΒΔ με την αφαίρεση των ευαίσθητων συνολοστοιχείων. Οι αλγόριθμοι που παρουσιάσθηκαν από τον Amiri (2007) πρότειναν την αφαίρεση της συνολικής συναλλαγής με το ελάχιστο πλήθος μη ευαίσθητων συνολοστοιχείων & το μεγαλύτερο πλήθος ευαίσθητων συνολοστοιχείων. Οι Wu, Chiang&Chen (2007) τροποποίησαν την δουλειά των Dasennietal. (2001) & εισήγαγαν ειδικούς περιορισμούς για την μείωση των πιθανών παρενεργειών. Για να διασφαλίσουν ότι ο κύριος περιορισμός ικανοποιείται (π.χ. ευαίσθητα συνολοστοιχεία μπορούν να αποκρυφθούν), ο αλγόριθμος μπορεί να χαλαρώσει κάποιους από τους λιγότερο κρίσιμους περιορισμούς. Αυτό μπορεί να γίνει χωρίς την συγκατάθεση του χρήστη & είναι ένα βασικό μειονέκτημα του αλγορίθμου. Οι Pontikakis, Tsitsonis & Verykios (2004) πρότειναν δύο ευρετικές μεθόδους που βασίζονται στην παραμόρφωση. Χρησιμοποιούν μία αποτελεσματική δομή δεδομένων για να επιλέξουν την κατάλληλη συναλλαγή που πρέπει να τροποποιηθεί. Ωστόσο, ο προτεινόμενος αλγόριθμος έχει μη επιθυμητά αποτελέσματα όπως η απόκρυψη μη ευαίσθητων & συχνών συνολοστοιχείων ή η δημιουργία νέων κανόνων (Βερύκιος & Γκουβαλάς- Ντιβάνης, 2008). Οι Wang&Hong πρότειναν την χρήση του PI-δέντρου (δέντρο αντιστροφής μοτίβου) που αποθηκεύει λεπτομέρειες για την ΒΔ, που μπορούν να χρησιμοποιηθούν με το σκανάρισμα της ΒΔ μία φορά. Σε κάθε κόμβο, το PI-δέντρο αποθηκεύει το στοιχείο, την συχνότητά του και τα IDs συναλλαγών που υποστηρίζουν το στοιχείο. Με την επανάληψη στους διάφορους ευαίσθητους κανόνες, ο αλγόριθμος προσπαθεί να αναγνωρίσει το πλήθος των συναλλαγών που απαιτούνται για την μείωση του confidence του κανόνα κάτω από το επίπεδο ανίχνευσης. Ο αλγόριθμος συνεχίζει με την μείωση είτε του confidence είτε του support με την επιλογή της μεθόδου που θα τροποποιήσει το ελάχιστο πλήθος των συναλλαγών. Χρησιμοποιώντας μία δεντρική δομή επιτρέπει στον αλγόριθμο να επαναλαμβάνεται γρήγορα μέσα στην δομή & να αποφεύγει την προεξόρυξη (Wang&Hong, 2007). Οι Modi, Rao & Patel (2010) πρότειναν μία ευρετική προσέγγιση που επιτυγχάνει την απόκρυψη με την συσταδοποίηση των ευαίσθητων κανόνων συσχέτισης & έπειτα την μειώση του support στις συστάδες των κανόνων της δεξιάς πλευράς. Ο αλγόριθμος απαιτεί προεξόρυξη για να παράγει τα σύνολα υποψηφίων, συμπεριλαμβάνοντας τους ευαίσθητους κανόνες. Μετην μείωση του support του στοιχείου της δεξιάς πλευράς του κανόνα Χ Υ, ο αλγόριθμος μειώνει το confidence πιο γρήγορα από την μείωση του support του Χ. Τα πειραματικά αποτελέσματα αναφέρθηκαν από τους Modietal. (2010), δείχνοντας καλύτερη απόδοση από άλλες ευρετικές προσεγγίσεις.

Οι Yildiz & Ergenc (2011) πρότειναν τέσσερις διαφορετικούς τύπους ευρετικών που δεν απαιτούν προεξόρυξη. Βασισμένοι στην ανάλυση των πειραματικών αποτελεσμάτων των τεσσάρων προσεγγίσεων, η μελέτη συμπέρανε ότι η απόδοση του αλγορίθμου τροποποίησηςεξαρτάται από το πρότυπο που παραμορφώθηκε. Για παράδειγμα, η μελέτη έδειξε ότι η επιλογή του πιο μικρού προτύπου με το μέγιστο πλήθος συχνών συνολοστοιχείων δείχνει την καλύτερη συνολική απόδοση. Ωστόσο, οι Yildiz & Ergenc (2011) δεν συγκρίνουν τα αποτελεσματά τους με άλλα αποτελέσματα από οποιονδήποτε άλλο ευρετικό αλγόριθμο, αν & αυτό προτάθηκε ως το επόμενο βήμα. 3.4.3 Σχήματα μπλοκαρίσματος με χρήση του support& του confidence Οι Saygin, Verykios & Clifton (2001) ήταν οι πρώτοι που χρησιμοποίησαν τα «unknowns», δηλαδή την εισαγωγή ερωτηματικών έναντι της μετατροπής των 0 & 1. Οι Sayginetal. (2001) πρότειναν τρεις ευρετικές, δύο από τις οποίες εξαρτώνται από την μείωση του confidence του κανόνα συσχέτισης. Η τρίτη ευρετική εξαρτάται από την μείωση του support του κανόνα συσχέτισης. Η κύρια συνεισφορά των Sayginetal. (2001) ήταν η εισαγωγή του παράγοντα ασφάλειας, που παρέχει έναν μηχανισμό για την μέτρηση της ασφάλειας των δεδομένων από την ανακάλυψή τους από έναν «αντίπαλο» (Saygin, Verykios & Clifton, 2001 Verykios & Gkoukalas- Divanis, 2008). Οι Wang & Jafari (2005) πρότειναν δύο ευρετικές που χειρίζονται την απόκρυψη των προβλέψιμων κανόνων συσχέτισης κανόνες που περιέχουν τα ευαίσθητα στοιχεία στην δεξιά πλευρά. Και οι δύο μέθοδοι βασίζονται στην μείωση του confidence. Μία από τις κύριες συνεισφορές στα σχήματα μπλοκαρίσματος είναι η εργασία του Ποντικάκη, Θεοδωρίδη, Τσιτσόνη, Chang & Βερύκιου (2004). Οι Pontikaisetal. πρότειναν την ιδέα των ghost κανόνων, που κάνει πιο δύσκολο για έναν «αντίπαλο» να αναγνωρίσει οποιουσδήποτε ευαίσθητους κανόνες (Pontikakis, Theodoridis, Tsitsonis, Chang & Verykios, 2004 Verykios & Gkoukalas-Divanis 2008). 3.4.4 Οι προσεγγίσεις που βασίζονται στα όρια Οι Sun & Yu (2005), ήταν οι πρώτοι που πρότειναν την χρήση της επανάληψης ορίου στην απόκρυψη των κανόνων συσχέτισης. Πρότειναν μία ευρετική μέθοδο που θεωρεί το όριο των μη ευαίσθητων και συχνών συνολοστοιχείων. Τα όρια χρησιμοποιούνται για να ιχνηλατήσουν τα

αποτελέσματα που προκύπτουν από τις τροποποιημένες συναλλαγές κατά την διάρκεια της διαδικασίας απόκρυψης σε μία προσπάθεια διατήρησης της ποιότητας της τροποποιημένης ΒΔ. Οι Μουστακίδης & Βερύκιος (2006) επέκτειναν την εργασία των Sun&Yu (2005) με την υλοποίηση ενός επαναληπτικού & πιο αποδοτικού αλγορίθμου που βασίζεται στα όρια (Μουστακίδης & Βερύκιος, 2006). 3.4.5 Οι ακριβείς προσεγγίσεις Όπως συζητήθηκε προηγουμένως, μία ακριβής προσέγγιση θα βρει την βέλτιστη λύση, εάν υπάρχει, με επιπλέον υπολογιστικό κόστος. Δύο κύριες μελέτες έχουν γίνει των Menon, Sarkar & Mukherjee (2005) & των Menon & Sarkar (2007). Ένα κύριο πλεονέκτημα αυτών των δύο μελετών είναι ότι παρουσιάζουν αρκετά βήματα για να μειώσουν τον χρόνο της επίλυσης του προβλήματος ικανοποίησης περιορισμών (CSP). Οι Γκουκάλας-Ντιβάνης & Βερύκιος (2006) πρότειναν έναν άλλο ακριβή αλγόριθμο που χρησιμοποιεί τα θετικά & επαναληπτικά αρνητικά όρια για την αναγνώριση των υποψήφιων συνολοστοιχείων της τροποποίησης. Αν & ο αλγόριθμος υποδεικνύει ένα CSP που είναι μεγαλύτερο από το CSP στους Menonetal. (2005), οι συγγραφείς προτείνουν ο αλγόριθμος να επιτυγχάνει ένα ικανοποιητικό επίπεδο αποτελεσματικότητας. 3.4.6 Οι προσεγγίσεις που βασίζονται στην αναδόμηση Μία νεότερη μέθοδος είναι αυτή που βασίζεται στην αναδόμηση. Η μέθοδος που μπορεί να κατηγοριοποιηθεί ως τροποποίηση της γνώσης χρησιμοποιεί την ιδέα της εξόρυξης αντίστροφου συχνού συνόλου (Chen, Orlowska & Li 2007 Guo, 2007). O Guo (2007) πρότεινε ένα νέο framework που χρησιμοποιεί το πλέγμα συνολοστοιχείων. Το πλέγμα συνολοστοιχείων περιέχει πληροφορία για την αρχική βάση δεδομένων &είναι ένα υποσύνολο στοιχείων που είναι μερικώς διατεταγμένα & που παράγονται από τις συναλλαγές. Το πλέγμα συνολοστοιχείων τροποποιείται & μία νέα βάση δεδομένων με περιορισμένες παρενέργειες δημιουργείται (Guo, 2007). 3.4.7 Οι προσεγγίσεις που βασίζονται στην κρυπτογραφία

H προσέγγιση που βασίζεται στην κρυπτογραφία είναι μία μορφή ιδιωτικότητας εισόδου όπου τα δεδομένα αποκρύπτονται από την αρχική βάση δεδομένων. Η προσέγγιση επιλύει θέματα ιδιωτικότητας για οργανισμούς που έχουν ΒΔ σε πολλές τοποθεσίες (Modi, Rao & Patel 2010). Οι Vaidya & Clifton (2002) πρότειναν έναν αλγόριθμο για την εύρεση των ευαίσθητων συνολοστοιχείων χωρίς να επιτρέπεται στις δύο τοποθεσίες να βρουν τις ιδιωτικές συναλλαγές. Οι Kantarcioglu & Clifton (2004) μελέτησαν την εξόρυξη κανόνων συσχέτισης σε οριζόντια χωρισμένα δεδομένα με ασφάλεια. 3.4.8 Άλλες προσεγγίσεις Άλλες προσεγγίσεις προτάθηκαν επίσης για τον χειρισμό της απόκρυψης των κανόνων συσχέτισης. Οι Zhu & Du (2010) έδειξαν ότι κάποιος μπορεί να ανακαλύψει τους ευαίσθητους κανόνες συσχέτισης αν υπάρχουν κάποιες πληροφορίες στην διαδικασία απόκρυψης. Αυτοί εφηύραν μία καινοτόμα k-anonymous μετρική για να διασφαλίσουν ότι ένας ευαίσθητος κανόνας συσχέτισης δεν μπορεί να διακριθεί από τουλάχιστον k-1 άλλους κανόνες συσχέτισης στην συγκεκριμένη περιοχή. Οι Γκουκάλας-Ντιβάνης & Βερύκιος (2009), από την άλλη πλευρά, παρουσίασαν το framework της επέκτασης της ΒΔ. Παρουσίασαν μία επέκταση στηναρχική βάση δεδομένων προκειμένου να αποκρύψουν τους ευαίσθητους κανόνες & να φέρουν το support των ευαίσθητων συνολοστοιχείων κάτω από το επίπεδο ανίχνευσης. 3.4.9 Περίληψη Η ιστορία της διατήρησης της ιδιωτικότητας συζητήθηκε με επίκεντρο τους αλγορίθμους απόκρυψης κανόνων συσχέτισης. Επίσης, συζητήθηκαν οι διαστάσεις των αλγορίθμων απόκρυψης κανόνων συσχέτισης & η ταξινόμηση των αλγορίθμων απόκρυψης κανόνων συσχέτισης με επίκεντρο τις ευρετικές μεθόδους. Ο αλγόριθμος του Fp-tree μπορεί να κατηγοριοποιηθεί ως μία μέθοδος ιδιωτικότητας εξόδου που βασίζεται σε ευρετικές μεθόδους, ή στο support, ή στην παραμόρφωση & χρησιμοποιεί πολλούς κανόνες. Η προσέγγιση του FPtree τροποποιεί τα δεδομένα ελάχιστα προκειμένου να αποτρέψει οποιαδήποτε αποκάλυψη των ευαίσθητων συνολοστοιχείων μετά την διαδικασία της εξόρυξης. Επίσης, μεγιστοποιεί την χρησιμότητα της ΒΔ, επομένως είναι προσέγγιση ιδιωτικότητας εξόδου (Wang & Hong, 2007). To Fp-tree αποθηκεύει τις συναλλαγές σε συμπιεσμένη μορφή. Επίσης χρησιμοποιεί μία ευρετική μέθοδο που επαναληπτικά θα σβήνει στοιχεία από την δομή

(heuristic-based approach). Αποκρύπτει τα ευαίσθητα συνολοστοιχεία με την μείωση του support των ευαίσθητων συνολοστοιχείων (support-based approach). Μειώνει το support των ευαίσθητων συνολοστοιχείων με την αφαίρεση των στοιχείων από τις συναλλαγές (distortion-based approach). Τέλος, μειώνει ένα στοιχείο σε κάθε επανάληψη, που μπορεί να μειώσει το support ενός ή περισσότερων ευαίσθητων συνολοστοιχείων (multiple-rule method). Υπήρξε προτίμηση για το FP-tree στην απόκρυψη των κανόνων συσχέτισης. Δύο μελέτες από τους Wang & Hong (2007) & Guo (2007) χρησιμοποίησαν το FP-tree για το πρόβλημα της απόκρυψης κανόνων συσχέτισης. Οι προηγούμενες μελέτες έδειξαν ότι η ποιότητα της διαδικασίας τροποποίησης μπορεί να εξαρτάται από πολλούς παράγοντες. Για παράδειγμα, το πρότυπο που επιλέχθηκε να τροποποιηθεί μπορεί να επηρεάσει την ποιότητα της τροποποίησης (Yildiz & Ergenc, 2011). Αυτό & πολλοί άλλοι παράγοντες λήφθηκαν υπόψη κατά την αξιολόγηση της μεθόδου που υλοποιήθηκε από την τρέχουσα μελέτη. Οι πιο πολλές από τις μελέτες που αναφέρθηκαν δεν υπολογίζουν το συνολικό πλήθος των στοιχείων που αφαιρούνται από τις συναλλαγές κατά την διάρκεια της τροποποίησης. Αυτή η έρευνα & η προτεινόμενη προσέγγιση FPtree ήταν μία προσπάθεια να αντιμετωπισθεί το θέμα της απόκρυψης των κανόνων συσχέτισης.

Κεφάλαιο 4 - Ο FP-Growth αλγόριθμος O FP-Growth είναι αλγόριθμος που χρησιμοποιείται για την εύρεση των συχνών συνολοστοιχείων, ο οποίος κωδικοποιεί το σύνολο δεδομένων χρησιμοποιώντας μία συμπαγή δομή δεδομένων, το FP-tree, & εξάγει συχνά συνολοστοιχεία κατευθείαν από αυτήν την δομή. Υπάρχουν τρία στάδια για την υλοποίηση του: Προεπεξεργασία δεδομένων, που οδηγεί στην ταξινομημένη βάση για συγκεκριμένο κατώφλι υποστήριξης που μπορεί να έχει οδηγήσει στην αφαίρεση κάποιων στοιχείων. Κατασκευή του FP-tree Υλοποίηση των conditional FP-trees. 4.1 Αναπαράσταση του FP-tree Το FP-tree είναι μία συμπιεσμένη αναπαράσταση των δεδομένων εισόδου. Κατασκευάζεται με την ανάγνωση του συνόλου δεδομένων κατά μία συναλλαγή την φορά & την αναπαράσταση της συναλλαγής ως μονοπατιού στο αντίστοιχο δέντρο. Αφού οι διαφορετικές συναλλαγές μπορεί να έχουν αρκετά κοινά στοιχεία, τα μονοπάτια τους μπορεί να επικαλύπτονται. Όσο πιο πολύ τα μονοπάτια επικαλύπτονται μεταξύ τους, τόσο πιο μεγάλη συμπίεση μπορούμε να επιτύχουμε με το FP-tree. Εάν το μέγεθος τους FP-tree είναι αρκετά μικρό για να χωράει στην κύρια μνήμη, αυτό θα επιτρέπει την εξαγωγή των συχνών συνολοστοιχείων κατευθείαν από την δομή στην μνήμη αντί να γίνονται επαναλαμβανόμενα περάσματα στα δεδομένα στον δίσκο. To μέγεθος ενός FP-tree είναι τυπικά μικρότερο από το μέγεθος των μη συμπιεσμένων δεδομένων επειδή πολλές συναλλαγές στα δεδομένα συχνά έχουν κοινά στοιχεία. Στο καλύτερο σενάριο, όπου όλες οι συναλλαγές έχουν το ίδιο σύνολο στοιχείων, το FP-tree περιέχει μόνο ένα κλάδο από κόμβους. Το χειρότερο σενάριο συμβαίνει όταν κάθε συναλλαγή έχει μοναδικό σύνολο στοιχείων, όπου το FP-tree έχει το ίδιο μέγεθος με τα αρχικά δεδομένα. Ωστόσο, το FP-tree έχει μεγαλύτερες απαιτήσεις αποθήκευσης λόγω του επιπρόσθετου απαιτούμενου χώρου για τους δείκτες μεταξύ των κόμβων & των μετρητών για το κάθε στοιχείο. 4.2 Παραγωγή συχνών συνολοστοιχείων χρησιμοποιώντας τον FP-Growth αλγόριθμο. Ο FP Growth αλγόριθμος αναπαριστά την προσέγγιση divide and conquer. Στο κάθε βήμα, κατασκευάζεται ένα conditional FP-tree με την ενημέρωση των supports κατά μήκος των μονοπατιών προθέματος & την αφαίρεση όλων των μη συχνών στοιχείων. Επειδή τα υποπροβλήματα δεν σχετίζονται μεταξύ τους, ο FP-growth δεν θα παράγει καθόλου διπλά συνολοστοιχεία. Ο FP-growth αναπαριστά πως ένα σύνολο δεδομένων συναλλαγών βοηθά

στην αποτελεσματική παραγωγή συχνών συνολοστοιχείων. Επιπλέον, για συγκεκριμένα σύνολα δεδομένων συναλλαγών, ο FP-growth ξεπερνά τον Apriori με πολλές τάξεις μεγέθους. Η απόδοση του FP-growthεξαρτάται από τον παράγοντα συμπίεσης του συνόλου δεδομένων. Αν το conditional FP-tree είναι πολύ πυκνό (στην χειρότερη περίπτωση ένα δέντρο προθεμάτων μόνο), τότε η απόδοση του αλγορίθμου μειώνεται σημαντικά επειδή πρέπει να παράγει ένα μεγάλο πλήθος υποπροβλημάτων & να συγχωνεύσει τα αποτελέσματα του κάθε υποπροβλήματος. FP-growth algorithm INPUT: Database D, minimum support minsup OUTPUT: Frequent itemsets FIs BEGIN //first scan of database a Read D b Count item occurrences c Exclude items below minsup and generate frequent items list FIlist in descending order //second scan of database and building FP-tree d Create root of FP-tree e Read D f FOR every transaction read frequent items in descending order as in FIlist g IF first item has already connected to root increase node s count and set as current node h ELSE add new node to root and set as current node and connect to FIlist i FOR remaining items j IF item exists in one of child nodes set it as current node and increase count k ELSE add item as new node and set it as current node l IF there is node connected to FIlist connect to last node of that item m ELSE connect to FIlist n END o END //find frequent itemsets p FROM least frequent item TO most frequent item in FIlist q FROM i=2 TO FIlist length r Generate candidate length(i) itemset by extending item with other items in FIlist s Count support by traversing base nodes of item t IF support>=minsup give itemset as output u Continue extending itemset and go to line 18 v ELSE stop extending and go to line 17 w END x END END

4.3 Παράδειγμα FP Tree Έστω λοιπόν η βάση συναλλαγών στον παρακάτω πίνακα και το ελάχιστο κατώφλι υποστήριξης ορισμένο στην τιμή 3. TID Συναλλαγές Ταξινόμηση συχνών αντ/νων 100 f, a, c, d, g, l, m, p f, c, a, m, p 200 a, b, c, f, l, m, o f, c, a, b, m 300 b, f, h, j, o f, b 400 b, c, k, s, p c, b, p 500 a, f, c, e, l, p, m, n f, c, a, m, p Πίνακας Κάποια σύνολα από συχνά αντικείμενα εμφανίζονται επαναληπτικά σε παραπάνω από μία συναλλαγές. Αν δύο συναλλαγές έχουν κοινό πρόθεμα, πάντα με βάση την νέα ταξινόμηση, το πρόθεμα αυτό θα αποθηκευτεί μόνο μία φορά στην δομή, συνοδευόμενη από τον αριθμό των συναλλαγών που εμφανίζεται. Αρχικά κάνουμε ένα πέρασμα στην βάση για την λίστα με τα συχνά αντικείμενα κατά φθίνουσα σειρά: < (f:4),(c:4),(a:3),(b:3),(m:3),(p:3)> Έτσι κατασκευάζουμε το δέντρο με την ρίζα ως null. Ο πρώτος κλάδος είναι η πρώτη συναλλαγή < (f:1),(c:1),(a:1), (m:1),(p:1) > Η δεύτερη συναλλαγή <f, c, a, b, m> έχει κοινό πρόθεμα με την πρώτη συναλλαγή, οπότε αυξάνεται η υποστήριξη των επαναλαμβανόμενων κόμβων. Ομοίως, αναπαριστούμε και τις υπόλοιπες συναλλαγές. Έτσι έχουμε το παρακάτω FP-tree.

. 4.4 FP Growth Ιδιότητα 1:Για κάθε συχνό αντικείμενοaόλα τα πιθανά πρότυπα που περιέχουν τοaείναι προσβάσιμα ακολουθώντας τους συνδέσμους των κόμβωνa, ξεκινώντας από την κεφαλή του a που είναι αποθηκευμένη σε πίνακα. Παράδειγμα: Έστω το fptree που προκύπτει από τον πίνακα. Ξεκινάμε την εξόρυξη από το τέλος του πίνακα με τους δείκτες κεφαλές. Για τον κόμβο p (p:3) ακολουθώντας τους συνδέσμους θα ανακαλύψουμε ότι περιέχεται σε δύο συναλλαγές. Η πρώτη είναι η <f:4, c:3, a:3, m:2, p:2> ενώ από τον σύνδεσμο βγαίνει η <c:1, b:1, p:1>. Το πρώτο μονοπάτι υποδηλώνει ότι το σετf,c,a,m,pεμφανίζεται2φορές, το σετ f,c,a 3 φορές, ενώ το fμόνο του εμφανίζεται 4. Όσον αφορά το δεύτερο μονοπάτι μας δείχνει ότι τοσετ c,b,p εμφανίζεται μόνο μία φορά. Τα δύο μονοπάτια fcam:2 και cb:1 αποτελούν την προθεματική βάση του αντικειμένου p και ονομάζεται p s conditional pattern base.η κατασκευή ενός Fp-tree για την προθεματική βάση του p ονομάζεται conditional fp-tree για το pκαι περιέχει μόνο το κλαδί με(c:3).αυτό γιατί έχουμε ορίσει κατώφλι υποστήριξης ίσο με 3.Έτσι το μόνο συχνό πρότυπο που μπορεί να εξαχθεί είναι το (cp:3).η διαδικασία εύρεσης προτύπων για το p θεωρείται λήξασα.

Για τον κόμβο m (m:3) ακολουθώντας τους συνδέσμους έχουμε δύο μονοπάτια. Το πρώτο είναι <f:4 c:3, a:3, m:2 > και το δεύτερο <f:4,c:3,a:3,b:1,m:1>. Καταλήγουμε στην προθεματική βάση του m που αποτελείται από: <fca:2>και<fcab:1>. Με βάση το κατώφλι υποστήριξης κόβουμε το b και έχουμε το conditional fp-tree για το m να αποτελείται από ένα κλαδί <f:3,c:3,a:3>. Έτσι το μόνο συχνό πρότυπο που μπορεί να εξαχθεί είναι το fcam:3. Ενώ θα περιμέναμε να προχωρήσουμε στο επόμενο αντικείμενο του πίνακα με τους δείκτες, δεν έχουμε τελειώσει. Εφόσον το πρότυπο που βρήκαμε περιέχει παραπάνω από 1 αντικείμενο θα πρέπει να γίνει η παραπάνω διαδικασία επαναληπτικά. Τι σημαίνει αυτό; Θα πρέπει ως επόμενο βήμα να κατασκευάσουμε τα conditional fp-tree για τα πρότυπα (am:3), (cm:3), (fm:3). Για την πρώτη περίπτωση εξάγουμε τα συχνά πρότυπα <cam:3>, <fam:3>. Για την δεύτερη έχουμε εξαγωγή του <fcm:3> και τέλος για την τρίτη περίπτωση δεν έχουμε εξαγωγή προτύπου. Από τα πρότυπα αυτά μπορούμε να δημιουργήσουμε conditional fp-tree για το <cam:3> και να εξάγουμε το συχνό πρότυπο <fcam:3>. Συμπερασματικά για τον κόμβο m έχουμε τα εξής 8 συχνά πρότυπα: (m:3), (am:3), (cm:3), (fm:3), <cam:3>, <fam:3>,<fcam:3> απεικόνιση των δομών που κατασκευάζονται για τον κόμβο m φαίνονται παρακάτω:

Ιδιότητα 2: Ο υπολογισμός των συχνών προτύπων με κατάληξη το αντικείμενο a περιλαμβάνει τους κόμβους του fp-tree που αναφέρονται μόνο στα μονοπάτια του a. Αυτό έχει μια πολύ σημαντική παρενέργεια στην απομόνωση των μονοπατιών όταν πρόκειται για την κατασκευή του conditional: Οι κόμβοι των μονοπατιών αυτών θα πρέπει να έχουν υποστήριξη ίση με την υποστήριξη του κόμβου a. Έτσι ενώ είδαμε για τον κόμβο m υπήρχε το μονοπάτι <f:4 c:3, a:3, m:2 >, στο conditional το μονοπάτι μετατρέπεται σε <f:2, c:2,a:2 >. Από την ιδιότητα 2 προκύπτουν δύο ακόμη ιδιότητες που είναι σημαντικές στην εξόρυξη συχνών προτύπων: Ιδιότητα 2.1: Έστω α ένα σετ αντικειμένων στην βάση και Β το αντίστοιχο conditional fp-tree. Έστω επίσης β ένα σετ αντικειμένων στο Β. Τότε η υποστήριξη του α β μέσα στην βάση είναι ίση με την υποστήριξη του β μέσα στο conditional. Ιδιότητα 2.2: Έστω α ένα συχνό πρότυπο στην βάση και Β το αντίστοιχο conditional fp-tree. Έστω επίσης β ένα σετ αντικειμένων στο Β. Τότε το α β είναι συχνό μέσα στην βάση ΑΝ ΚΑΙ ΜΟΝΟ ΑΝ το β είναι συχνό μέσα στο Β.

Κεφάλαιο 5 Μεθοδολογία 5.1 Οι μέθοδοι έρευνας Σκοπός του κεφαλαίου είναι να παρουσιάσει τον αλγόριθμο αφαίρεσης του ελάχιστου πλήθους στοιχείων κατά την απόκρυψη των συχνών συνολοστοιχείων για να πετύχουμε ιδιωτικότητα των δεδομένων με τη χρήση του FP-tree. Έτσι αρχικά κατασκευάζεται το FP-tree που περιέχει πολλαπλούς κλάδους που ορίζουν μονοπάτια από τα φύλα στην ρίζα. Ο κάθε κόμβος περιέχει ένα στοιχείο με τον μετρητή του. Ένας κλάδος μπορεί να μοιράζεται πάνω από έναν κόμβο με άλλους κλάδους. Το FP-tree αναπαριστά τις σχετικές συναλλαγές. Με την τροποποίηση του FP-tree θα τροποποιηθούν και οι σχετικές συναλλαγές. Σε κάθε επανάληψη της διαδικασίας αλλαγής θα τροποποιηθεί ένας κόμβος με την μείωση του μετρητή του item κατά 1. Για την επιλογή του κόμβου που θα τροποποιηθεί χρησιμοποιούμε διάφορες συναρτήσεις βάρους για τους κλάδους και τα items. Έτσι, ο κόμβος που περιέχει το επιλεχθέν στοιχείο στον επιλεχθέντα κλάδο θα τροποποιηθεί. Η L λίστα είναι η λίστα που περιέχει όλα τα ευαίσθητα συχνά συνολοστοιχεία. Με την βοήθεια της μεθόδου έχουμε τα βάρη για το κάθε στοιχείο & κλάδο προκείμενου να παρθεί απόφαση για τον κόμβο που πρέπει να τροποποιηθεί. Το support στο FP-tree για τα ευαίσθητα και συχνά συνολοστοιχεία κατά αυτήν την διαδικασία θα μειωθεί σταδιακά. Όταν το support level για κάθε ευαίσθητο και συχνό συνολοστοιχείο στο F C γίνει μικρότερο από το σmin, η διαδικασία τροποποίησης έχει ολοκληρωθεί. Το FPtree που θα έχουμε τελικά είναι το τροποποιημένο FP-tree. Η εξαγωγή των συναλλαγών από το τροποποιημένο FP-tree είναι το επόμενο βήμα. Η βάση δεδομένων που θα έχουμε θα είναι τροποποιημένη, D. Ο ψευδοκώδικας φαίνεται παρακάτω. Ο αλγόριθμος χρησιμοποιεί μία βάση δεδομένων D, το ελάχιστο support level σmin & την λίστα των ευαίσθητων και συχνών συνολοστοιχείων F C, όπου F C =F R αρχικά. Το support για το κάθε συνολοστοιχείο στο F C μπορεί να παραχθεί κατά την δημιουργία του FP-tree. Το βήμα (α) του αλγορίθμου χρησιμοποιεί την D που περιέχει μόνο τις σχετικές συναλλαγές. Επίσης, δίνει ως έξοδο το FP-tree χρησιμοποιώντας την βάση δεδομένων D με την κλήση Generate_FP_Tree(D ). Έχει αναφερθεί ότι η επιλογή του πιο μικρού pattern& του μέγιστου από τα συχνά συνολοστοιχεία είναι η προσέγγιση που δίνει τα καλύτερα

αποτελέσματα. Αν εξαρτηθούμε στα κριτήρια που χρησιμοποιήθηκαν για την αναγνώριση για το ποιος κόμβος θα τροποποιηθεί, τα αποτελέσματα μπορεί να ποικίλλουν. Εάν το στοιχείο ή ο κλάδος πρέπει να επιλεχθεί πρώτος θα επηρεάσει επίσης τα αποτελέσματα. Προκειμένου να βρούμε την βέλτιστη λύση, πολλές μέθοδοι χρησιμοποιούνται. Η πρώτη μέθοδος χρησιμοποιεί τον κλάδο πρώτα & έπειτα το στοιχείο προκειμένου να αναγνωρισθεί ο κόμβος που θα τροποποιηθεί, βασιζόμενη στο αποτέλεσμα μερικών συναρτήσεων βάρους. Η δεύτερη μέθοδος επιλέγει το στοιχείο πρώτα και μετά τον κλάδο προκείμενου να αναγνωρίσει τον κόμβο που θα τροποποιηθεί, βασιζόμενη πάλι στο αποτέλεσμα μερικών συναρτήσεων βαρών. Στο βήμα (β) εάν ο κλάδος επιλεγεί πρώτος, τότε οι κλάδοι αξιολογούνται για να καθορίσουν τον κλάδο με το μεγαλύτερο βάρος BH. Τα στοιχεία που περιέχονται στην L αξιολογούνται για τον κλάδο BHμε την εξαγωγή του βάρους IW, για κάθε στοιχείο στην L. Το στοιχείο με το μεγαλύτερο βάρος IH& ο αντίστοιχος κόμβος επιλέγεται. Από την άλλη πλευρά, εάν επιλεχθεί πρώτα το στοιχείο, τότε τα σχετικά στοιχεία που περιέχονται στην L αξιολογούνται με την εξαγωγή του κατάλληλου βάρους IW για το κάθε στοιχείο. Το στοιχείο με το μεγαλύτερο βάρος IH επιλέγεται και οι κλάδοι μετά αξιολογούνται για να καθορίσουν τον κλάδο με το μεγαλύτερο βάρος BH. Ο κόμβος που περιέχει το IH στο BH θα τροποποιηθεί με την μείωση του μετρητή κατά 1. Εάν ο κόμβος μοιρασθεί στα κλαδιά, τότε το BH θα διαχωρισθεί. Κάθε φορά που ο κόμβος τροποποιείται, ο αλγόριθμος τροποποιεί το support των συνολοστοιχείων στο F C που επηρεάζεται. Κάθε συνολοστοιχείο στο F C αξιολογείται για να καθορισθεί εάν αυτό ικανοποιεί τα κριτήρια για να κατηγοριοποιηθεί ως συχνό συνολοστοιχείο. Εάν το συνολοστοιχείο δεν είναι πια συχνό, τότε αφαιρείται από το F C. Αυτή η διαδικασία συνεχίζει μέχρι η λίστα F C να είναι αδεια και το τελικό FP-tree να έχει τροποποιηθεί κατάλληλα. Τα στοιχεία στο L αξιολογούνται επίσης για να να καθορίσουν εάν είναι ακόμα μέρος των συχνών συνολοστοιχείων στο F C. Εάν ένα στοιχείο δεν είναι πλέον στα ευαίσθητα συνολοστοιχεία στο F C, τότε θα αφαιρεθεί από το L.

Algorithm Min_Items_Removed(D,σmin,F C ) Input: D,σmin and the list of sensitive and frequent itemsets F C. [21] Generate the FP-Tree for the relevant transactions only. Scan the database D and identify transactions that contain sensitive itemsets. For each transaction T Є D If T contains any sensitive ietmsets in F C End If End For Add T to D Call Generate_FP_Tree(D ) -> this will generate the FP-Tree, list L, and list L for all relevant transactions. [22] Start removing items from the FP-tree. Decision will depend first on whether to choose the branch first or the item first. While F C is not empty Remove any items in L that has a support level below σmin. If branch to be chosen first: Generate BW for each branch in the FP-tree tie exists Choose the Branch that has the highest weight, i.e. BH, if a between two branches or more minimize Choose the branch with the less number of items to information loss Generate Iw for each item i Є L where i lies in branch BH. branch, i.e. Choose the item with the highest weight in the chosen IH, if a tie exists choose the item randomly. If item to be chosen first:

Generate IW for each item I Є L exists Choose the item that has the highest weight, i.e. IH, if a tie choose the item randomly. IH. branch, i.e. with the Generate Bw for each branch in the FP-Tree that contains Choose the branch with the highest weight in the chosen BH, if a tie exists between two branches choose the branch Less number of items to minimize information loss Reduce the count of the node that contains IH from BH by 1. Reduce the support level for IH in L by 1. by 1. Reduce the support level for each itemset in F C that was affected Split Tree if needed for the branch that was modified For each itemset j in F C If support level of itemset j in F C is less than σmin remove itemset from F C remove items that are unique to j from L End if End For End While

5.2 Συναρτήσεις βάρους για τα στοιχεία Η συνάρτηση βάρους που χρησιμοποιείται για να υπολογισθεί το βάρος για το κάθε στοιχείο ελαχιστοποιεί το συνολικό πλήθος των στοιχείων που αφαιρούνται στην τροποποιημένη βάση δεδομένων. Για παράδειγμα, εάν το στοιχείο i είναι στα περισσότερα συνολοστοιχεία που ανήκουν στο F C & το στοιχείο k είναι μόνο σε ένα συνολοστοιχείο στο F C, τότε η υπόθεση είναι ότι το βάρος για το στοιχείο i πρέπει να είναι μεγαλύτερο από το βάρος για το στοιχείο k. Ας υποθέσουμε ότι ο κόμβος που περιέχει το στοιχείο i, τροποποιείται στο δέντρο. Αυτό θα αυξήσει την πιθανότητα ότι περισσότερα από ένα συνολοστοιχεία στο F C θα έχουν μειώσει το support. Αυτό θα μειώσει το συνολικό πλήθος των στοιχείων που αφαιρούνται από την αρχική βάση δεδομένων. Δύο συναρτήσεις βάρους για τα στοιχεία χρησιμοποιούνται, η πρώτη συνάρτηση βάρους φαίνεται στην σχέση (1). Weight_item_1(i) = JєFc aji x NJ (1) Όπου i είναι το στοιχείο στην L, aji είναι 1 εάν το συχνό συνολοστοιχείο j περιέχει το στοιχείο i, αλλιώς είναι 0, όπου j ανήκει στο τρέχον σύνολο των ευαίσθητων συνολοστοιχείων F C. Εάν ο κλάδος επιλεχθεί πρώτος, τότε το BH μπορεί να περιέχει το στοιχείο i. Το Njείναι το μέγεθος του συχνού συνολοστοιχείου j όσον αφορά το πλήθος των στοιχείων. Βασικά η συνάρτηση βάρους στην σχέση (1) είναι το άθροισμα του μεγέθους των ευαίσθητων συχνών συνολοστοιχείων που περιέχουν αυτό το στοιχείο. Η δεύτερη συνάρτηση βάρους για τα στοιχεία φαίνεται στην σχέση (2): Weight_item_2(i) = SD (i) JєFc aji (2) Όπου i είναι το στοιχείο στην L, aji είναι 1 εάν το συχνό συνολοστοιχείο j περιέχει το στοιχείο i, αλλιώς είναι 0, όπου j ανήκει στο τρέχον σύνολο των ευαίσθητων συνολοστοιχείων F C. Εάν ο κλάδος επιλεχθεί πρώτος, τότε το BH μπορεί να περιέχει το στοιχείο i. To SD (i) είναι το support του στοιχείου i στην σχετική βάση δεδομένων D. Η συνάρτηση αυτή είναι το πλήθος των ευαίσθητων συχνών συνολοστοιχείων που υποστηρίζουν το στοιχείο i, πολλαπλασιαζόμενο με το support αυτού του στοιχείου στην σχετική βάση δεδομένων D.

5.3 Συναρτήσεις βαρών για κλάδους Η συνάρτηση βάρους πρέπει να επιλέξει τον κλάδο που θα μειώσει αποτελεσματικά το support των ευαίσθητων συνολοστοιχείων που ανήκουν στο F C. Αυτό μπορεί να οδηγήσει να αφαιρεθούν λιγότερα στοιχεία συνολικά. Τέσσερις συναρτήσεις βάρους υπάρχουν για τους κλάδους, η πρώτη φαίνεται στην σχέση (3) για την οποία ο κλάδος πρέπει να επιλεχθεί πρώτος. Έτσι έχουμε Weight_branch_1(b) = JєFc cbj (3) όπου b είναι ο κλάδος που αξιολογείται. Το cbj είναι 1 εάν ο κλάδος b περιέχει συναλλαγές που υποστηρίζουν το συνολοστοιχείο j, αλλιώς έχει την τιμή 0, όπου j ανήκει στο F C. Η συνάρτηση βάρους στην (3) δείχνει ουσιαστικά το πλήθος των ευαίσθητων συνολοστοιχείων που περιέχονται στον κλάδο b. Μία άλλη συνάρτηση βάρους εάν ο κλάδος επιλεχθεί πρώτος φαίνεται στην παρακάτω σχέση: Weight_branch_2(b) = JєFc cbj x ajih (4) Όπου b είναι ο κλάδος που αξιολογείται. Το cbj είναι 1 εάν ο κλάδος b περιέχει συναλλαγές που υποστηρίζουν το συνολοστοιχείο j, αλλιώς έχει την τιμή 0, όπου j ανήκει στο F C. Ο κλάδος b πρέπει να περιέχει το στοιχείο IH. Το ajih είναι 1 εάν το συνολοστοιχείο j περιέχει το στοιχείο IH, αλλιώς είναι 0. Η συνάρτηση βάρους είναι το συνολικό πλήθος των ευαίσθητων συνολοστοιχείων στον κλάδο b που περιέχει το στοιχείο IH. Επίσης, έχουμε την παρακάτω σχέση: Weight_branch_3(b) = 1/Nb JєFc cbj (5) όπου b είναι ο κλάδος που αξιολογείται. Το cbj είναι 1 εάν ο κλάδος b περιέχει συναλλαγές που υποστηρίζουν το συνολοστοιχείο j, αλλιώς έχει την τιμή 0, όπου j ανήκει στο F C. Το Nbείναι το πλήθος των κόμβων στον κλάδο b. Η συνάρτηση βάρους στην (6) είναι η αναλογία μεταξύ του πλήθους των ευαίσθητων συνολοστοιχείων που σχετίζονται με έναν κλάδο και του πλήθους των κόμβων στον ίδιο τον κλάδο. Όσο πιο μικρός είναι ο κλάδος & όσο περισσότερα ευαίσθητα συνολοστοιχεία περιέχει, τόσο το βάρος είναι μεγαλύτερο. Τέλος, έχουμε την παρακάτω σχέση: Weight_branch_4(b) = 1/Nb JєFc cbj x ajih (6) όπου b είναι ο κλάδος που αξιολογείται. Το cbj είναι 1 εάν ο κλάδος b περιέχει συναλλαγές που υποστηρίζουν το συνολοστοιχείο j, αλλιώς έχει την τιμή 0,

όπου j ανήκει στο F C. Ο κλάδος b πρέπει να περιέχει το στοιχείο IH. Το ajih είναι 1 εάν το συνολοστοιχείο j περιέχει το στοιχείο IH, αλλιώς είναι 0. Το Nbείναι το πλήθος των κόμβων στον κλάδο b. Η συνάρτηση βάρους στην (6) είναι η αναλογία μεταξύ του πλήθους των ευαίσθητων συνολοστοιχείων που υποστηρίζουν το στοιχείο IH& περιέχονται στον κλάδο & του πλήθους των κόμβων στον ίδιο κλάδο. Όσο πιο μικρός είναι ο κλάδος & όσο περισσότερα ευαίσθητα συνολοστοιχεία υποστηρίζουν το IH, τόσο το βάρος είναι μεγαλύτερο.

Κεφάλαιο 6 Αποτελέσματα Εφαρμογής της μεθοδολογίας 6.1 Περιγραφή Αλγορίθμου Στόχος είναι να μπορέσουμε να ορίσουμε ένα FP-tree με πολλαπλή υποστήριξη και μέσα από αυτό να μπορεί να καθοριστεί ποια θα είναι τα privacy items. Ο αρχικός αλγόριθμος θεωρεί ότι έχουμε μια δεδομένη βάση συναλλαγών και ανιχνεύουμε σύνολα που έχουν συχνότητα εμφάνισης στην βάση μεγαλύτερη από ένα ελάχιστο κατώφλι υποστήριξης που έχουμε θέσει. Στην προηγούμενη λοιπόν προσέγγιση έχουμε το κλειδί για την εύρεση των κανόνων συσχέτισης που ήταν το κατώφλι υποστήριξης (support) που θέταμε και με βάση αυτό απορρίπταμε κανόνες που δεν το ικανοποιούσαν, δηλαδή είχαμε μόνο patterns πάνω από το κατώφλι. Όμως αυτή η τακτική της χρησιμοποίησης ενός και μοναδικού minimum support λειτουργεί αρκετά ικανοποιητικά αλλά έχει το μειονέκτημα ότι θεωρεί ότι όλα τα αντικείμενα είναι «ομοειδή» όσον αφορά την επιλογή τους μέσα από τις συναλλαγές. Το παρακάτω παράδειγμα δείχνει το μειονέκτημα που έχουμε σε αυτή την περίπτωση: Αν πάρουμε ένα μεγάλο πολυκατάστημα υπάρχει η δυνατότητα να αγοράσουμε από μία κουζίνα μέχρι ένα μπουκάλι αναψυκτικού. Είναι εύκολα αντιληπτό ότι ο αριθμός των πελατών που θα αγοράσουν μια κουζίνα είναι μικρός σε σχέση με αυτούς που θα αγοράσουν αναψυκτικό. Αν ο αριθμός αυτός δεν είναι μικρός σε απόλυτη τιμή είναι σίγουρα μικρός συγκρινόμενος με τον αριθμό των πελατών που θα αγοράσουν ένα απλό μπουκάλι μπύρας. Αυτό οδηγεί στο συμπέρασμα ότι δεν είναι σωστό οι πωλήσεις μεγάλων συσκευών να αξιολογηθούν με τα ίδια κριτήρια που αξιολογούμε μικρές καθημερινές πωλήσεις. Η προσαρμογή αυτού του συμπεράσματος στο

παράδειγμα μας σημαίνει ότι δεν μπορούμε να θέσουμε κοινό κάτω όριο συχνότητας εμφάνισης σε όλα τα αντικείμενα συναλλαγών. Έτσι οδηγούμαστε στο παρακάτω τρόπο αντιμετώπισης. Να ορίζουμε πολλά διαφορετικά supports για τα αντικείμενα μας. Ο αλγόριθμος μας ουσιαστικά λειτουργεί με τα παρακάτω βήματα: Δέχεται σαν είσοδο Ν transactions, με ένα σύνολο από miminum supports για συγκεκριμένους κόμβους και ένα γενικό minimum support για όλους τους υπόλοιπους κόμβους. Ταυτόχρονα δεχόμαστε και την λίστα των αντικειμένων που χαρακτηρίζονται σαν sensitive. Υλοποιούμε το FP-treeκαι παίρνουμε την λίστα Lκαι L των σχετικών συναλλαγών. Ξεκινά η διαδικασία αφαίρεσης κόμβων από το δέντρο ακολουθώντας τα παρακάτω: Για κάθε αντικείμενο κάνουμε τα παρακάτω: o Διαγράφουμε κάθε αντικείμενο στη λίστα Ln, η οποία έχει support level μικρότερο του αντίστοιχου supportτου αντικειμένου. o Υπολογίζουμε το βάρος κάθε κλαδιού στο fp-tree. o Για το κλαδί με το μεγαλύτερο βάρος υπολογίζουμε το αντικείμενο που έχει το μεγαλύτερο βάρος και μειώνουμε τον αριθμό εμφάνισης του στον κόμβο που εμφανίζεται. o Αν έχουμε 0 στον κόμβο τότε διαγράφουμε τον κόμβο και επανασυνθέτουμε το δέντρο. 6.2Δεδομένα εκτέλεσης Όπως αναφέραμε τα δεδομένα στην εκτέλεση μας είναι σειρά αντικειμένων. Τα αντικείμενα όπως αναφέραμε στην περίπτωση μας είναι ακέραιοι αριθμοί. Αυτό θα μπορούσε να αποτελεί μια γενική περίπτωση αν υποθέσουμε ότι ο αριθμός αυτός αντιστοιχεί π.χ. στον κωδικό ενός προϊόντος. Μια συναλλαγή όπως έχουμε αναφέρει είναι το σύνολο μιας σειράς προϊόντων.

Έτσι έχουμε ότι κάθε αρχείο αποτελείται από σειρές αντικειμένων (συναλλαγές) όπως παρακάτω: 1 2 10 23 19 32 100 123 93 120 39 120 124 205 401 581 704 814 825 834 35 249 674 712 733 759 854 950 39 422 449 704 825 857 895 937 954 964 15 229 262 283 294 352 381 708 738 766 853 883 966 978 26 104 143 320 569 620 798 7 185 214 350 529 658 682 782 809 849 883 947 970 979 227 390 71 192 208 272 279 280 300 333 496 529 530 597 618 674 675 720 855 914 932 183 193 217 256 276 277 374 474 483 496 512 529 626 653 706 878 939 161 175 177 424 490 571 597 623 766 795 853 910 960 125 130 327 698 699 839 392 461 569 801 862.. Τα παραπάνω αποτελούν συναλλαγές που τελικά ορίζουν ένα δέντρο. 6.3Αποτελέσματα τρόπο: Η εκτέλεση του αλγορίθμου γίνεται όπως φαίνεται με το παρακάτω

Εικόνα 6: Πειραματικά αποτελέσματα Στην συνέχεια δίνουμε το minimum support και τα support για συγκεκριμένους επιλεγμένους κόμβους. Επίσης ορίζουμε και ποιοι κόμβοι θα θεωρηθούν sensitive με τυχαίο ή όχι τρόπο. Εικόνα 7: Πειραματικά αποτελέσματα Στην συνέχεια εκτελείται ο αλγόριθμος και δίνει σαν αποτέλεσμα τους κόμβους που διέγραψε από το fp-tree.τα αποτελέσματα από την εκτέλεση του αλγορίθμου είναι τα παρακάτω: Δείγμα με αριθμό Transaction 10000 και 1000 αντικείμενα χωρίς sensitive αντικείμενα Τα Minimum Support έχουν επιλεχθεί το 5% του μεγίστου support και κάτω με τυχαίο τρόπο. Στο πρώτο αυτό παράδειγμα δεν έχουμεsensitive items: