Αλγόριθμοι Μηχανικής Μάθησης σε Πολυεπεξεργαστικά Περιβάλλοντα

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

Download "Αλγόριθμοι Μηχανικής Μάθησης σε Πολυεπεξεργαστικά Περιβάλλοντα"

Transcript

1 Αλγόριθμοι Μηχανικής Μάθησης σε Πολυεπεξεργαστικά Περιβάλλοντα Στεργίου Κωνσταντίνος Α.Μ.496 Σχολή Θετικών Επιστημών - Τμήμα Μαθηματικών Μ.Π.Σ. Μαθηματικά και Σύγχρονες Εφαρμογές στα «Υπολογιστικά Μαθηματικά και Υπολογιστική Νοημοσύνη» Επιβλέπων καθηγητής: Σωτήρης Β. Κωτσιαντής Οκτώβριος

2 Τριμελής Επιτροπή Γράψα Θεοδούλα Αναπληρώτρια Καθηγήτρια Τμήματος Μαθηματικών Πανεπιστημίου Πατρών Ράγγος Όμηρος Επίκουρος Καθηγητής Τμήματος Μαθηματικών Πανεπιστημίου Πατρών Κωτσιαντής Σωτήριος Λέκτορας Τμήματος Μαθηματικών Πανεπιστημίου Πατρών 2

3 Περιεχόμενα Περιεχόμενα... 3 Διαγράμματα... 5 Εικόνες... 7 Περίληψη... 8 Εισαγωγή Μηχανική Μάθηση Επιβλεπόμενη Μάθηση Προσέγγιση Πρόβλεψη (Regression) Κατηγοριοποίηση (Classification) Cross Validation Φαινόμενο Υπερεκπαίδευσης (Overtraining, Overfitting) Δένδρα Ταξινόμησης και Απόφασης Εντροπία και Κέρδος Πληροφορίας (Entropy and Information Gain) Προβλήματα της μεθόδου και Αποκοπή («Κλάδεμα») Δέντρων (Tree Pruning) Κλασικοί Αλγόριθμοι Μάθησης Bootstrapping Bagging (Bootstrap Aggregating) Boosting Random Forest Αρχιτεκτονική και Υλοποίηση Αλγορίθμων στο Weka Αρχιτεκτονική της Εφαρμογής Υλοποίηση Αλγορίθμων Παράδειγμα 1 ο Παράδειγμα 2 ο Υλοποίηση Random Forest Πολυεπεξεργασία (Multiprocessing) και Πολυνημάτωση (Multithreading) Ιστορική Αναδρομή Βασικές Αρχές Πολυεπεξεργασίας Συγχρονισμός (Concurrency) Διαδικασίες (Processes) Νήματα (Threads) Νήματα Επιπέδου Χρήστη και Πυρήνα Συγκρίνοντας νήματα και διαδικασίες Πειραματική Διαδικασία Μεθοδολογία Περιγραφή Εφαρμογής Μεθοδολογία Ανάπτυξης WekaMethods extoptions (extended options) extmethods (extended methods)

4 Gui Common Αποτελέσματα Σύγκριση με weka Μικρά Σύνολα Δεδομένων Μεγάλα Σύνολα Δεδομένων Παράμετροι Αλγορίθμου NumFeatures MaxDepth Συμπεράσματα Παράρτημα Α : Weka Architecture Παράρτημα B : Πρόσθετα πειραματικά αποτελέσματα Αρχείο Iris Αρχείο Anneal Βιβλιογραφία

5 Διαγράμματα Διάγραμμα 1 : Δέντρο απόφασης προβλήματος Outlook Διάγραμμα 2 : Δέντρο απόφασης με όμοιους κλάδους Διάγραμμα 3 : Bagging Method Διάγραμμα 4 : Boosting Method Διάγραμμα 5 : Αρχιτεκτονική Weka Διάγραμμα 6 : Core Schematic Architecture Διάγραμμα 7 : Core Analytical UML Architecture Διάγραμμα 8 : Core Package Dependencies Διάγραμμα 9 : Core Depended On Core Διάγραμμα 10 : Core Depended on Packages Διάγραμμα 11 : Διάγραμμα κλάσεων Random Forest Διάγραμμα 12 : Classes στις οποίες ο Random Forest βασίζεται (Depend On) Διάγραμμα 13 : Κατανομή κώδικα στην μέθοδο Random Forest Διάγραμμα 14: Επίπεδα πόρων λειτουργικού συστήματος [36] Διάγραμμα 15: Linux Process Descriptor [35] Διάγραμμα 16: Σχηματική παράσταση Process Descriptor για συστήματα Unix [35] Διάγραμμα 17 :Περιεχόμενα διαδικασιών και βασικοί τρόποι επικοινωνίας τους [36]. 65 Διάγραμμα 18: Σχηματική παρουσίαση των βασικών καταστάσεων Διαδικασιών και Νημάτων [36] Διάγραμμα 19: Διάγραμμα όλων των δυνατών καταστάσεων μιας διαδικασίας σε συστήματα Unix [35] Διάγραμμα 20: Αναλυτικό διάγραμμα καταστάσεων για το Linux [35] Διάγραμμα 21: Πλήρες διάγραμμα καταστάσεων για συστήματα Windows [35] Διάγραμμα 22: Διάγραμμα επικοινωνίας μεταξύ νημάτων της ίδιας διαδικασίας (ITC) [35] Διάγραμμα 23: Διάγραμμα χρόνων αλγορίθμου σε μικρά σύνολα δεδομένων Διάγραμμα 24 : Διάγραμμα συμπεριφοράς thread σε μικρά αρχεία Διάγραμμα 25 : Συμπεριφορά μνήμης κατά την χρήση RandomForest σε μικρά αρχεία94 Διάγραμμα 26 : Υπολογιστική Ισχύς στην χρήση μικρών αρχείων Διάγραμμα 27 : Εμφάνιση των thread ανά επεξεργαστή Διάγραμμα 28 : Χρόνοι αλγορίθμου με χρήση μεγάλων συνόλων δεδομένων (αρχείων) Διάγραμμα 29 : Χρόνοι μεγάλων αρχείων μετά από αλλαγή των παραμέτρων του JVM Διάγραμμα 30 : Συμπεριφορά της μνήμης σε περίπτωση λάθους Διάγραμμα 31 : Συμπεριφορά thread μετά από λάθος Διάγραμμα 32 : Συνολικοί χρόνοι εκτέλεσης για διάφορες τιμές NumFeatures Διάγραμμα 33 : Μέσοι χρόνοι εκτέλεσης για διάφορες τιμές NumFeatures Διάγραμμα 34: Συνολικοί χρόνοι εκτέλεσης για διάφορες τιμές MaxDepth Διάγραμμα 35: Μέσος χρόνοι εκτέλεσης για διάφορες τιμές MaxDepth

6 Διάγραμμα 36: (Iris) Συνολικός χρόνος εκτέλεσης για διάφορες τιμές της παραμέτρου MaxDepth Διάγραμμα 37: Μέσος χρόνος εκτέλεσης για διάφορες τιμές της παραμέτρου MaxDepth Διάγραμμα 38 : Συνολικός χρόνος εκτέλεσης για διάφορες τιμές της παραμέτρου numfeatures Διάγραμμα 39 : Μέσος χρόνος εκτέλεσης για διάφορες τιμές της παραμέτρου numfeatures Διάγραμμα 40: (Anneal) Συνολικός χρόνος εκτέλεσης για διάφορες τιμές της παραμέτρου MaxDepth Διάγραμμα 41 : (Anneal) Μέσος χρόνος εκτέλεσης για διάφορες τιμές της παραμέτρου MaxDepth Διάγραμμα 42 : (Anneal) Συνολικός χρόνος εκτέλεσης για διάφορες τιμές της παραμέτρου NumFeatures Διάγραμμα 43 : (Anneal) Μέσος χρόνος εκτέλεσης για διάφορες τιμές της παραμέτρου NumFeatures

7 Εικόνες Εικόνα 1 : Σχηματικό διάγραμμα μεθόδου RandomForest Εικόνα 2: Σχηματική παράσταση συστημάτων SMP και MPP [36] Εικόνα 3 : Διάγραμμα νήματος χρήστη [35] Εικόνα 4 : Διάγραμμα νήματος πυρήνα [35] Εικόνα 5 : Σχηματικό διάγραμμα λειτουργίας Thread Pool [47] Εικόνα 6 : Βασική Οθόνη Εφαρμογής Εικόνα 7 : Οθόνες παραμέτρων μεθόδων Εικόνα 8 : Εμφάνιση της συμπεριφοράς της εφαρμογής σε περίπτωση προβλημάτων (ελλιπών πόρων) Πίνακες Πίνακας 1: Πεδία του descriptor μιας διαδικασίας Πίνακας 2: Στοιχεία που περιλαμβάνονται στους descriptor των νημάτων Πίνακας 3 : Στοιχεία αρχείων δεδομένων Πίνακας 4: Χρόνοι Randomforest σε περιβάλλον Weka Πίνακας 5 : Χρόνοι αλγορίθμου Randomforest σε διάφορα σύνολα δεδομένων Πίνακας 6 : Τιμές Χρόνων εκτέλεσης για διαφορετικές τιμές παραμέτρου NumFeatures Πίνακας 7 :Τιμές Χρόνων εκτέλεσης για διαφορετικές τιμές παραμέτρου MaxDepth. 107 Πίνακας 8 : Αποτελέσματα μετρήσεων δεδομένων Iris για την παράμετρο MaxDepth 125 Πίνακας 9 : Αποτελέσματα μετρήσεων δεδομένων Iris για την παράμετρο NumFeatures Πίνακας 10: (Anneal) Αποτελέσματα μετρήσεων δεδομένων Iris για την παράμετρο MaxDepth Πίνακας 13: (Anneal) Αποτελέσματα μετρήσεων δεδομένων Iris για την παράμετρο NumFeatures

8 Περίληψη Σκοπός της διπλωματικής εργασίας είναι η μελέτη αλγορίθμων Μηχανικής Μάθησης σε περιβάλλοντα πολυεπεξεργασίας. Οι τελευταίες εξελίξεις στον τομέα της παράλληλης και της κατανεμημένης επεξεργασίας, έχουν φέρει πραγματική επανάσταση στην κατασκευή των υπολογιστών. Παρότι όμως η εξέλιξη του υλικού (hardware) προχωρά με αλματώδεις ρυθμούς, η αντίστοιχη ανάπτυξη του λογισμικού καθυστερεί σε μεγάλο βαθμό. Αποτέλεσμα είναι να παρέχεται σε απλούς χρήστες μεγάλη επεξεργαστική ισχύς, η οποία όμως παραμένει αναξιοποίητη, λόγω των εφαρμογών που δεν μπορούν να εκμεταλλευτούν σε ικανοποιητικό βαθμό την παρεχόμενη ισχύ. Η ανάπτυξη αλγορίθμων στον τομέα της τεχνητής νοημοσύνης έως τώρα γίνονταν σύμφωνα με τα κλασικά πρότυπα της συναρτησιακής μεθόδου ή στην καλύτερη περίπτωση με τεχνικές αντικειμενοστραφούς προγραμματισμού. Σε κάθε περίπτωση, η εκτέλεση του αλγορίθμου γίνεται σε έναν επεξεργαστή με τις εντολές να εκτελούνται σειριακά. Την τελευταία δεκαετία αναπτύχθηκαν εφαρμογές και περιβάλλοντα τα οποία διευκόλυναν την εκτέλεση πολλών διαφορετικών αλγορίθμων και μεθόδων μέσω ενός κοινού περιβάλλοντος διεπαφής με τον χρήστη (πχ Weka, R, Matlab κλπ). Η προσέγγιση αυτή διευκόλυνε την διάδοση αλγορίθμων και μεθόδων που ήταν πριν πολύ δύσκολο να εκτελεστούν από ανθρώπους που δεν είχαν την κατάλληλη εξοικείωση με τον προγραμματισμό. Από την άλλη πλευρά όμως πρόσθεσε ένα ακόμη επίπεδο πολυπλοκότητας στις μεθόδους που αναπτύσσονταν γι αυτά τα περιβάλλοντα, κάτι που είχε σαν αποτέλεσμα αλγόριθμους πιο αργούς και με αυξημένους περιορισμούς λόγω των μηχανισμών της εφαρμογής που τους φιλοξενούσε. Οι μετρήσεις έγιναν με την χρήση αλγόριθμων δέντρων απόφασης. Η κατηγορία αυτή των μεθόδων μηχανικής μάθησης είναι ένας εξαιρετικός υποψήφιος, για να μεταφερθεί σε νέες πολυεπεξεργαστικές πλατφόρμες καθώς αποτελούνται από επαναληπτικές διαδικασίες που δεν χρειάζονται να περιμένουν άλλες για να εκτελεστούν. 8

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

10 Εισαγωγή Την τελευταία δεκαετία άρχισαν να διαδίδονται ευρέως υπολογιστές με περισσότερους από έναν επεξεργαστές. Αυτό έδωσε την δυνατότητα παράλληλης επεξεργασίας δεδομένων ακόμη και σε μικρή κλίμακα είτε για την ανάπτυξη νέων μεθόδων είτε για την βελτίωση των ήδη υπαρχόντων, κάτι που έως τώρα ήταν προνόμιο μόνο μεγάλων ερευνητικών ιδρυμάτων και κυβερνητικών οργανισμών. Η επεξεργαστική ισχύς και οι δυνατότητες παράλληλης επεξεργασίας από μόνες τους δεν είναι αρκετές για να βελτιώσουν την απόδοση των εφαρμογών και των μεθόδων που χρησιμοποιούνται ευρέως αυτή την στιγμή. Αυτό συμβαίνει γιατί όλοι οι αλγόριθμοι που έχουν αναπτυχθεί έως τώρα για τα μικρά και μέσα υπολογιστικά συστήματα, έχουν σχεδιαστεί εξ αρχής ώστε να χρησιμοποιούν έναν μόνο επεξεργαστή. Η εκτέλεση των εντολών γίνεται σειριακά, όπως επίσης και η προσπέλαση στην μνήμη και σε όλα τα υπόλοιπα υποσυστήματα του υπολογιστή. Βρισκόμαστε λοιπόν στη θέση όπου η υπολογιστική ισχύς πολλές φορές περισσεύει, αλλά δεν μπορεί να αξιοποιηθεί λόγω των εγγενών προβλημάτων σχεδίασης του λογισμικού, είτε αυτό είναι λειτουργικό σύστημα, είτε εφαρμογή. Η σχεδίαση νέων αλγορίθμων οι οποίοι θα εκμεταλλεύονται τη νέα αρχιτεκτονική σχεδίαση των υπολογιστικών συστημάτων δεν είναι κάτι απλό, καθώς χρειάζεται και εκτεταμένη θεωρητική ερευνητική προσπάθεια. Επίσης, οι διαφορετικές υλοποιήσεις της πολυεπεξεργασίας στο επίπεδο του υλικού, από διάφορους κατασκευαστές δυσκολεύουν τις προσπάθειες των ερευνητών για την ανάπτυξη μοντέλων που να λειτουργούν αποδοτικά σε διαφορετικά περιβάλλοντα. Αυτό μας οδηγεί στο να προσπαθήσουμε να αξιοποιήσουμε την πρόσθετη υπολογιστική ισχύ της πολυεπεξεργασίας, δημιουργώντας υβριδικά συστήματα. Σε αυτά προσπαθούμε να μετατρέψουμε τις ήδη υπάρχουσες μεθόδους με τέτοιο τρόπο ώστε, χωρίς να αλλάξουμε τον πυρήνα της λειτουργίας τους, να μπορέσουμε 10

11 να τις κάνουμε να εκτελούνται σε περισσότερους από έναν επεξεργαστές. Προσπαθούμε λοιπόν να βρούμε σε ποια σημεία ενός αλγορίθμου μπορούμε να επέμβουμε και να αλλάξουμε την σειρά εκτέλεσης ορισμένων εντολών ή και ολόκληρων τμημάτων κώδικα, έτσι ώστε κάποια τμήματα του αλγορίθμου να μπορούν να εκτελεστούν παράλληλα, όταν δεν είναι αναγκαίο να έχει ολοκληρωθεί ένα τμήμα για να προχωρήσει το επόμενο. Αυτή η τεχνική απέχει πολύ από το να είναι μια πλήρης παράλληλη επεξεργασία, μπορεί όμως να επιταχύνει την εκτέλεση ενός αλγορίθμου ή σε περίπτωση όπου θέλουμε να εκτελέσουμε πολλές φορές τον ίδιο αλγόριθμο με διαφορετικά στοιχεία και παραμέτρους, αυτό να γίνει παράλληλα και όχι σειριακά. Στόχος της εργασίας αυτής είναι να παρουσιάσει την σχεδίαση και ανάπτυξη τέτοιων τεχνικών σε μεθόδους αλγορίθμων μηχανικής μάθησης, και ειδικότερα σε αλγόριθμους δέντρων απόφασης. Στο πρώτο κεφάλαιο παρουσιάζουμε τις απαραίτητες από την θεωρία της Μηχανικής Μάθησης. Δίνουμε κυρίως σημασία στην περιγραφή εννοιών και όρων που είναι απαραίτητες για την κατανόηση των αλγορίθμων που θα αναπτυχθούν και εφαρμοστούν πιο κάτω. Στο δεύτερο κεφάλαιο αναφέρουμε τις μεθόδους στατιστικής που εφαρμόζονται στους meta αλγόριθμους και αναλύουμε τον τρόπο λειτουργίας του Random Forest. Στόχος είναι να καταλάβουμε την βασική λειτουργία αυτών των μεθόδων και γιατί είναι καλοί υποψήφιοι για να μπορέσουν να μετατραπούν σε μεθόδους παράλληλης επεξεργασίας δεδομένων. Στο τρίτο κεφάλαιο παρουσιάζουμε την υλοποίηση των αλγόριθμων αυτών στο περιβάλλον weka. Ξεκινώντας από την υλοποίηση αυτή θα προχωρήσουμε σε προσπάθεια εκτέλεσης των αλγορίθμων σε πολλούς επεξεργαστές ταυτόχρονα. Στο τέταρτο κεφάλαιο, υπάρχει μια συνοπτική ανάλυση της αρχιτεκτονικής των πολυεπεξεργαστών, των νημάτων (threads) και πως αυτά μπορούν να μας βοηθήσουν να επιταχύνουμε τους αλγόριθμους που αναφέραμε στα προηγούμενα κεφάλαια. 11

12 Στο πέμπτο και τελευταίο κεφάλαιο παρουσιάζουμε την εφαρμογή που έχει αναπτυχθεί, με βάση την οποία χρησιμοποιούμε meta αλγόριθμους του weka για επεξεργαστούμε πολλά σύνολα δεδομένων ταυτόχρονα σε ένα πολυεπεξεργαστικό υπολογιστικό σύστημα. 12

13 Μηχανική Μάθηση Όταν μιλάμε για μηχανική μάθηση εννοούμε την μελέτη και την ανάπτυξη αλγορίθμων, τέτοιων ώστε να μπορούν να «μάθουν» να εκτελούν διαδικασίες με βάση την πρότερη εμπειρία, χρησιμοποιώντας υπάρχοντα δεδομένα.[2] Ένας πιο τυπικός ορισμός είναι ότι «Μηχανική Μάθηση είναι η επιστήμη η οποία δίνει την δυνατότητα στους υπολογιστές να μαθαίνουν, χωρίς να χρειαστεί να προγραμματιστούν αναλυτικά». Πολλές φορές η μηχανική μάθηση παρομοιάζεται με προγραμματισμό με βάση παραδείγματα (programming by example).[1] Ουσιαστικά οι μέθοδοι (αλγόριθμοι) «μαθαίνουν να συμπεριφέρονται» σε μελλοντικά δεδομένα, με βάση τις παρατηρήσεις που έχουν κάνει στα παλιότερα. Ουσιαστικός στόχος είναι αυτή η μάθηση να είναι δυναμική και αυτόματη, δηλαδή να μην χρειάζεται η επέμβαση του ανθρώπου για να καθοδηγήσει τον αλγόριθμο προς της σωστή κατεύθυνση. Είναι πολύ βασικό οι αλγόριθμοι που δημιουργούνται να είναι γενικοί και αποδοτικοί. Η γενικότητα σημαίνει να είναι εφαρμόσιμοι σε μεγάλο εύρος προβλημάτων, ενώ η αποδοτικότητα αναφέρεται στο να μπορούν να εκτελεστούν σε πραγματικό χρόνο και με την χρήση περιορισμένων υπολογιστικών πόρων (μνήμη και αποθηκευτικό χώρο).[1] Πολύ σημαντικός παράγοντας στην μάθηση είναι ο όγκος των δεδομένων που είναι απαραίτητος για την ικανοποιητική λειτουργία των αλγορίθμων. Ένας υπολογιστής μπορεί να επεξεργαστεί ένα πολύ μεγάλο όγκο δεδομένων, συνεπώς και να δώσει καλύτερα αποτελέσματα από έναν άνθρωπο, ο οποίος μπορεί να μελετήσει ένα μικρό μόνο μέρος των υπαρχόντων δεδομένων. Αν και ο άνθρωπος είναι εξαιρετικά προσαρμοσμένος στο να παρατηρεί, να αξιολογεί και να προσαρμόζεται σε δεδομένα που λαμβάνει από το περιβάλλον του, ο όγκος και ο ρυθμός αύξησης των παραγόμενων δεδομένων στην σύγχρονη εποχή, έχει κάνει την άμεση παρατήρηση και αξιολόγηση ουσιαστικά αδύνατη. 13

14 Είναι προφανές ότι η ανθρώπινη ευφυΐα είναι πολύ γενικότερη έννοια από την μηχανική μάθηση, καθώς περιλαμβάνει διαδικασίες όπως ο συλλογισμός (reasoning) και η αναγωγή (deduction), στην περίπτωση της μάθησης μας ενδιαφέρουν κυρίως η εξαγωγή συμπερασμάτων (inference) και η προσαρμογή (adaptation).[1] Ένας πολύ σημαντικός παράγοντας της Μηχανική Μάθησης είναι ο βαθμός πολυπλοκότητας των αλγορίθμων που αναπτύσσουμε. Οι μέθοδοι που χρησιμοποιούνται είναι πιθανότατο να εφαρμοστούν σε πάρα πολύ μεγάλα σύνολα δεδομένων, συνεπώς ο βαθμός της υπολογιστικής πολυπλοκότητας είναι σημαντικότατος παράγοντας στην επιλογή της βέλτιστης μεθόδου. Συνήθως διακρίνουμε σε δύο κατηγορίες την πολυπλοκότητα [7] 1. Πολυπλοκότητα της εκπαίδευσης, η οποία δεν θεωρείται πολλές φορές πολύ σημαντική, καθώς η εκπαίδευση δεν γίνεται πολύ συχνά στις καθημερινές εφαρμογές 2. Πολυπλοκότητα της εφαρμογής σε νέα δεδομένα. Είναι εξαιρετικά σημαντική καθώς θέλουμε να πάρουμε απαντήσεις στα συνεχώς δημιουργούμενα δεδομένα σε όσο το δυνατό μικρότερο χρόνο. [1] Η Μηχανική Μάθηση χωρίζεται σε μερικές βασικές κατηγορίες [3] 1. Επιβλεπόμενη Μάθηση (Supervised Learning). Σε αυτή την περίπτωση γνωρίζουμε τα δεδομένα μας καθώς και τις σωστές απαντήσεις τους. Με βάση αυτά τα στοιχεία, ο αλγόριθμος γενικεύει την πρόβλεψή του σε όλες τις δυνατές εισόδους. 2. Μη Επιβλεπόμενη Μάθηση (Unsupervised Learning). Δεν έχουμε τις σωστές απαντήσεις στα δεδομένα μας, συνεπώς ο αλγόριθμος προσπαθεί να βρει συσχετίσεις και να γενικεύσει (κατηγοριοποιήσει) τα δεδομένα εισόδου. Υπάρχουν και άλλες κατηγορίες μάθησης, όπως η εξελικτική μάθηση (Evolutionary Learning), Reinforcement Learning κλπ., [3] εμείς όμως θα επικεντρωθούμε στην συγκεκριμένη μελέτη μόνο με την πρώτη περίπτωση, της επιβλεπόμενης μάθησης. 14

15 Επιβλεπόμενη Μάθηση Το χαρακτηριστικό αυτής είναι ότι μας δίνονται τα δεδομένα εισόδου, συνήθως με την μορφή διανυσμάτων, καθώς και το σωστό αποτέλεσμα στην έξοδο του αλγορίθμου. Στόχος μας είναι η εκπαίδευση του αλγόριθμου ώστε να μάθει από τα δεδομένα που γνωρίζουμε τις απαντήσεις τους και κατόπιν να γενικεύσουμε, έτσι ώστε όταν παρουσιάσουμε στον αλγόριθμο νέα δεδομένα με άγνωστες απαντήσεις, αυτός να μπορέσει να παράξει τις σωστές απαντήσεις με βάση την εμπειρία που απέκτησε από τα γνωστά δεδομένα. [6] Ουσιαστικά, στην επιβλεπόμενη μάθηση, το σύστημα προσεγγίζει μια συνάρτηση στόχο, η οποία περιγράφει το φαινόμενο που εξετάζουμε. Τα δεδομένα εκπαίδευσης (training data set) συνήθως συμβολίζονται σαν σύνολα (xi, ti), όπου xi είναι τα διανύσματα των δεδομένων εισόδου ενώ ti είναι είναι το αποτέλεσμα κάθε εισόδου i. [3] Το σύνολο των διανυσμάτων εισόδου αποτελούν το πεδίο ορισμού της συνάρτησης που επιχειρούμε να προσεγγίσουμε και ονομάζονται στιγμιότυπα (instances). Κάθε στιγμιότυπο (διάνυσμα) μπορεί να έχει πολλές διαστάσεις, τις οποίες ονομάζουμε χαρακτηριστικά (attributes). Ανάλογα με τα δεδομένα εξόδου που έχουμε, χαρακτηρίζουμε το σύνολό μας ως συνεχές ή διακριτό. Συνεχές είναι στην περίπτωση όπου τα ti μπορούν να πάρουν οποιαδήποτε τιμή, είναι για παράδειγμα δεδομένα χρόνου, απόστασης κλπ. Αντίθετα, στα διακριτά δεδομένα τα ti μπορούν να πάρουν συγκεκριμένες τιμές μέσα από κάποιο πεπερασμένο σύνολο τιμών, για παράδειγμα είναι (true, false), (0,1) κα. Οι διακριτές τιμές που μπορούν να πάρουν μπορεί να είναι πολλές (Πόλεις μιας χώρας, ονόματα φυτών κλπ.) ή λίγες (το φύλο ενός προσώπου), είναι όμως πάντα συγκεκριμένες και αριθμήσιμες. [4] Με βάση την προηγούμενη κατηγοριοποίηση των δεδομένων εξόδου, έχουμε και τον χαρακτηρισμό των προβλημάτων που μελετούμε σε προβλήματα πρόβλεψης και κατηγοριοποίησης. 15

16 Προσέγγιση Πρόβλεψη (Regression) Στην περίπτωση της πρόβλεψης, έχουμε συνεχή δεδομένα. Θεωρούμε ότι οι έξοδοι των δεδομένων, ti, είναι αποτελέσματα μιας συνάρτησης που εφαρμόζεται πάνω στις εισόδους μας, την αναλυτική όμως μορφή της συνάρτησης δεν την γνωρίζουμε. Χρησιμοποιώντας λοιπόν τα γνωστά δεδομένα μας, (xi, ti), εκπαιδεύουμε έναν αλγόριθμο έτσι ώστε η συμπεριφορά του να προσεγγίζει την άγνωστη σε εμάς συνάρτηση. Όταν του εισάγουμε τις γνωστές μας τιμές να μας δίνει τις σωστές εξόδους και όταν εισάγουμε νέες τιμές με άγνωστες τιμές εξόδου, αυτός να μπορεί να προβλέψει την τιμή που θα έδινε σαν έξοδο η άγνωστη συνάρτηση. [1, 2, 5, 6] Ουσιαστικά είναι γενίκευση των αντίστοιχων μεθόδων πρόβλεψης της αριθμητικής ανάλυσης, για παράδειγμα μπορεί να εφαρμοστεί και σε μορφές δεδομένων στις οποίες δεν μπορούμε να εφαρμόσουμε τις κλασικές μεθόδους. Η μορφή της συνάρτησης που προσπαθούμε να προσεγγίσουμε παραμένει άγνωστη και η ακρίβεια της πρόβλεψης εξαρτάται από πολλούς παράγοντες. [6] Κατηγοριοποίηση (Classification) Στην κατηγορία αυτή έχουμε διακριτά δεδομένα, αντί για συνεχή. Οι τιμές εξόδου, ti, αντιστοιχούν σε κατηγορίες στις οποίες κατατάσσονται τα διανύσματα εισόδου. Συνεπώς, παρουσιάζοντας νέα δεδομένα, δεν προσπαθούμε να προσεγγίσουμε την τιμή μιας συνάρτησης, αλλά να κατατάξουμε την είσοδό μας σε κάποια από τις κατηγορίες που γνωρίζουμε. Οι κατηγορίες αυτές συνήθως ονομάζονται κλάσεις και μπορεί να έχουν αριθμητικές τιμές, να είναι σύμβολα κλπ. Γενικά ανάλογα με την φύση του προβλήματος που μελετούμε καθορίζονται και οι κλάσεις στις οποίες ομαδοποιούνται τα δεδομένα μας. Οι μεθοδολογίες που εφαρμόζονται στα προβλήματα κατηγοριοποίησης διαφέρουν πολύ μεταξύ τους σε ότι αφορά τον τρόπο με τον οποίο προσπαθούν να ομαδοποιήσουν τα στοιχεία που τους παρέχονται. Στην γενική τους όμως μορφή, εκείνο που προσπαθούν να κάνουν είναι να υπολογίσουν τα όρια μεταξύ των 16

17 κατηγοριών - κλάσεων (decision boundaries). Cross Validation Η εκπαίδευση του αλγορίθμου μας γίνεται πάντα με την χρήση των δεδομένων που γνωρίζουμε. Το πρόβλημα που παρουσιάζεται είναι κατά πόσο αξιόπιστα είναι τα αποτελέσματα που θα πάρουμε στην διαδικασία της γενίκευσης, δηλαδή όταν θα εισάγουμε στον αλγόριθμό μας, δεδομένα με άγνωστη τιμή εξόδου, την οποία θα πρέπει να υπολογίσει με βάση την εκπαίδευση που του έχει γίνει. [5] Πρέπει με κάποιο τρόπο να ελέγξουμε την ικανότητα του αλγορίθμου να απαντά σωστά, αξιοποιώντας την παρεχόμενη εκπαίδευση. Ο μόνος τρόπος ελέγχου που έχουμε είναι να χρησιμοποιήσουμε πάλι τα γνωστά δεδομένα που έχουμε, τώρα όχι σαν στοιχεία της εκπαίδευσης αλλά σαν στοιχεία ελέγχου. Για τον λόγο αυτό χωρίζουμε το σύνολο των γνωστών δεδομένων μας σε δύο τμήματα. Αφού χρησιμοποιήσουμε το πρώτο τμήμα για την εκπαίδευση του αλγορίθμου, κατόπιν εισάγουμε σε αυτόν τα στοιχεία του δεύτερου τμήματος. Οι απαντήσεις που μας δίνει η μέθοδός μας ελέγχονται με τις γνωστές τιμές εξόδου των δεδομένων μας και προκύπτει ένα ποσοστό επιτυχίας της εκπαίδευσης. [3, 5] Για παράδειγμα έστω ότι έχουμε ένα σύνολο δεδομένων με 1000 στοιχεία (instances). Χωρίζουμε το σύνολο αυτό σε δύο τμήματα, ένα με 100 στοιχεία και το δεύτερο με τα εναπομείναντα 900. Εκπαιδεύουμε τον αλγόριθμό μας χρησιμοποιώντας το πρώτο τμήμα. Σε δεύτερη φάση εισάγουμε, στον εκπαιδευμένο πια αλγόριθμο τα 900 στοιχεία του δεύτερου τμήματος. Ο αλγόριθμος θα μας δώσει 900 τιμές εξόδου, μια για κάθε στοιχείο (instance). Εμείς όμως γνωρίζουμε εκ των προτέρων τις σωστές απαντήσεις (εξόδους) για κάθε στοιχείο. Συνεπώς συγκρίνουμε τις γνωστές και σωστές τιμές με αυτές που έχει υπολογίσει ο αλγόριθμος και βρίσκουμε ότι ο αλγόριθμος μας έδωσε σωστά 17

18 αποτελέσματα σε 800 από τις 900 τιμές και λάθος στις υπόλοιπες 100 τιμές. Συνεπώς μπορούμε να πούμε ότι ο αλγόριθμός μας είναι αξιόπιστος κατά 800/900= ή %. Άρα όταν εισάγουμε νέα στοιχεία με άγνωστες εξόδους στον αλγόριθμο που εκπαιδεύσαμε, θα μπορούμε να αναμένουμε ότι το αποτέλεσμα που θα πάρουμε θα είναι σωστό κατά 88.89%. Η μέθοδος που περιγράψαμε ονομάζεται cross validation και είναι από τις πιο βασικές μεθοδολογίες που διαθέτουμε για έλεγχο της αξιοπιστίας των μεθόδων που χρησιμοποιούμε. Φαινόμενο Υπερεκπαίδευσης (Overtraining, Overfitting) Επίσης μπορεί να εμφανιστεί το φαινόμενο της υπερεκπαίδευσης, δηλαδή ο αλγόριθμός μας να κάνει πολύ καλές προβλέψεις για τα δεδομένα εκπαίδευσης και ελέγχου, αλλά να μην γενικεύει καθόλου καλά σε νέα και άγνωστα δεδομένα. Αυτό σημαίνει ότι ο αλγόριθμος έχει «μάθει» πολύ καλά τα συγκεκριμένα δεδομένα που του δίνουμε στο στάδιο της εκπαίδευσης και του ελέγχου, αλλά η γενίκευσή του δεν είναι καλή καθώς είναι πια προσαρμοσμένος να απαντά σωστά μόνο στα δεδομένα που του παρουσιάσαμε. [3, 5, 6] Δένδρα Ταξινόμησης και Απόφασης Από τους δημοφιλέστερους αλγόριθμους μηχανικής μάθησης με επίβλεψη είναι τα δέντρα ταξινόμησης (classification trees) και δέντρα απόφασης (decision trees). Είναι μια μέθοδος κατασκευής - προσέγγισης συναρτήσεων με έξοδο διακριτές τιμές. [7] Το παραγόμενο αποτέλεσμα είναι μια δενδροειδής μορφή η οποία περιγράφει τα δεδομένα και τους κανόνες που χρησιμοποιήθηκαν για την κατασκευή του δέντρου (classification rules). 18

19 Κάθε εσωτερικός κόμβος του δέντρου, αντιστοιχεί σε μια συνθήκη ελέγχου της τιμής ενός χαρακτηριστικού (attribute) των περιπτώσεων (instances) που χρησιμοποιήθηκαν στην κατασκευή του δέντρου. Κάθε κλαδί που φεύγει από έναν κόμβο αντιστοιχεί σε διαφορετική τιμή του χαρακτηριστικού που ελέγχθηκε στον κόμβο αυτό. Στους εξωτερικούς κόμβους του δέντρου αντιστοιχούν οι τιμές εξόδου (classes) των δεδομένων μας. Το σημαντικότερο πλεονέκτημα των δέντρων ταξινόμησης είναι η ευκολία που προσφέρουν για την ερμηνεία των αποτελεσμάτων που παίρνουμε. Οι δεντρικές δομές είναι πολύ απλές στην χρήση τους, στην κατανόησή τους, αλλά και στην κατασκευή τους, καθώς το υπολογιστικό κόστος είναι της τάξης του O(lg n) στην περίπτωση των δυαδικών δέντρων, τα οποία είναι και τα πιο συνηθισμένα. Αντίστοιχο είναι το κόστος το οποίο έχουμε και στις περιπτώσεις ανεύρεσης και ταξινόμησης δεδομένων που βρίσκονται σε μορφή δέντρων. Η κατασκευή του δέντρου γίνεται με την χρήση αναδρομικών μεθόδων, από πάνω προς τα κάτω (top down) και αποτελείται από τέσσερα στάδια [8] 1. Εύρεση του χαρακτηριστικού (attribute) το οποίο αν χρησιμοποιηθεί σαν κριτήριο διαχωρισμού των δεδομένων (instances) μπορεί να οδηγήσει σε κόμβους που είναι διαφορετικοί σε σχέση με την αναζητούμενη τιμή (class). 2. Δημιουργία του κόμβου και προσθήκη στο δέντρο 3. Διαχωρισμός των δεδομένων 4. Επανάληψη της προηγούμενης διαδικασίας έως ότου φτάσουμε σε μη διαχωριζόμενους κόμβους (φύλλα) Όπως είναι φανερό, το βασικό σημείο της διαδικασίας είναι η εύρεση του χαρακτηριστικού που θα χρησιμοποιηθεί για την κατασκευή του κόμβου και τον διαχωρισμό. Οι μέθοδοι που εφαρμόζονται είναι στατιστικές και υπολογίζουν μεταβλητές οι οποίες μας δίνουν ένα μέτρο του βέλτιστου χαρακτηριστικού. [10] Η επιλογή του βέλτιστου χαρακτηριστικού γίνεται σε κάθε βήμα (κόμβο) που πρέπει να υπολογίσουμε. Στην επιλογή συμμετέχουν μόνο τα δεδομένα που 19

20 ανήκουν σε αυτό τον κόμβο και όχι το σύνολο των δεδομένων μας. Η όλη διαδικασία κατασκευής του δέντρου ολοκληρώνεται όταν ο κόμβος που υπολογίζουμε γίνει φύλλο(leaf). Για να χαρακτηριστεί κάποιος κόμβος ως φύλλο, θα πρέπει όλα τα δεδομένα που ανήκουν σε αυτό τον κόμβο να ανήκουν και στην ίδια κατηγορία (κλάση). Η τιμή της κλάσης αυτής είναι και η τιμή του αντίστοιχου κόμβου. Εντροπία και Κέρδος Πληροφορίας (Entropy and Information Gain) Πριν εξηγήσουμε αναλυτικότερα την μέθοδο εύρεσης του βέλτιστου χαρακτηριστικού, θα πρέπει να ορίσουμε την έννοια της εντροπίας. Ο ορισμός της εντροπίας βασίζεται στην αντίστοιχη έννοια της Θεωρίας Πληροφοριών και υπολογίζεται από την σχέση [10, 11]! Η = p! lg(p! )!!! όπου n είναι ο αριθμός των κλάσεων που υπάρχουν στα δεδομένα μας και p! είναι το ποσοστό των παραδειγμάτων του συνόλου μας που ανήκει στην κλάση i. Η εντροπία μας βοηθά να εκτιμήσουμε την «ομοιογένεια» των δεδομένων μας σε σχέση με τις κλάσεις που υπάρχουν σε αυτά. Θα μπορούσαμε να χρησιμοποιήσουμε τον προηγούμενο ορισμό για να εκτιμήσουμε το βέλτιστο χαρακτηριστικό, εφόσον η εντροπία αποτελεί ένα μέτρο της συνεισφοράς του χαρακτηριστικού στην κλάση που ανήκει το συγκεκριμένο instance. Δεν μας δίνει όμως καμιά πληροφορία για το κατά πόσο θα μεταβληθεί η εντροπία στα εναπομείναντα δεδομένα, εφόσον επιλεγεί το συγκεκριμένο χαρακτηριστικό. Γι αυτό τον λόγο εισάγουμε την έννοια του «Κέρδους Πληροφορίας» (Information Gain), το οποίο μας δείχνει κατά πόσο θα μειωθεί η εντροπία των δεδομένων εκπαίδευσης, στην 20

21 περίπτωση που επιλέξουμε το χαρακτηριστικό A i, από το σύνολο των χαρακτηριστικών A i,, A n. Το κέρδος της πληροφορίας δίνεται από την σχέση G(S, A! ) = H S! S H(S!)!!! όπου S είναι το σύνολο εκπαίδευσης Η είναι η εντροπία του S A i, η ανεξάρτητη μεταβλητή (χαρακτηριστικό) το οποίο εξετάζουμε Su, το σύνολο των δεδομένων με τιμή u στο χαρακτηριστικό A i H(S! ), η εντροπία του υπό εξέταση κόμβου ως προς την τιμή u του A i Μπορούμε να πούμε ότι το κέρδος πληροφορίας μας δίνει την μείωση της εντροπίας στο σύνολο των δεδομένων μας, αν επιλεγεί το χαρακτηριστικό A i ως μεταβλητή διαχωρισμού. Μείωση της εντροπίας οδηγεί στην αύξηση της πυκνότητας της πληροφορίας και συνεπώς και σε περισσότερο «συμπαγή» δεδομένα. Στην πράξη, ο δεύτερος όρος της προηγούμενης σχέσης, μας δίνει την εντροπία των δεδομένων μετά τον διαχωρισμό που θα γίνει με βάση το συγκεκριμένο χαρακτηριστικό. Συνεπώς, σε κάθε κόμβο υπολογίζουμε το κέρδος πληροφορίας για κάθε χαρακτηριστικά, και επιλέγουμε αυτό που μας δίνει το μέγιστο κέρδος, κάθε φορά. Παράδειγμα Θα δώσουμε ένα παράδειγμα για το πως εφαρμόζεται η μεθοδολογία που αναφέραμε για την κατασκευή δέντρων αποφάσεων. Για τον σκοπό αυτό θα χρησιμοποιήσουμε 21

22 ένα πολύ γνωστό σύνολο δεδομένων, το οποίο έχει καιρικά στοιχεία και η κλάση (πρόβλεψη) που επιχειρείται να γίνει, είναι αν με τις δεδομένες καιρικές συνθήκες μπορεί κάποιος να παίξει σε ανοικτό χώρο. Τα γνωστά δεδομένα μας εμφανίζονται στον πίνακα 1. Το σύνολό μας περιέχει 14 γραμμές (instances) και κάθε γραμμή περιέχει 5 στήλες (attributes). Τα τέσσερα πρώτα χαρακτηριστικά μας καθορίζουν τα στοιχεία εισόδου (outlook, temperature, humidity, windy) και το πέμπτο χαρακτηριστικό είναι η πρόβλεψη (κλάση) που γίνεται με βάση τα τέσσερα πρώτα. Ξεκινώντας να κατασκευάσουμε το δέντρο μας θεωρούμε ότι όλα τα δεδομένα μας βρίσκονται στην ρίζα του δέντρου μας (root). Θα διαχωρίσουμε τα δεδομένα μας (partition data) με βάση κάποιο από τα χαρακτηριστικά μας, υπολογίζοντας το κέρδος πληροφορίας για αυτά. Outlook Temperature Humidity Windy Play? sunny hot high false No sunny hot high true No overcast hot high false Yes rain mild high false Yes rain cool normal false Yes rain cool normal true No overcast cool normal true Yes sunny mild high false No 22

23 sunny cool normal false Yes rain mild normal false Yes sunny mild normal true Yes overcast mild high true Yes overcast hot normal false Yes rain mild high true No Υπολογίζουμε την εντροπία για το χαρακτηριστικό outlook. Αυτό περιέχει πέντε φορές την τιμή «rainy» εκ των οποίων οι τρεις μας δίνουν τιμή κλάσης «yes» και οι δύο τιμή κλάσης «no». Συνολικά για το outlook έχουμε Συνολικά η εντροπία για το outlook είναι (9 κλάσεις «yes» και 5 κλάσεις «no») 23

24 H Outlook =!!" lg!!"!!" lg!!" = 0.94 Υπολογίζουμε κατόπιν την εντροπία για κάθε τιμή του χαρακτηριστικού outlook H Outlook, Sunny = 2 5 lg lg 3 5 = H Outlook, Rainy = 3 5 lg lg 2 5 = H Outlook, Overcast = 4 4 lg lg 0 4 = 1 lg 1 0 lg (0) = 0 (επειδή το lg(0) δεν ορίζεται θεωρούμε ότι lg(0)=0) Με βάση τα προηγούμενα βρίσκουμε ότι η αναμενόμενη πληροφορία για το outlook (expected information for attribute) είναι info Outlook = = Τελικά το κέρδος πληροφορίας για το outlook είναι G Outlook = H Outlook info Outlook = =

25 Εργαζόμενοι με τον ίδιο τρόπο βρίσκουμε ότι G Temperature = G Humidity = G Windy = Συνεπώς η καλύτερη επιλογή χαρακτηριστικού για να κάνουμε τον διαχωρισμό είναι το Outlook, και ο πρώτος κόμβος του δέντρου μας θα είναι Outlook Sunny Rainy Overcast Επαναλαμβάνοντας τα προηγούμενα βήματα για τα υπόλοιπα χαρακτηριστικά και ξεκινώντας από τον κλάδο «Sunny» βρίσκουμε 25

26 G Temperature = G Windy = 0.02 G Humidity =

27 Αν κάνουμε τους υπολογισμούς έως το τέλος θα καταλήξουμε σε δέντρο απόφασης της μορφής Διάγραμμα 1 : Δέντρο απόφασης προβλήματος Outlook Προβλήματα της μεθόδου και Αποκοπή («Κλάδεμα») Δέντρων (Tree Pruning) Το ερώτημα που τίθεται τώρα είναι αν το δέντρο που κατασκευάστηκε με την προηγούμενη μέθοδο είναι το βέλτιστο ή μπορεί να κατασκευαστεί και κάποιο καλύτερο. [9] Η μορφή του δέντρου εξαρτάται από τα δεδομένα μας, συνεπώς η επιλογή των δεδομένων που θα γίνει κατά την εφαρμογή του cross- validation, έχει μεγάλη σημασία στην τελική μορφή του δέντρου. Διαφορετικές επιλογές συνόλων μπορεί να οδηγήσουν σε πολλά διαφορετικά δέντρα. Επίσης κατά την κατασκευή δέντρων απόφασης οι μέθοδοι επιλογής χαρακτηριστικών μπορεί να οδηγήσουν, σε μερικές μορφές δεδομένων, να προσθέτουν όμοιους κλάδους στο δέντρο (replicated trees). Στο δέντρο της εικόνας που ακολουθεί είναι προφανές το πρόβλημα της πολλαπλής εμφάνισης όμοιων κλάδων σε ένα δέντρο απόφασης. [8] 27

28 Διάγραμμα 2 : Δέντρο απόφασης με όμοιους κλάδους Για την αποφυγή τέτοιων προβλημάτων έχουν αναπτυχθεί διάφορες τεχνικές «κουρέματος». Οι μέθοδοι αυτοί ακολουθούν την αντίστροφη διαδρομή από την κατασκευή του δέντρου (bottom up) και ξεκινώντας από τα φύλλα, ελέγχουν αν κάποια φύλλα ή κόμβοι μπορούν να διαγραφούν (κούρεμα) ή να ενωθούν σε ένα νέο φύλλο ή κόμβο, μειώνοντας έτσι το ύψος και την πολυπλοκότητα του δέντρου. Υπάρχουν βέβαια και αλγόριθμοι κουρέματος που ακολουθούν την διαδρομή που ακολουθήθηκε και κατά την κατασκευή του δέντρου (top down). Ο απλούστερος αλγόριθμος που εφαρμόζεται είναι αυτός της αναγωγής (reduced error pruning). Σύμφωνα με αυτόν κάθε κόμβος αντικαθίσταται με την κλάση που κυριαρχεί στον κόμβο. Αν η ακρίβεια πρόβλεψης στο νέο δέντρο δεν επηρεάζεται, τότε κρατάμε το νέο δέντρο, αλλιώς επιστρέφουμε στο προηγούμενο. Αυτή η μέθοδος είναι πολύ απλή και γρήγορη και γι αυτό είναι και πολύ δημοφιλής, αν και δεν βασίζεται σε κάποιο μοντέλο που μπορεί να εξηγήσει αναλυτικά για πιο λόγο δεν επηρεάζεται η ικανότητα του δέντρου να αποφασίζει και να γενικεύει σωστά. [10] 28

29 Στην δική μας περίπτωση, οι αλγόριθμοι που χρησιμοποιούμε χρησιμοποιούν κυρίως τον αλγόριθμο υπολογισμού του κόστους πολυπλοκότητας (cost complexity error pruning). Σε αυτή την περίπτωση, δημιουργούμε μια ακολουθία δέντρων, Τ 0, Τ 1,..., Τ n, όπου Τ 0 είναι το αρχικό μας δέντρο και τελικό δέντρο T n είναι ένα δέντρο που περιέχει μόνο ένα κόμβο, την ρίζα του αρχικού μας δέντρου. Στο βήμα i, από το δέντρο του βήματος i- 1, αποκόπτεται ένας κλάδος και αντικαθίσταται με ένα φύλλο, το οποίο προκύπτει με την ίδια μέθοδο που χρησιμοποιείται και για την δημιουργία του δέντρου. Για την επιλογή του κλάδου που θα αποκοπεί, υπολογίζουμε τον «ρυθμό λάθους» (error rate) του συγκεκριμένου δέντρου T i- 1, πάνω στο σύνολο των δεδομένων που χρησιμοποιούμε για την εκπαίδευση. Την τιμή του λάθους ενός δέντρου Τ την συμβολίζουμε με err T, S. Έστω ότι έχουμε αποκόψει t κλάδους από το αρχικό μας δέντρο Τ, τότε, το υποδέντρο που ελαχιστοποιεί την ποσότητα err prune T, t, S err(t, s) leaves(t) leaves(prune(t, t)) είναι αυτό που επιλέγουμε να αποκόψουμε από το αρχικό μας δέντρο. Μόλις κατασκευαστεί ολόκληρη η ακολουθία δέντρων, τότε το καλύτερο βρίσκεται εκπαιδεύοντας όλα τα δέντρα και υπολογίζοντας την καλύτερη ακρίβεια γενίκευσης, χρησιμοποιώντας πάντα cross- validation για τον υπολογισμό της ακρίβειας. 29

30 Κλασικοί Αλγόριθμοι Μάθησης Οι αλγόριθμοι δέντρων αποφάσεων εμφανίζονται αρχικά από τον Quinlan, ο οποίος παρουσίασε τον αλγόριθμο ID3 το Ο ίδιος εξέλιξε τον ID3, παρουσιάζοντας τον C4.5 το Ο C4.5 παραμένει ως τώρα ένας από τους πλέον δημοφιλείς αλγόριθμους δέντρων απόφασης, κυρίως μπορεί να χειριστεί συνεχή και διακριτά δεδομένα καθώς και σύνολα δεδομένων με ελλιπή στοιχεία (σύνολα που δεν έχουν τιμές σε όλα τα χαρακτηριστικά τους). Ο ίδιος έχει παρουσιάσει και μια νεότερη έκδοση αυτού του αλγόριθμου, τον C5.0, ο οποίος όμως είναι εμπορικός και όχι ανοικτού κώδικα. Όλοι οι αλγόριθμοι της κατηγορίας αυτής δέχονται τα δεδομένα εισόδου και παράγουν ένα δέντρο απόφασης (κατηγοριοποίησης ή πρόβλεψης). Νεότεροι αλγόριθμοι χρησιμοποιούν τεχνικές της στατιστικής, ώστε να επεξεργαστούν με διάφορους τρόπους τα δεδομένα εκπαίδευσης παράγοντας ένα ή περισσότερα σύνολα δεδομένων εκπαίδευσης, και κατόπιν εισάγουν τα νέα σύνολα σε κάποιον από τους πιο πάνω αλγόριθμους οι οποίοι παράγουν ένα δέντρο για κάθε σύνολο εκπαίδευσης. Κατόπιν, χρησιμοποιώντας πάλι στατιστικές μεθόδους, τα αποτελέσματα που έχουν παραχθεί συγκρίνονται μαζί τους, και τέλος επιλέγεται το καλύτερο δέντρο ή τα παραχθέντα δέντρα συνδυάζονται μεταξύ τους για να πάρουμε το καλύτερο δυνατό αποτέλεσμα. Οι αλγόριθμοι αυτής της μορφής ονομάζονται meta ή ensemble αλγόριθμοι. Χαρακτηριστικά παραδείγματα αυτών των μεθόδων είναι ο Adaboost, Bagging, Random Forest κλπ. Στο τμήμα αυτό της εργασίας θα παρουσιάσουμε μερικές από τις τεχνικές που χρησιμοποιούνται σε αυτό τον τύπο αλγορίθμων. Επίσης θα αναφερθούμε αναλυτικά στον αλγόριθμο Random Forest, ο οποίος είναι από τους δημοφιλέστερους αυτής της κατηγορίας. 30

31 Bootstrapping Η αξιοπιστία μιας μεθόδου θα μπορούσε να βελτιωθεί, αν μπορούσαμε να εφαρμόσουμε την μέθοδο πάνω σε πολλά διαφορετικά σύνολα δεδομένων, τα οποία να είναι και ασυσχέτιστα μεταξύ τους. Επειδή όμως αυτό είναι δύσκολο, ενώ πολλές φορές έχουμε όχι μόνο ένα σύνολο δεδομένων, αλλά και αυτό με λίγα στοιχεία, εφαρμόζουμε την μέθοδο bootstrapping, η οποία προέρχεται από την στατιστική και η οποία επιχειρεί να εξομοιώσει το ζητούμενο αποτέλεσμα. Κατά την εκτέλεση της μεθόδου bootstraping, ξεκινώντας από ένα αρχικό σύνολο δεδομένων S το οποίο περιέχει n γραμμές (instances), κατασκευάζουμε πολλά νέα σύνολα S 1, S 2,, S m, τα οποία περιέχουν επίσης n γραμμές. Τα νέα σύνολα κατασκευάζονται, επιλέγοντας από το αρχικό τυχαίες γραμμές, έως ότου το νέο σύνολο να αποκτήσει και αυτό n στοιχεία. Κάθε γραμμή μπορεί να επιλεγεί μια ή και περισσότερες φορές. Τα τελικά σύνολα δεδομένων που προκύπτουν δεν είναι πλήρως ασυσχέτιστα μεταξύ τους, μπορούμε όμως να θεωρήσουμε ότι είναι μια ικανοποιητική προσέγγιση. Αρχικό Σύνολο Εκπαίδευσης Νέα Σύνολα Εκπαίδευσης μετά από Boostrap Instance 1 Instance 1 Instance 3 Instance 1 Instance 2 Instance 2 Instance 3 Instance 5 Instance 3 Instance e 1 Instance 3 Instance 4 Instance 4 Instance 4 Instance 1 Instance 3 Instance 5 Instance 5 Instance 4 Instance 5 31

32 Bagging (Bootstrap Aggregating) Χρησιμοποιώντας την μέθοδο bootstrapping, μπορούμε να ξεκινήσουμε από ένα σύνολο δεδομένων και με βάση αυτό να δημιουργήσουμε m νέα σύνολα εκπαίδευσης. Τώρα έχουμε την δυνατότητα να εφαρμόσουμε σε κάθε ένα από αυτά τα σύνολα, τον αλγόριθμο που θέλουμε και να πάρουμε m διαφορετικά αποτελέσματα (δέντρα στην περίπτωσή μας). Ο αλγόριθμος που χρησιμοποιούμε για την εκπαίδευση ονομάζεται βασικός ταξινομητής (base classifier). Αυτά τα αποτελέσματα θα πρέπει στο επόμενο βήμα να συγκριθούν μεταξύ τους και να αξιολογηθούν, έτσι ώστε να επιλέξουμε το καλύτερο. Αν το πρόβλημά μας είναι πρόβλημα κατηγοριοποίησης (classification), τότε στα αποτελέσματα χρησιμοποιούμε την μέθοδο της ψηφοφορίας (voting), ενώ αν είναι πρόβλημα προσέγγισης πρόβλεψης (regression) τότε υπολογίζουμε συνήθως τον μέσο όρο. Γενικά μπορούμε να εφαρμόσουμε διάφορες στατιστικές μεθόδους για να συγκρίνουμε τα αποτελέσματα, το ποια θα εφαρμόσουμε επιλέγεται κατά περίπτωση ανάλογα με την φύση του προβλήματος που εξετάζουμε. Η μέθοδος αυτή ονομάστηκε Bagging από τα αρχικά των λέξεων Bootstrap Aggregating και δίνει καλύτερα αποτελέσματα από το να εφαρμόσουμε μόνο τον βασικό ταξινομητή στο αρχικό σύνολο δεδομένων μας. 32

33 Διάγραμμα 3 : Bagging Method 33

34 Boosting Η μέθοδος Boosting είναι μια παραλλαγή της Bagging, με βασική διαφορά ότι εισάγει βάρη στην επιλογή ενός Instance κατά την δημιουργία των συνόλων εκπαίδευσης. Αρχικά όλα τα δείγματά μας έχουν το ίδιο βάρος, w i = 1. Εφαρμόζουμε τον βασικό ταξινομητή στα σύνολα εκπαίδευσης και ελέγχουμε την επιτυχή ταξινόμηση των δειγμάτων μας. Αν κάποιο δείγμα έχει ταξινομηθεί σωστά, τότε το βάρος του παραμένει το ίδιο, ενώ αν έχει ταξινομηθεί λανθασμένα το βάρος του αυξάνεται, συνεπώς αυξάνεται και η πιθανότητα του στοιχείου αυτού να επιλεγεί στο επόμενο μοντέλο. Με τον τρόπο αυτό προσπαθούμε να αυξήσουμε την πιθανότητα να επιλεγούν τα στοιχεία που δεν ταξινομούνται σωστά, άρα αυξάνουμε την πιθανότητα αυτά να ταξινομηθούν σωστά στα επόμενα βήματα της μεθόδου. w 1=1 L 1 w 1=1 L 1 Εφαρμογή w 1=1 L 1 w 1=1 L 1 w 2=1 L 2 w 2=1 L 2 Classifier Έστω ότι το w 2=1 L 2 w 4=1 L 4 w 3=1 L 3 Bootstrap w 3=1 L 3 και έλεγχος με Out Of L 4 ταξινoμείται w 3=1 L 3 Bootstrap w 3=1 L 3 w 4=1 L 4 w 2=1 L 2 Bag (OOB) λάθος ενώ το w 4=2 L 4 w 2=1 L 2 w 5=1 L 5 w 5=1 L 5 στοιχεία L 4 και L 6. L 6 σωστά. w 5=1 L 5 w 5=1 L 5 w 6=1 L 6 w 2 1 L 2 w 6=1 L 6 w 4=1 L 4 Διάγραμμα 4 : Boosting Method Μετά το τέλος της μεθόδου, όλα τα αποτελέσματα μαζεύονται και επιλέγεται με ψηφοφορία ο καλύτερος ταξινομητής, ή στην περίπτωση regression με υπολογισμό της μέσης τιμής σαν καλύτερη προσέγγιση. 34

35 Random Forest Ο αλγόριθμος αυτός αναπτύχθηκε από τους Leo Breiman και Adele Cutler το Αποτελεί μια γενίκευση (επέκταση) του bagging, καθώς μεταφέρει κατά μια έννοια την μεθοδολογία του bootstrap, εκτός από τα instances και στα attributes των δεδομένων. Είναι από τους δημοφιλέστερους αλγόριθμους στην κατηγορία του, κυρίως για την ταχύτητα αλλά και την ακρίβεια που προσφέρει. Σύμφωνα με τους δημιουργούς του, προσφέρει Την καλύτερη ακρίβεια μεταξύ των υπαρχόντων αλγορίθμων Η ταχύτητά του είναι πολύ καλή ακόμα και σε πολύ μεγάλα σύνολα δεδομένων εκπαίδευσης Μπορεί να χειριστεί αποδοτικά πάρα πολύ μεγάλο αριθμό χαρακτηριστικών (ακόμα και χιλιάδες) Δίνει μια εκτίμηση για το ποια χαρακτηριστικά είναι τα πιο σημαντικά στην κατηγοριοποίηση Δεν χρειάζεται την χρήση διαφορετικού συνόλου δεδομένων για τον έλεγχο ακρίβειας (δεν είναι δηλαδή απαραίτητο το cross- validation), καθώς η εκτίμηση του λάθους γενίκευσης γίνεται από τον ίδιο τον αλγόριθμο κατά την εκτέλεσή του. Μπορεί να χειριστεί αποδοτικά ελλιπή δεδομένα Δεν παρουσιάζει φαινόμενα υπερεκπαίδευσης Έστω ότι έχουμε ένα σύνολο δεδομένων με N στοιχεία (instances) x!! x!" x!! t! x!" x!" x!! t! x!! x!! x!" t! Τα διανύσματα εισόδου έχουν διάσταση d, είναι δηλαδή x i = (x!!, x!!,, x!" ) όπως φαίνεται και στον πιο πάνω πίνακα. 35

36 Σαν πρώτο βήμα έχουμε τη δημιουργία πολλών νέων συνόλων εκπαίδευσης, με την μέθοδο bootstrap. Έστω ότι ο αριθμός των νέων συνόλων είναι Τ. Με βάση κάθε σύνολο T i, από τα Τ, κατασκευάζουμε ένα δέντρο απόφασης με την χρήση ενός ταξινομητή βάσης (base classifier). Η διαφορά από τον αλγόριθμο bagging, έγκειται στο ότι κατά την κατασκευή του δέντρου από κάθε T i, όταν πρόκειται να προσθέσουμε ένα κόμβο, δεν παίρνουμε υπόψη μας όλα τα χαρακτηριστικά που έχουμε διαθέσιμα (d συνολικά), αλλά μόνο m από αυτά. Ο αριθμός m είναι σταθερός κατά την εκτέλεση του αλγόριθμου και τον επιλέγουμε έτσι ώστε να είναι m d. Από το σύνολο των δέντρων απόφασης που παράγονται, με ψηφοφορία επιλέγουμε τον καλύτερο ταξινομητή. Είναι προφανές ότι πολύ βασικό ρόλο παίζει η επιλογή της παραμέτρου m. Ο Breiman έχει προτείνει διάφορες τιμές, μεταξύ των οποίων οι συνηθέστερες εξ αυτών είναι οι 1 2 m, m, 2 m Σχηματικά η λειτουργία του Random Forest μπορεί να αναπαρασταθεί με το επόμενο διάγραμμα 36

37 Αλγόριθμοι Μηχανικής Μάθησης σε Πολυεπεξεργαστικά Περιβάλλοντα Εικόνα 1 : Σχηματικό διάγραμμα μεθόδου RandomForest Αν και η λειτουργία του αλγόριθμου σε Java θα παρουσιαστεί αναλυτικά στο επόμενο κεφάλαιο, μπορούμε να δώσουμε εδώ, την αλγοριθμική μορφή του σε ψευδοκώδικα Εισαγωγή Συνόλου Εκπαίδευσης 𝑺 = (𝒙𝒊, 𝒕𝒊 ) Δημιουργία Τ νέων συνόλων εκπαίδευσης με την χρήση bootstrap Για κάθε t=1 έως Τ Εισαγωγή συνόλου εκπαίδευσης Ti στον επιλεγμένο ταξινομητή Για κάθε κόμβο που πρόκειται να προστεθεί στο δέντρο απόφασης Επέλεξε m χαρακτηριστικά από το σύνολο των d του διανύσματος Υπολόγισε το κέρδος πληροφορίας για τα m αυτά χαρακτηριστικά Διαχώρισε τα δεδομένα στον κόμβο με βάση το υπολογισμένο κέρδος Επανέλαβε τα προηγούμενα βήματα για κάθε σύνολο 𝑻𝒊 𝑻 Από τα παραχθέντα δέντρα με ψηφοφορία επέλεξε το καλύτερο Όπως είναι φανερό και από την παραπάνω ανάλυση, ένα από τα πλεονεκτήματα του Random Forest, αλλά και των άλλων meta (ensemble) αλγορίθμων, είναι και η δυνατότητα παράλληλης εκτέλεσης πολλών τμημάτων του κώδικα, καθώς η δημιουργία των δέντρων και η επιλογή των χαρακτηριστικών, είναι λειτουργίες αυτόνομες και δεν επηρεάζονται από άλλες όμοιες που μπορεί να εκτελούνται ταυτόχρονα. Διπλωματική Εργασία 37

38 Αρχιτεκτονική και Υλοποίηση Αλγορίθμων στο Weka Το Weka είναι μια εφαρμογή που έχει αναπτυχθεί από το Πανεπιστήμιο Waikato της Νέας Ζηλανδίας. Σε αυτή έχουν υλοποιηθεί, σε γλώσσα Java, πολλοί αλγόριθμοι Μηχανικής Μάθησης και γενικότερα της Τεχνικής Νοημοσύνης (Artificial Intelligence, AI). Χρησιμοποιείται ευρέως από ανθρώπους που θέλουν να μελετήσουν την λειτουργία των αλγορίθμων αυτών, με ένα εύχρηστο και πρακτικό τρόπο. Διαθέτει ένα γραφικό περιβάλλον εργασίας, μέσω του οποίου μπορεί ο χρήστης να επιλέξει τα δεδομένα που θέλει, τον αλγόριθμο που θέλει να εφαρμόσει καθώς και τις παραμέτρους του και τέλος να καθορίσει τον τρόπο εκτέλεσης και να δει τα τελικά αποτελέσματα σε ένα σχετικά εύχρηστο και διαδραστικό περιβάλλον. Τα τελευταία χρόνια έχει προστεθεί ένα τμήμα (Experimenter) το οποίο είναι περισσότερο προσανατολισμένο προς τους ερευνητές και μέσω του οποίου δίνονται δυνατότητες εκτέλεσης πολλών αλγορίθμων σε συνδυασμό με πολλές ομάδες δεδομένων. Μια ακόμη προσθήκη είναι και μια εφαρμογή γραφικού σχεδιασμού, μέσω του οποίου μπορούμε να σχεδιάσουμε γραφικά μια ακολουθία διαδικασιών και αυτές να εκτελεστούν με την σειρά και τους κανόνες που έχουμε θέσει. Γενικά, πρόκειται για μια εφαρμογή καλά σχεδιασμένη και εύχρηστη, η οποία δίνει σε ένα ευρύτερο κοινό, το οποίο δεν είναι εξοικειωμένο με την χρήση γλωσσών προγραμματισμού, την δυνατότητα να εκτελέσει μεθόδους, να πειραματιστεί με τους αλγορίθμους και την συμπεριφορά τους σε διαφορετικά σύνολα δεδομένων. Τα αρνητικά της σημεία είναι επίσης αρκετά και μάλιστα σχετίζονται άμεσα με τα αντίστοιχα θετικά της. Καθώς είναι μια εφαρμογή που προσπαθεί να μεταφέρει τα αποτελέσματα της επιστημονικής έρευνας σε ένα ευρύτερο κοινό, είναι φυσικό να κάνει μερικούς συμβιβασμούς και παραδοχές, οι συνέπειες των οποίων, όμως γίνονται αντιληπτές και δημιουργούν προβλήματα κυρίως όταν προσπαθεί κάποιος να 38

39 χρησιμοποιήσει το weka σε κάτι περισσότερο από απλές δοκιμές ή εργαστηριακά πειράματα. Η χρήση του weka σε μεγάλης κλίμακας εργασίες είναι αρκετά προβληματική, καθώς η μεγάλη συσχέτιση μεταξύ των τμημάτων της εφαρμογής και ευρεία χρήση όμοιων δομών σε όλους σχεδόν τους αλγόριθμους, δημιουργούν σοβαρά προβλήματα σε κάποιον που θέλει να χρησιμοποιήσει την διεπαφή με τον προγραμματιστή (Application Programming Interface, API). Μερικά από τα θετικά και αρνητικά σημεία θα τα δούμε αναλυτικότερα παρακάτω, καθώς θα αναλύσουμε συνοπτικά την αρχιτεκτονική και τους γενικούς κανόνες σχεδιασμού των αλγορίθμων μέσα στο weka. Θα δούμε επίσης, αναλυτικά την υλοποίηση του Random Forest. Αρχιτεκτονική της Εφαρμογής Το weka έχει αναπτυχθεί σε γλώσσα προγραμματισμού Java, κάτι που του δίνει την δυνατότητα ανάπτυξης και εκτέλεσης σε κάθε λειτουργικό σύστημα και περιβάλλον, στο οποίο μπορεί να εκτελεστεί η Java, πρακτικά λοιπόν οπουδήποτε. Οι βασικές δομές της εφαρμογής είναι Core Classifiers Associations Clusterers Filters Experiments GUI Κάθε ένα από αυτά τα πακέτα, αναλύεται βέβαια σε πολλά άλλα μικρότερα, δημιουργώντας μια ιεραρχική δεντρική δομή. 39

40 Διάγραμμα 5 : Αρχιτεκτονική Weka 40

41 Το βασικότερο από τα πακέτα αυτά είναι το Weka.Core το οποίο περιέχει τον κώδικα που είναι απαραίτητος για την λειτουργία της εφαρμογής. Σε κάθε πρόγραμμα που θέλει να χρησιμοποιήσει έστω και μια γραμμή κώδικα από το weka, θα πρέπει να περιλαμβάνεται και αυτό το πακέτο. Διάγραμμα 6 : Core Schematic Architecture Αν και η ύπαρξη ενός τέτοιου πακέτου είναι απόλυτα απαραίτητη σε κάθε εφαρμογή, επιστημονική ή μη, δυστυχώς, με την πάροδο του χρόνου σε αυτό το πακέτο έχουν συμπεριληφθεί πάρα πολλά τμήματα κώδικα, τα οποία δεν είναι σχετικά μεταξύ τους. 41

42 Διάγραμμα 7 : Core Analytical UML Architecture 42

43 Αποτέλεσμα αυτού είναι, ότι μέσα στο πακέτο Core περιέχονται κλάσεις και διεπαφές (Interfaces) οι οποίες έχουν να κάνουν με Την επικοινωνία με την Java και τις παραμέτρους που χρειάζονται για να τρέξει η εφαρμογή σωστά (ClassLoaderUtil, ClassCache, ClassDiscovery κλπ.) Προσθήκες και επεκτάσεις σε υπάρχουσες δομές, όπως λίστες και άλλες, οι οποίες είναι μεν απαραίτητες, αλλά έχουν σχέση με τον χειρισμό δεδομένων στην μνήμη και τον δίσκο (FastVector, Queue κλπ.) Χειρισμό των αρχείων εισόδου και εξόδου σε διάφορε μορφές (Json, XML κλπ.) Χειρισμό μαθηματικών συναρτήσεων και δομών (Ranomizable, ManhattanDistance, ChebyshevDistance, Matrix κλπ.) Την βασική υλοποίηση των δομών που χρειάζονται οι αλγόριθμοι (Instances, Attributes, Options κλπ.) Διάγραμμα 8 : Core Package Dependencies Ακόμα και για την υλοποίηση της πιο πρόσφατης προσθήκης, το module Package Manager, ο κώδικας αυτού έχει προστεθεί στο πακέτο Core. Την κατάσταση την κάνει πολύ χειρότερη, η αναφορά μέσα στο πακέτο core, μερικών δομών που έχουν σχέση με την παρουσίαση της εφαρμογής και το γραφικό περιβάλλον της, το οποίο γενικά το χειρίζεται το πακέτο GUI. 43

44 Διάγραμμα 9 : Core Depended On Core 44

45 Διάγραμμα 10 : Core Depended on Packages Υλοποίηση Αλγορίθμων Αντίστοιχες συσχετίσεις γίνονται και μεταξύ των άλλων πακέτων. Στην συγκεκριμένη περίπτωση, όπου μας ενδιαφέρει η δομή classifiers, αυτή εισάγει πηγαίο κώδικα από το πακέτο core (αναγκαστικά αφού εκεί βρίσκονται όλοι οι ορισμοί) και το πακέτο GUI, γιατί εκεί υλοποιείται η απεικόνιση των δένδρων. Αυτό βέβαια σημαίνει ότι αν ένας προγραμματιστής θέλει, απλώς να εκτελέσει έναν αλγόριθμο, πχ τον Random Forest, και να πάρει το παραγόμενο δέντρο, θα πρέπει στην εφαρμογή που αναπτύσσει αυτός να προσθέσει και τον κώδικα των Core, Gui, αλλά και το κώδικα που κάνει Evaluation σε dataset, υπολογισμό στατιστικών συναρτήσεων που χρησιμοποιούνται μόνο από την μέθοδο Bayes κλπ. Τελικά, η εφαρμογή που θα αναπτυχθεί θα περιέχει 6-10 ΜΒ άχρηστου κώδικα, τον οποίο όμως θα πρέπει να ενσωματώσει για να μην παρουσιάζονται λάθη κατά το compile του κώδικά του. Μπορεί βέβαια, να διαγράψει (με προσοχή και χειροκίνητα πάντα) τμήματα του κώδικα αυτού, έτσι όμως θα εμφανίζονται πάντα λάθη και θα πρέπει κανείς να είναι πολύ προσεκτικός και να ελέγχει μήπως κάποιο λάθος οφείλεται σε αυτόν ή στον άχρηστο κώδικα που έχει διαγράψει. 45

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

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

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

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

Ευφυής Προγραμματισμός Ευφυής Προγραμματισμός Ενότητα 10: Δημιουργία Βάσεων Κανόνων Από Δεδομένα-Προετοιμασία συνόλου δεδομένων Ιωάννης Χατζηλυγερούδης Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής Δημιουργία Βάσεων Κανόνων

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

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

ΔΙΑΧΕΙΡΙΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ ΠΑΓΚΟΣΜΙΟΥ ΙΣΤΟΥ ΚΑΙ ΓΛΩΣΣΙΚΑ ΕΡΓΑΛΕΙΑ. Data Mining - Classification ΔΙΑΧΕΙΡΙΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ ΠΑΓΚΟΣΜΙΟΥ ΙΣΤΟΥ ΚΑΙ ΓΛΩΣΣΙΚΑ ΕΡΓΑΛΕΙΑ Data Mining - Classification Data Mining Ανακάλυψη προτύπων σε μεγάλο όγκο δεδομένων. Σαν πεδίο περιλαμβάνει κλάσεις εργασιών: Anomaly Detection:

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΕΦΑΡΜΟΣΜΕΝΩΝ ΜΑΘΗΜΑΤΙΚΩΝ ΚΑΙ ΦΥΣΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΠΛΗΡΟΦΟΡΙΑΣ ΠΑΡΟΥΣΙΑΣΗ ΤΕΛΙΚΗΣ ΕΡΓΑΣΙΑΣ ΛΙΝΑ ΜΑΣΣΟΥ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΕΦΑΡΜΟΣΜΕΝΩΝ ΜΑΘΗΜΑΤΙΚΩΝ ΚΑΙ ΦΥΣΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΑΛΓΟΡΙΘΜΟΙ ΕΞΟΡΥΞΗΣ ΠΛΗΡΟΦΟΡΙΑΣ ΠΑΡΟΥΣΙΑΣΗ ΤΕΛΙΚΗΣ ΕΡΓΑΣΙΑΣ ΛΙΝΑ ΜΑΣΣΟΥ Δ.Π.Μ.Σ: «Εφαρμοσμένες Μαθηματικές Επιστήμες» 2008

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

ΑΛΓΟΡΙΘΜΟΙ ΕΞΟΡΥΞΗΣ ΠΛΗΡΟΦΟΡΙΑΣ

ΑΛΓΟΡΙΘΜΟΙ ΕΞΟΡΥΞΗΣ ΠΛΗΡΟΦΟΡΙΑΣ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΕΦΑΡΜΟΣΜΕΝΩΝ ΜΑΘΗΜΑΤΙΚΩΝ ΚΑΙ ΦΥΣΙΚΩΝ ΕΠΙΣΤΗΜΩΝ Δ.Π.Μ.Σ. ΕΦΑΡΜΟΣΜΕΝΕΣ ΜΑΘΗΜΑΤΙΚΕΣ ΕΠΙΣΤΗΜΕΣ ΑΛΓΟΡΙΘΜΟΙ ΕΞΟΡΥΞΗΣ ΠΛΗΡΟΦΟΡΙΑΣ ΤΕΛΙΚΗ ΕΡΓΑΣΙΑ ΧΟΥΧΟΥΜΗΣ ΙΩΑΝΝΗΣ Το σύνολο των

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

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

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

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

Κατηγοριοποίηση βάσει διανύσματος χαρακτηριστικών

Κατηγοριοποίηση βάσει διανύσματος χαρακτηριστικών Κατηγοριοποίηση βάσει διανύσματος χαρακτηριστικών Αναπαράσταση των δεδομένων ως διανύσματα χαρακτηριστικών (feature vectors): Επιλογή ενός

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

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

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

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

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

Προβλήματα, αλγόριθμοι, ψευδοκώδικας Προβλήματα, αλγόριθμοι, ψευδοκώδικας October 11, 2011 Στο μάθημα Αλγοριθμική και Δομές Δεδομένων θα ασχοληθούμε με ένα μέρος της διαδικασίας επίλυσης υπολογιστικών προβλημάτων. Συγκεκριμένα θα δούμε τι

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

ΑΕΠΠ Ερωτήσεις θεωρίας

ΑΕΠΠ Ερωτήσεις θεωρίας ΑΕΠΠ Ερωτήσεις θεωρίας Κεφάλαιο 1 1. Τα δεδομένα μπορούν να παρέχουν πληροφορίες όταν υποβάλλονται σε 2. Το πρόβλημα μεγιστοποίησης των κερδών μιας επιχείρησης είναι πρόβλημα 3. Για την επίλυση ενός προβλήματος

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

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

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

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

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

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Θ.Ε. ΠΛΗ31 (2004-5) ΓΡΑΠΤΗ ΕΡΓΑΣΙΑ #3 Στόχος Στόχος αυτής της εργασίας είναι η απόκτηση δεξιοτήτων σε θέματα που αφορούν τα Τεχνητά Νευρωνικά Δίκτυα και ποιο συγκεκριμένα θέματα εκπαίδευσης και υλοποίησης.

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

Τεχνητή Νοημοσύνη. 16η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Τεχνητή Νοημοσύνη. 16η διάλεξη ( ) Ίων Ανδρουτσόπουλος. Τεχνητή Νοημοσύνη 16η διάλεξη (2016-17) Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1 Οι διαφάνειες αυτής της διάλεξης βασίζονται σε ύλη του βιβλίου Artificial Intelligence A Modern Approach των

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

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

Αναγνώριση Προτύπων Ι Αναγνώριση Προτύπων Ι Ενότητα 1: Μέθοδοι Αναγνώρισης Προτύπων Αν. Καθηγητής Δερματάς Ευάγγελος Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

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

ΔΠΜΣ: ΕΦΑΡΜΟΣΜΕΝΕΣ ΜΑΘΗΜΑΤΙΚΕΣ ΕΠΙΣΤΗΜΕΣ ΡΟΗ: ΣΤΑΤΙΣΤΙΚΗ-ΠΙΘΑΝΟΤΗΤΕΣ ΜΑΘΗΜΑ: ΑΛΓΟΡΙΘΜΟΙ ΕΞΟΡΥΞΗΣ ΠΛΗΡΟΦΟΡΙΑΣ ΤΕΛΙΚΗ ΕΡΓΑΣΙΑ ΔΗΜΗΤΡΑ ΤΑΤΣΙΟΥ

ΔΠΜΣ: ΕΦΑΡΜΟΣΜΕΝΕΣ ΜΑΘΗΜΑΤΙΚΕΣ ΕΠΙΣΤΗΜΕΣ ΡΟΗ: ΣΤΑΤΙΣΤΙΚΗ-ΠΙΘΑΝΟΤΗΤΕΣ ΜΑΘΗΜΑ: ΑΛΓΟΡΙΘΜΟΙ ΕΞΟΡΥΞΗΣ ΠΛΗΡΟΦΟΡΙΑΣ ΤΕΛΙΚΗ ΕΡΓΑΣΙΑ ΔΗΜΗΤΡΑ ΤΑΤΣΙΟΥ ΔΠΜΣ: ΕΦΑΡΜΟΣΜΕΝΕΣ ΜΑΘΗΜΑΤΙΚΕΣ ΕΠΙΣΤΗΜΕΣ ΡΟΗ: ΣΤΑΤΙΣΤΙΚΗ-ΠΙΘΑΝΟΤΗΤΕΣ ΜΑΘΗΜΑ: ΑΛΓΟΡΙΘΜΟΙ ΕΞΟΡΥΞΗΣ ΠΛΗΡΟΦΟΡΙΑΣ ΤΕΛΙΚΗ ΕΡΓΑΣΙΑ ΔΗΜΗΤΡΑ ΤΑΤΣΙΟΥ ΠΡΟΕΠΙΣΚΟΠΗΣΗ ΚΑΙ ΕΞΕΡΕΥΝΗΣΗ ΤΩΝ ΔΕΔΟΜΕΝΩΝ Τα προς επεξεργασία

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

Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D.

Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D. Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D. Μη γραμμικός προγραμματισμός: βελτιστοποίηση χωρίς περιορισμούς Πανεπιστήμιο Θεσσαλίας Σχολή Θετικών Επιστημών ΤμήμαΠληροφορικής Διάλεξη 7-8 η /2017 Τι παρουσιάστηκε

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

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

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

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

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

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

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

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

ΣΧΟΛΗ ΕΦΑΡΜΟΣΜΕΝΩΝ ΜΑΘΗΜΑΤΙΚΩΝ ΚΑΙ ΦΥΣΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΣΧΟΛΗ ΕΦΑΡΜΟΣΜΕΝΩΝ ΜΑΘΗΜΑΤΙΚΩΝ ΚΑΙ ΦΥΣΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΔΠΜΣ : ΕΦΑΡΜΟΣΜΕΝΕΣ ΜΑΘΗΜΑΤΙΚΕΣ ΕΠΙΣΤΗΜΕΣ ΡΟΗ ΠΙΘΑΝΟΝΤΗΤΕΣ ΚΑΙ ΣΤΑΤΙΣΤΙΚΗΣ ΕΡΓΑΣΙΑ 08: ΕΙΡΗΝΗ ΛΥΓΚΩΝΗ 1 Ο ΣΤΑΔΙΟ: Πριν εφαρμόσουμε οποιοδήποτε αλγόριθμο

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

Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19

Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19 Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών Κεφ. 2 Θεωρητική Επιστήμη Υπολογιστών 2.3.1.1 Έννοια προγράμματος Τι είναι πρόγραμμα και τι προγραμματισμός; Πρόγραμμα είναι το σύνολο εντολών που χρειάζεται

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

ΑΝΔΡΟΥΛΑΚΗΣ ΜΑΝΟΣ A.M AΛΓΟΡΙΘΜΟΙ ΕΞΟΡΥΞΗΣ ΠΛΗΡΟΦΟΡΙΑΣ

ΑΝΔΡΟΥΛΑΚΗΣ ΜΑΝΟΣ A.M AΛΓΟΡΙΘΜΟΙ ΕΞΟΡΥΞΗΣ ΠΛΗΡΟΦΟΡΙΑΣ ΑΝΔΡΟΥΛΑΚΗΣ ΜΑΝΟΣ A.M. 09470015 AΛΓΟΡΙΘΜΟΙ ΕΞΟΡΥΞΗΣ ΠΛΗΡΟΦΟΡΙΑΣ Διδάσκων: Γιώργος Τζιραλής ΔΠΜΣ ΕΦΑΡΜΟΣΜΕΝΕΣ ΜΑΘΗΜΑΤΙΚΕΣ ΕΠΙΣΤΗΜΕΣ Στάδιο 1 ο. Προεπισκόπηση-προεπεξεργασία δεδομένων: Δίδονται τα παρακάτω

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

ΑΛΓΟΡΙΘΜΟΙ ΕΞΟΡΥΞΗΣ ΠΛΗΡΟΦΟΡΙΑΣ (Data Mining) Πανδή Αθηνά

ΑΛΓΟΡΙΘΜΟΙ ΕΞΟΡΥΞΗΣ ΠΛΗΡΟΦΟΡΙΑΣ (Data Mining) Πανδή Αθηνά ΑΛΓΟΡΙΘΜΟΙ ΕΞΟΡΥΞΗΣ ΠΛΗΡΟΦΟΡΙΑΣ (Data Mining) Πανδή Αθηνά Μάιος 2008 Τα δεδομένα που έχουμε προς επεξεργασία χωρίζονται σε τρία μέρη: 1. Τα δεδομένα εκπαίδευσης (training set) που αποτελούνται από 2528

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

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

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

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

Μέρος Β /Στατιστική. Μέρος Β. Στατιστική. Γεωπονικό Πανεπιστήμιο Αθηνών Εργαστήριο Μαθηματικών&Στατιστικής/Γ. Παπαδόπουλος (www.aua.

Μέρος Β /Στατιστική. Μέρος Β. Στατιστική. Γεωπονικό Πανεπιστήμιο Αθηνών Εργαστήριο Μαθηματικών&Στατιστικής/Γ. Παπαδόπουλος (www.aua. Μέρος Β /Στατιστική Μέρος Β Στατιστική Γεωπονικό Πανεπιστήμιο Αθηνών Εργαστήριο Μαθηματικών&Στατιστικής/Γ. Παπαδόπουλος (www.aua.gr/gpapadopoulos) Από τις Πιθανότητες στη Στατιστική Στα προηγούμενα, στο

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

Ασκήσεις μελέτης της 16 ης διάλεξης

Ασκήσεις μελέτης της 16 ης διάλεξης Οικονομικό Πανεπιστήμιο Αθηνών, Τμήμα Πληροφορικής Μάθημα: Τεχνητή Νοημοσύνη, 016 17 Διδάσκων: Ι. Ανδρουτσόπουλος Ασκήσεις μελέτης της 16 ης διάλεξης 16.1. (α) Έστω ένα αντικείμενο προς κατάταξη το οποίο

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

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

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

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

Έλεγχος υποθέσεων και διαστήματα εμπιστοσύνης

Έλεγχος υποθέσεων και διαστήματα εμπιστοσύνης 1 Έλεγχος υποθέσεων και διαστήματα εμπιστοσύνης Όπως γνωρίζουμε από προηγούμενα κεφάλαια, στόχος των περισσότερων στατιστικών αναλύσεων, είναι η έγκυρη γενίκευση των συμπερασμάτων, που προέρχονται από

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

Αναγνώριση Προτύπων Εργασία 1η Classification

Αναγνώριση Προτύπων Εργασία 1η Classification ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Αναγνώριση Προτύπων Εργασία 1η Classification Κιντσάκης Αθανάσιος 6667 Μόσχογλου Στυλιανός 6978 30 Νοεμβρίου,

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

Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D.

Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D. Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D. Μη γραμμικός προγραμματισμός: μέθοδοι μονοδιάστατης ελαχιστοποίησης Πανεπιστήμιο Θεσσαλίας Σχολή Θετικών Επιστημών ΤμήμαΠληροφορικής Διάλεξη 6 η /2017 Τι παρουσιάστηκε

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

Διπλωματική Εργασία: «Συγκριτική Μελέτη Μηχανισμών Εκτίμησης Ελλιπούς Πληροφορίας σε Ασύρματα Δίκτυα Αισθητήρων»

Διπλωματική Εργασία: «Συγκριτική Μελέτη Μηχανισμών Εκτίμησης Ελλιπούς Πληροφορίας σε Ασύρματα Δίκτυα Αισθητήρων» Τμήμα Πληροφορικής και Τηλεπικοινωνιών Πρόγραμμα Μεταπτυχιακών Σπουδών Διπλωματική Εργασία: «Συγκριτική Μελέτη Μηχανισμών Εκτίμησης Ελλιπούς Πληροφορίας σε Ασύρματα Δίκτυα Αισθητήρων» Αργυροπούλου Αιμιλία

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

Θέματα Προγραμματισμού Η/Υ

Θέματα Προγραμματισμού Η/Υ Πρόγραμμα Μεταπτυχιακών Σπουδών Πληροφορική και Υπολογιστική Βιοϊατρική Θέματα Προγραμματισμού Η/Υ Ενότητα 1: Εισαγωγή Θεματική Ενότητα: Εισαγωγή στον Προγραμματισμό ΘΕΜΑΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ Θεματική

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

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

ΤΕΛΙΚΟ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΑΡΧΗ 1 ης ΣΕΛΙΔΑΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΛΙΚΟ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ Επιμέλεια: Ομάδα Διαγωνισμάτων από Το στέκι των πληροφορικών Θέμα 1 ο Α. Να χαρακτηρίσετε κάθε μία από

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

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

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Τελικό επαναληπτικό διαγώνισμα Επιμέλεια: Δρεμούσης Παντελής

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Τελικό επαναληπτικό διαγώνισμα Επιμέλεια: Δρεμούσης Παντελής ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Τελικό επαναληπτικό διαγώνισμα Επιμέλεια: Δρεμούσης Παντελής ΘΕΜΑ 1 ο Α. Να χαρακτηρίσετε τις παρακάτω προτάσεις ως σωστές ή λανθασμένες. 1. Μια διαδικασία

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

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

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

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

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

ΜΕΘΟΔΟΛΟΓΙΕΣ ΑΝΑΠΤΥΞΗΣ ΣΥΣΤΗΜΑΤΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΕΘΟΔΟΛΟΓΙΕΣ ΑΝΑΠΤΥΞΗΣ ΣΥΣΤΗΜΑΤΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Μεθοδολογίες Ανάπτυξης Συστημάτων Πληροφορικής Απαντούν στα εξής ερωτήματα Ποιά βήματα θα ακολουθηθούν? Με ποιά σειρά? Ποιά τα παραδοτέα και πότε? Επομένως,

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

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

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

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

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

Τα συγκεντρωτικά ερωτήματα αφορούν στην ομαδοποίηση των δεδομένων και στη. χρήση συναρτήσεων ομαδοποίησης κατά την εκτέλεση ενός ερωτήματος προβολής Εργαστήριο 8 ο Συγκεντρωτικά ερωτήματα Ερωτήματα διασταύρωσης Ερωτήματα Ενεργειών Συγκεντρωτικά ερωτήματα Τα συγκεντρωτικά ερωτήματα αφορούν στην ομαδοποίηση των δεδομένων και στη χρήση συναρτήσεων ομαδοποίησης

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

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

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

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

Πληροφορική 2. Αλγόριθμοι

Πληροφορική 2. Αλγόριθμοι Πληροφορική 2 Αλγόριθμοι 1 2 Τι είναι αλγόριθμος; Αλγόριθμος είναι ένα διατεταγμένο σύνολο από σαφή βήματα το οποίο παράγει κάποιο αποτέλεσμα και τερματίζεται σε πεπερασμένο χρόνο. Ο αλγόριθμος δέχεται

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

Μαλούτα Θεανώ Σελίδα 1

Μαλούτα Θεανώ Σελίδα 1 ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Α. ΕΡΩΤΗΣΕΙΣ ΘΕΩΡΙΑΣ ΦΥΛΛΑΔΙΟ 6 ο ( Ενότητες 2.3 ) 1.Τι είναι πρόγραμμα; 2. Ποια είναι τα πλεονεκτήματα των γλωσσών υψηλού επιπέδου σε σχέση με τις γλώσσες

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ ΘΕΜΑ 1 ο (2,5 μονάδες) ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ Τελικές εξετάσεις Πέμπτη 21 Ιουνίου 2012 16:30-19:30 Υποθέστε ότι θέλουμε

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

Διπλωματική εργασία Θέμα: «Δημιουργία ευφυούς συστήματος για τη διαχείριση και διαλογή των ασθενών Τμήματος Επειγόντων Περιστατικών

Διπλωματική εργασία Θέμα: «Δημιουργία ευφυούς συστήματος για τη διαχείριση και διαλογή των ασθενών Τμήματος Επειγόντων Περιστατικών Διπλωματική εργασία Θέμα: «Δημιουργία ευφυούς συστήματος για τη διαχείριση και διαλογή των ασθενών Τμήματος Επειγόντων Περιστατικών Μεταπτυχιακός φοιτητής: Γεώργιος Κηπουργός Νοσηλευτής Τ.Ε Επιβλέπων καθηγητής:

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

8 Τεχνικός Εφαρμογών Πληροφορικής με Πολυμέσα

8 Τεχνικός Εφαρμογών Πληροφορικής με Πολυμέσα Περιεχόμενα Πρόλογος... 9 Κεφάλαιο 1: Δομή και λειτουργία του υπολογιστή... 11 Κεφάλαιο 2: Χρήση Λ.Σ. DOS και Windows... 19 Κεφάλαιο 3: Δίκτυα Υπολογιστών και Επικοινωνίας... 27 Κεφάλαιο 4: Unix... 37

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

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

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής Βασισμένο σε μια εργασία των Καζαρλή, Καλόμοιρου, Μαστοροκώστα, Μπαλουκτσή, Καλαϊτζή, Βαλαή, Πετρίδη Εισαγωγή Η Εξελικτική Υπολογιστική

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

Χαλκίδης Νέστωρας, Τσαγιοπούλου Μαρία, Παπακωνσταντίνου Νίκος, Μωυσιάδης Θεόδωρος. Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης 2016

Χαλκίδης Νέστωρας, Τσαγιοπούλου Μαρία, Παπακωνσταντίνου Νίκος, Μωυσιάδης Θεόδωρος. Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης 2016 Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης 2016 Χαλκίδης Νέστωρας, Τσαγιοπούλου Μαρία, Παπακωνσταντίνου Νίκος, Μωυσιάδης Θεόδωρος Η παρούσα εργασία έγινε στα πλαίσια της εκπόνησης της διπλωματικής διατριβής

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

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

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

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

Κατηγοριοποίηση. Εξόρυξη Δεδομένων και Αλγόριθμοι Μάθησης. 2 ο Φροντιστήριο. Σκούρα Αγγελική

Κατηγοριοποίηση. Εξόρυξη Δεδομένων και Αλγόριθμοι Μάθησης. 2 ο Φροντιστήριο. Σκούρα Αγγελική Κατηγοριοποίηση Εξόρυξη Δεδομένων και Αλγόριθμοι Μάθησης 2 ο Φροντιστήριο Σκούρα Αγγελική skoura@ceid.upatras.gr Μηχανική Μάθηση Η μηχανική μάθηση είναι μια περιοχή της τεχνητής νοημοσύνης η οποία αφορά

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

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

Ευφυής Προγραμματισμός Ευφυής Προγραμματισμός Ενότητα 11: Δημιουργία Βάσεων Κανόνων Από Δεδομένα- Εξαγωγή Κανόνων Ιωάννης Χατζηλυγερούδης Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής Δημιουργία Βάσεων Κανόνων Από Δεδομένα-

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

Τεχνητή Νοημοσύνη. 17η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Τεχνητή Νοημοσύνη. 17η διάλεξη ( ) Ίων Ανδρουτσόπουλος. Τεχνητή Νοημοσύνη 17η διάλεξη (2016-17) Ίων Ανδρουτσόπουλος http://.aueb.gr/users/ion/ 1 Οι διαφάνειες αυτής της διάλεξης βασίζονται: στο βιβλίο Artificia Inteigence A Modern Approach των S. Russe και

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

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

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος Χιωτίδης Γεώργιος Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

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

"The Project ARXIMIDIS ΙΙ is co-funded by the European Social Fund and National Resources EPEAEK ΙΙ "

The Project ARXIMIDIS ΙΙ is co-funded by the European Social Fund and National Resources EPEAEK ΙΙ Αρχιµήδης ΙΙ Ενίσχυση Ερευνητικών Οµάδων του ΤΕΙ Κρήτης Τίτλος Υποέργου: Εφαρµογές Τεχνητής Νοηµοσύνης στην Τεχνολογία Λογισµικού και στην Ιατρική Επιστηµονικός Υπεύθυνος: ρ Εµµανουήλ Μαρακάκης ραστηριότητα

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

Σέργιος Θεοδωρίδης Κωνσταντίνος Κουτρούμπας. Version 2

Σέργιος Θεοδωρίδης Κωνσταντίνος Κουτρούμπας. Version 2 Σέργιος Θεοδωρίδης Κωνσταντίνος Κουτρούμπας Verson 2 1 M = 1 N = N prob k N k { k n ω wrongly classfed} = (1 ) N k 2 Η συνάρτηση πιθανοφάνειας L(p) μεγιστοποιείται όταν =k/n. 3 Αφού τα s είναι άγνωστα,

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ 2015-2016 Θέμα Α Α1. Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς από τις προτάσεις 1-4 και δίπλα τη λέξη ΣΩΣΤΟ,

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

Α Ν Α Λ Τ Η Α Λ Γ Ο Ρ Ι Θ Μ Ω Ν Κ Ε Υ Α Λ Α Ι Ο 5. Πως υπολογίζεται ο χρόνος εκτέλεσης ενός αλγορίθμου;

Α Ν Α Λ Τ Η Α Λ Γ Ο Ρ Ι Θ Μ Ω Ν Κ Ε Υ Α Λ Α Ι Ο 5. Πως υπολογίζεται ο χρόνος εκτέλεσης ενός αλγορίθμου; 5.1 Επίδοση αλγορίθμων Μέχρι τώρα έχουμε γνωρίσει διάφορους αλγόριθμους (αναζήτησης, ταξινόμησης, κ.α.). Στο σημείο αυτό θα παρουσιάσουμε ένα τρόπο εκτίμησης της επίδοσης (performance) η της αποδοτικότητας

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΣΧΟΛΗ ΕΠΙΣΤΗΜΩΝ ΤΗΣ ΔΙΟΙΚΗΣΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΟΙΚΟΝΟΜΙΑΣ ΚΑΙ ΔΙΟΙΚΗΣΗΣ ΣΤΑΤΙΣΤΙΚΗ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΣΧΟΛΗ ΕΠΙΣΤΗΜΩΝ ΤΗΣ ΔΙΟΙΚΗΣΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΟΙΚΟΝΟΜΙΑΣ ΚΑΙ ΔΙΟΙΚΗΣΗΣ ΣΤΑΤΙΣΤΙΚΗ Ακαδ. Έτος 6-7 Διδάσκων: Βασίλης ΚΟΥΤΡΑΣ Λέκτορας v.koutras@fme.aegea.gr Τηλ: 735468 Σε αρκετές εφαρμογές

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

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

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

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

Η Διωνυμική Κατανομή. μαθηματικών. 2 Ο γονότυπος μπορεί να είναι ΑΑ, Αα ή αα.

Η Διωνυμική Κατανομή. μαθηματικών. 2 Ο γονότυπος μπορεί να είναι ΑΑ, Αα ή αα. Η Διωνυμική Κατανομή Η Διωνυμική κατανομή συνδέεται με ένα πολύ απλό πείραμα τύχης. Ίσως το απλούστερο! Πρόκειται για τη δοκιμή Bernoulli, ένα πείραμα τύχης με μόνο δύο, αμοιβαίως αποκλειόμενα, δυνατά

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

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

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

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

Η αβεβαιότητα στη μέτρηση.

Η αβεβαιότητα στη μέτρηση. Η αβεβαιότητα στη μέτρηση. 1. Εισαγωγή. Κάθε μέτρηση, όσο προσεκτικά και αν έχει γίνει, περικλείει κάποια αβεβαιότητα. Η ανάλυση των σφαλμάτων είναι η μελέτη και ο υπολογισμός αυτής της αβεβαιότητας στη

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

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

Αναγνώριση Προτύπων Ι Αναγνώριση Προτύπων Ι Ενότητα 3: Στοχαστικά Συστήματα Αν. Καθηγητής Δερματάς Ευάγγελος Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

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

Δομές Δεδομένων Εργαστηριακή Άσκηση 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 είναι αυτόνομα

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

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

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

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

Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα

Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα Ενότητες βιβλίου: 6.4, 6.7 Ώρες διδασκαλίας: 1 Τεχνικές σχεδίασης προγραμμάτων Στο βιβλίο γίνεται αναφορά σε μία τεχνική για την ανάπτυξη

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

Ι. Preprocessing (Επεξεργασία train.arff):

Ι. Preprocessing (Επεξεργασία train.arff): Ονοματεπώνυμο: Κατερίνα Αργύρη Δ.Π.Μ.Σ: Εφαρμοσμένες Μαθηματικές Επιστήμες Ακαδ. Έτος: 2008-2009 1 Για την παρούσα εργασία διατίθενται τρία σύνολα δεδομένων: Δεδομένα Εκπαίδευσης (train set αρχείο train.arff):

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

Δυναμικές Δομές Δεδομένων Λίστες Δένδρα - Γράφοι

Δυναμικές Δομές Δεδομένων Λίστες Δένδρα - Γράφοι Δυναμικές Δομές Δεδομένων Λίστες Δένδρα - Γράφοι Κ Ο Τ Ι Ν Η Ι Σ Α Β Ε Λ Λ Α Ε Κ Π Α Ι Δ Ε Υ Τ Ι Κ Ο Σ Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ Π Ε 8 6 Ν Ε Ι Ρ Ο Σ Α Ν Τ Ω ΝΙ Ο Σ Ε Κ Π Α Ι Δ Ε Υ Τ Ι Κ Ο Σ Π Λ Η Ρ Ο Φ Ο

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

Προγραμματισμός Η/Υ. Προτεινόμενα θέματα εξετάσεων Εργαστήριο. Μέρος 1 ό. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής

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

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

Δειγματοληψία στην Ερευνα. Ετος

Δειγματοληψία στην Ερευνα. Ετος ΓΕΩΠΟΝΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ Τμήμα Αγροτικής Οικονομίας & Ανάπτυξης Μέθοδοι Γεωργοοικονομικής και Κοινωνιολογικής Ερευνας Δειγματοληψία στην Έρευνα (Μέθοδοι Δειγματοληψίας - Τρόποι Επιλογής Τυχαίου Δείγματος)

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

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. 03/01/09 Χαράλαμπος Τζόκας 1

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. 03/01/09 Χαράλαμπος Τζόκας 1 ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 03/01/09 Χαράλαμπος Τζόκας 1 Πρόγραμμα - Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν στον Υπολογιστή, ώστε να υλοποιηθεί ο αλγόριθμος της επίλυσης

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

Διαγράμματα Κλάσεων στη Σχεδίαση

Διαγράμματα Κλάσεων στη Σχεδίαση Διαγράμματα Κλάσεων στη Σχεδίαση περιεχόμενα παρουσίασης Αφηρημένες κλάσεις Ιδιότητες Λειτουργίες Απλοί τύποι Συσχετίσεις Εξάρτηση Διεπαφές αφηρημένες κλάσεις Οι αφηρημένες κλάσεις δεν μπορούν να δημιουργήσουν

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

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος. 1. Δώστε τον ορισμό του προβλήματος. 2. Σι εννοούμε με τον όρο επίλυση ενός προβλήματος; 3. Σο πρόβλημα του 2000. 4. Σι εννοούμε με τον όρο κατανόηση προβλήματος; 5. Σι ονομάζουμε χώρο προβλήματος; 6.

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

Μέθοδοι Μηχανών Μάθησης για Ευφυή Αναγνώριση και ιάγνωση Ιατρικών εδοµένων

Μέθοδοι Μηχανών Μάθησης για Ευφυή Αναγνώριση και ιάγνωση Ιατρικών εδοµένων Μέθοδοι Μηχανών Μάθησης για Ευφυή Αναγνώριση και ιάγνωση Ιατρικών εδοµένων Εισηγητής: ρ Ηλίας Ζαφειρόπουλος Εισαγωγή Ιατρικά δεδοµένα: Συλλογή Οργάνωση Αξιοποίηση Data Mining ιαχείριση εδοµένων Εκπαίδευση

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

Η ΙΣΧΥΣ ΕΝΟΣ ΕΛΕΓΧΟΥ. (Power of a Test) ΚΕΦΑΛΑΙΟ 21

Η ΙΣΧΥΣ ΕΝΟΣ ΕΛΕΓΧΟΥ. (Power of a Test) ΚΕΦΑΛΑΙΟ 21 ΚΕΦΑΛΑΙΟ 21 Η ΙΣΧΥΣ ΕΝΟΣ ΕΛΕΓΧΟΥ (Power of a Test) Όπως είδαμε προηγουμένως, στον Στατιστικό Έλεγχο Υποθέσεων, ορίζουμε δύο είδη πιθανών λαθών (κινδύνων) που μπορεί να συμβούν όταν παίρνουμε αποφάσεις

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

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

HMY 795: Αναγνώριση Προτύπων HMY 795: Αναγνώριση Προτύπων Διάλεξη 3 Επιλογή μοντέλου Επιλογή μοντέλου Θεωρία αποφάσεων Επιλογή μοντέλου δεδομένα επικύρωσης Η επιλογή του είδους του μοντέλου που θα χρησιμοποιηθεί σε ένα πρόβλημα (π.χ.

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

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

Μάθηση και Γενίκευση. Τεχνητά Νευρωνικά Δίκτυα (Διαφάνειες), Α. Λύκας, Παν. Ιωαννίνων Μάθηση και Γενίκευση Το Πολυεπίπεδο 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 νευρώνες

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

Πληροφορική ΙΙ Ενότητα 1

Πληροφορική ΙΙ Ενότητα 1 Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Πληροφορική ΙΙ Ενότητα 1: Εισαγωγή Θεματική Ενότητα: Εισαγωγή στον Προγραμματισμό Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Ανάπτυξη μιας προσαρμοστικής πολιτικής αντικατάστασης αρχείων, με χρήση

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΟΙΚΟΝΟΜΙΑΣ ΚΑΙ ΔΙΟΙΚΗΣΗΣ ΣΤΑΤΙΣΤΙΚΗ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΟΙΚΟΝΟΜΙΑΣ ΚΑΙ ΔΙΟΙΚΗΣΗΣ ΣΤΑΤΙΣΤΙΚΗ Ακαδ. Έτος 7-8 Διδάσκων: Βασίλης ΚΟΥΤΡΑΣ Επικ. Καθηγητής v.koutras@fme.aegea.gr Τηλ: 735468 Σε αρκετές εφαρμογές

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

Εργαλεία CASE. Computer Assisted Systems Engineering. Δρ Βαγγελιώ Καβακλή. Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου

Εργαλεία CASE. Computer Assisted Systems Engineering. Δρ Βαγγελιώ Καβακλή. Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Εργαλεία CASE Computer Assisted Systems Engineering Δρ Βαγγελιώ Καβακλή Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου Εαρινό Εξάμηνο 2011-2012 1 Εργαλεία CASE

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

Δρ. Βασίλειος Γ. Καμπουρλάζος Δρ. Ανέστης Γ. Χατζημιχαηλίδης

Δρ. Βασίλειος Γ. Καμπουρλάζος Δρ. Ανέστης Γ. Χατζημιχαηλίδης Μάθημα 5 ο Δρ. Ανέστης Γ. Χατζημιχαηλίδης Τμήμα Μηχανικών Πληροφορικής Τ.Ε. ΤΕΙ Ανατολικής Μακεδονίας και Θράκης 2016-2017 Διευρυμένη Υπολογιστική Νοημοσύνη (ΥΝ) Επεκτάσεις της Κλασικής ΥΝ. Μεθοδολογίες

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

ΕΙΔΗ ΕΡΕΥΝΑΣ I: ΠΕΙΡΑΜΑΤΙΚΗ ΕΡΕΥΝΑ & ΠΕΙΡΑΜΑΤΙΚΟΙ ΣΧΕΔΙΑΣΜΟΙ

ΕΙΔΗ ΕΡΕΥΝΑΣ I: ΠΕΙΡΑΜΑΤΙΚΗ ΕΡΕΥΝΑ & ΠΕΙΡΑΜΑΤΙΚΟΙ ΣΧΕΔΙΑΣΜΟΙ ΤΕΧΝΙΚΕΣ ΕΡΕΥΝΑΣ (# 252) Ε ΕΞΑΜΗΝΟ 9 η ΕΙΣΗΓΗΣΗ ΣΗΜΕΙΩΣΕΙΣ ΕΙΔΗ ΕΡΕΥΝΑΣ I: ΠΕΙΡΑΜΑΤΙΚΗ ΕΡΕΥΝΑ & ΠΕΙΡΑΜΑΤΙΚΟΙ ΣΧΕΔΙΑΣΜΟΙ ΛΙΓΗ ΘΕΩΡΙΑ Στην προηγούμενη διάλεξη μάθαμε ότι υπάρχουν διάφορες μορφές έρευνας

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

ΠΕΙΡΑΜΑΤΙΚΕΣ ΠΡΟΣΟΜΟΙΩΣΕΙΣ ΚΕΦΑΛΑΙΟ 4. είναι η πραγματική απόκριση του j δεδομένου (εκπαίδευσης ή ελέγχου) και y ˆ j

ΠΕΙΡΑΜΑΤΙΚΕΣ ΠΡΟΣΟΜΟΙΩΣΕΙΣ ΚΕΦΑΛΑΙΟ 4. είναι η πραγματική απόκριση του j δεδομένου (εκπαίδευσης ή ελέγχου) και y ˆ j Πειραματικές Προσομοιώσεις ΚΕΦΑΛΑΙΟ 4 Όλες οι προσομοιώσεις έγιναν σε περιβάλλον Matlab. Για την υλοποίηση της μεθόδου ε-svm χρησιμοποιήθηκε το λογισμικό SVM-KM που αναπτύχθηκε στο Ecole d Ingenieur(e)s

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

Ε Ι Α Γ Ω Γ Η Σ Ο Ν Π Ρ Ο Γ Ρ Α Μ Μ Α Σ Ι Μ Ο Κ Ε Υ Α Λ Α Ι Ο 6. Σο πρόγραμμα γράφεται σε κάποια γλώσσα προγραμματισμού.

Ε Ι Α Γ Ω Γ Η Σ Ο Ν Π Ρ Ο Γ Ρ Α Μ Μ Α Σ Ι Μ Ο Κ Ε Υ Α Λ Α Ι Ο 6. Σο πρόγραμμα γράφεται σε κάποια γλώσσα προγραμματισμού. Κεφάλαιο 6 6.1 Η έννοια του προγράμματος Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει τρία σημαντικά στάδια : Σον ακριβή προσδιορισμό του προβλήματος Σην ανάπτυξη του αντίστοιχου αλγορίθμου

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΣΧΟΛΗ ΕΠΙΣΤΗΜΩΝ ΤΗΣ ΔΙΟΙΚΗΣΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΟΙΚΟΝΟΜΙΑΣ ΚΑΙ ΔΙΟΙΚΗΣΗΣ ΣΤΑΤΙΣΤΙΚΗ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΣΧΟΛΗ ΕΠΙΣΤΗΜΩΝ ΤΗΣ ΔΙΟΙΚΗΣΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΟΙΚΟΝΟΜΙΑΣ ΚΑΙ ΔΙΟΙΚΗΣΗΣ ΣΤΑΤΙΣΤΙΚΗ Ακαδ. Έτος 5-6 Διδάσκων: Βασίλης ΚΟΥΤΡΑΣ Λέκτορας v.koutras@fme.aegea.gr Τηλ: 735468 Σε αρκετές εφαρμογές

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

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

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

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

ΜΕΛΕΤΗ ΣΧΕΔΙΑΣΗ ΕΦΑΡΜΟΓΗΣ ΣΕ ΥΠΟΛΟΓΙΣΤΙΚΟ ΝΕΦΟΣ (CLOUD COMPUTING) ΜΕ ΕΜΦΑΣΗ ΣΤΗΝ ΚΑΤΑΣΚΕΥΗ ΔΕΝΤΡΩΝ.

ΜΕΛΕΤΗ ΣΧΕΔΙΑΣΗ ΕΦΑΡΜΟΓΗΣ ΣΕ ΥΠΟΛΟΓΙΣΤΙΚΟ ΝΕΦΟΣ (CLOUD COMPUTING) ΜΕ ΕΜΦΑΣΗ ΣΤΗΝ ΚΑΤΑΣΚΕΥΗ ΔΕΝΤΡΩΝ. ΤΕΙ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΗΥΣ Θέμα: ΜΕΛΕΤΗ ΣΧΕΔΙΑΣΗ ΕΦΑΡΜΟΓΗΣ ΣΕ ΥΠΟΛΟΓΙΣΤΙΚΟ ΝΕΦΟΣ (CLOUD COMPUTING) ΜΕ ΕΜΦΑΣΗ ΣΤΗΝ ΚΑΤΑΣΚΕΥΗ ΔΕΝΤΡΩΝ. Εισηγητής: Δ. Ν. Καλλέργης, MSc. Φοιτήτρια: Κοντζοπούλου Παναγιώτα Εισαγωγή

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

Το μοντέλο Perceptron

Το μοντέλο Perceptron Το μοντέλο Perceptron Αποτελείται από έναν μόνο νευρώνα McCulloch-Pitts w j x x 1, x2,..., w x T 1 1 x 2 w 2 Σ u x n f(u) Άνυσμα Εισόδου s i x j x n w n -θ w w 1, w2,..., w n T Άνυσμα Βαρών 1 Το μοντέλο

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

ΑΥΤΟΝΟΜΟΙ ΠΡΑΚΤΟΡΕΣ. ΑΝΑΦΟΡΑ ΕΡΓΑΣΙΑΣ Othello-TD Learning. Βόλτσης Βαγγέλης Α.Μ

ΑΥΤΟΝΟΜΟΙ ΠΡΑΚΤΟΡΕΣ. ΑΝΑΦΟΡΑ ΕΡΓΑΣΙΑΣ Othello-TD Learning. Βόλτσης Βαγγέλης Α.Μ ΑΥΤΟΝΟΜΟΙ ΠΡΑΚΤΟΡΕΣ ΑΝΑΦΟΡΑ ΕΡΓΑΣΙΑΣ Othello-TD Learning Βόλτσης Βαγγέλης Α.Μ. 2011030017 Η παρούσα εργασία πραγματοποιήθηκε στα πλαίσια του μαθήματος Αυτόνομοι Πράκτορες και σχετίζεται με λήψη αποφάσεων

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

Σχεδιασμός και Διεξαγωγή Πειραμάτων

Σχεδιασμός και Διεξαγωγή Πειραμάτων Σχεδιασμός και Διεξαγωγή Πειραμάτων Πρώτο στάδιο: λειτουργικοί ορισμοί της ανεξάρτητης και της εξαρτημένης μεταβλητής Επιλογή της ανεξάρτητης μεταβλητής Επιλέγουμε μια ανεξάρτητη μεταβλητή (ΑΜ), την οποία

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ 1 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΚΕΦΑΛΑΙΟ 3ο: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ ΜΕΡΟΣ 2 ο : ΣΤΟΙΒΑ & ΟΥΡΑ ΙΣΤΟΣΕΛΙΔΑ ΜΑΘΗΜΑΤΟΣ: http://eclass.sch.gr/courses/el594100/ ΣΤΟΙΒΑ 2 Μια στοίβα

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

Α. Ερωτήσεις Ανάπτυξης

Α. Ερωτήσεις Ανάπτυξης οµηµένος Προγραµµατισµός-Κεφάλαιο 7 Σελίδα 1 α ό 10 ΕΝΟΤΗΤΑ ΙΙΙ (ΠΡΟΓΡΑΜΜΑΤΑ) ΚΕΦΑΛΑΙΟ 7: Είδη, Τεχνικές και Περιβάλλοντα Προγραµµατισµού Α. Ερωτήσεις Ανάπτυξης 1. Τι ονοµάζουµε γλώσσα προγραµµατισµού;

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

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

Δομές Δεδομένων & Αλγόριθμοι Θέματα Απόδοσης Αλγορίθμων 1 Η Ανάγκη για Δομές Δεδομένων Οι δομές δεδομένων οργανώνουν τα δεδομένα πιο αποδοτικά προγράμματα Πιο ισχυροί υπολογιστές πιο σύνθετες εφαρμογές Οι πιο σύνθετες εφαρμογές απαιτούν

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

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΣΤΑΤΙΣΤΙΚΗ ΤΩΝ ΕΠΙΧΕΙΡΗΣΕΩΝ. Κεφάλαιο 6. Πιθανότητες

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΣΤΑΤΙΣΤΙΚΗ ΤΩΝ ΕΠΙΧΕΙΡΗΣΕΩΝ. Κεφάλαιο 6. Πιθανότητες ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΠΑΤΡΑΣ Εργαστήριο Λήψης Αποφάσεων & Επιχειρησιακού Προγραμματισμού Καθηγητής Ι. Μητρόπουλος ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΣΤΑΤΙΣΤΙΚΗ ΤΩΝ ΕΠΙΧΕΙΡΗΣΕΩΝ

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

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

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

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

Για τις λύσεις των προβλημάτων υπάρχει τρόπος εκτίμησης της επίδοσης (performance) και της αποδοτικότητας (efficiency). Ερωτήματα για την επίδοση

Για τις λύσεις των προβλημάτων υπάρχει τρόπος εκτίμησης της επίδοσης (performance) και της αποδοτικότητας (efficiency). Ερωτήματα για την επίδοση Επίδοση Αλγορίθμων Για τις λύσεις των προβλημάτων υπάρχει τρόπος εκτίμησης της επίδοσης (performance) και της αποδοτικότητας (efficiency). Ερωτήματα για την επίδοση πώς υπολογίζεται ο χρόνος εκτέλεσης

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

Υπολογιστική Νοημοσύνη. Μάθημα 9: Γενίκευση

Υπολογιστική Νοημοσύνη. Μάθημα 9: Γενίκευση Υπολογιστική Νοημοσύνη Μάθημα 9: Γενίκευση Υπερπροσαρμογή (Overfitting) Ένα από τα βασικά προβλήματα που μπορεί να εμφανιστεί κατά την εκπαίδευση νευρωνικών δικτύων είναι αυτό της υπερβολικής εκπαίδευσης.

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

Εξόρυξη Γνώσης από Βιολογικά εδομένα

Εξόρυξη Γνώσης από Βιολογικά εδομένα Παρουσίαση Διπλωματικής Εργασίας Εξόρυξη Γνώσης από Βιολογικά εδομένα Καρυπίδης Γεώργιος (Μ27/03) Επιβλέπων Καθηγητής: Ιωάννης Βλαχάβας MIS Πανεπιστήμιο Μακεδονίας Φεβρουάριος 2005 Εξόρυξη Γνώσης από Βιολογικά

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07 Αλγόριθμος: Βήμα προς βήμα διαδικασία για την επίλυση κάποιου προβλήματος. Το πλήθος των βημάτων πρέπει να είναι πεπερασμένο. Αλλιώς: Πεπερασμένη

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

Διαφορές single-processor αρχιτεκτονικών και SoCs

Διαφορές single-processor αρχιτεκτονικών και SoCs 13.1 Τα συστήματα και η επικοινωνία μεταξύ τους γίνονται όλο και περισσότερο πολύπλοκα. Δεν μπορούν να περιγραφούνε επαρκώς στο επίπεδο RTL καθώς αυτή η διαδικασία γίνεται πλέον αρκετά χρονοβόρα. Για αυτό

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