Μπιτσάκη Αντωνία-Χρυσάνθη Ταουσάκος Θανάσης
Τι εννοούμε με τον όρο data mining. (ανακάλυψη patterns με τη χρήση διαφορετικών μεθόδων) Το σενάριο με το οποίο θα ασχοληθούμε (2 πλευρές με σκοπό την άντληση πληροφοριών χωρίς να αποκαλύψουν η μία στην άλλη δικές τους πληροφορίες) Θεωρητικά στοιχεία (Decision trees ID3 algorithm)
Αλγόριθμος ID3 (Iterative Dichotomiser 3) χρησιμοποιείται για να παραγάγει ένα δέντρο απόφασης βασισμένος στο Ξυράφι του Όκαμ μπορεί να συνοψιστεί ως εξής: 1. Πάρτε όλες τις αχρησιμοποίητες ιδιότητες και υπολογίστε την εντροπία τους λαμβάνοντας υπόψη δείγματα δοκιμής 2. Επιλέξτε την ιδιότητα για την οποία η εντροπία είναι ελάχιστη 3. Δημιουργήστε έναν κόμβο που να περιέχει αυτή την ιδιότητα
Δέντρα απόφασης και αλγόριθμος ID3 ID3 (R,C,T) 1. Αν το R είναι κενό, επέστρεψε ένα leaf node με την τιμή της κλάσης να ανατίθεται στα περισσότερα transactions του T. 2. Αν το T αποτελείται από transactions που όλα έχουν την ίδια τιμή c για την κλάσση attribute, επέστρεψε ένα leaf-node με τιμή c. (ολοκληρώνοντας το classification μονοπάτι) 3. Διαφορετικά 1. Καθόρισε το attribute που περιγράφει καλύτερα τις μεταβάσεις στο T, έστω Α. 2. Έστω a1,, am οι τιμές του attribute A και έστω T(a1),, T(am) ένα τμήμα του T έτσι ώστε κάθε μετάβαση στο T(ai) να έχει την attribute τιμή ai. 3. Επέστρεψε ένα δέντρο με ρίζα A και ακμές a1,, am έτσι ώστε για κάθε I η ακμή ai να πηγαίνει στο δέντρο ID3(R-{A}, C, T(ai)).
ακριβής έλεγχος για το καλύτερο attribute Θέλουμε να ποσοτικοποιήσουμε την πληροφορία που χρειάζεται για να προσδιορίσουμε την κλάση κάποιου transaction στο T δεδομένου ότι η τιμή του A έχει αποκτηθεί. Έστω A παίρνει τιμές a1,, am και T(aj) τα transactions που μπορούν να πάρουν aj για το A. Έτσι, η υποθετική πληροφορία του T, δεδομένου του A, ισούται με: Τώρα, για κάθε attribute Α το κέρδος της πληροφορίας ορίζεται ως εξής:
Distributed ID3 (private) Καλή ιδιότητα: Κάθε κόμβος του δέντρου μπορεί να υπολογιστεί ξεχωριστά και δημοσιοποιώντας το output πριν τον υπολογισμό του επόμενου κόμβου. Στόχος: υπολογισμός κρυφά του attribute A ώστε το HC(TjA) να είναι ελάχιστο. Αυτό το πετυχαίνουμε υπολογίζοντας ψευδοτυχαία μερίδια του HC(TjA) για κάθε attribute A Έτσι οι πλευρές Α και Β λαμβάνουν τυχαίες τιμές SA1 και SA2 τ.ω. SA1+SA2= HC(TjA) Ασφαλές: αφού καμία πλευρά δεν μαθαίνει κάτι για αυτές τις ενδιάμεσες τιμές Αποτεσματικό: καθώς έχουν μερίδια αυτών των τιμών είναι εξαιρετικά εύκολο να βρουν η κάθε μία ιδιωτικά το attribute με το μικρότερο HC(TjA).
Βρίσκοντας το attribute με το μεγαλύτερο κέρδος Στάδιο 1: οι πλευρές P1 kai P2 χρησιμοποιούν το ιδιωτικό πρωτόκολο x ln x έτσι ώστε να πάρουν τυχαία μερίδια w πυ ανήκουν στο F τέτοια ώστε: Στάδιο 2: βρίσκοντας το attribute (υπολογισμός με ένα μικρό κύκλωμα) SA,1, SA,2 Πρωτόκολλο του YAO για Two-Party Computation Το όνομα του attribute τ.ω. SA,1+SA,2 mod F είναι ελάχιστο
Privacy-Preserving Protocol for ID3 1/2 1: Αν το R είναι κενό, επέστρεψε ένα leaf node με την κλάση value ανατεθειμένη στις περισσότερες transactions του Τ. Οι πλευρές 1 και 2 έχουν ως είσοδο ( T1(C1),, T1(Cl) ) και ( T2(C1),, T2(Cl) ) αντίστοιχα. Η έξοδος είναι το class index i για το οποίο μεγιστοποιείται η παράσταση T1(Ci) + T2(Ci). 2: Αν το T αποτελείται από transactions οι οποίες όλες έχουν την ίδια τιμή c για class attribute, επέστρεψε ένα leafnode με value c. Πρέπει να προσδιορίσουμε κατά πόσο οι δύο πλευρές παραμένουν στην ίδια κλάση ή όχι, θέτοντας το fixed σύμβολο. Μετά έλεγχος ισότητας των δύο εισόδων. Η τιμή value που προκαλεί την ισότητα μπορεί να ανακοινωθεί δημόσια ως Ci αν έχει βρει μονοπάτι ή να συνεχίσει να μεγαλώνει το δέντρο από το εξής σημείο ως ρίζα.
Privacy-Preserving Protocol for ID3 2/2 3: Α. Όρισε την attribute που καθορίζει καλύτερα τις transactions του T, έστω Α. Για κάθε τιμή aj ενός attribute A, και για κάθε value ci της κλάσης attribute C, οι πλευρές τρέχουν το xlnx πρωτόκολλο για T(aj) και T(aj,ci) τροφοδοτώντας τα αποτελέσματα στο πρωτόκολλο του Yao για ένα μικρό κύκλωμα. Β. Κάλεσε αναδρομικά την ID3δ για τα υπολοιπόμενα attributes πάνω στα transaction sets T(a1),, T(am)
Ιδιωτικότητα Από το composition θεώρημα γνωρίζουμε πως αν τα oracle-aided πρωτόκολλα είναι ιδιωτικά, τότε το ίδιο ισχύει και για το πρωτόκολλο που χρησιμοποιεί ιδιωτικά πρωτόκολλα στη θέση των oracles. Ανεξάρτητα από το γεγονός ότι ο έλεγχος ροής εξαρτάται από την είσοδο και δεν είναι προκαθορισμένος, ένας προσομοιωτής μπορεί με ακρίβεια να προβλέψει τον έλεγχο ροής του πρωτοκόλλου από την έξοδο. Για κάθε πλευρά υπάρχει ένας προσομοιωτής όπου δεδομένης μιας εισόδου από τη μία πλευρά και ενός δέντρου απόφασης ως εξόδου, παράγει μια συμβολοσειρά που είναι υπολογιστικά indistinguishable από την οπτική της πλευράς σε πραγματική εκτέλεση.
Μειονέκτημα Όσο ο αριθμός των transactions μεγαλώνει, η πολυπλοκότητα του πρωτοκόλου αυξάνεται ταχύτατα αφού το μέγεθος του κυκλώματος είναι O( R * S * T )
Ευχαριστούμε πολύ!