Π Τ Υ Χ Ι Α Κ Η /ΔΙ Π Λ Ω Μ ΑΤ Ι Κ Η Ε Ρ ΓΑ Σ Ι Α

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Π Τ Υ Χ Ι Α Κ Η /ΔΙ Π Λ Ω Μ ΑΤ Ι Κ Η Ε Ρ ΓΑ Σ Ι Α"

Transcript

1 Α Ρ Ι Σ Τ Ο Τ Ε Λ Ε Ι Ο Π Α Ν Ε Π Ι Σ Τ Η Μ Ι Ο Θ Ε Σ Σ Α Λ Ο Ν Ι Κ Η Σ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Π Τ Υ Χ Ι Α Κ Η /ΔΙ Π Λ Ω Μ ΑΤ Ι Κ Η Ε Ρ ΓΑ Σ Ι Α ΜΑΘΗΣΗ ΜΕΓΑΛΗΣ ΚΛΙΜΑΚΑΣ ΑΠΟ ΔΕΔΟΜΕΝΑ ΠΟΛΛΑΠΛΩΝ ΕΤΙΚΕΤΩΝ ΣΥΓΓΡΑΦΕΑΣ Μάνδρος Παναγιώτης ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ: Τσουμάκας Γρηγόριος, Λέκτορας ΘΕΣΣΑΛΟΝΙΚΗ 2012

2 1

3 Περιεχόμενα Κατάλογος πινάκων... 4 Κατάλογος σχημάτων... 4 Κατάλογος εικόνων Εισαγωγή Συμβολή της πτυχιακής Δομή της πτυχιακής Υπόβαθρο Μηχανική μάθηση Μάθηση πολλαπλών ετικετών Κατηγορίες εργασιών Μετασχηματισμός προβλήματος Προσαρμογή αλγορίθμου Στατιστικές παράμετροι Μετρικές αξιολόγησης Κλιμάκωση αλγορίθμων μηχανικής μάθησης Ευκαιρίες και προκλήσεις για τη μηχανική μάθηση Θεωρητικό μοντέλο υπολογισμού και προβλήματα με το μεγέθος των δεδομένων Τεχνικές για ενασχόληση με πολλά δεδομένα που χωράνε στην κύρια μνήμη Big Data Κλιμάκωση μάθησης πολλαπλών ετικετών Hadoop Αρχιτεκτονικές υπολογιστών και διαφάνεια Hadoop Hadoop Distributed Filesystem Hadoop Map/Reduce Στήσιμο ενός Hadoop cluster και Hadoop API Ευκαιρίες με το Hadoop Δέντρα απόφασης Ανάπτυξη αλγορίθμων μάθησης πολλαπλών ετικετών στο Hadoop PLANET Το δέντρο απόφασης Κόμβοι του δέντρου (DecisionTreeNode) Το δέντρο απόφασης (DecisionTree)

4 Διάσχιση του δέντρου Αποθήκευση του δέντρου Αλγόριθμος Κατανεμημένο χτίσιμο (single label) Χτίσιμο στη μνήμη (single label) Διάσπαση (single label) Κριτήρια τερματισμού Επέκταση σε δεδομένα πολλαπλών ετικετών Controller Πρόβλεψη και αξιολόγηση Τεχνάσματα για καλύτερη απόδοση Αριθμός κόμβων για ταυτόχρονη διάσπαση Χτίσιμο στη μνήμη Εύρεση σημείων διαχωρισμού Binary Relevance Aποτελέσματα PLANET Binary Relevance Μελλοντική εργασία PLANET BR Βιβλιογραφία

5 Κατάλογος πινάκων Πίνακας 1: Είσοδος αλγορίθμου μετασχηματισμού προβλήματος Πίνακας 2: Μέθοδος αντιγραφής Πίνακας 3: Μέθοδος τυχαίας επιλογής Πίνακας 4: Μέθοδος παράληψης Πίνακας 5: Πρώτη ετικέτα Πίνακας 6: Δεύτερη ετικέτα Πίνακας 7: Τρίτη ετικέτα Πίνακας 8: Τέταρτη ετικέτα Πίνακας 9: Δεδομένα εισόδου Πίνακας 10: Υπολογισμός κατάταξης Πίνακας 11: Δεδομένα διάσχισης Πίνακας 12: Σύνολα δεδομένων για μέτρηση Πίνακας 13: Αποτελέσματα Πίνακας 14: Ranking των αλγορίθμων βάσει Πίνακας 15: Σύνολα δεδομένων για απολογισμό κλιμάκωσης Κατάλογος σχημάτων Σχήμα 1: Δέντρο απόφασης για διάσχιση Σχήμα 2: HashMap της ρίζας μετά την εκπαίδευση Σχήμα 3: Σύνολο δεδομένων εισόδου ενός map task Σχήμα 4: Το HashMap του map task μετά τον τερματισμό του Σχήμα 5: Κόμβος γονέας D Σχήμα 6: Παιδί D Σχήμα 7 : Παιδί D Κατάλογος εικόνων Εικόνα 1: RAkEL ο, εκπαίδευση Εικόνα 2: RAkEL ο, πρόβλεψη Εικόνα 3: RAkEL d, πρόβλεψη Εικόνα 4: RAkEL d, εκπαίδευση Εικόνα 5: RAkEL ο, ensemble πρόβλεψη Εικόνα 6: Αρχιτεκτονική HDFS Εικόνα 7: Δημιουργία αντεστραμμένου καταλόγου με Map/Reduce Εικόνα 8: Αρχιτεκτονική Map/Reduce Εικόνα 9: Αρχιτεκτονική ενός Cluster Εικόνα 10: Δεδομένα εισόδου δέντρου απόφασης Εικόνα 11: Δέντρο απόφασης μετά την εκπαίδευση

6 5

7 1 Εισαγωγή 1.1 Συμβολή της πτυχιακής Μπορούμε να πούμε με βεβαιότητα ότι στην εποχή που ζούμε τα δεδομένα είναι άπειρα. Η πρόοδος της τεχνολογίας, το Web 2.0 και ο ανταγωνισμός μεταξύ εταιριών έχουν συμβάλει τα μέγιστα σε αυτό το γεγονός. Μέχρι τώρα η ανθρωπότητα έχει επωφεληθεί πάρα πολύ από την επεξεργασία δεδομένων. Πρωταρχικό ρόλο σε αυτή την επεξεργασία έχει παίξει η μηχανική μάθηση, που αποτελεί σημαντικό κλάδο της επιστήμης των υπολογιστών. Ένας τομέας της μηχανικής μάθησης που πρόσφατα κέντρισε το ενδιαφέρον πολλών ερευνητών και θα απασχολήσει και εμάς, είναι η μάθηση πολλαπλών ετικετών. Το γεγονός της ύπαρξης πάρα πολλών δεδομένων, γνωστό και ως Big Data, αποτελεί μία από τις μεγαλύτερες προκλήσεις για τη μηχανική μάθηση. Τα δεδομένα είναι πάρα πολλά και οι συμβατικοί αλγόριθμοι αδυνατούν να τα διαχειριστούν. Στην πτυχιακή αυτή εργασία θα σχολιάσουμε λεπτομερώς την κλιμάκωση αλγορίθμων μηχανικής μάθησης. Θα παρουσιάσουμε επίσης υλοποιήσεις για την επίλυση αυτού του προβλήματος με τη χρήση κατανεμημένων συστημάτων, κυρίως στον τομέα της μάθησης πολλαπλών ετικετών. 1.2 Δομή της πτυχιακής Στο κεφάλαιο 2 παρουσιάζουμε το γνωστικό υπόβαθρο της πτυχιακής αυτής εργασίας. Πιο συγκεκριμένα περιγράφουμε τι είναι μηχανική μάθηση και μάθηση πολλαπλών ετικετών. Αναφερόμαστε επίσης στο πρόβλημα της κλιμάκωσης των αλγορίθμων, στο Hadoop καθώς και στα δέντρα απόφασης. Το κεφάλαιο 3 περιέχει τις δύο εφαρμογές που υλοποιήθηκαν στα πλαίσια της πτυχιακής, δηλαδή το σύστημα PLANET καθώς και τη μέθοδο Binary Relevance. Στο κεφάλαιο 4 παρουσιάζουμε τα αποτελέσματα και τα συμπεράσματα που βγαίνουν. Στο κεφάλαιο 5 αναφέρουμε πιθανές μελλοντικές επεκτάσεις και στο τέλος τη βιβλιογραφία. 6

8 2 Υπόβαθρο 2.1 Μηχανική μάθηση Η μηχανική μάθηση αποτελεί κλάδο της Τεχνητής Νοημοσύνης και αντικείμενο της είναι η δημιουργία αλγορίθμων που έχουν τη δυνατότητα να παράγουν νέα γνώση ή να οργανώσουν την υπάρχουσα. Χρησιμοποιούνται συνήθως για ταξινόμηση αντικειμένων σε κλάσεις, για ομαδοποίηση αντικειμένων ανάλογα με το πόσο μοιάζουν ή διαφέρουν μεταξύ τους, για αναγνώριση προτύπων που εμφανίζονται σε δεδομένα. Χαρακτηριστικοί ορισμοί για το τι είναι μηχανική μάθηση είναι οι παρακάτω: Μηχανική μάθηση είναι το πεδίο της έρευνας που δίνει τη δυνατότητα στους υπολογιστές να μαθαίνουν χωρίς να έχουν προγραμματιστεί επακριβώς για αυτό (Samuel, 1959). Ένα πρόγραμμα υπολογιστή θεωρείται ότι μαθαίνει μέσω εμπειρίας Ε σε σχέση με μία κλάση εργασιών Τ και κάποιο μέτρο απόδοσης P, αν η απόδοση του σε εργασίες της κλάσης Τ, μετρούμενη με βάση το P, βελτιώνεται διαμέσου της εμπειρίας Ε (Mitchell, 1997). Η μηχανική μάθηση έχει ανοίξει καινούργιους ορίζοντες στον τομέα της πληροφορικής. Οι υπολογιστές πλέον δεν αποθηκεύουν απλά δεδομένα και κάνουν πράξεις, αλλά έχουν και τη δυνατότητα να μάθουν. Έτσι τώρα αντί να προγραμματίσουμε ένα υπολογιστή να κάνει μία εργασία, μπορούμε να τον προγραμματίσουμε να τη μάθει. Ένα παράδειγμα για να γίνει κατανοητή αυτή η διαφορά είναι το εξής. Είναι γνωστό ότι ενέργειες που είναι πολύ απλές για έναν άνθρωπο να τις εκτελέσει, είναι αρκετά δύσκολο να προγραμματιστούν σε έναν υπολογιστή. Κάποιες από αυτές τις ενέργειες είναι η επεξεργασία ομιλίας, η επεξεργασία εικόνων, η οδήγηση οχημάτων. Χρησιμοποιώντας αλγορίθμους μηχανικής μάθησης, οι παραπάνω ενέργειες μπορούν να προγραμματιστούν πολύ πιο εύκολα. Η μηχανική μάθηση χρησιμοποιείται κατά κόρον στη βιομηχανία και στην επιστήμη. Εταιρίες χρησιμοποιούν αλγορίθμους μάθησης για να αναλύσουν τα δεδομένα που έχουν και να κάνουν προβλέψεις για το μέλλον. Αυτό τους επιτρέπει να είναι ανταγωνιστικές και να ανταποκρίνονται στις αυξανόμενες απαιτήσεις των πελατών τους. Επιστήμονες χρησιμοποιούν αλγορίθμους μάθησης για να τους βοηθήσουν στην έρευνα. Τεράστιοι όγκοι δεδομένων περνάνε μέσα από τους αλγορίθμους και οι ερευνητές μελετούν την έξοδο και καταλήγουν σε διάφορα χρήσιμα συμπεράσματα. Πέρα από την επιστήμη και τη βιομηχανία, αλγορίθμους μάθησης χρησιμοποιούμε και στην καθημερινότητα μας. Παραδείγματα αποτελούν οι μηχανές αναζήτησης με την κατάταξη που κάνουν, το μαρκάρισμα της ηλεκτρονικής αλληλογραφίας ως ανεπιθύμητη, συστάσεις και προτάσεις που μας κάνουν πολλές ιστοσελίδες ανάλογα με το προφίλ μας και την ανάδραση που δίνουμε. 7

9 Μπορούμε να οργανώσουμε τους αλγορίθμους μηχανικής μάθησης σε κατηγορίες, ανάλογα με τον τρόπο που λειτουργούν και την έξοδο που μας δίνουν. Οι κατηγορίες που παρουσιάζουν το περισσότερο ενδιαφέρον είναι: Μάθηση με επίβλεψη (supervised learning). Υπάρχει ένα σύνολο από δεδομένα για τα οποία γνωρίζουμε την τιμή μίας μεταβλητής, την οποία θέλουμε να προβλέψουμε σε ένα άλλο σύνολο από το οποίο απουσιάζει. Η μεταβλητή αυτή ονομάζεται μεταβλητή στόχος. Αν είναι διακριτή, όπως στην περίπτωση του κακού/καλού πελάτη, τότε έχουμε την περίπτωση της ταξινόμησης (classification). Διαφορετικά αν είναι συνεχής, όπως για παράδειγμα η πρόβλεψη της τιμής ενός ακινήτου, τότε έχουμε την περίπτωση της παλινδρόμησης (regression). Μάθηση χωρίς επίβλεψη (unsupervised learning). Υπάρχει ένα σύνολο δεδομένων από τα οποία απουσιάζει η μεταβλητή στόχος και ο αλγόριθμος προσπαθεί να βρει ομάδες αντικειμένων βάσει του πόσο μοιάζουν ή διαφέρουν μεταξύ τους. Ενισχυτική μάθηση (reinforcement learning). Υπάρχει ένα σύνολο καταστάσεων, σε κάθε κατάσταση υπάρχει ένα σύνολο ενεργειών και κάθε ενέργεια έχει ως αποτέλεσμα τη μετάβαση σε μία νέα κατάσταση. Στη νέα αυτή κατάσταση υπάρχει μία ανταμοιβή, ανάλογα με το πόσο καλή είναι. Ουσιαστικά έχουμε μάθηση μέσω αλληλεπίδρασης με το περιβάλλον. Από αυτές τις κατηγορίες, αυτή που θα μας απασχολήσει σε αυτήν την πτυχιακή εργασία είναι η μάθηση με επίβλεψη. Έχουμε m δεδομένα εκπαίδευσης (training set) που έχουν τη μορφή {( ( ) ( ) ) ( ( ) ( ) ( )}, όπου ) είναι το διάνυσμα των ( χαρακτηριστικών του i-οστού αντικειμένου και ) είναι η τιμή της μεταβλητής στόχου. Ορίζουμε επίσης ως L το σύνολο των διαφορετικών τιμών για τη μεταβλητή ( ) στόχο του προβλήματος και ισχύει ότι L, όπως επίσης και ως n το πλήθος των χαρακτηριστικών κάθε παραδείγματος. Σε προβλήματα ταξινόμησης το σύνολο L είναι πεπερασμένο και παίρνει διακριτές τιμές, όπως για παράδειγμα καλός/κακός πελάτης. Αντίθετα σε προβλήματα παλινδρόμησης είναι μη πεπερασμένο και ένα παράδειγμα είναι η πρόβλεψη της τιμής μίας μετοχής. Ο αλγόριθμος μάθησης προσπαθεί να βρει μία συνάρτηση h : X Y, όπου X είναι ο χώρος των χαρακτηριστικών και Y είναι ο χώρος των κλάσεων. Η συνάρτηση h που ονομάζεται υπόθεση (hypothesis), προέρχεται από το χώρο Η όλων των πιθανών υποθέσεων. Ο αλγόριθμος προσπαθεί να βρει τη συνάρτηση η οποία ταιριάζει περισσότερο στα δεδομένα εκπαίδευσης, δηλαδή θέλουμε η μεταβλητή εξόδου της h να είναι ίδια με τη μεταβλητή στόχο σε όσα περισσότερα αντικείμενα γίνεται. Σε προηγούμενη παράγραφο αναφέραμε το παράδειγμα του κακού/καλού πελάτη. Αυτή η περίπτωση όπου έχουμε δύο διαφορετικές τιμές σε πρόβλημα ταξινόμησης, δηλαδή L =2, ονομάζεται δυαδική ταξινόμηση (binary classification). Αν L >2, έχουμε την ταξινόμηση σε πολλαπλές τάξεις (multi-class classification). 8

10 Σε πολλές όμως εφαρμογές, τα αντικείμενα σχετίζονται με ένα σύνολο από ετικέτες (μεταβλητές στόχοι) και όχι μόνο με μία, όπως έχουμε αναφέρει μέχρι τώρα. Το σύνολο L δεν αναφέρεται πλέον σε διαφορετικές τιμές μίας ετικέτας, αλλά σε σύνολο από ετικέτες. Το πρόβλημα αυτό αποτελεί επέκταση του προβλήματος της ταξινόμησης με μία ετικέτα και ονομάζεται μάθηση πολλαπλών ετικετών (multi-label learning). Σε περίπτωση που υπάρχουν και μεταβλητές στόχοι που παίρνουν συνεχείς τιμές, τότε αναφερόμαστε στη μάθηση μεικτών στόχων (mixed-target learning). 2.2 Μάθηση πολλαπλών ετικετών Όπως αναφέραμε και σε προηγούμενες παραγράφους, το πρόβλημα της μάθησης από multi-label δεδομένα ασχολείται με την ταξινόμηση καινούργιων αντικειμένων σε περισσότερες από μία ετικέτες. Ας πάρουμε για παράδειγμα μία φωτογραφία που τραβήχτηκε σε μία παραλία. Αν κληθούμε να επισημάνουμε με ετικέτες τη συγκεκριμένη φωτογραφία, θα βάζαμε πιθανότατα ουσιαστικά όπως θάλασσα, παραλία, αμμουδιά, ήλιος. Άλλο παράδειγμα είναι η κατηγοριοποίηση μουσικών κομματιών. Ένα μουσικό κομμάτι θα μπορούσε να ανήκει σε περισσότερες από μία κατηγορίες, όπως ροκ και μπαλάντα. Πρόσφατα η περιοχή του multi-label learning προσέλκυσε το ενδιαφέρον ενός μεγάλου αριθμού ερευνητών (Tsoumakas et al., 2010). Κίνητρο τους ήταν τα ενδιαφέροντα ερευνητικά προβλήματα και η πληθώρα εφαρμογών που παρουσιάζει αυτό το είδος δεδομένων Κατηγορίες εργασιών Υπάρχουν δύο μεγάλες κατηγορίες εργασιών (tasks) στη μάθηση πολλαπλών ετικετών, η ταξινόμηση (multi-label classification) και η κατάταξη (label ranking). Στην ταξινόμηση, θα πρέπει να αποδoθεί στο καινούργιο αντικείμενο ένα υποσύνολο ετικετών S L. Ασχολείται δηλαδή με τη μάθηση ενός μοντέλου, το οποίο μπορεί να διαχωρίζει ποιες είναι οι σχετικές και ποιες οι μη σχετικές ετικέτες ενός αντικειμένου από το σύνολο L. Η κατάταξη ασχολείται με τη βαθμολόγηση των ετικετών ως προς τη σχετικότητα τους με το καινούργιο αντικείμενο. Έτσι το μοντέλο έχει ως έξοδο μία κατάταξη των ετικετών, όπου η πρώτη θεωρείται η πιο σχετική, η δεύτερη λιγότερη σχετική και ούτω καθεξής. Υπάρχουν βέβαια και εφαρμογές όπου θα θέλαμε να υπάρχει και ο διαχωρισμός σε σχετικές και μη σχετικές ετικέτες αλλά και η κατάταξη τους. Ένα τέτοιο παράδειγμα είναι μία εφαρμογή φιλτραρίσματος ειδήσεων. Ο χρήστης θέλει να εμφανιστούν μόνο 9

11 οι σχετικές με το ερώτημα του ειδήσεις, αλλά επιθυμεί επίσης να υπάρχει και μία βαθμολόγηση του πόσο σχετικές είναι. Αυτή η κατηγορία εργασιών εμφανίστηκε μόλις πρόσφατα και ονομάζεται κατάταξη πολλαπλών ετικετών (multi-label ranking). Πρόκειται για μία πολύ χρήσιμη και ενδιαφέρουσα γενίκευση των δύο κατηγοριών που αναφέραμε. Πέραν των προηγούμενων κατηγοριών, υπάρχουν ακόμα δύο. Στη μία έχουμε σαν έξοδο τις περιθώριες πιθανότητες ( ), όπου L και x είναι ένα καινούργιο παράδειγμα. Τις πιθανότητες αυτές μπορούμε να τις χρησιμοποιήσουμε ως εξής: Κατάταξη ετικετών ανάλογα με τη σχετικότητα τους με κάθε αντικείμενο. Κατάταξη αντικειμένων ανάλογα με τη σχετικότητα τους με κάθε ετικέτα. Ορισμό μίας τιμής κατωφλίου ώστε να προκύψει μία ταξινόμηση. Στην άλλη κατηγορία, η έξοδος είναι οι από κοινού πιθανότητες ( ) ( ). Με αυτόν τον τρόπο μπορούμε να εξάγουμε τις περιθώριες πιθανότητες αλλά και μία ταξινόμηση χρησιμοποιώντας την πιο συχνή τιμή της κατανομής Μετασχηματισμός προβλήματος Ένας τρόπος για να αντιμετωπίσουμε ένα πρόβλημα μάθησης από δεδομένα πολλαπλών ετικετών, είναι να τροποποιήσουμε κάποιον single-label αλγόριθμο έτσι ώστε να μπορεί να διαχειρίζεται δεδομένα πολλαπλών ετικετών. Αυτή η προσέγγιση ονομάζεται προσαρμογή αλγορίθμου (algorithm adaption). Μία άλλη είναι ο μετασχηματισμός του προβλήματος (problem transformation). Η γενικότερη ιδέα της δεύτερης προσέγγισης είναι ο μετασχηματισμός ενός προβλήματος μάθησης πολλαπλών ετικετών, σε ένα ή παραπάνω προβλήματα μάθησης μίας ετικέτας όπου και υπάρχει εκτενής βιβλιογραφία για την επίλυση τους. Στη συνέχεια αναφέρουμε ορισμένες από τις μεθόδους αυτής της κατηγορίας, κάποιες από τις οποίες είναι πολύ απλές, ενώ άλλες περισσότερο σύνθετες. Ας θεωρήσουμε τον πίνακα 1, ως την είσοδο σε έναν αλγόριθμο μετασχηματισμού προβλήματος. Το σύνολο των ετικετών L αποτελείται από τις ετικέτες, και. Επίσης έχουμε παραλείψει τα χαρακτηριστικά των αντικειμένων έτσι ώστε να επικεντρωθούμε μόνο στο πρόβλημα της μετατροπής. Αντικείμενο Χαρακτηριστικά Σύνολο ετικετών 1 ( ) { } 2 ( ) { } 3 ( ) { } 4 ( ) { } Πίνακας 1: Είσοδος αλγορίθμου μετασχηματισμού προβλήματος 10

12 Οι τρεις πιο απλές μέθοδοι είναι η μέθοδος αντιγραφής (copy), η μέθοδος τυχαίας επιλογής (random) και η μέθοδος παράληψης (ignore). Στη μέθοδο αντιγραφής, αντιγράφουμε κάθε αντικείμενο ( ( ) ( ) ) που έχει πολλαπλές ετικέτες, ( ) στον αριθμό, σε ( ) αντικείμενα με μία ετικέτα ( ) το καθένα. Στη μέθοδο τυχαίας επιλογής διαλέγουμε τυχαία μία από τις ( ) ετικέτες για να αντιπροσωπεύσει το αντικείμενο. Τέλος στη μέθοδο παράληψης, απαλείφουμε κάθε αντικείμενο με πολλαπλές ετικέτες και κρατάμε μόνο τα αντικείμενα με μία ετικέτα. Στους πίνακες 2, 3, 4 βλέπουμε πως αυτές οι μέθοδοι μετατρέπουν το πρόβλημα πολλαπλών ετικετών, σε πρόβλημα μίας ετικέτας. Αντικείμενο Ετικέτα Αντικείμενο Ετικέτα Πίνακας 3: Μέθοδος τυχαίας επιλογής Αντικείμενο Ετικέτα 3 Πίνακας 4: Μέθοδος παράληψης Πίνακας 2: Μέθοδος αντιγραφής Η πιο δημοφιλής μέθοδος είναι αυτή της δυαδικής συσχέτισης (binary relevance-br). Στη συγκεκριμένη μέθοδο, από το αρχικό σύνολο δεδομένων δημιουργούμε L σύνολα δεδομένων, ένα για κάθε ετικέτα. Για κάθε μία ετικέτα τώρα μπορούμε να εκπαιδεύσουμε ένα μοντέλο. Έχουμε δηλαδή L δυαδικούς ταξινομητές, όπου κάθε ένας είναι υπεύθυνος για τη συσχέτιση με μία ετικέτα. Για την ταξινόμηση ενός καινούργιου αντικειμένου, παίρνουμε την ένωση των εξόδων των μοντέλων. Η μέθοδος BR είναι αρκετά απλή, αλλά αποτυγχάνει να λάβει υπόψη της συσχετίσεις μεταξύ ετικετών και επίσης χρειάζεται για κάθε ετικέτα και ένα μοντέλο, δηλαδή σε μία εφαρμογή με μεγάλο αριθμό ετικετών θα υπάρχει και μεγάλο κόστος για την εκπαίδευση. Στους πίνακες 5, 6, 7, 8 βλέπουμε τα τέσσερα σύνολα δεδομένων που παράγει η μέθοδος BR. Σε αυτήν την πτυχιακή εργασία θα ασχοληθούμε με τη μέθοδο BR και θα προσπαθήσουμε να την κάνουμε πιο αποδοτική σε χρόνο. Αντικείμενο Ετικέτα Πίνακας 5: Πρώτη ετικέτα Αντικείμενο Ετικέτα Πίνακας 6: Δεύτερη ετικέτα 11

13 Αντικείμενο Ετικέτα Πίνακας 7: Τρίτη ετικέτα Αντικείμενο Ετικέτα Πίνακας 8: Τέταρτη ετικέτα Η μέθοδος δυναμοσύνολο ετικετών (label powerset-lp), είναι μία πολύ απλή και αποτελεσματική μέθοδος. Θεωρεί κάθε μοναδικό υποσύνολο ετικετών που υπάρχει στο σύνολο των δεδομένων εκπαίδευσης, ως μία από τις κλάσεις ενός προβλήματος multi-class ταξινόμησης. Έτσι όταν έρθει ένα καινούργιο αντικείμενο, ο multi-class ταξινομητής αποδίδει την πιθανότερη κλάση, η οποία είναι ουσιαστικά είναι ένα σύνολο ετικετών. Μπορούμε μάλιστα αν ο ταξινομητής έχει ως έξοδο μία κατανομή πιθανοτήτων για τις κλάσεις, να τις κατατάξουμε σε φθίνουσα σειρά ως προς τη σχετικότητα τους με το αντικείμενο. Με αυτόν τον τρόπο μπορούμε να επιτύχουμε μία κατάταξη πολλαπλών ετικετών. Η συγκεκριμένη μέθοδος μπορεί, αντίθετα με τη δυαδική συσχέτιση, να λαμβάνει υπ όψιν της συσχετίσεις μεταξύ ετικετών. Το κόστος της εξαρτάται από τον αριθμό των δεδομένων m, τον αριθμό των ετικετών q και φράσσεται από πάνω με min(m, ). Καταλαβαίνουμε ότι μεγάλος αριθμός ετικετών και παραδειγμάτων μπορεί να προκαλέσει προβλήματα όχι μόνο κόστους, αλλά και στην εκπαίδευση, καθώς πολλά από τα υποσύνολα ετικετών θα εμφανίζονται σε λίγα παραδείγματα. Να σημειώσουμε εδώ ότι στην πράξη δεν εξετάζονται και τα υποσύνολα, καθώς δεν εμφανίζεται όλο το δυναμοσύνολο στα δεδομένα εισόδου. Συνήθως έχουμε 5 με 44 του αριθμού αυτού υποσύνολα, που πάλι δημιουργεί πρόβλημα όταν ο αριθμός q μεγαλώνει. Η μέθοδος LP επίσης, επειδή θεωρεί ως ετικέτα κάθε μοναδικό υποσύνολο ετικετών που εμφανίζεται στα δεδομένα εκπαίδευσης, δεν μπορεί να προβλέψει κάτι διαφορετικό από αυτά τα υποσύνολα, που πιθανό είναι να ταιριάζει καλύτερα σε καινούργια αντικείμενα. Ο πίνακας 9 δείχνει τη μετατροπή του προβλήματος σε πρόβλημα πολλαπλών τάξεων και ο πίνακας 10 πως υπολογίζεται η κατάταξη των ετικετών σε ένα καινούργιο αντικείμενο x. Αντικείμενο Ετικέτα Πίνακας 9: Δεδομένα εισόδου κλάση p ( ) ( ( ) ) Πίνακας 10: Υπολογισμός κατάταξης Μία μέθοδος που προτάθηκε πρόσφατα και μπορεί να αντεπεξέλθει στα προβλήματα που παρουσιάζουν οι προηγούμενες μέθοδοι, είναι η μέθοδος RAkEL (random k- labelsets), που αποτελεί επέκταση της LP μεθόδου (Tsoumakas et al., 2010). Η κύρια ιδέα της είναι η δημιουργία τυχαίων υποσυνόλων ετικετών, μικρού μεγέθους, από το 12

14 σύνολο L και η εκπαίδευση ενός ταξινομητή πολλαπλών τάξεων για κάθε υποσύνολο, χρησιμοποιώντας την LP μέθοδο. Το μέγεθος των υποσυνόλων καθορίζεται από την παράμετρο k. Ένα πλεονέκτημα της μεθόδου αυτής είναι το γεγονός ότι αφού δημιουργηθούν τα υποσύνολα, το υπολογιστικό κόστος της LP μεθόδου για κάθε ένα από αυτά, είναι πολύ μικρότερο από αυτό ενός LP ταξινομητή για όλο το σύνολο. Αν θεωρήσουμε ένα σύνολο L με L 100 ετικέτες, τότε ο αριθμός των κλάσεων που εξετάζει η μέθοδος LP φράσσεται με min(m, ). Αντίθετα, με τη μέθοδο RAkEL για k=3, κάθε LP ταξινομητής φράσσεται με min(m, ), αριθμός εξαιρετικά μικρότερος. Αναφέραμε επίσης σε προηγούμενη παράγραφο ότι στη LP μέθοδο μπορεί για κάποιο υποσύνολο ετικετών να μην υπάρχουν αρκετά δεδομένα για εκπαίδευση, με αποτέλεσμα ο ταξινομητής να υπομοντελοποιήσει (underfit) τα δεδομένα. Με τη μέθοδο RAkEL, έχουμε μία πιο ισορροπημένη κατανομή των κλάσεων σε κάθε ταξινομητή μίας ετικέτας που προκύπτει. Όσον αφορά τη διαδικασία της δημιουργίας των υποσυνόλων, υπάρχουν δύο προσεγγίσεις. Στη μία διαλέγουμε από το σύνολο L ετικέτες με επανατοποθέτηση και στην άλλη χωρίς και προκύπτουν έτσι οι μέθοδοι RAkEL με επικαλύψεις (RAkEL ο ) και RAkEL χωρίς επικαλύψεις (RAkEL d ) αντίστοιχα. Στις εικόνες 1 και 2 βλέπουμε τον ψευδοκώδικα της διαδικασίας εκπαίδευσης και πρόβλεψης του RAkEL ο. Στις εικόνες 3 και 4 βλέπουμε τον ψευδοκώδικα για τις αντίστοιχες διαδικασίες του RAkEL d. Εικόνα 1: RAkEL ο, εκπαίδευση Εικόνα 2: RAkEL ο, πρόβλεψη 13

15 Εικόνα 3: RAkEL d, πρόβλεψη Εικόνα 4: RAkEL d, εκπαίδευση Όσον αφορά την περίπτωση των επικαλυπτόμενων ετικετών, ο RAkEL ο μπορεί να μαζέψει πολλαπλές προβλέψεις για μία ετικέτα, από τα διαφορετικά LP μοντέλα που περιέχουν αυτή την ετικέτα στο υποσύνολο ετικετών που τους έχει ανατεθεί. Έτσι προκύπτει μία διαδικασία ψηφοφορίας η οποία συντελεί στο να έχουμε σαν έξοδο περισσότερο αντικειμενικές προβλέψεις, καθώς συνδυάζεται η έξοδος από πολλούς ταξινομητές. Τέτοιου είδους μέθοδοι ονομάζονται ensemble methods. Στην εικόνα 5 βλέπουμε ένα παράδειγμα πρόβλεψης με την μέθοδο RAkEL ο. Εικόνα 5: RAkEL ο, ensemble πρόβλεψη Για να ανακεφαλαιώσουμε, στην ενότητα αυτή αναφερθήκαμε στο μετασχηματισμό προβλήματος. Στην κατηγορία αυτή μετασχηματίζουμε ένα πρόβλημα ταξινόμησης πολλαπλών ετικετών σε ένα ή παραπάνω προβλήματα ταξινόμησης μίας ετικέτας. Αναφερθήκαμε επίσης σε διάφορες τεχνικές με τις οποίες μετασχηματίζουμε ένα πρόβλημα. Υπάρχουν απλές μέθοδοι όπως οι μέθοδοι αντιγραφής, παράληψης και τυχαίας επιλογής. Υπάρχουν επίσης και πιο σύνθετες μέθοδοι όπως η μέθοδος BR, η μέθοδος LP και η μέθοδος RAkEL. Η BR είναι αρκετά απλή αλλά δεν λαμβάνει υπόψην συσχετίσεις μεταξύ ετικετών, η μέθοδος LP επιτυγχάνει σε αυτόν τον τομέα αλλά εξαρτάται πολύ από τον αριθμό των ετικετών q και τέλος η μέθοδος RAkEL επιλύει σε μεγάλο βαθμό τα παραπάνω προβλήματα. Μάλιστα σε συγκριτικές μελέτες μεταξύ των τριών αυτών μεθόδων, η RAkEL έχει πολύ καλύτερα αποτελέσματα, ειδικά στην περίπτωση των επικαλυπτόμενων ετικετών. 14

16 2.2.3 Προσαρμογή αλγορίθμου Σε αυτήν την κατηγορία μεθόδων ουσιαστικά επεκτείνουμε κάποιον single-label αλγόριθμο, έτσι ώστε να μπορεί να διαχειρίζεται δεδομένα πολλαπλών ετικετών. Ο knn είναι ένας πολύ αποτελεσματικός αλγόριθμος, που ανήκει στην κατηγορία των αλγορίθμων αναβλητικής μάθησης. Η επέκταση του αρχικά κάνει την ίδια διαδικασία με τον single-label, δηλαδή βρίσκει τους k κοντινότερους γείτονες. Το επόμενο βήμα είναι να γίνει η πρόβλεψη, η οποία γίνεται με συνάθροιση των τιμών που έχουν οι ετικέτες των γειτονικών αντικειμένων. Ένας τρόπος συνάθροισης είναι να βρεθεί το μέσο διάνυσμα των αντικειμένων και η πρόβλεψη να γίνει σύμφωνα με αυτό το διάνυσμα. Ένας πολύ γνωστός αλγόριθμος ο οποίος παράγει δέντρα αποφάσεων, είναι ο C4.5. Στην επέκταση του, έχουμε αντί για μία ετικέτα σε κάθε φύλλο, πολλαπλές και ο τύπος υπολογισμού της εντροπίας γίνεται: ( ( ) ( ) ( ) ( )) όπου q είναι το πλήθος των ετικετών, ( ) είναι η σχετική συχνότητα της ετικέτας και ( ) = 1 - ( ). Για τη δημιουργία δέντρων απόφασης, μπορούν να χρησιμοποιηθούν πολλά μέτρα για τον υπολογισμό της ομοιογένειας των ετικετών σε έναν κόμβο. Ένα τέτοιο μέτρο αποτελεί και η διασπορά των ετικετών. Υπολογίζουμε τη διασπορά σε έναν κόμβο και στα παιδιά του και έπειτα επιλέγουμε να γίνει ο διαχωρισμός σύμφωνα με το χαρακτηριστικό, το οποίο μεγιστοποιεί την παρακάτω ποσότητα: ( ) ( ( )) όπου D είναι το σύνολο των παραδειγμάτων που έχει ο κόμβος πριν το διαχωρισμό, Var(D) είναι η διασπορά του κόμβου, P είναι ο διαχωρισμός βάσει κάποιου χαρακτηριστικού, είναι τα παραδείγματα που έχουν οι νέοι κόμβοι που προκύπτουν και Var( ) είναι οι αντίστοιχες διασπορές σε κάθε καινούργιο κόμβο. Ουσιαστικά ελέγχουμε για κάθε χαρακτηριστικό το πόσο ομοιογενείς είναι οι νέοι κόμβοι που θα δημιουργηθούν, αν επιλεγεί το χαρακτηριστικό αυτό για διαχωρισμό. Επιλέγουμε τελικά αυτό που δημιουργεί τους πιο ομοιογενείς κόμβους. Η πρόβλεψη ενός καινούργιου αντικειμένου γίνεται σύμφωνα με το μέσο διάνυσμα των ετικετών του κόμβου στον οποίο κατέληξε το αντικείμενο κατά τη διάσχιση του δέντρου. Σε αυτήν την πτυχιακή εργασία θα δούμε με περισσότερες λεπτομέρειες την παραπάνω μέθοδο, δηλαδή τη δημιουργία δέντρου απόφασης όπου κριτήριο διάσπασης είναι η διασπορά των διανυσμάτων των ετικετών σε κάθε κόμβο. 15

17 2.2.4 Στατιστικές παράμετροι Για την περιγραφή των δεδομένων εκπαίδευσης, έχουν προταθεί δύο στατιστικές παράμετροι, η πληθυκότητα ετικετών (label cardinality) και η πυκνότητα ετικετών (label density). Η πληθυκότητα ετικετών είναι ο μέσος όρος των ετικετών ενός συνόλου δεδομένων D: ( ) Η πυκνότητα ετικετών είναι ο μέσος όρος των ετικετών ενός συνόλου δεδομένων D, διαιρεμένος με q: ( ) Η πληθυκότητα εκφράζει το πλήθος των διαφορετικών ετικετών που χαρακτηρίζουν κάθε παράδειγμα από το σύνολο δεδομένων και είναι ανεξάρτητο από το q. Αντίθετα η πυκνότητα δεν είναι ανεξάρτητη του q. Δύο σύνολα δεδομένων με ίδια πληθυκότητα και διαφορετική πυκνότητα πιθανότατα, θα έχουν διαφορετικές ιδιότητες. Μία τρίτη στατιστική παράμετρος είναι το πλήθος του συνόλου L, δηλαδή ο αριθμός q Μετρικές αξιολόγησης Η αξιολόγηση των αλγορίθμων μάθησης από δεδομένα με πολλαπλές ετικέτες, διαφέρει από την αξιολόγηση των αλγορίθμων μάθησης από δεδομένα με μία ετικέτα. Ας θεωρήσουμε ένα σύνολο δεδομένων εκπαίδευσης ( ( ) ( ) ( ) ), i 1.m, όπου ( είναι το διάνυσμα των χαρακτηριστικών του i-οστού αντικειμένου και ) L, το σύνολο των ετικετών με το οποίο έχει επισημανθεί. Το σύνολο L έχει μέγεθος L q. ( ) Έστω επίσης το σύνολο των ετικετών που προβλέπει ένας αλγόριθμος ταξινόμησης για το i-οστό αντικείμενο. Τέλος ορίζουμε ως,,, τoν αριθμό των false positive, false negative, true positive, true negative προβλέψεων για μία ετικέτα λ. Μπορούμε να χωρίσουμε τις μετρικές σε δύο κατηγορίες: βασισμένες στα παραδείγματα βασισμένες στις ετικέτες Βασισμένες στα παραδείγματα είναι οι επόμενες 5 μετρικές. 16

18 Hamming loss: ( ) ( ) Ακρίβεια(precision): ( ) ( ) ( ) Aνάκληση(recall): ( ) ( ) ( ) Ορθότητα(accuracy): ( ) ( ) ( ) ( ) F 1 : ( ) ( ) ( ) ( ) Όσον αφορά τις μετρικές που είναι βασισμένες στις ετικέτες, οποιαδήποτε μετρική που χρησιμοποιείται σε single-label προβλήματα μπορεί να χρησιμοποιηθεί και για multi-label. Ορίζουμε ως B( ) μία μετρική για single-label πρόβλημα. Τότε ορίζονται οι δύο παρακάτω μετρικές. B macro : ( ) B micro : B( ) 17

19 2.3 Κλιμάκωση αλγορίθμων μηχανικής μάθησης Ευκαιρίες και προκλήσεις για τη μηχανική μάθηση Στην εποχή που ζούμε, το πλήθος των δεδομένων είναι τεράστιο και αυξάνεται συνεχώς με ραγδαίους ρυθμούς. Με την πρόοδο της τεχνολογίας και την εξέλιξη του υλικού μέρους των υπολογιστών, οι δυνατότητες αποθήκευσης δεδομένων είναι σχεδόν απεριόριστες. Η έλευση του Web 2.0, καθώς και ο ανταγωνισμός στον επιχειρηματικό τομέα, έχουν συμβάλλει τα μέγιστα για τον τεράστιο αυτό όγκο δεδομένων. Επιχειρήσεις και οργανισμοί αποθηκεύουν όλο και περισσότερα δεδομένα. Το Διαδίκτυο κατακλύζεται καθημερινά από φωτογραφίες, βίντεο, σχόλια και γνώμες χρηστών. Οι επιστήμονες επιδιώκουν να έχουν μεγαλύτερες και πιο λεπτομερείς εξόδους από την έρευνα και τα πειράματα. Αρχεία καταγραφής από εφαρμογές, από βάσεις δεδομένων, από την τηλεπικοινωνία και το Διαδίκτυο συνεχώς πληθαίνουν και γίνονται πιο λεπτομερή. Όλο αυτό το πλήθος των δεδομένων είναι διαθέσιμο για ανάλυση και επεξεργασία. Μία εταιρία αναλύοντας τα δεδομένα που έχει στη διάθεση της μπορεί να διασφαλίσει μία ομαλή και κερδοφόρα λειτουργία. Την ενδιαφέρει να έχει πρόσβαση σε όσο περισσότερα δεδομένα γίνεται, καθώς με αυτόν τον τρόπο μπορεί να βγάλει ακριβή συμπεράσματα και να ασχοληθεί με περισσότερα θέματα που την αφορούν. Γενικότερα, με την τωρινή κατάσταση του πλήθος των δεδομένων παρουσιάζονται πληθώρα ευκαιριών για επίτευξη στόχων και βελτίωση της καθημερινότητας μας. Έχει γίνει πλέον σαφές ότι αναφερόμαστε σε συλλογές δεδομένων όπου το μέγεθος τους καθιστά δύσκολη τη διαχείριση τους από συμβατικές μεθόδους και τεχνολογίες. Τίθεται έτσι το ερώτημα του αν είναι εφικτό να επεξεργαστούμε τέτοια δεδομένα σε αποδεκτούς χρόνους. Αυτό το φαινόμενο, δηλαδή το γεγονός ότι υπάρχουν δεδομένα τα οποία θέλουμε να αναλύσουμε αλλά το μέγεθος τους είναι αποτρεπτικό για οποιαδήποτε εργασία πάνω σε αυτά, ονομάζεται Big Data. Για την επίλυση προβλημάτων μηχανικής μάθησης, έχει προταθεί μία πληθώρα αλγορίθμων. Κάθε αλγόριθμος έχει χαρακτηριστικά τα οποία τον καθιστούν ικανότερο από κάποιον άλλο για να χρησιμοποιηθεί σε κάποια εργασία. Μερικά από αυτά τα χαρακτηριστικά είναι η πολυπλοκότητα χρόνου και χώρου, η δυνατότητα διαχείρισης δεδομένων που περιέχουν συνεχείς τιμές, θόρυβο, απουσία τιμών από εγγραφές όπως επίσης και το αν χρειάζεται να έχουν όλη τη συλλογή φορτωμένη στην κύρια μνήμη. Στις επόμενες παραγράφους θα αναφέρουμε κάποια πράγματα για την κλιμάκωση των αλγορίθμων μηχανικής μάθησης, για το πως χειριζόμαστε συλλογές που είναι μεγάλες αλλά χωράνε στην κύρια μνήμη και προβλήματα που προκύπτουν από το μέγεθος των δεδομένων. Θα δούμε επίσης και πως διαχειριζόμαστε περιπτώσεις πάρα πολλών δεδομένων και τι γίνεται με την κλιμάκωση σε προβλήματα μάθησης πολλαπλών ετικετών. 18

20 2.3.2 Θεωρητικό μοντέλο υπολογισμού και προβλήματα με το μεγέθος των δεδομένων Σε αυτή την παράγραφο θα ασχοληθούμε με την περίπτωση όπου θεωρούμε ότι η κύρια μνήμη έχει απεριόριστο μέγεθος και μπορεί να φορτώσει εξ ολοκλήρου τα δεδομένα εισόδου. Αυτή η παραδοχή συνίσταται όταν ασχολούμαστε με αναλύσεις αλγορίθμων σε θεωρητικό επίπεδο. Είναι γνωστό ότι οι αλγόριθμοι που παρουσιάζουν τα καλύτερα αποτελέσματα, είναι και οι πιο περίπλοκοι και για αυτό και έχουν μεγαλύτερη πολυπλοκότητα. Για παράδειγμα τα SVM θεωρούνται από τους πιο αποτελεσματικούς αλγορίθμους μάθησης. Η πολυπλοκότητα τους όμως είναι Ο( ), πράγμα που σημαίνει ότι καθώς η συλλογή δεδομένων μεγαλώνει, τα SVM γίνονται εξαιρετικά χρονοβόρα. Από την άλλη μεριά, αλγόριθμοι με αποδεκτά αποτελέσματα μπορεί να έχουν πολυπλοκότητα Ο(m). Μερικοί από αυτούς είναι οι online αλγόριθμοι, όπου ο λόγος του χρόνου εκτέλεσης ως προς το πλήθος των δεδομένων, αυξάνεται γραμμικά. Λέμε ότι ένας αλγόριθμος έχει καλή κλιμάκωση όταν οι απαιτήσεις σε χρόνο και χώρο αυξάνονται γραμμικά ή σχεδόν γραμμικά ως προς τον όγκο των δεδομένων εισόδου. Λόγοι για τους οποίους ένας αλγόριθμος έχει αυξημένη πολυπλοκότητα συνήθως είναι πολλαπλασιασμοί πινάκων και επίλυση γραμμικών συστημάτων. Ο πολλαπλασιασμός πινάκων για παράδειγμα έχει πολυπλοκότητα Ο( ), οπότε αν κάποιος αλγόριθμος λειτουργεί με πολλαπλασιασμούς πινάκων τότε δεν κλιμακώνεται γραμμικά. Στο παρελθόν σπάνια συναντούσαμε προβλήματα όπου τα δεδομένα εισόδου δεν χωρούσαν στην κύρια μνήμη. Μάλιστα το μέγεθος τους δεν ξεπερνούσε ακόμα και μερικές εκατοντάδες megabyte. Για παράδειγμα, για να φτάσει μία βάση δεδομένων με 20 χαρακτηριστικά τύπου int να έχει μέγεθος 1 gigabyte, πρέπει να έχει περίπου εγγραφές. Αν αυτές οι εγγραφές αντιπροσωπεύουν πελάτες, τότε μιλάμε για μία τεράστια επιχείρηση. Το ίδιο συμβαίνει και στις μέρες μας. Η πληθώρα των συλλογών δεδομένων συνεχίζουν να έχουν τη δυνατότητα να χωράνε στην κύρια μνήμη, πόσο μάλλον τώρα που ένα οικιακός υπολογιστής μπορεί να έχει ακόμα και 16 gigabyte μνήμη. Είδαμε σε προηγούμενη παράγραφο ότι ζούμε σε μία εποχή όπου τα δεδομένα είναι άπειρα και ότι υπάρχουν πληθώρα ευκαιριών για τη μηχανική μάθηση, οπότε τίθεται το ερώτημα για ποιο λόγο οι συλλογές με τις οποίες εργαζόμαστε συνεχίζουν και έχουν μικρό μέγεθος. Η απάντηση είναι στο γεγονός ότι ακόμα και απεριόριστη μνήμη να έχει κάποιος, μετά από κάποιο μέγεθος οι αλγόριθμοι αργούν πάρα πολύ να τερματίσουν. Είναι αρκετά δύσκολο να δουλεύουμε με συλλογές που ένας αλγόριθμος χρειάζεται αρκετό χρόνο για να τερματίσει. Η ενασχόληση με τη μηχανική μάθηση περιλαμβάνει πειραματισμούς με επιλογές αλγορίθμων και τιμών για τις παραμέτρους τους, οπότε 19

21 θα χρειαστεί αρκετές φορές να τρέξουμε έναν αλγόριθμο για να βγάλουμε κάποια συμπεράσματα. Για παράδειγμα, χρησιμοποιώντας το εργαλείο Weka και τον αλγόριθμο J48, χρειάζονται περίπου 15 λεπτά για την εκπαίδευση από ένα σύνολο δεδομένων με μέγεθος 70 megabyte, οπότε σε μεγαλύτερες συλλογές μπορεί να περιμένουμε ακόμα και ώρες. Να σημειώσουμε εδώ ότι τα δέντρα απόφασης θεωρούνται από τους γρηγορότερους αλγορίθμους μηχανικής μάθησης, όταν δεν έχουμε μεγάλο πλήθος χαρακτηριστικών. Το παραπάνω γεγονός δείχνει τις δυσκολίες που προκύπτουν από το μέγεθος των δεδομένων, ακόμα και όταν αυτό είναι μικρό. Επίσης έχουμε θεωρήσει ότι τα δεδομένα χωράνε εξ ολοκλήρου στην κύρια μνήμη, κάτι το οποίο δεν είναι πάντα αληθές Τεχνικές για ενασχόληση με πολλά δεδομένα που χωράνε στην κύρια μνήμη Είδαμε στην προηγούμενη παράγραφο, ότι είναι δύσκολο να δουλεύουμε με συλλογές δεδομένων που το μέγεθος τους είναι σχετικά μεγάλο. Αυτό όμως δεν πρέπει να σημαίνει ότι θα ασχολούμαστε μόνο με μικρές συλλογές, για αυτό και χρησιμοποιούνται διάφορες τεχνικές στην πράξη. Μία από αυτές τις τεχνικές είναι η μείωση του μεγέθους της συλλογής, έτσι ώστε να φτάσει σε σημείο να μπορεί να χρησιμοποιηθεί αποδοτικά με κάποιον αλγόριθμο. Η πιο διάσημη τεχνική είναι αυτή της υποδειγματοληψίας (subsample), όπου επιλέγουμε ένα ποσοστό των αρχικών δεδομένων για να δημιουργήσουμε μία καινούργια συλλογή. Πρέπει όμως η καινούργια συλλογή να είναι αντιπροσωπευτική της παλιάς, έτσι ώστε να ασχολούμαστε πάλι με το ίδιο πρόβλημα. Άλλη λύση είναι να χρησιμοποιήσουμε πολύ γρήγορους αλγορίθμους. Η γραμμική πολυπλοκότητα είναι από τις καλύτερες περιπτώσεις και πάντα την επιδιώκουμε. Στην περίπτωση όμως της μηχανικής μάθησης όπως είδαμε, τέτοιου είδους αλγόριθμοι δεν έχουν καλή ακρίβεια πρόβλεψης. Υπάρχει μία αντιστάθμιση όσον αφορά χρονική απόδοση και αποτελέσματα. Πολλές φορές όταν θέλουμε να επιταχύνουμε αλγοριθμικές διαδικασίες, αυτό που κάνουμε είναι να διαιρούμε το πρόβλημα σε μικρότερα και να τα εξετάζουμε παράλληλα. Για παράδειγμα μπορεί κάποιος αλγόριθμος να χρειάζεται να υπολογίσει ένα άθροισμα προσθέτοντας τιμές από εγγραφές. Άμα οι εγγραφές είναι πάρα πολλές, μπορούμε να διαιρέσουμε το πλήθος τους και να υπολογίσουμε το άθροισμα παράλληλα, σε περισσότερους από έναν επεξεργαστές. Αναφέραμε ότι ο πολλαπλασιασμός πινάκων είναι χρονοβόρα διαδικασία και έχουν προταθεί για αυτόν τον λόγο αλγόριθμοι για παραλληλοποίηση της διαδικασίας. Επίσης έχουν προταθεί και εκδόσεις αλγορίθμων που αξιοποιούν τον παραλληλισμό. Ζούμε στην εποχή του cloud computing, στην εποχή όπου οι οικιακοί υπολογιστές, ακόμα και τα κινητά 20

22 τηλέφωνα πλέον έχουν πολλούς επεξεργαστές, οπότε έχουμε τα μέσα να παραλληλοποιούμε αλγορίθμους Big Data Στην περίπτωση του Big Data, τα δεδομένα πλέον δεν μπορούν να φορτωθούν στην κύρια μνήμη. Αναφερόμαστε σε συλλογές οι οποίες έχουν μεγέθη που κυμαίνονται από λίγες δεκάδες gigabyte μέχρι ακόμα και petabytes. Λόγοι για τους οποίους υπάρχουν τέτοιες συλλογές και για ποιο λόγο χρειάζεται να τις επεξεργαστούμε, αναφέρθηκαν σε προηγούμενη παράγραφο. Μπορούμε πάντα να μειώσουμε το μέγεθος των δεδομένων ώστε να χωρέσουν στην κύρια μνήμη, αλλά στην περίπτωση του Big Data μπορεί να είναι και ανούσιο. Για παράδειγμα με το να μειώσουμε μία συλλογή του ενός terabyte σε μερικά gigabytes, χάνουμε σχεδόν όλα μας τα δεδομένα και σε καμία περίπτωση το καινούργιο πρόβλημα δεν μοιάζει με το αρχικό. Η μοναδική λύση στην περίπτωση του Big Data, είναι να διαιρέσουμε την αρχική συλλογή σε μικρότερα κομμάτια και να τα φορτώνουμε σταδιακά στην κύρια μνήμη, όπου και θα τα επεξεργάζεται ο αλγόριθμος μας. Με αυτήν τη λογική λειτουργούν οι online αλγόριθμοι, οι οποίοι δέχονται μία εγγραφή κάθε φορά και ανανεώνουν το μοντέλο. Η συλλογή βρίσκεται σε αρχεία στο δίσκο, τα οποία φορτώνονται σταδιακά στη μνήμη και όταν έχουν επεξεργαστεί όλες οι εγγραφές από ένα αρχείο, τότε έρχεται το επόμενο. Βέβαια πλέον υπάρχει και το κόστος των εγγραφών/αναγνώσεων από το δίσκο, όπου είναι γνωστό ότι αποτελούν αρκετά χρονοβόρες διαδικασίες μέσα σε ένα υπολογιστικό σύστημα. Το κόστος αυτό όμως είναι κάτι το οποίο δεν μπορούμε να αποφύγουμε, οπότε απλά κοιτάμε να γίνονται όσο λιγότερες επισκέψεις στο δίσκο είναι δυνατό. Υπάρχουν όμως και αλγόριθμοι, οι οποίοι πρέπει να έχουν όλα τα δεδομένα φορτωμένα στη μνήμη για να λειτουργήσουν. Τέτοιοι αλγόριθμοι είναι για παράδειγμα τα δέντρα απόφασης, όπως ο J48 και ο ID3. Σε αυτήν την περίπτωση θα πρέπει να βρεθούν εκδόσεις δέντρων απόφασης που να δουλεύουν με σταδιακή φόρτωση όλη της συλλογής στη μνήμη. Φυσικά ότι έχουμε αναφέρει για παραλληλισμό της διαδικασίας της μηχανικής μάθησης, συνεχίζει και ισχύει και για το Big Data και μάλιστα είναι ακόμα πιο αναγκαίος. Άμα μερικά gigabytes φορτωμένα στην κύρια μνήμη πρέπει να επεξεργαστούν παράλληλα για να μειώσουμε το χρονικό κόστος, φανταστείτε πόσο πιο ανάγκη έχουμε την παράλληλη επεξεργασία όταν έχουμε terabytes αποθηκευμένα στο σκληρό δίσκο. Να σημειώσουμε εδώ ότι όταν αναφερόμαστε σε πάρα πολλά δεδομένα και σε παράλληλα συστήματα, ο όρος κλιμάκωση δεν έχει την ίδια ακριβώς σημασία που 21

23 έχει σε ένα σύστημα μόνο. Με την παραλληλοποίηση, θέλουμε να επιτύχουμε καλούς χρόνους και όχι γραμμική κλιμάκωση. Για παράδειγμα σε έναν αλγόριθμο που έχει Ο( ) πολυπλοκότητα, με την παραλληλοποίηση δεν τον κάνουμε γραμμικό αλλά απλά μειώνουμε το χρονικό κόστος. Οπότε ο όρος κλιμάκωση σε τέτοιου είδους προβλήματα μετατρέπεται στην έκφραση διαχείριση πάρα πολλών δεδομένων σε αποδεκτούς χρόνους Κλιμάκωση μάθησης πολλαπλών ετικετών Οι πολυπλοκότητες των αλγορίθμων εμφανίζονται συναρτήσει του πλήθους των αντικειμένων, των χαρακτηριστικών και στην περίπτωση του multi-label learning και του αριθμού των ετικετών. Βλέπουμε δηλαδή ότι η μάθηση πολλαπλών ετικετών είναι περισσότερο περίπλοκη διαδικασία από τη μάθηση με μία ετικέτα. Έχουμε ήδη δει πόσο επηρεάζει ο αριθμός ετικετών τη χρονική απόδοση της μεθόδου LP και BR. Όσον αφορά τη μέθοδο μετασχηματισμού προβλήματος, είναι εύκολο να δει κανείς ότι μπορούμε εύκολα να παραλληλοποιήσουμε τη διαδικασία. Για παράδειγμα στη BR μέθοδο, μπορούμε παράλληλα να εκπαιδεύσουμε όλα τα μοντέλα που αντιστοιχούν σε κάθε ετικέτα. Το κάθε μοντέλο ουσιαστικά χτίζεται μετά, με τους τρόπους που είδαμε σε προηγούμενες παραγράφους. Το ίδιο ισχύει και για τη μέθοδο προσαρμογής αλγορίθμου, μόνο που τώρα έχουμε ένα μοντέλο μόνο. 2.4 Hadoop Ως τώρα έχουμε αναφέρει αρκετές φορές τους όρους απεριόριστα δεδομένα, παραλληλοποίηση, πολλές μονάδες επεξεργασίας, χωρίς να δώσουμε μεγάλη έμφαση σε τεχνικά θέματα. Τα πράγματα όμως δεν είναι τόσο απλά. Προφανώς τα terabyte δεδομένων που μπορεί να έχουμε, δεν χωράνε σε έναν σκληρό δίσκο μόνο. Οι σημερινοί δίσκοι φτάνουν μέχρι ελάχιστα terabyte οπότε αναγκαστικά θα πρέπει να έχουμε παραπάνω από έναν. Επίσης έχουμε μιλήσει για πολλές μονάδες επεξεργασίας. Ένας σημερινός επεξεργαστής μπορεί να έχει ακόμα και 8 πυρήνες επεξεργασίας, που είναι αρκετοί για ένα σύνολο δεδομένων μέχρι μερικές δεκάδες gigabytes. Οπότε σίγουρα θα χρειαστούμε περισσότερους αν είναι να ασχοληθούμε με πολύ μεγάλες συλλογές Αρχιτεκτονικές υπολογιστών και διαφάνεια Υπάρχουν πολλές αρχιτεκτονικές υπολογιστών που μπορούν να φιλοξενήσουν και να διαχειριστούν μεγάλους όγκους δεδομένων. Για παράδειγμα μπορούμε να έχουμε ένα 22

24 σύστημα που περιέχει μία συστοιχία δίσκων σε RAID και μία πισίνα από επεξεργαστές (processor pool) που αναλαμβάνουν να διεκπεραιώνουν εργασίες. Άλλη αρχιτεκτονική είναι το grid computing, το οποίο χρησιμοποιείται σε περιπτώσεις που έχουμε πολύ βαριές εργασίες, όπως είναι το rendering των γραφικών. Όπως είπαμε υπάρχουν πολλές αρχιτεκτονικές υπολογιστών. Οι περισσότερες όμως υπολείπονται ενός πολύ βασικού χαρακτηριστικού, που ονομάζεται διαφάνεια. Ουσιαστικά η διαφάνεια αποκρύπτει στους χρήστες λεπτομέρειες του συστήματος που είναι ευθύνη των διαχειριστών και των δημιουργών του να ασχοληθούν με αυτές. Για παράδειγμα ένα χρήστη τον ενδιαφέρει να χρησιμοποιεί ένα σύστημα ζητώντας αρχεία, εκτελώντας κώδικα και γενικά να κάνει εργασίες. Δεν θέλει να ασχολείται με το που γίνονται οι υπολογισμοί, που βρίσκεται το αρχείο που ψάχνει και γενικά όλο το παρασκήνιο. Η διαφάνεια δίνει τη δυνατότητα να ασχοληθεί κάποιος με αυτό που πραγματικά θέλει, χωρίς περιττές εργασίες. Ας δούμε πως λειτουργεί ένας χρήστης σε ένα σύστημα που υπολείπεται της διαφάνειας που αναφέραμε. Θα πρέπει να γνωρίζει επακριβώς όλους τους διαθέσιμους πόρους που έχει στη διάθεση του. Στη συγγραφή κώδικα, θα πρέπει να συμπεριλάβει αρκετά πράγματα παραπάνω από αυτά που χρειάζεται για την εργασία του, όπως για παράδειγμα το όνομα του υπολογιστή ή των υπολογιστών που θα γίνουν οι υπολογισμοί, τα ονόματα των πόρων που τον ενδιαφέρουν. Επίσης πρέπει να ασχοληθεί και με τη συνδεσμολογία των πόρων, καθώς ίσως να χρειαστεί να επεκτείνει το σύστημα. Ο κώδικας του και αυτός μετά χρειάζεται αλλαγές. Όταν όμως υπάρχει η διαφάνεια, πολλές από αυτές τις extra υποχρεώσεις, παραλείπονται. Το πιο κλασικό παράδειγμα συστήματος με διαφάνεια, είναι ο παγκόσμιος ιστός. Όταν δίνουμε ένα ερώτημα σε μία μηχανή αναζήτησης, δεν γνωρίζουμε τι ακριβώς γίνεται και απλά μας ενδιαφέρει να επιστραφούν σωστά και γρήγορα τα αποτελέσματα. Όταν αποθηκεύουμε κάτι μέσω κάποιας υπηρεσίας στο Διαδίκτυο, δεν γνωρίζουμε που βρίσκεται αλλά ξέρουμε ότι μπορούμε να το ζητήσουμε οποιαδήποτε στιγμή το θελήσουμε. Τα τελευταία χρόνια έχει εμφανιστεί ο όρος cloud computing, όπου πρόκειται για μία υπηρεσία που δίνει τη δυνατότητα σε χρήστες να χρησιμοποιήσουν απεριόριστους πόρους για τις εργασίες τους. Η αρχιτεκτονική που υιοθετεί περισσότερο από όλες την διαφάνεια, είναι τα κατανεμημένα συστήματα. Τα κατανεμημένα συστήματα είναι πόροι κατανεμημένοι σε ένα δίκτυο, οι οποίοι αξιοποιούνται από ένα λειτουργικό σύστημα. Το λειτουργικό αυτό κάνει ακριβώς την ίδια δουλειά με τα κλασικά λειτουργικά συστήματα. Οπότε, ο χρήστης βλέπει όλες τις μονάδες επεξεργασίας που υπάρχουν σαν μία και το ίδιο ακριβώς γίνεται με τα μέσα αποθήκευσης. Οι διεργασίες και οι αλγόριθμοι που τρέχουν, έχουν τη δυνατότητα να ζητήσουν περισσότερους πόρους, να μεταναστεύσουν από μία μονάδα επεξεργασίας σε άλλη. Επίσης υπάρχει και η δυνατότητα για δημιουργία παράλληλων αλγορίθμων. 23

25 Τα πάντα αποκρύπτονται από τον χρήστη, πέραν βέβαια από αυτών που τον ενδιαφέρουν άμεσα. Το να χρησιμοποιήσουμε μία αρχιτεκτονική υπολογιστών από την οποία απουσιάζει η διαφάνεια για να διαχειριστούμε προβλήματα ευρείας κλίμακας, δυσκολεύει ακόμα πιο πολύ το έργο μας. Θέλουμε οι αλγόριθμοι που φτιάχνουμε να ζητούν μόνοι τους παραπάνω πόρους, να επεκτείνουμε το σύστημα μας εύκολα και γρήγορα, θέματα αξιοπιστίας να λύνονται αυτόματα. Έτσι εμείς κάνουμε ότι θα κάναμε στον προσωπικό μας υπολογιστή για ένα πολύ μικρό σύνολο δεδομένων Hadoop Τα τελευταία χρόνια υπάρχει μία έξαρση στα κατανεμημένα συστήματα, με κορυφαίο παράδειγμα το Hadoop της Apache. Πρόκειται για μία πλατφόρμα που επιτρέπει σε απλούς χρήστες να στήσουν ένα δικό τους κατανεμημένο σύστημα, εύκολα και γρήγορα. Το Hadoop θα χρησιμοποιηθεί σε αυτήν την πτυχιακή εργασία για την ανάπτυξη δύο αλγορίθμων. Το Hadoop είναι μία ανοικτού λογισμικού έκδοση που περιγράφεται σε μία σειρά δημοσιεύσεων της Google. Το 2003 η Google δημοσίευσε ένα κατανεμημένο σύστημα αρχείων (Google distributed filesystem-gfs), ικανό να αποθηκεύσει και να διαχειριστεί με επάρκεια απεριόριστο πλήθος δεδομένων (Ghemawat et al., 2003). Την επόμενη χρονιά δημοσίευσε μία τεχνική για παράλληλη επεξεργασία τεράστιου όγκου δεδομένων, γνωστή ως Map/Reduce (Dean & Ghemawat.,2004). Δύο χρόνια αργότερα έδωσε στο κοινό ένα σύστημα για συγχρονισμό κατανεμημένων συστημάτων (Burrows., 2006). Το Hadoop ξεκίνησε ως μία μηχανή αναζήτησης, το Nutch και δημιουργός της ήταν ο Doug Cutting. Οι φιλοδοξίες για το Nutch ήταν να γίνει μία εφαρμογή του ιστού, αλλά είχε αρκετά προβλήματα κλιμάκωσης. Την περίοδο , με τις δημοσιεύσεις του GFS και του Map/Reduce ο Doug κατάφερε να αναβαθμίσει το Nutch το οποίο όμως ακόμα δεν μπορούσε να ανέβει στο Διαδίκτυο. Να αναφέρουμε εδώ ότι το συγκεκριμένο project είχε ελάχιστους προγραμματιστές. Τελικά την περίοδο , η Yahoo προσέλαβε τον Doug και δημιουργήθηκε μία ομάδα προγραμματιστών, εξ ολοκλήρου για αυτόν τον σκοπό. Το αποτέλεσμα ήταν το Hadoop, όπου έκανε το πρώτο μεγάλο χτύπημα το 2008 με την Yahoo να καταφέρνει σε ένα cluster της να ταξινομήσει 1 terabyte δεδομένων σε 209 δευτερόλεπτα. Έκτοτε το Hadoop είναι μία από τις δημοφιλέστερες πλατφόρμες για επεξεργασία τεράστιου όγκου δεδομένων και χρησιμοποιείται κατά κόρον από επιχειρηματικούς κολοσσούς, όπως Yahoo, Facebook, Twitter και πολλές άλλες. Να αναφέρουμε ότι το Hadoop αποτελείται από το HDFS (Hadoop Distributed File System), το Hadoop Map/Reduce και το Zookeeper, σύστημα αντίστοιχο του Chubby της Google. 24

26 2.4.3 Hadoop Distributed Filesystem Το HDFS είναι ένα κατανεμημένο σύστημα αρχείων εμπνευσμένο από το GFS. Αποτελείται από τρεις διακριτούς ρόλους, τον Namenode, τον Secondary Namenode και τους Datanodes και υπάρχει μία σχέση master/workers ανάμεσα σε Namenode και Datanodes. Ο Namenode είναι ο master του HDFS. Στο HDFS τα αρχεία χωρίζονται σε μικρότερα κομμάτια που ονομάζονται blocks και έχουν μέγεθος συνήθως 64 megabytes. Ο Namenode δεν αποθηκεύει αυτά τα blocks, αλλά είναι υπεύθυνος για όλο το namespace του συστήματος αρχείων. Διατηρεί όλα τα μεταδεδομένα, όπως τη μορφή του συστήματος αρχείων με τα directories και τους φακέλους, τις τοποθεσίες των block και των αντιγράφων τους. Όταν ένας χρήστης επιθυμεί ένα αρχείο, ο HDFS client του επικοινωνεί με τον Namenode, ο οποίος του δίνει τις τοποθεσίες των υπολογιστών με τα block που αποτελούν το αρχείο. Ο Namenode επικοινωνεί τακτικά με τους Datanodes για να δει την κατάσταση τους και όποιες αλλαγές έχουν συμβεί για να ανανεώσει τα μεταδεδομένα του. Επειδή είναι μία μόνο η διεργασία του Namenode, αποτελεί και σημείο αποτυχίας για όλο το HDFS. Υπάρχει όμως ο Secondary Namenode, ο οποίος είναι υπεύθυνος για τη δημιουργία της εικόνας που έχει ο Namenode κάθε στιγμή, έτσι ώστε να γίνει γρήγορη επανεκκίνηση του Namenode. Οι Datanodes είναι οι εργάτες του HDFS. Αποθηκεύουν τα blocks και τα επιστρέφουν όποτε τους ζητηθεί. Επίσης επικοινωνούν με τον Namenode για τυχών αλλαγές στα δεδομένα που έχουν αποθηκεύσει. Μία τέτοια αλλαγή μπορεί να είναι το γεγονός ότι ένα από τα block που έχουν αποθηκευμένα ξεπέρασε το όριο των 64 megabytes και πρέπει να δημιουργηθεί καινούργιο block. Εικόνα 6: Αρχιτεκτονική HDFS 25

27 Στην εικόνα 6 βλέπουμε την αρχιτεκτονική του HDFS. Έχουμε δύο ομάδες από Datanodes, όπου κάθε Datanode έχει αποθηκευμένα κάποια block. O Namenode όπως είπαμε κρατάει τα μεταδεδομένα του συστήματος αρχείων και διαχειρίζεται ως ένα σημείο την κατάσταση του. Ένα σενάριο χρήσης είναι το εξής: Ο πάνω αριστερά χρήστης ζητάει από τον Namenode την τοποθεσία κάποιων blocks και στη συνέχεια επικοινωνεί με τον Datanode που περιέχει τα συγκεκριμένα blocks και πραγματοποιεί ανάγνωση τους Hadoop Map/Reduce Το Map/Reduce είναι ένα προγραμματιστικό μοντέλο που δίνει τη δυνατότητα να επεξεργαστούμε πάρα πολλά δεδομένα. Είναι αρκετά απλό μοντέλο αλλά πολλές φορές είναι δύσκολο να εκφράσουμε ένα πρόβλημα στη Map/Reduce λογική. Το Map/Reduce αποτελείται από δύο φάσεις, τη Map και τη Reduce. Ας δούμε κάπως αφαιρετικά την όλη διαδικασία. Αρχικά τα δεδομένα που υπάρχουν στη διάθεση μας χωρίζονται σε μικρότερες ομάδες, τα splits. Κάθε μία από αυτές τις ομάδες είναι ένα map task το οποίο αποτελεί μία εργασία για μία μονάδα επεξεργασίας. Για παράδειγμα μπορεί να έχουμε 10 map tasks και 5 υπολογιστές. Τότε κάθε υπολογιστής μπορεί να αναλάβει 2 map tasks. Σε ένα map task τα δεδομένα έρχονται συνήθως σειρά σειρά και σε κάθε σειρά γίνονται κάποιες εργασίες από όπου προκύπτει και μία έξοδος για την κάθε μία. Αυτές οι εργασίες είναι ίδιες για κάθε σειρά και map task και αποτελούν το map function. To map function όπως είπαμε δέχεται σειρές δεδομένων που έχουν τη μορφή <key, value>. Συνήθως αυτό που μας ενδιαφέρει σε αυτήν τη φάση είναι μόνο το value που είναι τα δεδομένα μας. Το key περιέχει κάποιες πληροφορίες όπως θέση του value μέσα στο αρχείο. Ύστερα στο value γίνονται κάποιες διεργασίες και προκύπτει ένα νέο <key, value> ζευγάρι. Όταν τελειώσει όλη η φάση του Map, τότε είναι η σειρά του Reduce. Όλα τα ζευγάρια που έχουν δημιουργηθεί, κατανέμονται σε νέες μονάδες επεξεργασίας ανάλογα με το key. Τα κλειδιά γενικά δεν είναι κάτι αυθαίρετο, αλλά χρησιμοποιούνται για να δημιουργηθούν ομάδες ζευγαριών που έχουν το ίδιο key. Έτσι προκύπτουν ζευγάρια του τύπου <key, list (value)>. Μετά κάθε reduce task αναλαμβάνει για κάθε key που του έχει ανατεθεί, να κάνει μία εργασία πάνω στη λίστα από values. Αυτή η εργασία είναι πάλι ίδια για κάθε reduce task και αποτελεί το reduce function. Έτσι προκύπτει μία έξοδος από κάθε reduce task. Όταν τελειώσει και η Reduce φάση θα έχει προκύψει μία έξοδος. Το πιο κλασικό παράδειγμα για να καταλάβει κανείς το Map/Reduce, φαίνεται στην παρακάτω εικόνα και πρόκειται για τη δημιουργία ενός αντεστραμμένου καταλόγου. 26

28 map(string key, String value): // key: document name // value: document contents for each word w in value: EmitIntermediate(w, "1"); reduce(string key, Iterator values): // key: a word // values: a list of counts int result = 0; for each v in values: result += ParseInt(v); Emit(AsString(result)); Εικόνα 7: Δημιουργία αντεστραμμένου καταλόγου με Map/Reduce Αρχικά έχουμε μία συλλογή από έγγραφα. Κάθε ένα από αυτά τα έγγραφα αποτελεί είσοδο για ένα map task. Είναι δηλαδή το value που αναφέραμε παραπάνω, όπου είπαμε ότι συνήθως έχει τη μορφή μίας γραμμής. Στην περίπτωση μας όμως, για λόγους απλότητας είναι ένα ολόκληρο έγγραφο. Οπότε αν έχουμε για παράδειγμα δέκα έγγραφα, τότε έχουμε και 10 map tasks όπου στο καθένα θα εφαρμοστεί η ίδια map function. Η map function διαβάζει κάθε λέξη του εγγράφου και βγάζει στην έξοδο ζευγάρια της μορφής <λέξη, 1>. Αφού τελειώσει η Map φάση, ξεκινάει η Reduce. Η είσοδος για κάθε reduce task είναι της μορφής <λέξη, λίστα από 1>. Για κάθε λέξη λοιπόν, αρχικοποιεί μία μεταβλητή sum και διατρέχει τη λίστα προσθέτοντας τους άσσους. Στο τέλος βγάζει στην έξοδο το ζευγάρι <λέξη, αριθμός εμφανίσεων>. Όταν θα τελειώσουν όλα τα reduce task θα έχει δημιουργηθεί ένας αντεστραμμένος κατάλογος. Το Map/Reduce έχει δύο διακριτούς ρόλους, τον Jobtracker και τους Tasktrackers που έχουν όπως και στην περίπτωση του HDFS, σχέση master/workers. Ο Jobtracker είναι ο master του Map/Reduce. Αναλαμβάνει να αναθέτει map tasks και reduce tasks στους Tasktrackers. Ο χρήστης αναθέτει στον Jobtracker δουλειές, τα λεγόμενα jobs. Ουσιαστικά job είναι μία επεξεργασία που θέλουμε να κάνουμε σε δεδομένα και αποτελείται από τα δεδομένα, το map function και το reduce function. Ο Jobtracker παρακολουθεί όλη τη διαδικασία και αναθέτει σε αδρανείς Tasktrackers map και reduce tasks. Οι Tasktrackers επιτελούν εργασίες map ή reduce στα δεδομένα και ενημερώνουν τον Jobtracker για την κατάσταση τους. Στην παρακάτω εικόνα βλέπουμε την όλη διαδικασία. 27

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

ΚΕΦΑΛΑΙΟ 18. 18 Μηχανική Μάθηση ΚΕΦΑΛΑΙΟ 18 18 Μηχανική Μάθηση Ένα φυσικό ή τεχνητό σύστηµα επεξεργασίας πληροφορίας συµπεριλαµβανοµένων εκείνων µε δυνατότητες αντίληψης, µάθησης, συλλογισµού, λήψης απόφασης, επικοινωνίας και δράσης

Διαβάστε περισσότερα

Περιεχόμενα. Δημιουργία σύνδεσης... 27 5. ΤΙ ΕΙΝΑΙ ΙΣΤΟΣΕΛΙΔΕΣ ΚΑΙ ΤΙ ΤΟΠΟΘΕΣΙΕΣ ΙΣΤΟΥ... 37. Γνωριμία με μια ιστοσελίδα:... 38

Περιεχόμενα. Δημιουργία σύνδεσης... 27 5. ΤΙ ΕΙΝΑΙ ΙΣΤΟΣΕΛΙΔΕΣ ΚΑΙ ΤΙ ΤΟΠΟΘΕΣΙΕΣ ΙΣΤΟΥ... 37. Γνωριμία με μια ιστοσελίδα:... 38 Περιεχόμενα ΠΡΟΛΟΓΟΣ... 11 ΔΙΑΔΙΚΤΥΟ... 13 1. ΙΣΤΟΡΙΑ ΤΟΥ ΔΙΑΔΙΚΤΥΟΥ... 15 2. ΤΙ ΕΙΝΑΙ ΤΟ ΔΙΑΔΙΚΤΥΟ INTERNET;... 16 3. ΤΙ ΠΡΟΣΦΕΡΕΙ ΤΟ ΔΙΑΔΙΚΤΥΟ, ΤΙ ΜΠΟΡΕΙ ΝΑ ΒΡΕΙ ΚΑΝΕΙΣ... 19 4. ΤΙ ΑΠΑΙΤΕΙΤΑΙ ΓΙΑ ΝΑ

Διαβάστε περισσότερα

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών Οργάνωση Υπολογιστών Υπολογιστικό Σύστημα Λειτουργικό Σύστημα Αποτελεί τη διασύνδεση μεταξύ του υλικού ενός υπολογιστή και του χρήστη (προγραμμάτων ή ανθρώπων). Είναι ένα πρόγραμμα (ή ένα σύνολο προγραμμάτων)

Διαβάστε περισσότερα

Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή

Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή 1 Πίνακας Περιεχομένων 1. Εισαγωγή... 4 1.1 Περιβάλλον Moodle...4 1.2 Χρήση ονόματος χρήστη και κωδικού...4 1.3 Δημιουργία νέου μαθήματος...4 1.3.1

Διαβάστε περισσότερα

Μέθοδοι Μηχανικής Μάθησης στην επεξεργασία Τηλεπισκοπικών Δεδομένων. Δρ. Ε. Χάρου

Μέθοδοι Μηχανικής Μάθησης στην επεξεργασία Τηλεπισκοπικών Δεδομένων. Δρ. Ε. Χάρου Μέθοδοι Μηχανικής Μάθησης στην επεξεργασία Τηλεπισκοπικών Δεδομένων Δρ. Ε. Χάρου Πρόγραμμα υπολογιστικής ευφυίας Ινστιτούτο Πληροφορικής & Τηλεπικοινωνιών ΕΚΕΦΕ ΔΗΜΟΚΡΙΤΟΣ exarou@iit.demokritos.gr Μηχανική

Διαβάστε περισσότερα

Τεχνολογίες Πληροφορικής και Επικοινωνιών (ΤΠΕ) στις Μικρομεσαίες Επιχειρήσεις (ΜΜΕ)

Τεχνολογίες Πληροφορικής και Επικοινωνιών (ΤΠΕ) στις Μικρομεσαίες Επιχειρήσεις (ΜΜΕ) Τεχνολογίες Πληροφορικής και Επικοινωνιών (ΤΠΕ) στις Μικρομεσαίες Επιχειρήσεις (ΜΜΕ) Γιώργος Μανής Επίκουρος Καθηγητής Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων Τι είναι οι Τεχνολογίες

Διαβάστε περισσότερα

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι Λειτουργικά Συστήματα 1 Λογισμικό του Υπολογιστή Για να λειτουργήσει ένας Η/Υ εκτός από το υλικό του, είναι απαραίτητο και το λογισμικό Το σύνολο των προγραμμάτων που συντονίζουν τις λειτουργίες του υλικού

Διαβάστε περισσότερα

Υπολογιστικά & Διακριτά Μαθηματικά

Υπολογιστικά & Διακριτά Μαθηματικά Υπολογιστικά & Διακριτά Μαθηματικά Ενότητα 1: Εισαγωγή- Χαρακτηριστικά Παραδείγματα Αλγορίθμων Στεφανίδης Γεώργιος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

Δομές Δεδομένων Εργαστηριακή Άσκηση 2012-2013. Γκόγκος Νίκος Α.Μ.: 4973 Έτος: 3 ο Email: gkogkos@ceid.upatras.gr. Εισαγωγικά:

Δομές Δεδομένων Εργαστηριακή Άσκηση 2012-2013. Γκόγκος Νίκος Α.Μ.: 4973 Έτος: 3 ο Email: gkogkos@ceid.upatras.gr. Εισαγωγικά: Δομές Δεδομένων Εργαστηριακή Άσκηση 2012-2013 Γκόγκος Νίκος Α.Μ.: 4973 Έτος: 3 ο Email: gkogkos@ceid.upatras.gr Εισαγωγικά: Η υλοποίηση του project έχει γίνει σε python [2.7]. Τα python modules είναι αυτόνομα

Διαβάστε περισσότερα

Τεχνητή Νοημοσύνη. 2η διάλεξη (2015-16) Ίων Ανδρουτσόπουλος. http://www.aueb.gr/users/ion/

Τεχνητή Νοημοσύνη. 2η διάλεξη (2015-16) Ίων Ανδρουτσόπουλος. http://www.aueb.gr/users/ion/ Τεχνητή Νοημοσύνη 2η διάλεξη (2015-16) Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1 Οι διαφάνειες αυτής της διάλεξης βασίζονται στα βιβλία: Τεχνητή Νοημοσύνη των Βλαχάβα κ.ά., 3η έκδοση, Β. Γκιούρδας

Διαβάστε περισσότερα

Η Μηχανική Μάθηση στο Σχολείο: Μια Προσέγγιση για την Εισαγωγή της Ενισχυτικής Μάθησης στην Τάξη

Η Μηχανική Μάθηση στο Σχολείο: Μια Προσέγγιση για την Εισαγωγή της Ενισχυτικής Μάθησης στην Τάξη 6 ο Πανελλήνιο Συνέδριο «Διδακτική της Πληροφορικής» Φλώρινα, 20-22 Απριλίου 2012 Η Μηχανική Μάθηση στο Σχολείο: Μια Προσέγγιση για την Εισαγωγή της Ενισχυτικής Μάθησης στην Τάξη Σάββας Νικολαΐδης 1 ο

Διαβάστε περισσότερα

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

Δομές Δεδομένων και Αλγόριθμοι Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 19 Hashing - Κατακερματισμός 1 / 23 Πίνακες απευθείας πρόσβασης (Direct Access Tables) Οι πίνακες απευθείας

Διαβάστε περισσότερα

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή 1. Ηλεκτρονικός Υπολογιστής Ο Ηλεκτρονικός Υπολογιστής είναι μια συσκευή, μεγάλη ή μικρή, που επεξεργάζεται δεδομένα και εκτελεί την εργασία του σύμφωνα με τα παρακάτω

Διαβάστε περισσότερα

711 Πληροφορικής ΤΕΙ Αθήνας

711 Πληροφορικής ΤΕΙ Αθήνας 711 Πληροφορικής ΤΕΙ Αθήνας Το Τμήμα Πληροφορικής του ΤΕΙ Αθήνας ιδρύθηκε και δέχτηκε τους πρώτους του σπουδαστές τον Οκτώβριο του 1983, ταυτόχρονα δηλαδή με την έναρξη ισχύος του νόμου 1404/83 για τα

Διαβάστε περισσότερα

Μαθηματικά: Αριθμητική και Άλγεβρα. Μάθημα 3 ο, Τμήμα Α. Τρόποι απόδειξης

Μαθηματικά: Αριθμητική και Άλγεβρα. Μάθημα 3 ο, Τμήμα Α. Τρόποι απόδειξης Μαθηματικά: Αριθμητική και Άλγεβρα Μάθημα 3 ο, Τμήμα Α Ο πυρήνας των μαθηματικών είναι οι τρόποι με τους οποίους μπορούμε να συλλογιζόμαστε στα μαθηματικά. Τρόποι απόδειξης Επαγωγικός συλλογισμός (inductive)

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 13: (Μέρος Β ) Λειτουργικό Σύστημα Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής

Διαβάστε περισσότερα

Αλγόριθμοι και πολυπλοκότητα: 4 η σειρά ασκήσεων ΣΗΜΜΥ - Ε.Μ.Π.

Αλγόριθμοι και πολυπλοκότητα: 4 η σειρά ασκήσεων ΣΗΜΜΥ - Ε.Μ.Π. Αλγόριθμοι και πολυπλοκότητα: 4 η σειρά ασκήσεων CO.RE.LAB. ΣΗΜΜΥ - Ε.Μ.Π. Άσκηση 1 η : Παιχνίδι επιλογής ακμών Έχουμε ένα ακυκλικό κατευθυνόμενο γράφο, μια αρχική κορυφή και δυο παίκτες. Οι παίκτες διαδοχικά

Διαβάστε περισσότερα

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

Υπερπροσαρμογή (Overfitting) (1) Αλγόριθμος C4.5 Αποφυγή υπερπροσαρμογής (overfitting) Reduced error pruning Rule post-pruning Χειρισμός χαρακτηριστικών συνεχών τιμών Επιλογή κατάλληλης μετρικής για την επιλογή των χαρακτηριστικών διάσπασης

Διαβάστε περισσότερα

Τσάπελη Φανή ΑΜ: 2004030113. Ενισχυτική Μάθηση για το παιχνίδι dots. Τελική Αναφορά

Τσάπελη Φανή ΑΜ: 2004030113. Ενισχυτική Μάθηση για το παιχνίδι dots. Τελική Αναφορά Τσάπελη Φανή ΑΜ: 243113 Ενισχυτική Μάθηση για το παιχνίδι dots Τελική Αναφορά Περιγραφή του παιχνιδιού Το παιχνίδι dots παίζεται με δύο παίχτες. Έχουμε έναν πίνακα 4x4 με τελείες, και σκοπός του κάθε παίχτη

Διαβάστε περισσότερα

Αναδρομή. Τι γνωρίζετε για τη δυνατότητα «κλήσης» αλγορίθμων; Τι νόημα έχει;

Αναδρομή. Τι γνωρίζετε για τη δυνατότητα «κλήσης» αλγορίθμων; Τι νόημα έχει; ΜΑΘΗΜΑ 7 Κλήση αλγορίθμου από αλγόριθμο Αναδρομή Σ χ ο λ ι κ ο Β ι β λ ι ο ΥΠΟΚΕΦΑΛΑΙΟ 2.2.7: ΕΝΤΟΛΕΣ ΚΑΙ ΔΟΜΕΣ ΑΛΓΟΡΙΘΜΟΥ ΠΑΡΑΓΡΑΦΟI 2.2.7.5: Κλήση αλγορίθμου από αλγόριθμο 2.2.7.6: Αναδρομή εισαγωγη

Διαβάστε περισσότερα

Αλγοριθμικές Τεχνικές. Brute Force. Διαίρει και Βασίλευε. Παράδειγμα MergeSort. Παράδειγμα. Τεχνικές Σχεδιασμού Αλγορίθμων

Αλγοριθμικές Τεχνικές. Brute Force. Διαίρει και Βασίλευε. Παράδειγμα MergeSort. Παράδειγμα. Τεχνικές Σχεδιασμού Αλγορίθμων Τεχνικές Σχεδιασμού Αλγορίθμων Αλγοριθμικές Τεχνικές Παύλος Εφραιμίδης, Λέκτορας http://pericles.ee.duth.gr Ορισμένες γενικές αρχές για τον σχεδιασμό αλγορίθμων είναι: Διαίρει και Βασίλευε (Divide and

Διαβάστε περισσότερα

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

Δέντρα Απόφασης (Decision( Δέντρα Απόφασης (Decision( Trees) Το μοντέλο που δημιουργείται είναι ένα δέντρο Χρήση της τεχνικής «διαίρει και βασίλευε» για διαίρεση του χώρου αναζήτησης σε υποσύνολα (ορθογώνιες περιοχές) Ένα παράδειγμα

Διαβάστε περισσότερα

ΦΟΙΤΗΤΡΙΑ: ΠΑΤΣΑΤΖΑΚΗ ΕΛΕΝΗ, ΑΕΜ:3196 ΕΡΓΑΣΙΑ ΣΤΟ ΜΑΘΗΜΑ : ΥΕ258 ΕΝΑΛΛΑΚΤΙΚΕΣ ΜΟΡΦΕΣ ΑΞΙΟΛΟΓΗΣΗΣ ΤΩΝ ΓΛΩΣΣΙΚΩΝ ΔΕΞΙΟΤΗΤΩΝ

ΦΟΙΤΗΤΡΙΑ: ΠΑΤΣΑΤΖΑΚΗ ΕΛΕΝΗ, ΑΕΜ:3196 ΕΡΓΑΣΙΑ ΣΤΟ ΜΑΘΗΜΑ : ΥΕ258 ΕΝΑΛΛΑΚΤΙΚΕΣ ΜΟΡΦΕΣ ΑΞΙΟΛΟΓΗΣΗΣ ΤΩΝ ΓΛΩΣΣΙΚΩΝ ΔΕΞΙΟΤΗΤΩΝ 2015 ΕΡΓΑΣΙΑ ΣΤΟ ΜΑΘΗΜΑ : ΥΕ258 ΕΝΑΛΛΑΚΤΙΚΕΣ ΜΟΡΦΕΣ ΑΞΙΟΛΟΓΗΣΗΣ ΤΩΝ ΓΛΩΣΣΙΚΩΝ ΔΕΞΙΟΤΗΤΩΝ ΦΟΙΤΗΤΡΙΑ: ΠΑΤΣΑΤΖΑΚΗ ΕΛΕΝΗ, ΑΕΜ:3196 ΕΠΙΒΛΕΠΟΥΣΑ ΚΑΘΗΓΗΤΡΙΑ: ΓΡΙΒΑ ΕΛΕΝΗ 5/2/2015 ΕΙΣΑΓΩΓΗ Αυτό το portfolio φτιάχτηκε

Διαβάστε περισσότερα

Κεφάλαιο 4: Λογισμικό Συστήματος

Κεφάλαιο 4: Λογισμικό Συστήματος Κεφάλαιο 4: Λογισμικό Συστήματος Ερωτήσεις 1. Να αναφέρετε συνοπτικά τις κατηγορίες στις οποίες διακρίνεται το λογισμικό συστήματος. Σε ποια ευρύτερη κατηγορία εντάσσεται αυτό; Το λογισμικό συστήματος

Διαβάστε περισσότερα

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

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Δέντρα Αναζήτησης. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Δομές Δεδομένων Δέντρα Αναζήτησης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Το πρόβλημα Αναζήτηση Θέλουμε να διατηρήσουμε αντικείμενα με κλειδιά και να μπορούμε εκτός από

Διαβάστε περισσότερα

Επερωτήσεις σύζευξης με κατάταξη

Επερωτήσεις σύζευξης με κατάταξη Επερωτήσεις σύζευξης με κατάταξη Επερωτήσεις κατάταξης Top-K queries Οι επερωτήσεις κατάταξης επιστρέφουν τις k απαντήσεις που ταιριάζουν καλύτερα με τις προτιμήσεις του χρήστη. Επερωτήσεις κατάταξης Top-K

Διαβάστε περισσότερα

«Δουλεύω Ηλεκτρονικά, Δουλεύω Γρήγορα και με Ασφάλεια - by e-base.gr»

«Δουλεύω Ηλεκτρονικά, Δουλεύω Γρήγορα και με Ασφάλεια - by e-base.gr» Επεξήγηση web site με λογικό διάγραμμα «Δουλεύω Ηλεκτρονικά, Δουλεύω Γρήγορα και με Ασφάλεια - by e-base.gr» Web : www.e-base.gr E-mail : support@e-base.gr Facebook : Like Twitter : @ebasegr Πολλοί άνθρωποι

Διαβάστε περισσότερα

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

1 Εισαγωγή στις Συνδυαστικές Δημοπρασίες - Combinatorial Auctions ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Θεωρία Παιγνίων και Αποφάσεων Διδάσκων: Ε. Μαρκάκης, Εαρινό εξάμηνο 2015 Συμπληρωματικές σημειώσεις για τον μηχανισμό VCG 1 Εισαγωγή στις Συνδυαστικές

Διαβάστε περισσότερα

«Τεχνογλωσσία VIII» Εξαγωγή πληροφοριών από κείμενα

«Τεχνογλωσσία VIII» Εξαγωγή πληροφοριών από κείμενα «Τεχνογλωσσία VIII» Εξαγωγή πληροφοριών από κείμενα Σεμινάριο 8: Χρήση Μηχανικής Μάθησης στην Εξαγωγή Πληροφορίας Ευάγγελος Καρκαλέτσης, Γεώργιος Πετάσης Εργαστήριο Τεχνολογίας Γνώσεων & Λογισμικού, Ινστιτούτο

Διαβάστε περισσότερα

Εργαστήριο Λειτουργικών Συστημάτων 8o εξάμηνο, Ροή Υ, ΗΜΜΥ

Εργαστήριο Λειτουργικών Συστημάτων 8o εξάμηνο, Ροή Υ, ΗΜΜΥ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εργαστήριο Λειτουργικών Συστημάτων 8o εξάμηνο, Ροή Υ, ΗΜΜΥ Σχεδιασμός και υλοποίηση υποδομής σημείωσης διεργασιών στον

Διαβάστε περισσότερα

Εκπαίδευση Ενηλίκων: Εμπειρίες και Δράσεις ΑΘΗΝΑ, Δευτέρα 12 Οκτωβρίου 2015

Εκπαίδευση Ενηλίκων: Εμπειρίες και Δράσεις ΑΘΗΝΑ, Δευτέρα 12 Οκτωβρίου 2015 Εκπαίδευση Ενηλίκων: Εμπειρίες και Δράσεις ΑΘΗΝΑ, Δευτέρα 12 Οκτωβρίου 2015 Μάθηση και γνώση: μια συνεχής και καθοριστική αλληλοεπίδραση Αντώνης Λιοναράκης Στην παρουσίαση που θα ακολουθήσει θα μιλήσουμε

Διαβάστε περισσότερα

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

Ανάλυση Δεδομένων με χρήση του Στατιστικού Πακέτου R Ανάλυση Δεδομένων με χρήση του Στατιστικού Πακέτου R, Επίκουρος Καθηγητής, Τομέας Μαθηματικών, Σχολή Εφαρμοσμένων Μαθηματικών και Φυσικών Επιστημών, Εθνικό Μετσόβιο Πολυτεχνείο. Περιεχόμενα Εισαγωγή στο

Διαβάστε περισσότερα

Διαδικασιακός Προγραμματισμός

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 12 η Αναζήτηση/Ταξινόμηση Πίνακα Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην

Διαβάστε περισσότερα

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

ΤΜΗΜΑΤΑ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ ΤΜΗΜΑΤΑ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ Τα τμήματα ενός ηλεκτρονικού υπολογιστή είναι: 1. Επεξεργαστής 2. Μνήμη RAM και ROM 3. Κάρτα γραφικών 4. Μητρική Πλακέτα 5. Σκληρός Δίσκος 6. DVD / Blue Ray 7. Τροφοδοτικό

Διαβάστε περισσότερα

ΚΑΙΝΟΤΟΜΕΣ ΛΥΣΕΙΣ ΕΚΠΑΙΔΕΥΣΗΣ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗΣ ΟΔΗΓΟΣ E-LEARNING

ΚΑΙΝΟΤΟΜΕΣ ΛΥΣΕΙΣ ΕΚΠΑΙΔΕΥΣΗΣ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗΣ ΟΔΗΓΟΣ E-LEARNING ΚΑΙΝΟΤΟΜΕΣ ΛΥΣΕΙΣ ΕΚΠΑΙΔΕΥΣΗΣ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗΣ ΑΘΗΝΑ 2014 1 1. Τι είναι το e-learning; Το e-learning, η ηλεκτρονική μάθηση, είναι μια διαδικασία μάθησης και ταυτόχρονα μια μεθοδολογία εξ αποστάσεως εκπαίδευσης

Διαβάστε περισσότερα

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ 1) Πότε χρησιμοποιείται η δομή επανάληψης

Διαβάστε περισσότερα

Εισαγωγή στην Πληροφορική

Εισαγωγή στην Πληροφορική Εισαγωγή στην Πληροφορική Χειµερινό Εξάµηνο 2006-07 ρ. Παναγιώτης Χατζηδούκας (Π..407/80) Εισαγωγή στην Πληροφορική 1 Γενικές πληροφορίες Εισαγωγή στην Πληροφορική ιδασκαλία: Παναγιώτης Χατζηδούκας Email:

Διαβάστε περισσότερα

«Μηχανή Αναζήτησης Αρχείων» Ημερομηνία Παράδοσης: 30/04/2015, 09:00 π.μ.

«Μηχανή Αναζήτησης Αρχείων» Ημερομηνία Παράδοσης: 30/04/2015, 09:00 π.μ. ΕΡΓΑΣΙΑ 4 «Μηχανή Αναζήτησης Αρχείων» Ημερομηνία Παράδοσης: 30/04/2015, 09:00 π.μ. Στόχος Στόχος της Εργασίας 4 είναι να η εξοικείωση με την αντικειμενοστρέφεια (object oriented programming). Πιο συγκεκριμένα,

Διαβάστε περισσότερα

TRAVIS TRAFFIC VIOLATION INFORMATION SYSTEM ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΗΣΗΣ ΠΑΡΑΒΑΣΕΩΝ ΦΩΤΟΕΠΙΣΗΜΑΝΣΗΣ

TRAVIS TRAFFIC VIOLATION INFORMATION SYSTEM ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΗΣΗΣ ΠΑΡΑΒΑΣΕΩΝ ΦΩΤΟΕΠΙΣΗΜΑΝΣΗΣ TRAFFIC VIOLATION INFORMATION SYSTEM ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΗΣΗΣ ΠΑΡΑΒΑΣΕΩΝ ΦΩΤΟΕΠΙΣΗΜΑΝΣΗΣ TRAVIS-V1-2012 TRAVIS Λογισμικό Διαχείρισης Παραβάσεων Φωτοεπισήμανσης Το σύστημα διαχείρισης παραβάσεων φωτοεπισήμανσης

Διαβάστε περισσότερα

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4 «Προγραμματισμός Η/Υ» - Τετράδιο Εργαστηρίου #4 2 Γενικά Στο Τετράδιο #4 του Εργαστηρίου θα αναφερθούμε σε θέματα διαχείρισης πινάκων

Διαβάστε περισσότερα

Βασικές Έννοιες Πληροφορικής

Βασικές Έννοιες Πληροφορικής Βασικές Έννοιες Πληροφορικής 1. Τι είναι ο Ηλεκτρονικός Υπολογιστής Ο Ηλεκτρονικός Υπολογιστής είναι οποιαδήποτε συσκευή μεγάλη ή μικρή που επεξεργάζεται δεδομένα και εκτελεί την εργασία του σύμφωνα με

Διαβάστε περισσότερα

Σχολείο Δεύτερης Ευκαιρίας. Ιωαννίνων. Αριθμητικός Γραμματισμός. Εισηγήτρια : Σεντελέ Καίτη

Σχολείο Δεύτερης Ευκαιρίας. Ιωαννίνων. Αριθμητικός Γραμματισμός. Εισηγήτρια : Σεντελέ Καίτη Σχολείο Δεύτερης Ευκαιρίας Ιωαννίνων Αριθμητικός Γραμματισμός Εισηγήτρια : Σεντελέ Καίτη ΘΕΜΑ ΕΙΣΗΓΗΣΗΣ «Προγραμματισμός-Οργάνωση και υλοποίηση μιας διδακτικής ενότητας στον Αριθμητικό Γραμματισμό» ΠΡΟΣΘΕΣΗ

Διαβάστε περισσότερα

ΔΙΟΙΚΗΣΗ ΠΑΡΑΓΩΓΗΣ. ΕΝΟΤΗΤΑ 4η ΠΡΟΒΛΕΨΗ ΖΗΤΗΣΗΣ

ΔΙΟΙΚΗΣΗ ΠΑΡΑΓΩΓΗΣ. ΕΝΟΤΗΤΑ 4η ΠΡΟΒΛΕΨΗ ΖΗΤΗΣΗΣ ΤΕΙ ΚΡΗΤΗΣ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΔΙΟΙΚΗΣΗ ΠΑΡΑΓΩΓΗΣ ΕΝΟΤΗΤΑ 4η ΠΡΟΒΛΕΨΗ ΖΗΤΗΣΗΣ ΓΙΑΝΝΗΣ ΦΑΝΟΥΡΓΙΑΚΗΣ ΕΠΙΣΤΗΜΟΝΙΚΟΣ ΣΥΝΕΡΓΑΤΗΣ ΤΕΙ ΚΡΗΤΗΣ ΔΟΜΗ ΠΑΡΟΥΣΙΑΣΗΣ 1. Εισαγωγή

Διαβάστε περισσότερα

Σενάριο 14: Προγραμματίζοντας ένα Ρομπότ ανιχνευτή

Σενάριο 14: Προγραμματίζοντας ένα Ρομπότ ανιχνευτή Σενάριο 14: Προγραμματίζοντας ένα Ρομπότ ανιχνευτή Ταυτότητα Σεναρίου Τίτλος: Προγραμματίζοντας ένα Ρομπότ ανιχνευτή Γνωστικό Αντικείμενο: Πληροφορική Διδακτική Ενότητα: Ελέγχω-Προγραμματίζω τον Υπολογιστή

Διαβάστε περισσότερα

Εισαγωγή στην Πληροφορική Προγραμματισμός-Λειτουργικά

Εισαγωγή στην Πληροφορική Προγραμματισμός-Λειτουργικά Εισαγωγή στην Πληροφορική Προγραμματισμός-Λειτουργικά Ηλ. Γκρίνιας Τ. Ε. Ι. Σερρών Τμήμα Πληροφορικής και Επικοινωνιών Αλγόριθμοι Ορισμός: ο αλγόριθμος είναι μια σειρά από πεπερασμένα βήματα που καθορίζουν

Διαβάστε περισσότερα

Ανάκτηση Πληροφορίας σε Νέφη Υπολογιστών

Ανάκτηση Πληροφορίας σε Νέφη Υπολογιστών Πανεπιστήμιο Πατρών Τμήμα Μηχανικών Η/Υ & Πληροφορικής Διπλωματική Εργασία Ανάκτηση Πληροφορίας σε Νέφη Υπολογιστών Ζώης Βασίλειος 4183 Επιβλέπων: Γαροφαλάκης Ιωάννης Εξεταστές: Γαροφολάκης Ιωάννης, Χρήστος

Διαβάστε περισσότερα

Εγχειρίδιο Χρήσης Slide Recorder

Εγχειρίδιο Χρήσης Slide Recorder Εγχειρίδιο Χρήσης Slide Recorder Αναπτύχθηκε στο Κέντρο Λειτουργίας Διαχείρισης Δικτύου, Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών Προγραμματιστής: Γιώργος Φράγκος Περιεχόμενα Εγχειρίδιο Χρήσης Slide

Διαβάστε περισσότερα

Διάλεξη 2η: Αλγόριθμοι και Προγράμματα

Διάλεξη 2η: Αλγόριθμοι και Προγράμματα Διάλεξη 2η: Αλγόριθμοι και Προγράμματα Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Αλγόριθμοι και Προγράμματα

Διαβάστε περισσότερα

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

ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΕΠΙΚΟΙΝΩΝΙΩΝ ΜΕΤΑΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΣΧΕΔΙΑΣΗ ΕΚΠΑΙΔΕΥΤΙΚΟΥ ΛΟΓΙΣΜΙΚΟΥ Εργασία 1 η Ενεργή παρακολούθηση της ημερίδας με θέμα «Technology

Διαβάστε περισσότερα

ΔΙΔΑΣΚΑΛΙΑ ΓΝΩΣΤΙΚΗΣ ΣΤΡΑΤΗΓΙΚΗΣ ΓΙΑ ΤΗΝ ΚΑΤΑΝΟΗΣΗ Δρ. Ζαφειριάδης Κυριάκος Οι ικανοί αναγνώστες χρησιμοποιούν πολλές στρατηγικές (συνδυάζουν την

ΔΙΔΑΣΚΑΛΙΑ ΓΝΩΣΤΙΚΗΣ ΣΤΡΑΤΗΓΙΚΗΣ ΓΙΑ ΤΗΝ ΚΑΤΑΝΟΗΣΗ Δρ. Ζαφειριάδης Κυριάκος Οι ικανοί αναγνώστες χρησιμοποιούν πολλές στρατηγικές (συνδυάζουν την 1 ΔΙΔΑΣΚΑΛΙΑ ΓΝΩΣΤΙΚΗΣ ΣΤΡΑΤΗΓΙΚΗΣ ΓΙΑ ΤΗΝ ΚΑΤΑΝΟΗΣΗ Δρ. Ζαφειριάδης Κυριάκος Οι ικανοί αναγνώστες χρησιμοποιούν πολλές στρατηγικές (συνδυάζουν την παλαιότερη γνώση τους, σημειώνουν λεπτομέρειες, παρακολουθούν

Διαβάστε περισσότερα

Περιληπτικά, τα βήματα που ακολουθούμε γενικά είναι τα εξής:

Περιληπτικά, τα βήματα που ακολουθούμε γενικά είναι τα εξής: Αυτό που πρέπει να θυμόμαστε, για να μη στεναχωριόμαστε, είναι πως τόσο στις εξισώσεις, όσο και στις ανισώσεις 1ου βαθμού, που θέλουμε να λύσουμε, ακολουθούμε ακριβώς τα ίδια βήματα! Εκεί που πρεπει να

Διαβάστε περισσότερα

Λειτουργικά Συστήματα Κεφάλαιο 2 Οργάνωση Συστήματος Αρχείων 2.1 Διαχείριση Αρχείων και Σύστημα Αρχείων(File System)

Λειτουργικά Συστήματα Κεφάλαιο 2 Οργάνωση Συστήματος Αρχείων 2.1 Διαχείριση Αρχείων και Σύστημα Αρχείων(File System) 2.1.1 Εισαγωγή στη διαχείριση αρχείων Οι Η/Υ αποθηκεύουν τα δεδομένα και τα επεξεργάζονται. Εφαρμογή Προγράμματος C:\Documents and Settings\user\Τα έγγραφά μου\leitourgika.doc Λ.Σ. File System Γι αυτό

Διαβάστε περισσότερα

Υπολογιστική Νέφους Cloud computing

Υπολογιστική Νέφους Cloud computing Υπολογιστική Νέφους Cloud computing Χρ. Ηλιούδης Clouds Cloud computing??? Διείσδυση του Cloud Ορισμός - χαρακτηριστικά Ο όρος cloud έχει τις ρίζες στου στην αρχή του internet όπου συνήθιζαν να το αναπαριστούν

Διαβάστε περισσότερα

ΕΡΕΥΝΗΤΙΚΑ ΠΡΟΓΡΑΜΜΑΤΑ ΑΡΧΙΜΗΔΗΣ ΕΝΙΣΧΥΣΗ ΕΡΕΥΝΗΤΙΚΩΝ ΟΜΑΔΩΝ ΣΤΟ ΤΕΙ ΣΕΡΡΩΝ. Ενέργεια. 2.2.3.στ ΘΕΜΑ ΕΡΕΥΝΑΣ: ΔΙΑΡΘΡΩΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ ΕΧΡΩΜΩΝ ΕΓΓΡΑΦΩΝ

ΕΡΕΥΝΗΤΙΚΑ ΠΡΟΓΡΑΜΜΑΤΑ ΑΡΧΙΜΗΔΗΣ ΕΝΙΣΧΥΣΗ ΕΡΕΥΝΗΤΙΚΩΝ ΟΜΑΔΩΝ ΣΤΟ ΤΕΙ ΣΕΡΡΩΝ. Ενέργεια. 2.2.3.στ ΘΕΜΑ ΕΡΕΥΝΑΣ: ΔΙΑΡΘΡΩΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ ΕΧΡΩΜΩΝ ΕΓΓΡΑΦΩΝ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ (Τ.Ε.Ι.) ΣΕΡΡΩΝ Τμήμα ΠΛΗΡΟΦΟΡΙΚΗΣ & ΕΠΙΚΟΙΝΩΝΙΩΝ ΕΡΕΥΝΗΤΙΚΑ ΠΡΟΓΡΑΜΜΑΤΑ ΑΡΧΙΜΗΔΗΣ ΕΝΙΣΧΥΣΗ ΕΡΕΥΝΗΤΙΚΩΝ ΟΜΑΔΩΝ ΣΤΟ ΤΕΙ ΣΕΡΡΩΝ Ενέργεια. 2.2.3.στ ΘΕΜΑ ΕΡΕΥΝΑΣ: ΔΙΑΡΘΡΩΣΗ

Διαβάστε περισσότερα

Εξόρυξη γνώμης πολιτών από ελεύθερο κείμενο

Εξόρυξη γνώμης πολιτών από ελεύθερο κείμενο Δίκαρος Νίκος Δ/νση Μηχανογράνωσης κ Η.Ε.Σ. Υπουργείο Εσωτερικών. Τελική εργασία Κ Εκπαιδευτικής Σειράς Ε.Σ.Δ.Δ. Επιβλέπων: Ηρακλής Βαρλάμης Εξόρυξη γνώμης πολιτών από ελεύθερο κείμενο Κεντρική ιδέα Προβληματισμοί

Διαβάστε περισσότερα

Συνοπτική Μεθοδολογία Ασκήσεων Κεφαλαίου 7. Ασκήσεις στο IP Fragmentation

Συνοπτική Μεθοδολογία Ασκήσεων Κεφαλαίου 7. Ασκήσεις στο IP Fragmentation Συνοπτική Μεθοδολογία Ασκήσεων Κεφαλαίου 7 Οι σημειώσεις που ακολουθούν περιγράφουν τις ασκήσεις που θα συναντήσετε στο κεφάλαιο 7. Η πιο συνηθισμένη και βασική άσκηση αναφέρεται στο IP Fragmentation,

Διαβάστε περισσότερα

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

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ 5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ 5.1 Εισαγωγή στους αλγορίθμους 5.1.1 Εισαγωγή και ορισμοί Αλγόριθμος (algorithm) είναι ένα πεπερασμένο σύνολο εντολών οι οποίες εκτελούν κάποιο ιδιαίτερο έργο. Κάθε αλγόριθμος

Διαβάστε περισσότερα

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

ΚΕΦΑΛΑΙΟ 3ο ΤΥΧΑΙΟΙ ΑΡΙΘΜΟΙ ΕΛΕΓΧΟΣ ΤΥΧΑΙΟΤΗΤΑΣ ΚΕΦΑΛΑΙΟ 3ο ΤΥΧΑΙΟΙ ΑΡΙΘΜΟΙ ΕΛΕΓΧΟΣ ΤΥΧΑΙΟΤΗΤΑΣ 3.1 Τυχαίοι αριθμοί Στην προσομοίωση διακριτών γεγονότων γίνεται χρήση ακολουθίας τυχαίων αριθμών στις περιπτώσεις που απαιτείται η δημιουργία στοχαστικών

Διαβάστε περισσότερα

Query-Driven Indexing for Scalable Peer-to-Peer Text Retrieval. Gleb Skobeltsyn, Toan Luu, Ivana Podnar Zarko, Martin Rajman, Karl Aberer

Query-Driven Indexing for Scalable Peer-to-Peer Text Retrieval. Gleb Skobeltsyn, Toan Luu, Ivana Podnar Zarko, Martin Rajman, Karl Aberer Query-Driven Indexing for Scalable Peer-to-Peer Text Retrieval Gleb Skobeltsyn, Toan Luu, Ivana Podnar Zarko, Martin Rajman, Karl Aberer Περιγραφή του προβλήματος Ευρετηριοποίηση μεγάλων συλλογών εγγράφων

Διαβάστε περισσότερα

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

Κατανεμημένα Συστήματα Κατανεμημένα Συστήματα Android Grid Application Θωμάς Αντώνιος (3050073) Καραβέλλας Θεμιστοκλής (3050055) 1. Εισαγωγή Το Android αποτελεί ένα λειτουργικό σύστημα για κινητές συσκευές. Το λειτουργικό αυτό

Διαβάστε περισσότερα

Πειραματιζόμενοι με αριθμούς στο περιβάλλον του Microworlds Pro: διαθεματική προσέγγιση περί «πολλαπλασίων και διαιρετών»

Πειραματιζόμενοι με αριθμούς στο περιβάλλον του Microworlds Pro: διαθεματική προσέγγιση περί «πολλαπλασίων και διαιρετών» Πειραματιζόμενοι με αριθμούς στο περιβάλλον του Microworlds Pro: διαθεματική προσέγγιση περί «πολλαπλασίων και διαιρετών» μια Νίκος Δαπόντες Φυσικός Δευτεροβάθμιας Εκπαίδευσης Το περιβάλλον Microworlds

Διαβάστε περισσότερα

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

Αυτόνομοι Πράκτορες. Εργασία εξαμήνου. Value Iteration και Q- Learning για Peg Solitaire Αυτόνομοι Πράκτορες Εργασία εξαμήνου Value Iteration και Q- Learning για Peg Solitaire Μαρίνα Μαυρίκου 2007030102 1.Εισαγωγικά για το παιχνίδι Το Peg Solitaire είναι ένα παιχνίδι το οποίο παίζεται με ένα

Διαβάστε περισσότερα

Λίγα για το Πριν, το Τώρα και το Μετά.

Λίγα για το Πριν, το Τώρα και το Μετά. 1 Λίγα για το Πριν, το Τώρα και το Μετά. Ψάχνοντας από το εσωτερικό κάποιων εφημερίδων μέχρι σε πιο εξειδικευμένα περιοδικά και βιβλία σίγουρα θα έχουμε διαβάσει ή θα έχουμε τέλος πάντων πληροφορηθεί,

Διαβάστε περισσότερα

Φύλλο Εργασίας Μαθητή Τίτλος: Γίνομαι Ερευνητής/Ερευνήτρια

Φύλλο Εργασίας Μαθητή Τίτλος: Γίνομαι Ερευνητής/Ερευνήτρια Φύλλο Εργασίας Μαθητή Τίτλος: Γίνομαι Ερευνητής/Ερευνήτρια Τάξη: Γ Γυμνασίου Ενότητα: Επικοινωνώ και Συνεργάζομαι σε Διαδικτυακά Περιβάλλοντα Λύνω Προβλήματα με Υπολογιστικά Φύλλα Μάθημα: Επεξεργασία Ηλεκτρονικού

Διαβάστε περισσότερα

Κεφάλαιο 5: Στρατηγική χωροταξικής διάταξης

Κεφάλαιο 5: Στρατηγική χωροταξικής διάταξης K.5.1 Γραμμή Παραγωγής Μια γραμμή παραγωγής θεωρείται μια διάταξη με επίκεντρο το προϊόν, όπου μια σειρά από σταθμούς εργασίας μπαίνουν σε σειρά με στόχο ο κάθε ένας από αυτούς να κάνει μια ή περισσότερες

Διαβάστε περισσότερα

HMY 795: Αναγνώριση Προτύπων

HMY 795: Αναγνώριση Προτύπων HMY 795: Αναγνώριση Προτύπων Διάλεξη 5 Κατανομές πιθανότητας και εκτίμηση παραμέτρων δυαδικές τυχαίες μεταβλητές Bayesian decision Minimum misclassificaxon rate decision: διαλέγουμε την κατηγορία Ck για

Διαβάστε περισσότερα

Κεφάλαιο 4 ο. Ο Προσωπικός Υπολογιστής

Κεφάλαιο 4 ο. Ο Προσωπικός Υπολογιστής Κεφάλαιο 4 ο Ο Προσωπικός Υπολογιστής Μάθημα 4.3 Ο Επεξεργαστής - Εισαγωγή - Συχνότητα λειτουργίας - Εύρος διαδρόμου δεδομένων - Εύρος διαδρόμου διευθύνσεων - Εύρος καταχωρητών Όταν ολοκληρώσεις το μάθημα

Διαβάστε περισσότερα

Θεωρία Υπολογισμού και Πολυπλοκότητα

Θεωρία Υπολογισμού και Πολυπλοκότητα Θεωρία Υπολογισμού και Πολυπλοκότητα Κεφάλαιο 10. Μηχανές Turing 20,23 Μαρτίου 2007 Δρ. Παπαδοπούλου Βίκη 1 Μηχανές Turing: Ένα Γενικό Μοντέλο Υπολογισμού Ποια μοντέλα υπολογισμού μπορούν να δεχθούν γλώσσες

Διαβάστε περισσότερα

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 6 ΟΥ ΚΕΦΑΛΑΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 6.1 Τι ονοµάζουµε πρόγραµµα υπολογιστή; Ένα πρόγραµµα

Διαβάστε περισσότερα

Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών

Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών ΕΠΛ362: Τεχνολογία Λογισμικού ΙΙ (μετάφραση στα ελληνικά των διαφανειών του βιβλίου Software Engineering, 9/E, Ian Sommerville, 2011) Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών Οι διαφάνειες αυτές

Διαβάστε περισσότερα

Περιγραφική Στατιστική. Ακαδ. Έτος 2012-2013 1 ο εξάμηνο. Κ. Πολίτης

Περιγραφική Στατιστική. Ακαδ. Έτος 2012-2013 1 ο εξάμηνο. Κ. Πολίτης Περιγραφική Στατιστική Ακαδ. Έτος 2012-2013 1 ο εξάμηνο Κ. Πολίτης 1 2 Η στατιστική ασχολείται με τη συλλογή, οργάνωση, παρουσίαση και ανάλυση πληροφοριών. Οι πληροφορίες αυτές, πολύ συχνά αριθμητικές,

Διαβάστε περισσότερα

ΦΑΚΕΛΟΙ ΚΑΙ ΑΡΧΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ. Βασίλης Πρέκας Β'3

ΦΑΚΕΛΟΙ ΚΑΙ ΑΡΧΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ. Βασίλης Πρέκας Β'3 ΦΑΚΕΛΟΙ ΚΑΙ ΑΡΧΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Βασίλης Πρέκας Β'3 Τι Ονομάζουμε Αρχείο Σε Έναν Υπολογιστή Ένα αρχείο υπολογιστή είναι ένα σύνολο από πληροφορίες, δεδομένα ή και ένας πόρος, που χρησιμεύει ως "δοχείο" για

Διαβάστε περισσότερα

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

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΜΑΡΚΕΤΙΝΓΚ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΜΑΡΚΕΤΙΝΓΚ Ενότητα 8: Search Engine Marketing Βλαχοπούλου Μάρω Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως

Διαβάστε περισσότερα

Τα Διδακτικά Σενάρια και οι Προδιαγραφές τους. του Σταύρου Κοκκαλίδη. Μαθηματικού

Τα Διδακτικά Σενάρια και οι Προδιαγραφές τους. του Σταύρου Κοκκαλίδη. Μαθηματικού Τα Διδακτικά Σενάρια και οι Προδιαγραφές τους του Σταύρου Κοκκαλίδη Μαθηματικού Διευθυντή του Γυμνασίου Αρχαγγέλου Ρόδου-Εκπαιδευτή Στα προγράμματα Β Επιπέδου στις ΤΠΕ Ορισμός της έννοιας του σεναρίου.

Διαβάστε περισσότερα

Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ

Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ Η Κεντρική Μονάδα Επεξεργασίας (Central Processing Unit -CPU) ή απλούστερα επεξεργαστής αποτελεί το μέρος του υλικού που εκτελεί τις εντολές ενός προγράμματος υπολογιστή

Διαβάστε περισσότερα

ΤΕΙ ΣΕΡΡΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΕΞΕΤΑΣΗ ΣΤΟ ΜΑΘΗΜΑ «ΑΝΑΓΝΩΡΙΣΗ ΠΡΟΤΥΠΩΝ ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ» ΠΑ. 7 ΣΕΠΤΕΜΒΡΙΟΥ 2012

ΤΕΙ ΣΕΡΡΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΕΞΕΤΑΣΗ ΣΤΟ ΜΑΘΗΜΑ «ΑΝΑΓΝΩΡΙΣΗ ΠΡΟΤΥΠΩΝ ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ» ΠΑ. 7 ΣΕΠΤΕΜΒΡΙΟΥ 2012 ΠΑ. 7 ΣΕΠΤΕΜΒΡΙΟΥ Δίνονται τα εξής πρότυπα: [ ] [ ] [ ] [ ] Άσκηση η (3 μονάδες) Χρησιμοποιώντας το κριτήριο της ομοιότητας να απορριφθεί ένα χαρακτηριστικό με βάση το συντελεστή συσχέτισης. (γράψτε ποιο

Διαβάστε περισσότερα

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΘΕΜΑ Α Α1. Να χαρακτηρίσετε καθεμιά από τις προτάσεις που ακολουθούν γράφοντας στο τετράδιό σας, δίπλα από τον αριθμό κάθε πρότασης, το γράμμα Σ, αν αυτή

Διαβάστε περισσότερα

Β1.1 Αναπαράσταση Δεδομένων και Χωρητικότητα Μονάδων Αποθήκευσης

Β1.1 Αναπαράσταση Δεδομένων και Χωρητικότητα Μονάδων Αποθήκευσης Β1.1 Αναπαράσταση Δεδομένων και Χωρητικότητα Μονάδων Αποθήκευσης Τι θα μάθουμε σήμερα: Να αναφέρουμε τον τρόπο αναπαράστασης των δεδομένων (δυαδικό σύστημα) Να αναγνωρίζουμε πώς γράμματα και σύμβολα από

Διαβάστε περισσότερα

ΔΙΔΑΚΤΙΚΗ της ΠΛΗΡΟΦΟΡΙΚΗΣ

ΔΙΔΑΚΤΙΚΗ της ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΔΙΔΑΚΤΙΚΗ της ΠΛΗΡΟΦΟΡΙΚΗΣ Μ. Γρηγοριάδου Ρ. Γόγουλου Ενότητα: Η Διδασκαλία του Προγραμματισμού Περιεχόμενα Παρουσίασης

Διαβάστε περισσότερα

Ενημέρωση σε Windows 8.1 από τα Windows 8

Ενημέρωση σε Windows 8.1 από τα Windows 8 Ενημέρωση σε Windows 8.1 από τα Windows 8 Τα Windows 8.1 και τα Windows RT 8.1 είναι βασισμένα στα Windows 8 και στα Windows RT, για να σας προσφέρουν βελτιώσεις στην εξατομίκευση, την αναζήτηση, τις εφαρμογές,

Διαβάστε περισσότερα

Κεφάλαιο 5ο: Ακέραιος προγραμματισμός

Κεφάλαιο 5ο: Ακέραιος προγραμματισμός Κεφάλαιο 5ο: Ακέραιος προγραμματισμός 5.1 Εισαγωγή Ο ακέραιος προγραμματισμός ασχολείται με προβλήματα γραμμικού προγραμματισμού στα οποία μερικές ή όλες οι μεταβλητές είναι ακέραιες. Ένα γενικό πρόβλημα

Διαβάστε περισσότερα

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

Προγραμματισμός Ι. Προχωρημένα Θέματα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Προχωρημένα Θέματα Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ανακατεύθυνση Εισόδου/Εξόδου Συνήθως η τυπική είσοδος ενός προγράμματος (stdin) προέρχεται

Διαβάστε περισσότερα

Orchid: Integrating Schema Mapping and ETL ICDE 2008

Orchid: Integrating Schema Mapping and ETL ICDE 2008 Orchid: Integrating Schema Mapping and ETL ICDE 2008 Δομουχτσίδης Παναγιώτης Γενικά Data warehouse (DW): Είναι μία αποθήκη πληροφοριών οργανωμένη από ένα ενοποιημένο μοντέλο. Τα δεδομένα συλλέγονται από

Διαβάστε περισσότερα

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ και ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣ 2.1 Να δοθεί ο ορισμός

Διαβάστε περισσότερα

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Τμήμα Πληροφορικής & Επικοινωνιών Τομέας Υπολογιστικών Τεχνικών & Συστημάτων Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Ιωάννης Γεωργουδάκης - Πάρις Μαστοροκώστας Σεπτέμβριος 2011 ΠΕΡΙΕΧΟΜΕΝΑ

Διαβάστε περισσότερα

Μάθηση και Γενίκευση. "Τεχνητά Νευρωνικά Δίκτυα" (Διαφάνειες), Α. Λύκας, Παν. Ιωαννίνων

Μάθηση και Γενίκευση. Τεχνητά Νευρωνικά Δίκτυα (Διαφάνειες), Α. Λύκας, Παν. Ιωαννίνων Μάθηση και Γενίκευση Το Πολυεπίπεδο Perceptron (MultiLayer Perceptron (MLP)) Έστω σύνολο εκπαίδευσης D={(x n,t n )}, n=1,,n. x n =(x n1,, x nd ) T, t n =(t n1,, t np ) T Θα πρέπει το MLP να έχει d νευρώνες

Διαβάστε περισσότερα

ΠΕΡΙΕΧΟΜΕΝΑ. ΠΡΟΛΟΓΟΣ... vii ΠΕΡΙΕΧΟΜΕΝΑ... ix ΓΕΝΙΚΗ ΒΙΒΛΙΟΓΡΑΦΙΑ... xv. Κεφάλαιο 1 ΓΕΝΙΚΕΣ ΕΝΝΟΙΕΣ ΑΠΟ ΤΗ ΣΤΑΤΙΣΤΙΚΗ

ΠΕΡΙΕΧΟΜΕΝΑ. ΠΡΟΛΟΓΟΣ... vii ΠΕΡΙΕΧΟΜΕΝΑ... ix ΓΕΝΙΚΗ ΒΙΒΛΙΟΓΡΑΦΙΑ... xv. Κεφάλαιο 1 ΓΕΝΙΚΕΣ ΕΝΝΟΙΕΣ ΑΠΟ ΤΗ ΣΤΑΤΙΣΤΙΚΗ ΠΡΟΛΟΓΟΣ... vii ΠΕΡΙΕΧΟΜΕΝΑ... ix ΓΕΝΙΚΗ ΒΙΒΛΙΟΓΡΑΦΙΑ... xv Κεφάλαιο 1 ΓΕΝΙΚΕΣ ΕΝΝΟΙΕΣ ΑΠΟ ΤΗ ΣΤΑΤΙΣΤΙΚΗ 1.1 Πίνακες, κατανομές, ιστογράμματα... 1 1.2 Πυκνότητα πιθανότητας, καμπύλη συχνοτήτων... 5 1.3

Διαβάστε περισσότερα

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Ηλεκτρονικό Εμπόριο

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Ηλεκτρονικό Εμπόριο ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ Ηλεκτρονικό Εμπόριο Αναπτύσσοντας ένα Ηλεκτρονικό Κατάστημα Ηλεκτρονικό Εμπόριο Λειτουργικότητα Εφαρμογής Κατάλογος προϊόντων Καλάθι

Διαβάστε περισσότερα

Μέρος Α Περιβάλλον Εργασίας Windows... 19. Εργαστηριακή Άσκηση 1 Το Γραφικό Περιβάλλον του Υπολογιστή... 21

Μέρος Α Περιβάλλον Εργασίας Windows... 19. Εργαστηριακή Άσκηση 1 Το Γραφικό Περιβάλλον του Υπολογιστή... 21 Περιεχόμενα Μέρος Α Περιβάλλον Εργασίας Windows... 19 Εργαστηριακή Άσκηση 1 Το Γραφικό Περιβάλλον του Υπολογιστή... 21 1.1 Εκκίνηση του ηλεκτρονικού υπολογιστή... 22 1.2 Γραφικό παραθυρικό περιβάλλον εργασίας...

Διαβάστε περισσότερα

3. Σελιδοποίηση μνήμης 4. Τμηματοποίηση χώρου διευθύνσεων

3. Σελιδοποίηση μνήμης 4. Τμηματοποίηση χώρου διευθύνσεων ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ MHXANIKOI Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΙΠΕ Ο ΜΗΧΑΝΗΣ ΛΕΙΤΟΥΡΓΙΚΟΥ ΣΥΣΤΗΜΑΤΟΣ Γ. Τσιατούχας 6 ο Κεφάλαιο 1. Επίπεδο OSM 2. Εικονική μνήμη ιάρθρωση 3. Σελιδοποίηση μνήμης 4. Τμηματοποίηση

Διαβάστε περισσότερα

Δρομολόγηση Και Πολύχρωματισμός. Γραφημάτων ΚΑΡΑΓΕΩΡΓΟΣ ΤΙΜΟΘΕΟΣ Α.Μ 1026

Δρομολόγηση Και Πολύχρωματισμός. Γραφημάτων ΚΑΡΑΓΕΩΡΓΟΣ ΤΙΜΟΘΕΟΣ Α.Μ 1026 Δρομολόγηση Και Πολύχρωματισμός Μονοπατιών Γραφημάτων ΚΑΡΑΓΕΩΡΓΟΣ ΤΙΜΟΘΕΟΣ Α.Μ 1026 Εισαγωγή. Το πρόβλημα με το οποίο θα ασχοληθούμε εδώ είναι γνωστό σαν: Δρομολόγηση και Πολύ-χρωματισμός Διαδρομών (Routing

Διαβάστε περισσότερα

Symantec Backup Exec System Recovery 7.0 Server Edition. Πλήρης Επαναφορά Συστημάτων Windows Μέσα σε Λίγα Λεπτά και όχι σε Ώρες ή Ημέρες

Symantec Backup Exec System Recovery 7.0 Server Edition. Πλήρης Επαναφορά Συστημάτων Windows Μέσα σε Λίγα Λεπτά και όχι σε Ώρες ή Ημέρες ΒΑΣΙΚΑ ΠΛΕΟΝΕΚΤΗΜΑΤΑ Πλήρης Επαναφορά Συστημάτων Windows Μέσα σε Λίγα Λεπτά και όχι σε Ώρες ή Ημέρες Η Symantec έχει επανειλημμένα καταδείξει δημόσια ότι το Backup Exec System Recovery μπορεί να εκτελέσει

Διαβάστε περισσότερα

6 Εισαγωγή στο Wordpress 3.x

6 Εισαγωγή στο Wordpress 3.x Περιεχόμενα 1 Εγκατάσταση του WordPress... 11 Ελάχιστες απαιτήσεις... 11 Easy PHP... 12 Εγκατάσταση Easy PHP... 12 Βήματα εγκατάστασης EasyPHP με εικόνες... 13 Το EasyPHP στα Ελληνικά... 17 Κατέβασμα και

Διαβάστε περισσότερα

Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, μνήμης και Ε/Ε)

Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, μνήμης και Ε/Ε) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, και Ε/Ε) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι

Διαβάστε περισσότερα

Τι είναι ένα λειτουργικό σύστημα (ΛΣ); Μια άλλη απεικόνιση. Το Λειτουργικό Σύστημα ως μέρος του υπολογιστή

Τι είναι ένα λειτουργικό σύστημα (ΛΣ); Μια άλλη απεικόνιση. Το Λειτουργικό Σύστημα ως μέρος του υπολογιστή Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, και Ε/Ε) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι

Διαβάστε περισσότερα

Διοίκηση Λειτουργιών. τετράδιο 1

Διοίκηση Λειτουργιών. τετράδιο 1 Λορέντζος Χαζάπης Γιάννης Ζάραγκας Διοίκηση Λειτουργιών τα τετράδια μιας Οδύσσειας τετράδιο 1 Εισαγωγή στη διοίκηση των λειτουργιών Αθήνα 2012 τετράδιο 1 Εισαγωγή στη διοίκηση των λειτουργιών ΠΕΡΙΛΗΨΗ

Διαβάστε περισσότερα

Χρήση του RAW ORF. Κείμενο, παρουσίαση, έρευνα: Ιορδάνης Σταυρίδης DNG ARW X3F DCR NEF CRW RAW RAF CR2 SRF MRW

Χρήση του RAW ORF. Κείμενο, παρουσίαση, έρευνα: Ιορδάνης Σταυρίδης DNG ARW X3F DCR NEF CRW RAW RAF CR2 SRF MRW 8 Χρήση του RAW Κείμενο, παρουσίαση, έρευνα: Ιορδάνης Σταυρίδης DNG X3F ARW ORF DCR NEF CRW RAW RAF CR2 SRF MRW 9 Ένα ακατέργαστο αρχείο εικόνας RAW περιέχει ελάχιστα επεξεργασμένα στοιχεία από τον αισθητήρα

Διαβάστε περισσότερα

Διδακτική της Πληροφορικής ΙΙ

Διδακτική της Πληροφορικής ΙΙ Διδακτική της Πληροφορικής ΙΙ Ομάδα Γ Βότσης Ευστάθιος Γιαζιτσής Παντελής Σπαής Αλέξανδρος Τάτσης Γεώργιος Προβλήματα που αντιμετωπίζουν οι αρχάριοι προγραμματιστές Εισαγωγή Προβλήματα Δυσκολίες Διδακτικό

Διαβάστε περισσότερα

Βάσεις δεδομένων (Access)

Βάσεις δεδομένων (Access) Βάσεις δεδομένων (Access) Όταν εκκινούμε την Access εμφανίζεται το παρακάτω παράθυρο: Για να φτιάξουμε μια νέα ΒΔ κάνουμε κλικ στην επιλογή «Κενή βάση δεδομένων» στο Παράθυρο Εργασιών. Θα εμφανιστεί το

Διαβάστε περισσότερα