Πολυτεχνείο Κρήτης Σχολή Ηλεκτρονικών Μηχανικών Και Μηχανικών Η/Υ. ΠΛΗ 513 Αυτόνομοι Πράκτορες

Σχετικά έγγραφα
Πιθανοτικός Συμπερασμός: Πού βρίσκομαι στο πλέγμα; [ΠΛΗ 513] Αυτόνομοι πράκτορες - Project Εξαμήνου ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ

Μπεϋζιανή Στατιστική και MCMC Μέρος 2 ο : MCMC

ΠΛΗ513 - Αυτόνομοι Πράκτορες Αναφορά Εργασίας

Αυτόνομοι Πράκτορες. Εργασία εξαμήνου. Value Iteration και Q- Learning για Peg Solitaire

Ε ανάληψη. Α ληροφόρητη αναζήτηση

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

ΕΦΑΡΜΟΓΗ Q-LEARNING ΣΕ GRID WORLD ΚΑΙ ΕΞΥΠΝΟΣ ΧΕΙΡΙΣΜΟΣ ΤΟΥ LEARNING RATE ΛΑΘΙΩΤΑΚΗΣ ΑΡΗΣ ΑΥΤΟΝΟΜΟΙ ΠΡΑΚΤΟΡΕΣ

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

[ΠΛΗ 417] Τεχνητή Νοημοσύνη. Project Εξαμήνου ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ

Μπεϋζιανή Στατιστική και MCMC Μέρος 2 ο : MCMC

Κατανεμημένα Συστήματα Ι

Ανάκληση Πληποφοπίαρ. Διδάζκων Δημήηριος Καηζαρός

ΣΤΟΧΑΣΤΙΚΕΣ ΔΙΕΡΓΑΣΙΕΣ & ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ Αίθουσα Νέα Κτίρια ΣΗΜΜΥ Ε.Μ.Π.

Ανάλυση Δεδομένων με χρήση του Στατιστικού Πακέτου R

ΕΚΠ 413 / ΕΚΠ 606 Αυτόνοµοι (Ροµ οτικοί) Πράκτορες

Αξιολόγηση Επενδυτικών Σχεδίων

Κεφάλαιο 9. Έλεγχοι υποθέσεων

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Θεωρία Παιγνίων και Αποφάσεων Διδάσκων: Ε. Μαρκάκης, Εαρινό εξάμηνο 2015

Βασικές έννοιες της Στατιστικής: Πληθυσμός - Δείγμα

ΠΛΗ 513-Αυτόνομοι Πράκτορες Χειμερινό εξάμηνο 2012 Εφαρμογή αλγορίθμων ενισχυτικής μάθησης στο παιχνίδι Βlackjack. Χλης Νικόλαος-Κοσμάς

Συστήματα Αναμονής (Queuing Systems)

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

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

ΗΥ240: Δομές Δεδομένων Εαρινό Εξάμηνο Ακαδημαϊκό Έτος 2017 Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία - 2o Μέρος

ΣΤΟΧΑΣΤΙΚΕΣ ΔΙΕΡΓΑΣΙΕΣ & ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ Αίθουσα Νέα Κτίρια ΣΗΜΜΥ Ε.Μ.Π.

Ειδικά Θέματα Πιθανοτήτων και Στατιστικής Θεωρία Αποφάσεων. Μέρος Β

Στατιστική Ι. Ενότητα 5: Θεωρητικές Κατανομές Πιθανότητας. Δρ. Γεώργιος Κοντέος Τμήμα Διοίκησης Επιχειρήσεων Γρεβενών

Το Πρόβλημα της Πινακοθήκης (The Art Gallery Problem)

που αντιστοιχεί στον τυχαίο αριθμό 0.6 δίνει ισχύ P Y Να βρεθεί η μεταβλητή k 2.

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

ΕΚΠ 413 / ΕΚΠ 606 Αυτόνοµοι (Ροµ οτικοί) Πράκτορες

Στατιστική Ι (ΨΥΧ-1202) ιάλεξη 3

ΕΚΠ 413 / ΕΚΠ 606 Αυτόνοµοι (Ροµ οτικοί) Πράκτορες

Ευφυή Πληροφορικά Συστήματα 1 η Εργαστηριακή Άσκηση (Χειμερινό εξάμηνο ΜΒΑ )

ΠΑΙΧΝΙΔΙ PACMAN 3D ΜΕ ΜΕΘΟΔΟΥΣ ΕΝΙΣΧΗΤΙΚΗΣ ΜΑΘΗΣΗΣ

Θεωρητικές Κατανομές Πιθανότητας

Στατιστική για Οικονομολόγους ΙΙ ΛΥΜΕΝΑ ΘΕΜΑΤΑ παλαιοτέρων ετών από «ανώνυμο φοιτητή» (Στις ΛΥΣΕΙΣ ενδεχομένως να υπάρχουν λάθη. )

Κεφάλαιο 9. Έλεγχοι υποθέσεων

Document Scanning System Ιανουάριος, 2014

Ν. Μ. Σγούρος Κοινωνικά Δίκτυα Τμ. Ψηφιακών Συστημάτων, Παν. Πειραιώς

Επίλυση προβληµάτων. Περιγραφή προβληµάτων Αλγόριθµοι αναζήτησης Αλγόριθµοι τυφλής αναζήτησης Αλγόριθµοι ευρετικής αναζήτησης

Παράδειγμα. Στις χρονοσειρές σημαντικό ρόλο παίζει η αυτοσυσχέτιση: η αυτοσυσχέτιση. (lag k) ισούται με όπου γ

Κατανεμημένα Συστήματα Ι

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής

[ 3S/ITP ] RELEASE NOTES. release 2017

Το Πρόβλημα της Πινακοθήκης (The Art Gallery Problem)

Κεφάλαιο 15 Έλεγχοι χ-τετράγωνο

ΚΑΤΑΝΟΜΈΣ. 8.1 Εισαγωγή. 8.2 Κατανομές Συχνοτήτων (Frequency Distributions) ΚΕΦΑΛΑΙΟ

καθ. Βασίλης Μάγκλαρης

ΤΥΧΑΙΟΙ ΑΡΙΘΜΟΙ - ΠΡΟΣΟΜΟΙΩΣΗ

Το Πρόβλημα Μεταφοράς

ΤΜΗΜΑ ΣΤΑΤΙΣΤΙΚΗΣ ΚΑΙ ΑΣΦΑΛΙΣΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Π

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

Πινάκες συνάφειας. Βαρύτητα συμπτωμάτων. Φύλο Χαμηλή Υψηλή. Άνδρες. Γυναίκες

Learning k-modal distributions via testing

ΔΙΑΣΧΙΣΗ ΓΡΑΦΗΜΑΤΩΝ 1

ΤΕΧΝΟΛΟΓΙΑ, ΚΑΙΝΟΤΟΜΙΑ ΚΑΙ ΕΠΙΧΕΙΡΗΜΑΤΙΚΟΤΗΤΑ 9 Ο εξάμηνο Χημικών Μηχανικών

Αυτόνομοι Πράκτορες. Εργασία εξαμήνου. Μάθηση του παιχνιδιού British square με χρήση Temporal Difference(TD) Κωνσταντάκης Γιώργος

ΣΥΝΔΥΑΣΤΙΚΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΜΑΘΗΜΑΤΙΚΩΝ ΓΕΝΙΚΗΣ ΠΑΙΔΕΙΑΣ

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

Αριθμητικές Προσομοιώσεις του πρότυπου ISING στις Τρεις Διαστάσεις

Πρόβλεψη αποτελεσμάτων ποδοσφαιρικών αγώνων βάσει του ιστορικού των αναμετρήσεων

Υλοποίηση localization στα Nao robots

Υλοποίηση εντοπισμού στα Nao robots μέσω προσέγγισης του φίλτρου Kalman

Συμπίεση Δεδομένων

Διάλεξη 14: Δέντρα IV B Δένδρα. Διδάσκων: Παναγιώτης Ανδρέου

Ανάλυση ευαισθησίας Ανάλυση ρίσκου

ΠΙΘΑΝΟΤΗΤΕΣ -ΤΥΧΑΙΕΣ ΜΕΤΑΒΛΗΤΕΣ(τελικές εξετάσεις πλη12)

ΣΕΜΙΝΑΡΙΟ:Στατιστική περιγραφική εφαρμοσμένη στην ψυχοπαιδαγωγική Πούλιου Χριστίνα(5543) Κορρέ Πελαγία(5480) Παιδαγωγικό Τμήμα Δημοτικής Εκπαίδευσης

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 13: Παραλλαγές Μηχανών Turing και Περιγραφή Αλγορίθμων

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

Να το ξαναγράψετε χρησιμοποιώντας αντί για την εντολή Για Τέλος_επανάληψης: α. την εντολή Όσο Τέλος_επανάληψης

Αρχίζοντας. Το Joomla τρέχει: Στο Joomla μπορούμε να προσθέσουμε επιπλέον λειτουργικότητα, να την επεκτείνουμε δηλαδή (extensions) PHP MySql

Μεθοδολογία της έρευνας και Ιατρική στατιστική

Στοιχεία Θεωρίας Γράφων (Graph Theory)

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Γραφήματα. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

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

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

Κατανεμημένα Συστήματα Ι

Διαστήματα εμπιστοσύνης. Δρ. Αθανάσιος Δαγούμας, Επ. Καθηγητής Οικονομικής της Ενέργειας & των Φυσικών Πόρων, Πανεπιστήμιο Πειραιώς

ΚΕΦΑΛΑΙΟ 4ο ΔΕΙΓΜΑΤΟΛΗΨΙΑ ΑΠΟ ΣΥΝΕΧΕΙΣ ΚΑΙ ΔΙΑΚΡΙΤΕΣ ΚΑΤΑΝΟΜΕΣ

3η Σειρά Γραπτών Ασκήσεων

Μαθηματικά: Αριθμητική και Άλγεβρα. Μάθημα 7 ο, Τμήμα Α

Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών, Τ.Ε.Π Π.Μ, Μάθημα: Γραφικά με Η/Υ

Θεωρία Αποφάσεων ο. 4 Φροντιστήριο. Λύσεις των Ασκήσεων

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

Ανάλυση ευαισθησίας Ανάλυση ρίσκου. Μαυρωτά Γιώργου Αναπλ. Καθηγητή ΕΜΠ

ΣΤΟΧΑΣΤΙΚΕΣ ΔΙΕΡΓΑΣΙΕΣ & ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ

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

Σ ΤΑΤ Ι Σ Τ Ι Κ Η. Statisticum collegium iv

Λήψη απλών αποφάσεων

Γραφικά υπολογιστών Εργαστήριο 10 Εισαγωγή στα Sprites

Ο Αλγόριθµος της Simplex

Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 8: Παίγνια πλήρους και ελλιπούς πληροφόρησης

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

ΠΛΗ21 Κεφάλαιο 1. ΠΛΗ21 Ψηφιακά Συστήματα: Τόμος Α Κεφάλαιο: 1 Εισαγωγή

. Τι πρακτική αξία έχουν αυτές οι πιθανότητες; (5 Μονάδες)

DS - Pacman. 2.1 Η calculatenextpacmanposition... 3

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

Transcript:

Πολυτεχνείο Κρήτης Σχολή Ηλεκτρονικών Μηχανικών Και Μηχανικών Η/Υ ΠΛΗ 53 Αυτόνομοι Πράκτορες Εύρεση του utility χρηστών με χρήση Markov chain Monte Carlo Παπίλαρης Μιχαήλ Άγγελος 29349

Περίληψη Η εργασία αυτή έχει ως σκοπό την εξαγωγή των προτιμήσεων (utility) χρηστών ώστε να χρησιμοποιηθούν για την δημιουργία εξατομικευμένων προτάσεων για ένα σύστημα κράτησης ξενοδοχείων. Αναλυτικότερα, για τις ανάγκες των πειραμάτων δημιουργήσαμε χρήστες των οποίων το utility function είναι linearly additive. Πιο συγκεκριμένα το Utility των χρηστών αποτελείται από subutilities όπως είναι η προτίμηση του κόστους ανα βραδιά που είναι διατεθειμένος να δώσει ένας χρήστης για ένα ξενοδοχείο (u(price)), ο αριθμός των αστεριών που προτιμάει να έχει ένα ξενοδοχείο (u(stars)), το πόσο κοντά βρίσκεται στο κέντρο της πόλης (u(region)) και το πόσο υψηλή βαθμολογία (user ratings) έχει το ξενοδοχείο από άλλους χρήστες (u(ratings)). Πολλές φορές ο χρήστης δεν είναι σε θέση να ποσοτικοποιήσει τις προτιμήσεις του. Για παράδειγμα είναι δύσκολο να προσδιορίσει πόση σημασία δίνει στα user ratings για ένα ξενοδοχείο έτσι οι αποφάσεις που καλείται να πάρει στο σύστημά μας είναι πιο γενικές. Ο χρήστης καλείται να κάνει κάποιες επιλογές βάσει των προτιμήσεων του όπως για παράδειγμα αν προτιμάει ξενοδοχεία με χαμηλή, μέση ή υψηλή τιμή, αν δίνει μεγάλη βαρύτητα στα user ratings ή όχι, αν προτιμάει ξενοδοχεία με πολλά ή λίγα αστέρια. Οι επιλογές αυτές αναπαρίστανται στο σύστημα μέσου δένδρου απόφασης (decision tree). Μέσω των επιλογών που κάνει εξάγουμε κάποια constraints (Uc). Έτσι η παρατήρηση των επιλογών που κάνει ο χρήστης και η εξαγωγή των constraints χρησιμοποιούνται ως στοιχεία για την ενημέρωση του prior distribution έτσι ώστε να εξάγουμε το posterior distribution το οποίο θα είναι πιο κοντά στο πραγματικό utility του χρήστη. Για την εξαγωγή του posterior distribution έγινε χρήση του αλγορίθμου Markov Chain Monte Carlo και πιο συγκεκριμένα χρησιμοποιήσαμε μια παραλλαγή του Metropolis - Hastings αλγόριθμο των οποίο περιγράφω αναλυτικότερα παρακάτω. Simulated Users Για την διεξαγωγή των πειραμάτων κατασκευάστηκαν Users, όπου κάναμε την υπόθεση ότι το Utility function τους είναι linearly additive. m U(l) = a l,j u j j= Για τις ανάγκες της συγκεκριμένης άσκησης κάναμε την υπόθεση ότι κάθε user διαθέτει τέσσερα sub utilities. Πιο συγκεκριμένα το κόστος που είναι διατεθειμένος να πληρώσει σε ένα ξενοδοχείο για ένα βράδυ, το πλήθος των αστεριών που προτιμά να έχει ένα ξενοδοχείο, την προτίμηση για την απόσταση του ξενοδοχείου από το κέντρο της πόλης και τέλος το πόσο των ενδιαφέρουν τα user ratings που έχει ένα ξενοδοχείο. Έτσι δημιουργήσαμε τα πραγματικά sub utility των χρηστών παίρνοντας sample από τις ανάλογες κατανομές με τον παρακάτω τρόπο.

Δημιουργία του πραγματικού utility των χρηστών: u(price) : Για τον κάθε user αρχικά παίρνουμε ένα sample από μια Burr type XII distribution με παραμέτρους c=3 και k=. Αυτό το sample αντιπροσωπεύει την προτίμηση τιμής που έχει ο χρήστης για ένα ξενοδοχείο/ημέρα..5 Burr Distribution c = 3, k =.5 2 2.5 3 3.5 4 4.5 5 u(region) : Στη συνέχεια κάνουμε δειγματοληψία από μια beta distribution με παραμέτρους α= και β=.5 με σκοπό να εξάγουμε την προτίμηση που έχει ο χρήστης για την απόσταση του ξενοδοχείου από το κέντρο της πόλης..5 Beta Distribution a = b =.5..2.3.4.6.7.8.9 u(stars) : Για την εξαγωγή της προτίμησης των αστεριών ενός ξενοδοχείου χρησιμοποίησα 3 Beta distributions. Πιο συγκεκριμένα αν ο χρήστης διαθέτει υψηλό ποσό για την διαμονή/ημέρα τότε αναμένεται και να αναζητά ξενοδοχείο με πολλά αστέρια (>=4) και έτσι κάνω δειγματοληψία από μια Beta(8,2), αν ο χρήστης διαθέτει χαμηλό ποσό για την διαμονή

του ανά ημέρα τότε παίρνω ένα sample από μια Beta(2,8) γιατί ο χρήστης αναμένετε να μην έχει υψηλές προσδοκίες για τον αριθμό των αστεριών. Σε διαφορετική περίπτωση δειγματοληπτώ μια Beta(8,8). 4 3.5 3 Beta Distribution a = 8 b = 2 a = 2 b = 8 a = 8 b = 8 2.5 2.5..2.3.4.6.7.8.9 u(ratings) : Τέλος χρησιμοποιώ μια Beta distribution με παραμέτρους α=8 και b=2 για να εξάγω την προτίμηση των χρηστών σε σχέση με τα user ratings που έχει ένα ξενοδοχείο. 4 3.5 Beta Distribution a = 8 b = 2 3 2.5 2.5..2.3.4.6.7.8.9 * Όλοι οι χρήστες αποθηκεύονται σε μία βάση δεδομένων και όλες οι προτιμήσεις (sub - utilities) τους είναι κανονικοποιημένες στο διάστημα [ ].

Decision Tree Για την αναπαράσταση των επιλογών των χρηστών επέλεξα το δένδρο απόφασης. Το πρώτο node του δένδρου αφορά την προτίμηση τιμής και διαθέτει τρία παιδιά. Έτσι ο χρήστης μπορεί να επιλέξει χαμηλή, μεσαία ή υψηλή ανάλογα με το u(price) που διαθέτει. Στη συνέχεια καλείται να επιλέξει κατά πόσο των ενδιαφέρει το ξενοδοχείο που επιθυμεί να βρίσκεται κοντά στο κέντρο ή δεν έχει ιδιαίτερη προτίμηση. Μετά επιλέγει αν επιθυμεί το ξενοδοχείο να έχει πάνω από έναν αριθμό αστεριών (αυτός ο αριθμός μεταβάλλεται ανάλογα με την επιλογή που έκανε στο πρώτο βήμα της επιλογής τιμής/ βράδυ γιατί υποθέτουμε ότι ο user είναι rational και για παράδειγμα δεν έχει την απαίτηση να διανυκτερεύσει σε ξενοδοχείο πέντε αστέρων ενώ ταυτόχρονα θέλει να δώσει και λίγα χρήματα). Τέλος ο χρήστης καλείται να επιλέξει αν δίνει μεγάλη βαρύτητα στα user rating που διαθέτει ένα ξενοδοχείο ή δεν αποτελεί πρωτεύων ζήτημα. Παρακάτω παρουσιάζεται το decision tree:

Αφού ο χρήστης κάνει τις επιλογές του, εξάγουμε ορισμένα constarints και έτσι δημιουργούμε το Uc το οποίο χρησιμοποιούμε στη συνέχεια στον αλγόριθμο Markov Chain Monte Carlo, σε συνδυασμό με το prior distribution με σκοπό να αποκτήσουμε το posterior. Markov Chain Monte Carlo Για την εξαγωγή του posterior distribution το οποίο δημιουργείται διασχίζοντας το σύνολο Uc το οποίο αποτελείται από τα constraints που έχουμε πάρει μέσω της παρατήρησης των επιλογών που έκανε ο χρήστης (και αποτελεί υπερσύνολο του πραγματικού utility του χρήστη), και στην prior dstribution. Αναλυτικότερα χρησιμοποιήσαμε μία παραλλαγή του Metropolis - Hastings αλγορίθμου που βρίσκεται στο paper Learning an Agent s Utility Function by Observing Behavior(http://ai.stanford.edu/users/koller/Papers/Chajewska+al:ICML.pdf ). Αρχικά δημιουργήσαμε ένα regular grid σε ένα m - διάστατο κύβο [, ] m. Αυτό το grid ορίζει μια διαμέριση από [, ] m σε κύβους, όπου m είναι το πλήθος των sub-utilities. Η διαβάθμιση του Grid επιλέξαμε να είναι.2. Έτσι έχουμε για κάθε διάσταση 5 διαβαθμίσεις και συνολικά επειδή έχουμε τέσσερις διαστάσεις υπάρχουν 6.25. υπέρ κύβοι (hyper-cubes). Αρχικοποίηση και Burn In phase πρώτου sample Αρχικοποιούμε το πρώτο sample για την κάθε διάσταση να έχει τιμή ίση με το μέσο της τιμής min και max (constraints) που έχουμε πάρει από την παρατήρηση των επιλογών του εκάστοτε χρήστη. Επειδή (δεν είναι το χειρότερο σημείο που μπορεί να ξεκινήσει ο αλγόριθμος) δεν αποτελεί το καλύτερο σημείο εκκίνησης και γι αυτό το λόγο προσθέσαμε στον αλγόριθμο μία burn in phase στην οποίο τρέχει ο αλγόριθμος MCMC 3 φορές για να βρει ένα καλύτερο (με μεγαλύτερη πιθανότητα) σημείο εκκίνησης έτσι ώστε ο αλγόριθμος να καλύψει γρηγορότερα (με λιγότερα iterations) την κατανομή μας. Συλλογή δειγμάτων Στη συνέχεια τρέχουμε τον MCMC αλγόριθμο για να συλλέξουμε δείγματα. Χρησιμοποιήσαμε μια μεταβλητή που την ονόμασα lag και έτσι καθορίζω μετά από πόσα iterations του αλγορίθμου θα κρατήσω το επόμενο sample. Σε αυτή την μεταβλητή έθεσα την τιμή, δηλαδή ανά iteration του αλγορίθμου κρατάμε ένα sample και έτσι η δειγματοληψία που κάνουμε είναι πιο αραιή. Αλγόριθμος (MCMC steps) Ο αλγόριθμος αποτελείται από τα εξής βήματα : Ξεκινάμε από τη τρέχουσα τοποθεσία στο πλέγμα x(t-) Διαλέγουμε το υποψήφιο δείγμα με τον εξής τρόπο: Με πιθανότητα κρατάμε το δείγμα x(t-)

Με πιθανότητα το νέο sample επιλέγεται ομοιόμορφα ανάμεσα από του x(t-) 2*m γείτονες, έτσι ώστε για κάθε γείτονα του η πιθανότητα επιλογής είναι /(4*m) Ελέγχουμε αν το νέο sample βρίσκεται έξω από το σύνολο U C, αν βρίσκεται έξω τότε κρατάμε το x(t-) σε διαφορετική περίπτωση δεχόμαστε το νέο sample με πιθανότητα min[, p(new sample)/p(x(t-)) ] Έτσι μετά τον αλγόριθμο MCMC έχουμε πάρει samples από το posterior distribution τα οποία μπορούμε να χρησιμοποιήσουμε για να αποκτήσουμε μία προσέγγιση του πραγματικού utility του χρήστη. Πειράματα Αρχικά δημιουργήσαμε ένα user (η δημιουργία των προτιμήσεων του έγινε με τον τρόπο που περιγράφεται στην ενότητα Simulated Users) του οποίου οι πραγματικές προτιμήσεις (sub - utilities) φαίνονται παρακάτω : User U(price) :.627556224259 U(region) :.4498694232687 U(stars) :.6955498749498 U(ratings) :.83898378795297 Στη συνέχεια παρατηρώντας τις επιλογές που έκανε ο χρήστης στο σύστημα μας, εξήγαμε κάποια constraints τα οποία θα τα χρησιμοποιήσουμε κατά την διάρκεια της δειγματοληψία έτσι ώστε τα δείγματα που θα πάρουμε από Markov Chain Monte Carlo αλγόριθμο να προέρχονται από το posterior distribution. Ως posterior distribution χρησιμοποιήσαμε μια beta κατανομή, με παραμέτρους α= 8 και b= 2 και για τις τέσσερεις διαστάσεις. 4 3.5 Beta Distribution a = 8 b = 2 3 2.5 2.5..2.3.4.6.7.8.9

Για λόγους αναπαράστασης στο παρακάτω γράφημα φαίνονται τα samples που πήραμε μόνο από τα τρία sub-utilitys. McMc Samples.7.6 region.4.3.2.8.6 stars.4.2.4 Price.6.7.8 Στο παρακάτω γράφημα οι κόκκινες και μπλε διακεκομμένες γραμμές υποδηλώνουν την περιοχή των ορίων που έχουμε βγάλει από την παρατήρηση των επιλογών του χρήστη. Ακόμα όπως παρατηρούμε όλα τα samples που πήραμε από των αλγόριθμο δεν παραβιάζουν αυτά τα constraints. Τέλος το σημείο με κόκκινο χρώμα και αστερίσκο(*) αναπαριστούμε το πραγματικό utility του χρήστη και παρατηρούμε ότι στη συγκεκριμένη περιοχή υπάρχει υψηλή πυκνότητα από samples. McMc Samples.9.8.7.6 stars.4.3.2. McMc Samples minpriceconstraint maxpriceconstraint minstarsconstraint maxstarsconstraint TrueUserUtility..2.3.4.6.7.8.9 Price