Ασύρµατη Κατανεµηµένη Υλοποίηση Νευρο-Ασαφούς Συστήµατος Ταξινόµησης (Wireless Distributed Implementation of Fuzzy Neural Classification System)

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

Download "Ασύρµατη Κατανεµηµένη Υλοποίηση Νευρο-Ασαφούς Συστήµατος Ταξινόµησης (Wireless Distributed Implementation of Fuzzy Neural Classification System)"

Transcript

1 ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ TΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Αύρµατη Κατανεµηµένη Υλοποίηη Νευρο-Ααφούς Συτήµατος Ταξινόµηης (Wireless Distributed Implementation of Fuzzy Neural Classifiation System) ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΚΩΣΤΑΣ Α. ΤΣΙΩΛΗΣ ΧΡΗΣΤΟΣ Ι. ΦΕΡΛΕΣ Επιβλέπων : Ανδρέας - Γεώργιος Ν. Σταφυλοπάτης Καθηγητής Ε.Μ.Π. Αθήνα, Νοέµβριος 2003

2

3 ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ TΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Αύρµατη Κατανεµηµένη Υλοποίηη Νευρο-Ααφούς Συτήµατος Ταξινόµηης (Wireless Distributed Implementation of Fuzzy Neural Classifiation System) ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΚΩΣΤΑΣ Α. ΤΣΙΩΛΗΣ ΧΡΗΣΤΟΣ Ι. ΦΕΡΛΕΣ Επιβλέπων : Ανδρέας - Γεώργιος Ν. Σταφυλοπάτης Καθηγητής Ε.Μ.Π. Εγκρίθηκε από την τριµελή εξετατική επιτροπή την 6 η Νοεµβρίου Ανδρέας-Γεώργιος Σταφυλοπάτης Καθηγητής Ε.Μ.Π.... Στέφανος Κόλλιας Καθηγητής Ε.Μ.Π.... Παναγιώτης Τανάκας Καθηγητής Ε.Μ.Π. Αθήνα, Νοέµβριος 2003

4 ... ΚΩΣΤΑΣ Α. ΤΣΙΩΛΗΣ ιπλωµατούχος Ηλεκτρολόγος Μηχανικός και Μηχανικός Υπολογιτών Ε.Μ.Π.... ΧΡΗΣΤΟΣ Ι. ΦΕΡΛΕΣ ιπλωµατούχος Ηλεκτρολόγος Μηχανικός και Μηχανικός Υπολογιτών Ε.Μ.Π. Copyright ΚΩΣΤΑΣ Α. ΤΣΙΩΛΗΣ 2003 Copyright ΧΡΗΣΤΟΣ Ι. ΦΕΡΛΕΣ 2003 Με επιφύλαξη παντός δικαιώµατος. All rights reserved. Απαγορεύεται η αντιγραφή, αποθήκευη και διανοµή της παρούας εργαίας, εξ ολοκλήρου ή τµήµατος αυτής, για εµπορικό κοπό. Επιτρέπεται η ανατύπωη, αποθήκευη και διανοµή για κοπό µη κερδοκοπικό, εκπαιδευτικής ή ερευνητικής φύης, υπό την προϋπόθεη να αναφέρεται η πηγή προέλευης και να διατηρείται το παρόν µήνυµα. Ερωτήµατα που αφορούν τη χρήη της εργαίας για κερδοκοπικό κοπό πρέπει να απευθύνονται προς τον υγγραφέα. Οι απόψεις και τα υµπεράµατα που περιέχονται ε αυτό το έγγραφο εκφράζουν τον υγγραφέα και δεν πρέπει να ερµηνευθεί ότι αντιπροωπεύουν τις επίηµες θέεις του Εθνικού Μετόβιου Πολυτεχνείου.

5 Περίληψη Αντικείµενο της διπλωµατικής εργαίας είναι η µελέτη και η ανάλυη των αρχιτεκτονικών και των αλγορίθµων που χετίζονται µε τα νευρο-ααφή υτήµατα ταξινόµηης. Ειδικότερα προτείνεται µια αύρµατη κατανεµηµένη λειτουργία ενός υτήµατος ταξινόµηης-κατηγοριοποίηης υπό πραγµατικές υνθήκες. Απώτερος κοπός είναι η δηµιουργία µιας φορητής υκευής η οποία θα έχει την δυνατότητα να λαµβάνει πληροφορίες από έναν αθενή, µε αιθητήρες που θα φέρει επάνω του, και θα µπορεί να βγάλει ιατρικής φύεως υµπεράµατα περί της κατάταης του. Παράλληλα υποτηρίζεται η δυνατότητα ανανέωης-επέκταης των δυνατοτήτων εξαγωγής υµπεραµάτων από την πλευρά της υκευής. Πιο υγκεκριµένα το Κεφάλαιο 1 περιλαµβάνει ειαγωγικά τοιχεία που αφορούν το ύτηµα που κατακευάτηκε. Στο Κεφάλαιο 2 ειάγονται οι έννοιες των ααφών υνόλων, των νευρωνικών δικτύων και των νευρο-ααφών υτηµάτων. Στο Κεφάλαιο 3 αναφέρονται τοιχεία χετικά µε τα δίκτυα ταξινόµηης, τον αλγόριθµο ανάτροφης διάδοης µε την µέθοδο κλίης και τα κριτήρια αξιοπιτίας. Στο κεφάλαιο 4 γίνεται ανάλυη του νευρο-ααφούς υτήµατος SuPFuNIS, ενώ παράλληλα αναφέρονται οριµένες επεκτάεις τροποποιήεις που εφαρµότηκαν ε αυτό. Το Κεφάλαιο 5 αφορά τα αύρµατα δίκτυα και το πρωτόκολλο ΙΕΕΕ , τοιχεία βάει των οποίων πραγµατοποιήθηκε η αύρµατη λειτουργία του όλου υτήµατος. Το Κεφάλαιο 6 παρουιάζει την πλατφόρµα Java, η οποία αποτελεί την γλώα προγραµµατιµού που χρηιµοποιήθηκε. Αρχικά το Κεφάλαιο 7 προτείνεται ένας αλγόριθµός υβριδικής µάθηης, ενώ επίης προτείνεται η αρχιτεκτονική ενός πολυεπίπεδου ταξινοµητή, την υνέχεια περιγράφεται αναλυτικά η υλοποίηη που πραγµατοποιήθηκε ε Java. Τέλος το Κεφάλαιο 8 εκθέτονται τα υµπεράµατα από τις πειραµατικές προοµοιώεις που έγιναν µε κοπό να επαληθευτεί η επίδοη των χρηιµοποιούµενων µεθόδων, αλγορίθµων και αρχιτεκτονικών. Λέξεις Κλειδιά ααφής υλλογιτική, νευρωνικά δίκτυα, νευρο-ααφή υτήµατα, δίκτυα ταξινόµηης, πολυεπίπεδος ταξινοµητής, αλγόριθµος ανάτροφης διάδοης, αλγόριθµος υβριδικής µάθηης, κριτήρια αξιοπιτίας, SuPFuNIS, αύρµατα τοπικά δίκτυα, IEEE , J2ME, Personal Profile, PDA 5

6 Abstrat The purpose of the present diploma thesis is the study and analysis of the algorithms and arhitetures that are employed on fuzzy-neural lassifiation systems. A wireless distributed implementation of a lassifiation system is also proposed. The main purpose is programming a mobile devie so as to ollet data from sensors and simultaneously inferring diagnoses relevant to the ondition of a patient. Furthermore supervised and hybrid learning are employed in order to lend adaptability to the lassifiation model. More preisely, Chapter 1 is an introdution to the major elements of the implemented system. Chapter 2 introdues fuzzy logi, neural networks and fuzzyneural systems. Chapter 3 ontains information on lassifiation systems, the bakpropagation algorithm and information relevant to lassifiation reliability measures. In Chapter 4 the SuPFuNIS model is analyzed and a modifiation on its ore learning algorithm is introdued. In Chapter 5 wireless loal area networks and the ΙΕΕΕ protool are explained. Chapter 6 presents the Java platform whih is the programming language being used. A hybrid learning algorithm and a multi expert system are introdued in Chapter 7. Also in this hapter the software implementation of the proposed model is analyzed in detail. Finally, the results of simulation experiments are presented in Chapter 8 while the performane of ertain algorithms and methods is examined at length. Key Words fuzzy logi, neural networks, fuzzy-neural systems, lassifiation systems, multi expert systems, bakpropagation, hybrid learning, reliability, SuPFuNIS, WLAN, IEEE , J2ME, Personal Profile, PDA 6

7 Ευχαριτίες Για την εκπόνηη της παρούας διπλωµατικής εργαίας θα θέλαµε να ευχαριτήουµε κατά κύριο λόγο τον καθηγητή µας κ. Α. Γ. Σταφυλοπάτη, που µε την αµέριτη υµπαράταη τις πάντοτε καίριες και χρήιµες υµβουλές του υπήρξε ο καθοδηγητής µας τη µελέτη αυτή. Επίης πρέπει να τονίουµε ότι η εργαία αυτή δεν θα είχε έλθει εις πέρας χωρίς την πολύτιµη υµβολή και τις παρεµβάεις των υποψηφίων διδακτόρων Μηνά Περτελάκη και ηµήτρη Φρουνιώτη, οι οποίοι µας βοήθηαν ηµαντικά το να ξεπεράουµε τα ηµαντικά προβλήµατα που προέκυψαν. 7

8 8

9 Πίνακας Περιεχοµένων Κεφάλαιο 1 1 Ειαγωγή 15 Κεφάλαιο 2 2 Νευρο-Ααφή Συτήµατα Ααφή Σύνολα Ειαγωγή Βαικοί Οριµοί και Ορολογία Συνάρτηη Συµµετοχής Ααφής ή Προεγγιτική Συλλογιτική Ααφή Συτήµατα (Fuzzy Inferene Systems/FIS) Μέτρο Οµοιότητας Νευρωνικά ίκτυα Ειαγωγικό Σηµείωµα Βαικές Έννοιες Μοντέλο Τεχνητού Νευρονίου (Νευρώνας) Αρχιτεκτονικές Νευρωνικών ικτύων Μάθηη Νευρωνικών ικτύων Νευρο-Ααφή Συτήµατα Υβριδικά Συτήµατα Υπολογιτικής Νοηµούνης Νευρο-Ααφή Συτήµατα Νευρωνικά Μέρη ενός Ααφούς Συτήµατος. 45 Κεφάλαιο 3 3 Ταξινοµητές Προτύπων Νευρωνικά ίκτυα Ταξινόµηης Το Πρόβληµα της Ταξινόµηης Προτύπων Το Απλό Pereptron Πολυεπίπεδο Pereptron Μάθηη και Γενίκευη οµική Προέγγιη Τεχνικές Εκτίµηης Σφάλµατος Ταξινόµηης Ο Αλγόριθµος Ανάτροφης ιάδοης Περιγραφή του Αλγορίθµου Ανάτροφης ιάδοης Σηµειώεις τον Αλγόριθµο Ανάτροφης ιάδοης Αξιοπιτία την Ταξινόµηη Ειαγωγικό Σηµείωµα Εκτιµητές Αξιοπιτίας Τροποποιηµένος Εκτιµητής Αξιοπιτίας..66 Κεφάλαιο 4 4 Νευρο-Ααφές Σύτηµα Εξαγωγής Συµπεραµάτων τηριζόµενο το Γινόµενο Βαθµών Οµοιότητας Ειαγωγή Το SuPFuNIS ε Αντιδιατολή µε άλλα Νευρο-Ααφή Μοντέλα Αρχιτεκτονική και Λειτουργικές Λεπτοµέρειες

10 4.4 Επιβλεπόµενη Μάθηη Εξάγοντας Κανόνες από ένα Εκπαιδευµένο ίκτυο Εµπλουτίζοντας το Σύτηµα SuPFuNIS µε Εµπειρική Γνώη Προαρµοζόµενος Νευρο-Ααφής Ταξινοµητής Ειαγωγή Η Μέθοδος Αρχικοποίηης το SuPFuNIS Εξαγωγή Γνώης από Αριθµητικά εδοµένα Τροποποίηη του Αλγορίθµου Εκπαίδευης.. 94 Κεφάλαιο 5 5 Αύρµατα Τοπικά ίκτυα Ειαγωγικό Σηµείωµα Πρότυπο ΙΕΕΕ Το Στρώµα ικτύου το Internet Περιγραφή του Στρώµατος ικτύου ιευθύνεις IP Τα Πρωτόκολλα Μεταφοράς του Internet Κεφάλαιο 6 6 Πλατφόρµα Υλοποίηης Λογιµικού Java Επικόπηη της Πλατφόρµας Java Ιτορία της Γλώας Java Εκδόεις της Γλώας Java Χαρακτηριτικά της Γλώας Java Τοµείς της Γλώας Java Επικόπηη της Java 2 Miro Edition (J2ME) CDC Configuration Personal Profile Foundation Profile Personal Basis Profile Ανάλυη του Personal Profile Αύρµατη Τεχνολογία Java Η Πλατφόρµα Java την Ανάπτυξη Αύρµατων Εφαρµογών Βαικές Έννοιες της Γλώας Java Threads Streams Exeptions Sokets Κεφάλαιο 7 7 Το Σύτηµα WiDIFuNeCS Γενικός Σχεδιαµός Πολυεπίπεδος Ταξινοµητής Υβριδική Μάθηη SuPFuNIS ε Java Αιθητήρες Αύγχρονη Εκποµπή Ενός Χαρακτηριτικού Κάθε είγµατος Εκποµπή Όλων των Χαρακτηριτικών Κάθε είγµατος Φορητή Συκευή Η Εφαρµογή Java της Φορητής Συκευής

11 7.6.2 Λήψη των εδοµένων που Εκπέµπουν οι Αιθητήρες Σύνδεη της Φορητής Συκευής µε τον Server Η Eφαλµένη Yλοποίηη των Sokets την Πλατφόρµα Jeode Server Φάη Αρχικοποίηης Φάη Ενηµέρωης Η Εφαρµογή Java του Server 172 Κεφάλαιο 8 8 Πειραµατικές Μετρήεις Περιγραφή Πειραµάτων Αλγόριθµος Εκπαίδευης Αλγόριθµος Επανεκπαίδευης Μέθοδος Υπολογιµού της Αξιοπιτίας Αρχιτεκτονική Πολυεπίπεδου Ταξινοµητή..189 Βιβλιογραφία Βιβλιογραφία. 195 Παράρτηµα 1 Συνάρτηη Λάθους 201 Παράρτηµα 2 Σύνολα εδοµένων 205 Παράρτηµα 3 Συγκεντρωτικοί Πίνακες Παραµέτρων..209 Παράρτηµα 4 Τεχνικά Χαρακτηριτικά Συκευών. 265 Παράρτηµα 5 Πηγαίοι Κώδικες ε Γλώα Προγραµµατιµού Java

12 12

13 Κεφάλαιο 1 Ειαγωγή 13

14 14

15 Κεφάλαιο 1 1 Ειαγωγή Το αρχικό πρόβληµα το οποίο αποτέλεε την πηγή έµπνευης για την ανάπτυξη της παρούας διπλωµατικής εργαίας ήταν η δηµιουργία µιας φορητής υκευής η οποία να µπορεί να δέχεται πληροφορίες από αιθητήρες που βρίκονται επάνω το ώµα ενός αθενούς και να είναι ε θέη να εξάγει υµπεράµατα για την ιατρική κατάταη του. Γίνεται εποµένως αντιληπτό το γεγονός ότι τα δεδοµένα που αποτέλλουν οι αιθητήρες προκύπτουν από βιοήµατα (όπως χτύποι καρδιάς, αρτηριακή πίεη), τα οποία επειδή αναφέρονται ε χαρακτηριτικά του ανθρώπινου οργανιµού εξαρτώνται από διάφορους παράγοντες όπως η ηλικία, το φύλο, ή η φυική του κατάταη. Πρέπει λοιπόν να χρηιµοποιηθεί η ααφής υλλογιτική για να περιγράψει τέτοιες υγκεχυµένες έννοιες όπως ΝΕΟΣ ή ΑΣΘΕΝΗΣ. Από την άλλη πλευρά ενδείκνυται η χρήη των νευρωνικών δικτύων ούτως ώτε να γίνει χρήη της προαρµοτικής ικανότητας τους ε άγνωτα εν γένει προβλήµατα. Σηµαντική επίης είναι η επίτευξη διάγνωης περί της κατάταης του αθενούς, εποµένως είναι λογικό να αναφερόµατε ε πρόβληµα ταξινόµηης εφόον ένας αθενής πρέπει να ταξινοµηθεί ε µια κατηγορία (όπως για παράδειγµα ΥΓΙΗΣ ή ΑΣΘΕΝΗΣ). Τέλος είναι προφανής η αναγκαιότητα λήψης αποφάεων ε ύντοµο χρονικό διάτηµα, αφού ε αντίθετη περίπτωη χάνει την ουία της η οποιαδήποτε διάγνωη. Η µελέτη των παραπάνω παραγόντων οδήγηε το χεδιαµό και την υλοποίηη του Wireless Distributed Implementation of Fuzzy Neural Classifiation System (WiDIFuNeCS). Το αντικείµενο της παρούας διπλωµατικής εργαίας λοιπόν ετιάζεται τα νευρο-ααφή υτήµατα ταξινόµηης. Μελετώντας και αναλύοντας ένα υγκεκριµένο νευρο-ααφές ύτηµα, το SuPFuNIS, επιχειρείται µια αύρµατη κατανεµηµένη υλοποίηη αυτού ε πραγµατικό περιβάλλον. Με τον όρο κατανεµηµένη λειτουργία τονίζεται ο δοµικός αλλά και χωροταξικός διαχωριµός ανάµεα τη διαδικαία υλλογής δεδοµένων ειόδου, τη διαδικαία ταξινόµηης και την διαδικαία εκπαίδευης του νευρο-ααφούς δικτύου ταξινόµηης. Ο διαχωριµός έγκειται το ότι οι διαδικαίες αυτές πραγµατοποιούνται ε διαφορετικές υκευές. Με τον όρο αύρµατη, περιγράφεται η λειτουργία κατά την οποία τα δεδοµένα ειόδου υλλέγονται µε αύρµατο τρόπο ενώ και η αρχικοποίηη-ανανέωη του διανύµατος των βαρών γίνονται επίης αύρµατα. Τέλος η έννοια πραγµατικό περιβάλλον περιγράφει τις πραγµατικές υνθήκες που πρέπει ένα τέτοιο ύτηµα να είναι ε θέη να αντιµετωπίει όπως είναι ο θόρυβος ή οι παρεµβολές. Το SuPFuNIS µοντέλο πάνω το οποίο δοµήθηκε το WiDIFuNeCS, διαφέρει από τα άλλα νεύρο-ααφή δίκτυα ε διάφορα ηµεία: Χρηιµοποιεί έναν εκπαιδευόµενο ααφοποιητή ειόδου που είναι υπεύθυνος για την ααφοποίηη των αριθµητικών δεδοµένων. Όλες οι πληροφορίες που διαδίδονται από το τρώµα ειόδου είναι ααφείς. Το µοντέλο υωρεύει τις ενεργοποιήεις ενός κόµβου χρηιµοποιώντας το ααφές εωτερικό γινόµενο, ένα γινόµενο αµοιβαίων υπουνόλων. Οι έξοδοι προκύπτουν µε την χρήη της µεθόδου ποοτικής αποααφοποίηης πράγµα που αποτελεί παραλλαγή της υνηθιµένης τροποποιηµένης µεθόδου κέντρου βάρους. 15

16 Συνολικά µπορεί κανείς να παρατηρήει ότι τα τοιχεία-πεδία που υνιτούν το περιβάλλον το οποίο κινείται η υλοποίηη του WiDIFuNeCS είναι τα κάτωθι: ο αλγόριθµος εξαγωγής υµπεραµάτων και η διαδικαία βελτίωηςεπέκταης των δυνατοτήτων αυτού οι αύρµατες διαυνδέεις του υνόλου των επιµέρους υκευών οι λειτουργίες των αιθητήρων οι λειτουργίες της φορητής υκευής οι λειτουργίες της υκευής εξυπηρετητή ] Βάει των όων αναφέρθηκαν προηγούµενα το SuPFuNIS χρηιµοποιείται ως ταξινοµητής, δηλαδή ως ύτηµα εξαγωγής υµπεραµάτων χετικών µε την κατηγορία την οποία ανήκει το εκάτοτε πρότυπο ειόδου. Για την αρχικοποίηη του ταξινοµητή, ώτε να είναι ε θέη να κατηγοριοποιεί πρότυπα που ανήκουν ε καινούργια προβλήµατα, χρηιµοποιείται ο αλγόριθµος bakpropagation µε την µέθοδο κλίης όπως αυτή ορίζεται για το SuPFuNIS. Ακόµη για την επανεκπαίδευη-βελτίωη της ικανότητας ταξινόµηης του υτήµατος χρηιµοποιείται ένας πρότυπος υβριδικός αλγόριθµος µάθηης. ] Η υλλογή προτύπων ειόδου από τους αιθητήρες για λογαριαµό της φορητής υκευής γίνεται αύρµατα κάνοντας χρήη ad ho τοπολογίας. Η επικοινωνία της φορητής υκευής µε τον server ούτως ώτε να γίνει δυνατή η εκπαίδευηεπανεκπαίδευη του υτήµατος ταξινόµηης γίνεται αύρµατα µε χρήη του πρωτοκόλλου ΙΕΕΕ για WLAN. Σε αυτή την περίπτωη όµως η τοπολογία διαύνδεης των υκευών µπορεί να είναι ad ho τοπολογία ή τοπολογία δικτύου υποδοµής. ] Αιθητήρας καλείται µια µικρή υκευή που έχει την δυνατότητα να λαµβάνει ήµατα διαφόρων ειδών και να παράγει αριθµητικές τιµές χετικές µε τα ήµατα αυτά. ] Η φορητή υκευή αποτελεί τον κρίκο που προδίδει υνεκτικότητα την υλοποίηη WiDIFuNeCS. Περιλαµβάνει ένα γραφικό περιβάλλον που επιτρέπει τον χρήτη να επιλέξει µεταξύ των λειτουργιών της ταξινόµηης και της µάθηης του WiDIFuNeCS. Κατά την διάρκεια της λειτουργίας της ταξινόµηης η φορητή υκευή εξάγει υµπεράµατα ε πραγµατικό χρόνο ενώ παράλληλα υλλέγει διανύµατα ειόδου µε κοπό να τα χρηιµοποιήει την φάη της επανεκπαίδευης του υτήµατος. Κατά την διάρκεια της λειτουργίας µάθηης παρέχονται δυο δυνατότητες. Η πρώτη είναι να ζητηθεί από τον server ένα ύνολο διανυµάτων βαρών που να αντιτοιχούν ε ένα εντελώς καινούργιο πρόβληµα ταξινόµηης (αρχικοποίηη). Ενώ η δεύτερη είναι να αποταλούν τα διανύµατα ειόδων (που έχουν υλλεχθεί) τον server (για περαιτέρω επεξεργαία) και να ανακτηθεί το µέχρι εκείνη την τιγµή βέλτιτο ύνολο βαρών που διαθέτει ο server επί του υγκεκριµένου προβλήµατος ταξινόµηης (ανανέωη). ] Κατά την φάη της εκκίνηης του εξυπηρετητή, ανατίθεται ε αυτόν ένα δεδοµένο πρόβληµα ταξινόµηης και την υνέχεια µε παραµετροποιηµένη επιβλεπόµενη µάθηη καθορίζονται οριµένα αρχικά ύνολα βαρών για τον ταξινοµητή. Κατά την φάη της κανονικής λειτουργίας ο server δέχεται και επεξεργάζεται αιτήεις από φορητές υκευές. Εάν η ληφθεία αίτηη είναι αίτηµα αρχικοποίηης τότε αποτέλλονται την υκευή πλήρη διανύµατα βαρών καθώς και οριµένες πληροφορίες περί του νέου προβλήµατος ταξινόµηης που υνδέονται µε αυτά τα βάρη. Εάν η αίτηη είναι αίτηµα επανεκπαίδευης τότε αποτέλλονται την φορητή υκευή τα µέχρι εκείνη την τιγµή βέλτιτα διανύµατα βαρών, ακολούθως αφού 16

17 Κεφάλαιο 1 υλλεχθούν τα πρότυπα ειόδου (τα οποία έχουν ταλεί από την φορητή υκευή) εκκινείται αυτόµατα µια υβριδική διαδικαία επανεκπαίδευης. ad ho τοπολογία τοπολογία δικτύου υποδοµής Σχήµα 1.1: Η αύρµατη κατανεµηµένη λειτουργία του WiDIFuNeCS. 17

18 18

19 Κεφάλαιο 2 Νευρο-Ααφή Συτήµατα 19

20 20

21 Κεφάλαιο 2 2 Νευρο-Ααφή Συτήµατα 2.1 Ααφή Σύνολα Ειαγωγή Η έννοια «ύνολο» κατέχει κεντρική θέη την επιτήµη των Μαθηµατικών και αποτελεί θεµελιώδη ύλληψη πάνω την οποία δοµείται το οικοδόµηµα όλων των θετικών επιτηµών. Όπως ακριβώς δεν µπορεί κανείς να ορίει µε αυτηρό τρόπο τι είναι ακριβώς ευθεία ή αριθµός, το ίδιο δεν µπορεί να ορίει αυτηρά και τι είναι ύνολο. Ο άνθρωπος µαθαίνει και κατανοεί τις έννοιες αυτές όχι µόνο µέω οριµών αλλά κυρίως µέω παραδειγµάτων. Έτι χρειαζόµατε να επιτρατεύουµε αυτή ακριβώς τη δυνατότητα για να κιαγραφήουµε και να αντιληφθούµε την έννοια του υνόλου. Έτω λοιπόν, ύνολο Χ και χ τυχόν τοιχείο. Τότε είναι προφανές (κατά πόο θα φανεί την υνέχεια) ότι µόνο ένα από τα παρακάτω µπορεί να ιχύει: Το χ ανήκει το Χ ή το χ δεν ανήκει το Χ. Συµβολικά χ Χ ή χ Χ. Τα µαθηµατικά τηρίζονται κατά βάη τη υνολοθεωρία και αυτή τηρίζεται εξ ολοκλήρου ε ένα αξίωµα βαιµένο τη διχοτοµία (ανήκει ή δεν ανήκει, είναι εντός ή εκτός του υνόλου). Αµφιβητώντας τη διχοτοµία, η κλαική υνολοθεωρία καταρρέει εκ θεµελίων και τη θέη της αναδύεται µια άλλη προέγγιη, η θεωρία των ααφών υνόλων (theory of fuzzy sets) [1] Βαικοί Οριµοί και Ορολογία Ένα κλαικό ύνολο είναι ένα ύνολο µε αφή όρια και περιγράφεται µε δύο τρόπους: Α. Απαριθµώντας τα τοιχεία του, αν το πλήθος είναι πεπεραµένο Ε=α 1,α 2,,α ν Β. Περιγράφοντας µια κοινή ιδιότητα που διαθέτουν τα τοιχεία του, αν το πλήθος τους είναι µη πεπεραµένο π.χ. Ε=x x>6 Οριµός 1 Θεωρούµε ένα κλαικό ύνολο Χ, το οποίο ονοµάζουµε υπερύνολο αναφοράς, και έτω Α υπούνολο του Χ. Το Α καλείται ααφές υπούνολο του Χ τότε και µόνο τότε αν : 21

22 Α=(x, µ Α (x) ) x X όπου µ Α µία υνάρτηη από το Χ το [0,1] η οποία ονοµάζεται υνάρτηη υµµετοχής Είναι φανερό ότι την ειδική περίπτωη που έχουµε 0,1 αντί [0,1] το ααφές υπούνολο Α εκφυλίζεται το κλαικό υπούνολο Α. Συµβολιµός: Αν το Α είναι πεπεραµένο, τότε υµβολίζεται µε: Α=µ Α (x 1 )/x µ Α (x n )/x n = n i= 1 µ Α (x i )/x i Αν το είναι µη-πεπεραµένο, τότε υµβολίζεται µε: Α= Α µ ( x ) / x Τα ύµβολα +, Σ, υποδηλώνουν ένωη και το ύµβολο / δεν δηλώνει διαίρεη. Οριµός 2 Ααφές δυναµούνολο, F(X) του υπερυνόλου αναφοράς Χ, ονοµάζεται το ύνολο όλων των ααφών υπουνόλων του Χ. Μια οικογένεια ααφών υπουνόλων του Χ θα λέγεται ααφής διαµέριη P n (X) του Χ, τάξης n(n N) και θα υµβολίζεται µε Α n =Α 1,Α 2,,Α n αν και µόνο αν Α i Αj, i,j N n ( i j ) 0< m k = 1 Ai ( x ) < m, i N n Τα τοιχεία Α i,i N n της Α n θα λέγονται κλάεις της ααφούς διαµέριης [2]. Οριµός 3 Έτω Χ υπερύνολο αναφοράς και Α ααφές υπούνολο του Χ. Τότε: k Α. Το κλαικό υπούνολο Supp(A) του Χ, Supp(A) X καλείται τήριγµα (support) του ααφούς υπουνόλου όταν και µόνο όταν Supp(A)= x X : µ Α (x) 0 Β. Το κλαικό υπούνολο L a Α του Χ καλείται α-τοµή (a-ut) όταν και µόνο όταν: L a Α=x X : µ Α (x) α Γ. Εάν Α,Β Χ τότε: Ι. Α=Β όταν και µόνο όταν µ Α (x)=µ Β (x) για όλα τα x Χ ΙΙ Α Β όταν και µόνο όταν µ Α (x) µ Β (x) για όλα τα x X. ΙΙΙ.Α Β όταν και µόνο όταν µ Α (x) µ Β (x) για όλα τα x X και υπάρχει y X τέτοιο ώτε µ Α (y)< µ Β (y) 22

23 Κεφάλαιο 2 Μια α-τοµή L a Α ενός ααφούς υνόλου Α είναι ένα κοφτό ύνολο (δηλαδή όλα του τα τοιχεία έχουν βαθµό υµµετοχής το L a Α ίο µε 1). Έτι το L a Α µπορεί να γραφτεί µε τη βοήθεια ενός τελετή C a [.] ως: L a Α= C a [Α]=(x,1) µ Α (x) α,x X Προφανώς ο τελετής C a [Α] ανυψώνει το 1 τους βαθµούς υµµετοχής όλων των x X, µ Α (x) α και µειώνει το 0 τους βαθµούς όλων των άλλων τοιχείων. Οριµός 4 Έτω Χ υπερύνολο αναφοράς και Α ααφές υπούνολο του Χ, Τότε: Α. Το Α καλείται κυρτό όταν και µόνο όταν: µ Α (λx 1 +(1-λ)x 2 min(µ Α (x 1 ), µ Α (x 2 )), x 1, x 2 X, λ [0,1] Β. Το Α καλείται κανονικό (normal) όταν και µόνο όταν υπάρχει τουλάχιτον ένα x το υπερύνολο αναφοράς για το οποίο ιχύει µ Α (x)=1. Γ. Ως µέτρο (ardinality) του Α ορίζεται η ποότητα : Α =Σ µ Α (x) για κάθε χ που ανήκει το Χ. Ως χετικό µέτρο (relative ardinality) του Α ορίζεται η ποότητα Α = Α Χ Οριµός 5 Αντίτοιχα προς τις πράξεις ένωη, τοµή, υµπλήρωµα των κλαικών υνόλων, τα ααφή ύνολα έχουν παρόµοιες πράξεις. Έτω Χ υπερύνολο αναφοράς και Α,Β ααφή υπούνολα του Χ. Ορίζουµε ως: Α. Τοµή: C=A B=(x,µ C (x)) x X, µ C (x)=min(µ A (x), µ B (x)) B. Ένωη : D=A B=(x,µ D (x)) x X, µ D (x)=max(µ A (x), µ B (x)) Γ. Συµπλήρωµα: Α C =(x,µ A (x)) x X, µ A (x)=1- µ A (x) Σχετικά το [1] Συνάρτηη Συµµετοχής Όπως προκύπτει από τον οριµό της, η υνάρτηη υµµετοχής (ΣΜ) καθορίζει ένα ααφές ύνολο πλήρως. Επειδή τα περιότερα ααφή ύνολα που χρηιµοποιούνται έχουν ως υπερύνολο αναφοράς το ύνολο των πραγµατικών αριθµών, θα ήταν ανέφικτο να καταγραφούν όλα τα ζευγάρια που καθορίζουν µια ΣΜ. Ένας πιο υνοπτικός τρόπος για να οριτεί µια ΣΜ είναι να εκφρατεί µε το µαθηµατικό της τύπο. 23

24 Παραδείγµατα κυριότερων ΣΜ Τριγωνική Η τριγωνική ΣΜ καθορίζεται από τρεις παραµέτρους a,b, που καθορίζουν τις υντεταγµένες των τριών γωνιών του τριγώνου που δηµιουργεί η ΣΜ : 0, x<a x a b a, a x b Τριγωνική(a,b,)= x b, b x 0, x Σχήµα : Παράδειγµα τριγωνικής µε a=20,b=60,=80 Τραπεζοειδής Η τραπεζοειδής καθορίζεται από τέερις παραµέτρουςa,b,,d που καθορίζουν τις υντεταγµένες των τεάρων γωνιών του τραπεζίου που δηµιουργεί η ΣΜ: 0, x<a x a b a, a x b Τραπεζοειδής(a,b,)= 1, b x d x d, x d 0, d x 24

25 Κεφάλαιο 2 Σχήµα : Παράδειγµα τραπεζοειδούς µε a=10,b=20,=60,d=95 Gauss (Γκαουιανή ) Η Γκαουιανή καθορίζεται από δύο παραµέτρους το κέντρο και τη διαπορά Gauss(,) = e 1 ( x ) 2 2 Για περιότερα βλέπε το [3] Σχήµα : Παράδειγµα Gauss µε =50,=20 25

26 2.1.4 Ααφής ή Προεγγιτική Συλλογιτική Ειαγωγή Ααφής ή Προεγγιτική υλλογιτική ονοµάζεται η µεθοδολογία εξαγωγής ααφών ή προεγγιτικών υµπεραµάτων. Τρεις θεµελιώδεις έννοιες της υλλογιτικής αυτής είναι οι έννοιες της «γλωικής µεταβλητής», του «γενικευµένου κανόνα του θέτειν/αναιρείν» και της «ααφούς χέης» Γλωική Μεταβλητή Γλωική µεταβλητή είναι µια µεταβλητή της οποίας οι τιµές δεν είναι αριθµοί αλλά λέξεις ή φράεις ε µια φυική ή τεχνητή γλώα. Οι τιµές αυτές παριτάνονται µε ααφή ύνολα και γι αυτό οι γλωικές µεταβλητές ονοµάζονται επίης «ααφείς µεταβλητές» ή «ααφή κατηγορήµατα» και υνήθως δηλώνονται ως: Χ είναι Α Οριµός 6 Μαθηµατικά, η Γλωική µεταβλητή ορίζεται ως η πεντάδα <x,t(x),u,g,m> όπου: x: το όνοµα της γλωικής µεταβλητής T(X): το ααφές ύνολο των τιµών της U: το υπερύνολο αναφοράς πάνω το οποίο δοµείται το ύνολο τιµών T(X) G: ένας υντακτικός κανόνας που παράγει τα ονόµατα των τιµών της x δηλαδή τα ονόµατα των ααφών υνόλων Μ: ένας ηµαιολογικός κανόνας που αποδίδει νόηµα τα ονόµατα Μια γλωική µεταβλητή καλείται δοµηµένη όταν το ύνολο των τιµών της T(X) και το ύνολο των εννοιών Μ(x) που αποδίδονται ε αυτές µπορούν να καθοριτούν αλγοριθµικά. Γλωικός διαµορφωτής (τροποποιητής) είναι ένας τελετής που εφαρµοζόµενος ε µια τιµή (ααφές ύνολο) µιας γλωικής µεταβλητής µεταβάλλει το νόηµα της. Έτι αν Α είναι το ύνολο των τιµών της γλωικής µεταβλητής τότε εφαρµαζόντας τα τοιχεία αυτού τον γλωικό τροποποιητή m προκύπτει ένα άλλο ύνολο τιµών Β=m(A) Γενικευµένος Κανόνας του Θέτειν και του Αναιρείν Είναι γνωτό ότι η κλαική λογική τηρίζει τη διαδικαία απόδειξης εξ ολοκλήρου ε «λογικές ταυτολογίες». Οι κυριότερες λογικές ταυτολογίες,τις οποίες ανάγονται και όλες οι υπόλοιπες, είναι οι ακόλουθες : Modus ponens: A (A B) B (Κανόνας του Θέτειν) 26

27 Κεφάλαιο 2 Modus tollens: (A B) B A (Κανόνας του αναιρείν) Συλλογιµός: (Α Β) (Β C) (A C) (Αλυίδα) Αντιθετοαντιτροφή: (Α Β) ( Β Α) Επεκτείνοντας τους κανόνες modus ponens, modus tollens, ώτε να υµπεριλάβουν και τα ααφή ύνολα, προκύπτουν οι γενικευµένοι κανόνες του θέτειν και του αναιρείν Ο τροποποιηµένος (ααφής) κανόνας Μodus Ponens (MP) που αναφέρεται και ως Generalized Modus Ponens (GMP) (γενικευµένος κανόνας του θέτειν) έχει την ακόλουθη δοµή. Συνεπαγωγή : ΕΑΝ x=a ΤΟΤΕ y=β Γεγονός : x=α Συµπέραµα : y=β όπου τα Α, Β, Α και Β είναι ααφή ύνολα. Κριτήριο Γεγονός: το x είναι Α Συµπέραµα: το y είναι Β 1 το x είναι Α το y είναι Β 2-1 το x είναι πολύ Α το y είναι πολύ Β 2-2 το x είναι πολύ Α το y είναι Β 3-1 το x είναι περίπου Α το y είναι περίπου Β 3-2 το x είναι περίπου Α το y είναι Β 4-1 το x είναι όχι Α το y είναι άγνωτο 4-2 το x είναι όχι Α το y είναι όχι Β Πίνακας Εµπειρικά κριτήρια εφαρµογής του κανόνα του GMP Ο κανόνας GMP ονοµάζεται επίης «ααφής κανόνας του θέτειν»(fuzzy modus ponens). Μια επέκταη του GMP είναι η εξής: Συνεπαγωγή: Εάν x 1 είναι Α 1 και και x n είναι A n ΤΟΤΕ y είναι Β Γεγονότα( εδοµένα): x 1 είναι A 1 και x 2 είναι A 2 και x n είναι A n Συµπέραµα: y είναι Β Όπου Α i, A i (i=1,2,,n),b και Β είναι ααφή ύνολα. Αντίτοιχα ο γενικευµένος (ααφής) κανόνας του αναιρείν (Generalized Modus Tollens GMT) έχει τη µορφή: Συνεπαγωγή : ΕΑΝ x είναι A ΤΟΤΕ y είναι Β Γεγονός : y είναι Β Συµπέραµα : x είναι Α 27

28 Κριτήριο Γεγονός: το y είναι Β Συµπέραµα: το x είναι Α 5 το y είναι όχι Β το x είναι όχι Α 6 το y είναι όχι πολύ Β το x είναι όχι πολύ Α 7 το y είναι περίπου Β το x είναι περίπου Α 8-1 το y είναι Β το x είναι άγνωτο 8-2 το y είναι Β το x είναι Α Πίνακας Εµπειρικά κριτήρια εφαρµογής του κανόνα του GMT Ααφείς Σχέεις Οι ααφείς χέεις αποτελούν γενίκευη των υνήθων (κοφτών) χέεων και µας δίνουν τη δυνατότητα να χειριθούµε προβλήµατα τα οποία υπάρχει αβεβαιότητα ή αµφιβολία. Από µαθηµατική κοπιά οι ααφείς χέεις χρηιµοποιούνται για τη µοντελοποίηη (παράταη) ααφών υνεπαγωγών καθώς και τη υλλογιτική µε αυτές. Βρίκουν εφαρµογή ε όλες τις επιτηµονικές περιοχές ααφούς / προεγγιτικής υλλογιτικής. Οι κοφτές (υνήθεις) χέεις αποτελούν τοιχεία του Καρτειανού γινοµένου οριµένων χώρων. Οριµός 7 Έτω Χ και Υ υπερύνολο αναφοράς. Τότε µε τον όρο «ααφής χέη R» εννοούµε ένα ααφές ύνολο το Καρτειανό γινόµενο X x Y = (x,y)/ x X, y Y το οποίο ύνολο χαρακτηρίζεται από τη υνάρτηη υµµετοχής µ R : µ R : X x Y [0,1] Στην περίπτωη όπου Χ =Υ έχουµε µια ααφή χέη επί του Χ. Η υνάρτηη υµµετοχής µ R (x,y) παριτά για κάθε ζεύγος (x,y) το βαθµό ύνδεης ανάµεα τα x και y. Οριµός 8 Οι πράξεις µεταξύ των ααφών χέεων ορίζονται κατά αναλογία των πράξεων των ααφών υνόλων. Έτι για τις ααφείς χέεις R 1 και R 2 το X x Y έχουµε: Τοµή R 1 R 2 : µ R1 R2 (x,y) =min µ R1 ( x,y), µ R2 ( x,y) Ένωη R 1 R 2 : µ R1 R2 (x,y) =max µ R1 ( x,y), µ R2 ( x,y) Συµπλήρωµα R 1 : µ R1 (x,y) =1- µ R1 (x,y) Έγκλειη R 1 R 2 : µ R1 ( x,y) µ R2 ( x,y) Οριµός 9 Εάν τα υπερύνολα αναφοράς είναι πεπεραµένα, δηλαδή Χ=x 1,x 2,,x m και Y=y 1,y 2,,y n τότε µια ααφής χέη R το X x Y παριτάνεται και χρηιµοποιείται ως µια mxn µήτρα. R= µ R (x i,y j ) 28

29 Κεφάλαιο 2 µε τοιχεία µ R (x i,y j ), i=1,2,,m και y=1,2,,n Η µήτρα ονοµάζεται ααφής µήτρα ή ααφής χειακή µήτρα ή µήτρα µιας ααφούς χέης και τα τοιχεία της έχουν τιµές µεταξύ 0 και 1. Οριµός 10 Ένας ααφής κανόνας (υνεπαγωγή) : Κ:ΕΑΝ Α ΤΟΤΕ Β (ή Α Β) µπορεί να παραταθεί µε µια ααφή χέη όπου τα Α και Β είναι τα ααφή ύνολα Α=( x i, µ Α (x i ) ) / x i X, B=( y j, µ B (y j ) ) / y j Y R=((x i,y j ), µ R (x i,y j ))/ x i X, y j Y όπου το (i,j) τοιχείο του µ R (x i,y j ) της χειακής της µήτρας µπορεί να υπολογιθεί µε τη χρήη κανόνων όπως: Αριθµητικός κανόνας Zadeh µ R (x i,y j )= min1, 1 - µ Α (x i ) + µ Β (y j ) Κανόνας Ελαχίτου (Mamdani) µ R (x i,y j )= min µ Α (x i ), µ Β (y j ) Κανόνας Γινοµένου µ R (x i,y j )= µ Α (x i ) µ Β (y j ) Οριµός 11 Η ύνθεη «max-min» είναι ένα από τα ηµαντικότερα αποτελέµατα της ααφούς (προεγγιτικής) υλλογιτικής γιατί παρέχει ένα υγκεκριµένο (µαθηµατικό) τρόπο υλοποίηης του γενικευµένου κανόνα modus ponens ίνονται τα ααφή ύνολα και µια ααφή χέη επί του X x Y Α=( x i, µ Α (x i ) ) / x i X, B=( y j, µ B (y j ) ) / y j Y R=((x i,y j ), µ R (x i,y j ))/ x i X, y j Y Τότε µε δεδοµένα τα Α και R, το Β δίνεται από τη χέη : Β=Α R µε µ Β (x )= max x min [µ Α (x), µ R (x,y)] όπου το υµβολίζει τον τελετή της ύνθεης max-min [1] 29

30 2.1.5 Ααφή Συτήµατα (Fuzzy Inferene Systems/FIS) Ειαγωγή Τα ααφή υτήµατα περιλαµβάνουν κάθε ύτηµα απόφαης και ελέγχου που λειτουργεί ε αβέβαιο περιβάλλον και µοντελοποιείται µε ααφείς µεταβλητές. Τα ααφή υτήµατα ανήκουν την κατηγορία των ευφυών υτηµάτων και βρίκουν εφαρµογή ολοένα και ε περιότερα πρακτικά προβλήµατα. Μονάδα ααφοποίηης Ααφής Συλλογιτική Μηχανή Μονάδα Αποααφοποίηης Μη ααφή δεδοµένα ειόδων Ααφείς τιµές Ααφή υµπεράµατα Μη ααφείς (ντετερµινιτικές) έξοδοι Ααφής Βάη Γνώης Σχήµα Γενική αρχιτεκτονική ααφούς υτήµατος Η γενική αρχιτεκτονική (δοµή) των ααφών υτηµάτων παρουιάζεται το χήµα και περιλαµβάνει τέερις µονάδες: 1. Μία βάη ααφών κανόνων της µορφής ΕΑΝ-ΤΟΤΕ (Ααφής βάη Γνώης). 2. Μία ααφή υλλογιτική µηχανή (µηχανιµό εξαγωγής ααφών υµπεραµάτων). 3. Μία µονάδα ααφοποίηης (ααφοποιητική µονάδα διεπαφής) η οποία µετατρέπει τα δεδοµένα ειόδου ε ααφή ύνολα. 4. Μία µονάδα απο-ααφοποίηης (από-ααφοποιητική µονάδα διεπαφής) η οποία µετατρέπει τα ααφή υµπεράµατα / αποφάεις ε αφώς καθοριµένη µορφή. Η ααφής βάη γνώης περιέχει υνήθως εκτός από τους ααφείς (γλωικούς) κανόνες και ένα τµήµα βάης αριθµητικών δεδοµένων τα οποία απαιτούνται για τη διαδικαία εξαγωγής των αποτελεµάτων. Οι κανόνες της βάης γνώης λαµβάνονται υνήθως από εµπειρογνώµονες και από διαδικαίες προοµοίωης. Η ααφής υλλογιτική µηχανή αποτελεί τον πυρήνα του ααφούς υτήµατος και περιέχει τη λογική λήψης αποφάεων Η µονάδα ααφοποίηης (ααφοποιητής ) εκτελεί τις παρακάτω εργαίες: Μετράει (παραλαµβάνει) τις (µη ααφείς) τιµές των ειόδων του υτήµατος Απεικονίζει τις περιοχές µεταβολής των τιµών ειόδου ε κατάλληλα υπερύνολα αναφοράς 30

31 Κεφάλαιο 2 Ααφοποιεί τις ειερχόµενες τιµές των ειόδων, δηλαδή τις µετατρέπει ε ααφή γλωική µορφή. Η µονάδα απο-ααφοποίηης (από-ααφοποιητής) εκτελεί τις εξής δύο εργαίες Απεικονίζει τις περιοχές µεταβολής των µεταβλητών εξόδου ε αντίτοιχα υπερύνολα αναφοράς Απο-ααφοποιεί τα αποτελέµατα που δίνει η ααφής υλλογιτική µηχανή, δηλαδή τα µετατρέπει ε «ντετερµινιτική»(µη-ααφής) µορφή για παραπέρα χρήη από επόµενα υτήµατα ή διεργαίες απόφαης Μέθοδοι Ααφοποίηης Ο ααφοποιητής υλοποιεί µία απεικόνιη από το ύνολο πραγµατικών τιµών ειόδου x=x1,x2,,x n X το ααφές ύνολο Α του υπερυνόλου αναφοράς Χ. ύο επιλογές αυτής της απεικόνιης είναι οι ακόλουθες : Μονότιµος ααφοποιητής Στον µονότιµο ααφοποιητή (singleton fuzzifier) το ααφές ύνολο Α έχει τήριγµα (support), δηλαδή suppa=x,ήτοι: µ Α (x )= 1,εάν x = x 0,εάν x x δηλαδή µοναδιαία υνάρτηη υµµετοχής. Μη µονότιµος ααφοποιητής Στην περίπτωη αυτή θεωρούµε ότι µ Α (x)=1 και ότι το µ Α (x ) µικραίνει όο το x αποµακρύνεται από το x. Για παράδειγµα : Τ ( x' x) ( x' x) µ Α (x )=exp 2 όπου 2 είναι µια παράµετρος η οποία καθορίζει τη µορφή του µ Α (x ). Υπάρχει λοιπόν µια τιµή του x που έχει τη µέγιτη υνάρτηη υµµετοχής (ίη µε 1) το ααφές ύνολο Α, αλλά όο πιο πολύ αποµακρυνόµατε από την τιµή αυτή τόο µειώνεται η τιµή της υνάρτηης υµµετοχής το Α. 31

32 Στην πράξη χρηιµοποιείται υνήθως ο µονότιµος ααφοποιητής ενώ ο µη- µονότιµος ααφοποιητής είναι καταλληλότερος όταν οι είοδοι υπόκεινται ε θόρυβο Μέθοδοι Απο-ααφοποίηης Απο-ααφοποίηη είναι η διαδικαία µετατροπής ενός ααφούς υνόλου Β ε µια τιµή w o, η οποία είναι και η έξοδος του ααφούς υτήµατος. Οι κυριότερες µέθοδοι απο-ααφοποίηης είναι οι εξής: Μέθοδος κέντρου βάρους Στη µέθοδο αυτή που είναι γνωτή ως µέθοδος COG (Center Of Gravity) η τιµή w o δίνεται από τη χέη: i w o = i wiµ Β( wi) µ Β( wi) Μέθοδος Μέης Τιµής των Μεγίτων Εδώ η τιµή w o δίνεται από τη χέη: w o= m j=1 wj m όπου η τιµή w o είναι η τιµή που αντιτοιχεί το j µέγιτο της υνάρτηης υµµετοχής. Η µέθοδος είναι γνωτή ως µέθοδος ΜΟΜ (Mean of Maxima). Τροποποιηµένη Μέθοδος Κέντρου Βάρους w o= i wi[ µ Β( wi) / δi] ι µ Β( wi) / όπου το δ i χαρακτηρίζει το χήµα της υνάρτηης υµµετοχής. δι Ααφής Βάη Γνώης Η ααφής βάη γνώης αποτελείται από µια υλλογή κανόνων ΕΑΝ-ΤΟΤΕ της παρακάτω µορφής: R l : ΕΑΝ x 1 είναι Α l 1 KAI KAI x n είναι Α l n TOTE y είναι Β l όπου τα Α l 1 και Β l είναι ααφή ύνολα επί των Χ i R και Υ R αντίτοιχα και x=[x 1,x 2,,x n ] T και y είναι γλωικές µεταβλητές 32

33 Κεφάλαιο 2 Υπάρχουν δύο βαικές µέθοδοι κατακευής ααφών κανόνων: Από εµπειρογνώµονες Από αλγόριθµους εκπαίδευης βαιµένους ε δεδοµένα µετρήεων Για τον προδιοριµό της µορφής των Α l 1 και Β l έχουµε τις ακόλουθες µεθόδους: Αν οι κανόνες καθορίζονται από κάποιο εµπειρογνώµονα τότε αυτός πρέπει να καθορίει και τη µορφή τους. Αν οι κανόνες καθορίζονται µε βάη δεδοµένα µετρήεων, τότε χρηιµοποιούµε κάποια αυθαίρετη µορφή µε πιο υνηθιµένες τις τριγωνικές, τις τραπεζοειδείς και τις Gauss. Κάθε τέτοια υνάρτηη υνοδεύεται και από κάποιες παραµέτρους οι οποίες πρέπει να καθοριτούν µε βάη τις δεδοµένες µετρήεις Μηχανιµός Ααφούς Συλλογιµού Αν τη βάη κανόνων υπάρχουν υνολικά n κανόνες δηλαδή R I, i=1,2,,n τότε η βάη µπορεί να θεωρηθεί πως αποτελεί µια µοναδική χέη R= R i (i=1,2,,n) Tο ζητούµενο είναι πως θα υνδυατούν τα δεδοµένα µε τους κανόνες που υπάρχουν τη βάη κανόνων, ώτε να εξαχθεί το τελικό υµπέραµα [4]. Οι µηχανιµοί ααφούς υλλογιµού (ή µηχανιµοί εξαγωγής υµπεραµάτων) αναφέρονται την µέθοδο µε την οποία παράγονται υµπεράµατα από τους κανόνες και πως αυτά τα αποτελέµατα-υµπεράµατα υνδυάζονται ώτε να παραχθεί το ολικό αποτέλεµα. ηλαδή πρέπει να καθοριτεί ο τρόπος µε τον οποίο υπολογίζεται η προαρµοτικότητα (δύναµη) του αριτερού µέλους του κανόνα για κάθε είοδο ο τρόπος µε τον οποίο εφαρµόζεται η προαρµοτικότητα αυτή τα ααφή ύνολα του δεξιού µέλους κάθε κανόνα για να λάβουµε το υµπέραµα κάθε κανόνα (υµπέραµα εξόδου κάθε κανόνα) ο τρόπος µε τον οποίο υνδυάζονται αυτά τα αποτελέµατα ώτε να προκύψει το υνολικό (τελικό) αποτέλεµα Παράδειγµα µηχανιµού ααφούς υλλογιµού είναι η µέθοδος Mamdani η οποία έχει: Κανόνες της µορφής: ΕΑΝ x είναι Α i KAI y είναι B i TOTE z είναι C i (i=1,..n όπου n=κανόνες) Προαρµοτικότητα κανόνα I: µ i =minµ Αli (x i ),...,µ Αlm-1 (x m-1 ), µ Βm (y m ) όπου Α l 1,..., Α l m-1 ααφή ύνολα ειόδου και Β m ααφές ύνολο εξόδου 33

34 Συµπέραµα κανόνα και Ολικό Αποτέλεµα: Κανόνας Ελαχίτου(Mamdani) ή Κανόνας Γινοµένου Οι µέθοδοι µηχανιµών ααφούς υλλογιµού είναι: η µέθοδος Takagi-Sugeno η µέθοδος Tsukamoto Η λογική των ααφών υτηµάτων αντιτοιχεί την λογική «διαίρει και βαίλευε». Το µέλος της υπόθεης (το αριτερό µέλος) του κανόνα καθορίζει µια τοπική ααφή περιοχή ενώ το µέλος του υµπεράµατος (το δεξιό µέλος) περιγράφει την υµπεριφορά εντός της τοπικής περιοχής δια µέου διαφόρων υνιτωών. Η υνιτώα µπορεί να είναι µια υνάρτηη υµµετοχής (Mamdani, Tsukamoto ααφή υτήµατα), µια ταθερή τιµή (Takagi-Sugeno µηδενικού βαθµού) ή µια γραµµική εξίωη (Takagi-Sugeno πρώτου βαθµού). Άρα κανόνες µε διαφορετικά δεξιά µέλη καταλήγουν ε διαφορετικά ααφή υτήµατα, αν και µπορεί να έχουν το ίδιο µέλος υπόθεης. Περιότερα τα [1], [3] Μέτρο Οµοιότητας Το µέτρο οµοιότητας Ε(Α,Β) δύο ααφών υνόλων Α και Β δείχνει το βαθµό οµοιότητας του Α µε το Β και ορίζεται ως: Ε(Α,Β)= Βαθµός (Α=Β) = Βαθµός (Α Β και Β Α), Ε [0,1] Προφανώς Ε(Α,Β)=1 αν Α=Β Αλγεβρικά προκύπτει: Ε(Α,Β)= Α Β / Α Β Περιότερα το [1]. 34

35 Κεφάλαιο Νευρωνικά ίκτυα Ειαγωγικό Σηµείωµα Ο ανθρώπινος εγκέφαλος αποτελεί µια πηγή φυικής νοηµούνης και έναν αξιοηµείωτο παράλληλο υπολογιτή. Ο εγκέφαλος επεξεργάζεται ελλιπείς πληροφορίες οι οποίες υλλέγονται από τους µηχανιµούς της αντίληψης, µε εξαιρετικά υψηλούς ρυθµούς. Τα νευρικά κύτταρα λειτουργούν ε ταχύτητες περίπου 10 6 φορές χαµηλότερες από τις ύγχρονες ηλεκτρονικές πύλες, αλλά παρόλα αυτά ο εγκέφαλος επεξεργάζεται ακουτικές και οπτικές πληροφορίες πολύ ταχύτερα από ότι οι ύγχρονοι υπολογιτές. Εµπνευµένοι από τα βιολογικά νευρικά υτήµατα, πολλοί ερευνητές εξερευνούν την περιοχή των τεχνητών νευρωνικών δικτύων, µια καινοτόµα µη αλγοριθµική προέγγιη το πρόβληµα της επεξεργαίας της πληροφορίας. Ο εγκέφαλος µοντελοποιείται ως ένα υνεχούς-χρόνου µη γραµµικό δυναµικό ύτηµα µε ποικίλες αρχιτεκτονικές διαύνδεης το οποίο αναµένεται να µιµείται τους µηχανιµούς του εγκεφάλου και να προεγγίζει ευφυή υµπεριφορά. Οι διαυνδέεις υλοποιούνται ως κατανεµηµένες αναπαρατάεις µε την µορφή βαρών µεταξύ ενός µεγάλου αριθµού διαυνδεδεµένων νευρώνων. Η περιοχή των νευρωνικών δικτύων εγκαινιάζεται µε την εργαία των M Culloh και Pitts οι οποίοι µελέτηαν το µοντέλο του βαικού κυττάρου του ανθρώπινου εγκεφάλου. Το µοντέλο αυτό αποτελείται από µεταβλητές αντιτάεις και αθροιτικούς ενιχυτές οι οποίοι αναπαριτούν τα υναπτά βάρη που υνδέουν τα νευρόνια µεταξύ τους. Αργότερα ο Rosenblatt ανέπτυξε την έννοια του Pereptron ως µια νέα λύη το πρόβληµα της αναγνώριης προτύπων και απέδειξε το αντίτοιχο θεώρηµα ύγκλιης του αλγορίθµου µάθηης του Pereptron. Στην υνέχεια οι Widrow και Hoff θεµελίωαν τον αλγόριθµο µάθηης µέων ελαχίτων τετραγώνων τον οποίο χρηιµοποίηαν το µοντέλο Adaline. Από τους Werbos, Parker και Rumelhart ειάγεται η ιδέα του δικτύου Bakpropagation. Κατά την διάρκεια της δεκαετίας του 80 υπάρχει αναζωπύρωη της έρευνας γύρω από το αντικείµενο των νευρωνικών δικτύων. Έτι ο Hopfield αναπτύει τα νευρωνικά δίκτυα Hopfield και χρηιµοποιεί την ιδέα της υνάρτηης ενέργειας για την ανάλυή τους. Ακολούθως ειάγεται η διαδικαία του simulated annealing για την επίλυη προβληµάτων βελτιτοποίηης. Οι Broomhead και Lowe µελετούν εκτενώς τα νευρωνικά δίκτυα ακτινικών υναρτήεων βάης. Στον πίνακα που ακολουθεί εµφανίζονται τα κυριότερα µοντέλα νευρωνικών δικτύων καθώς και οι ερευνητές που τα ανέπτυξαν. Έτος Νευρωνικό ίκτυο Ερευνητές 1942 Νευρόνιο M Culloh / Pitts M Culloh, Pitts 1957 Pereptron Rosenblatt 1960 Adaline / Madaline Widrow 1974 Bakpropagation (BP) Werbos, Parker, Rumelhart 1978 Neoognitron Fukushima 1980 Adaptive Resonane Theory Kohonen 1980 Self Organizing Map Kohonen 35

36 1982 Νευρωνικό ίκτυο Hopfield Hopfield 1985 Μηχανή Boltzmann Hinton, Sejnowsky 1988 Κυτταρικό Νευρωνικό ίκτυο Chua, Yang 1988 ίκτυα Radial Basis Funtions Broohead, Lowe Τα νευρωνικά δίκτυα έχουν φθάει ε ένα υψηλό επίπεδο ανάπτυξης και θα υνεχίουν να αναπτύονται προς διάφορες κατευθύνεις υνδυαζόµενα µε ααφή υτήµατα αλλά και µε άλλες τεχνικές ανάλυης και χεδίαης ευφυών υτηµάτων Βαικές Έννοιες Τα νευρωνικά δίκτυα (Ν ) εκτελούν υπο-υµβολική επεξεργαία πληροφορίας η οποία βαίζεται ε µοντέλα του ανθρωπίνου εγκεφάλου τα οποία εµπνέονται από την βιολογία και τη νευροφυιολογία. Για την χρήη των µοντέλων αυτού του είδους διατίθενται µέθοδοι που υλοποιούν πολύπλοκες υναρτήεις και λειτουργίες. Για την εφαρµογή των µεθόδων αυτών δεν απαιτείται ρητή γνώη ε αντίθεη µε ότι ιχύει κατά την εφαρµογή υµβολικών µεθόδων της τεχνητής νοηµούνης. Στην υπουµβολική προέγγιη δεν δίνεται η υπό εξέταη χέη ρητά αλλά κωδικοποιείται τη δοµή ενός νευρωνικού δικτύου. Τα νευρωνικά δίκτυα είναι υτήµατα µεγάλης κλίµακας τα οποία περιέχουν ένα µεγάλο αριθµό µη γραµµικών επεξεργατών ειδικού τύπου οι οποίοι καλούνται νευρόνια. Κάθε Ν χαρακτηρίζεται από µια κατάταη, ένα ύνολο ειόδων µε βάρη που προέρχονται από άλλα νευρόνια και µια εξίωη η οποία περιγράφει τη δυναµική λειτουργία του Ν. Τα βάρη του Ν ανανεώνονται µέω µιας διαδικαίας µάθηης (εκπαίδευης) η οποία πραγµατοποιείται µε την ελαχιτοποίηη κάποιας υνάρτηης κότους (φάλµατος) ανανεώνοντας ακολουθιακά τα βάρη. Οι βέλτιτες τιµές των βαρών αποθηκεύονται (ως τιµές των διαυνδέεων µεταξύ των νευρονίων) και χρηιµοποιούνται κατά την εκτέλεη της εργαίας για την οποία προορίζεται το Ν. Κατά έναν ιοδύναµο οριµό ένα Ν είναι µια αρχιτεκτονική δοµή αποτελούµενη από ένα πλήθος διαυνδεδεµένων µονάδων (νευρόνια). Κάθε µονάδα χαρακτηρίζεται από ειόδους και εξόδους και υλοποιεί τοπικά έναν απλό υπολογιµό. Κάθε ύνδεη µεταξύ δυο µονάδων χαρακτηρίζεται από µια τιµή βάρους. Οι τιµές των βαρών των υνδέεων αποτελούν την γνώη που είναι αποθηκευµένη το δίκτυο και καθορίζουν την λειτουργικότητά του. Η έξοδος κάθε µονάδας καθορίζεται από τον τύπο της µονάδας, την διαύνδεη µε τις υπόλοιπες µονάδες και πιθανώς κάποιες εξωτερικές ειόδους. Πέρα από µια πιθανή δεδοµένη (εκ κατακευής) λειτουργική ικανότητα ενός δικτύου, υνήθως ένα δίκτυο αναπτύει µια υνολική λειτουργικότητα µέω µιας µορφής εκπαίδευης. Η υνολική λειτουργικότητα ενός Ν καθορίζεται από την τοπολογία του δικτύου, τα χαρακτηριτικά των νευρώνων, την µέθοδο εκπαίδευης και από τα δεδοµένα µε τα οποία γίνεται η εκπαίδευη. Συχνά ο υπολογιµός που εκτελεί κάθε νευρόνιο είναι απλός και κοινός για όλα τα νευρόνια. Επειδή οι νευρώνες λειτουργούν παράλληλα (ταυτόχρονα) και ο αριθµός τους µπορεί να είναι πολύ µεγάλος, τα Ν αποτελούν χαρακτηριτικό παράδειγµα παράλληλου µαζικού υπολογιµού. 36

37 Κεφάλαιο 2 Τα νευρωνικά δίκτυα είναι κατάλληλα για προβλήµατα τα οποία ο υνήθης υπολογιµός δεν είναι αποδοτικός ή δεν γίνεται να υλοποιηθεί αναλυτικά. Τα ηµαντικότερα χαρακτηριτικά των νευρωνικών δικτύων που τα διαφοροποιούν από άλλα ευφυή υτήµατα είναι η δυνατότητα µάθηης (learning) και προαρµογής (adaptation) ε διαφορετικούς χώρους προβληµάτων Μοντέλο Τεχνητού Νευρονίου (Νευρώνας) Το µοντέλο αυτό τηρίζεται το µοντέλο M Culloh και Pitts και έχει την µορφή του χήµατος Σχήµα : Μοντέλο τεχνητού νευρονίου. Παρατηρείται ότι ο νευρώνας είναι µια θεµελιακή µονάδα επεξεργαίας πληροφορίας η οποία αποτελείται από τρία υτατικά τοιχεία: Ένα ύνολο κλάδων διαύνδεης (υνάψεων). Ένα κόµβο άθροιης. Μια υνάρτηη ενεργοποίηης. Κάθε κλάδος διαύνδεης έχει ένα βάρος (weight) το οποίο είναι θετικό εάν η ύναψη είναι διεγερτικού τύπου (exitatory) και αρνητικό εάν η ύναψη είναι απαγορευτικού τύπου (inhibitory). Ο κόµβος άθροιης αθροίζει τα ήµατα ειόδου πολλαπλαιαζόµενα µε τα αντίτοιχα βάρη των υνάψεων. Συνεπώς ο κόµβος άθροιης είναι µια µονάδα γραµµικού υνδυαµού. Η υνάρτηη ενεργοποίηης (squashing funtion) περιορίζει το επιτρεπτό πλάτος του ήµατος εξόδου ε κάποια πεπεραµένη τιµή (υνήθως τα κανονικοποιηµένα διατήµατα [0,1], [-1,1]). Τέλος το µοντέλο του νευρονίου περιέχει επίης ένα κατώφλι θ που εφαρµόζεται εξωτερικά και πρακτικά υποβιβάζει την καθαρή είοδο την υνάρτηη ενεργοποίηης. Συνεπώς η περιγραφή του νευρώνα γίνεται από τις παρακάτω εξιώεις: n u = w i x i i= 1 y = f(u-θ), θ>0 όπου x i = (i = 1,2,,n) είναι τα ήµατα ειόδου, w i (i = 1,2,..,n) είναι τα υναπτικά βάρη του νευρονίου, u είναι η έξοδος του γραµµικού υνδυατή, θ είναι το κατώφλι, f είναι η υνάρτηη ενεργοποίηης και y είναι το ήµα εξόδου του νευρονίου. Σε γενικές γραµµές η υνάρτηη ενεργοποίηης µπορεί να έχει µια από τις παρακάτω µορφές: Συνάρτηη κατωφλίου. Κατά τµήµατα γραµµική υνάρτηη. Συνεχής ιγµοειδής υνάρτηη. 37

38 Σχήµα : Συναρτήεις ενεργοποίηης νευρώνα Αρχιτεκτονικές Νευρωνικών ικτύων Η αρχιτεκτονική των νευρωνικών δικτύων αφορά την τοπολογική διάταξη αλλά και την µεθοδολογία δόµηης πολλαπλών νευρονίων. Τα χαρακτηριτικά που καθορίζουν την αρχιτεκτονική ενός Ν είναι το πλήθος των τρωµάτων (layers) και οι υνδέεις ανάµεα τους νευρώνες. Ένα επιπρόθετο χαρακτηριτικό το οποίο χετίζεται µε άµεο τρόπο µε τον τρόπο δόµηης των νευρονίων είναι ο αλγόριθµος µάθηης που χρηιµοποιείται για την εκπαίδευη του νευρωνικού δικτύου. Ν Προοτροφοδότηης: Τα νευρωνικά δίκτυα προοτροφοδότηης αποτελούνται από νευρόνια οργανωµένα ε τρώµατα. Περιλαµβάνουν ένα τρώµα ειόδου από κόµβους πηγής (soure nodes) το οποίο προβάλλεται πάνω ε ένα τρώµα νευρονίων εξόδου (output nodes) αλλά όχι αντίτροφα. Το Ν αυτό καλείται νευρωνικό δίκτυο προοτροφοδότηης ενός µοναδικού τρώµατος, όπου το µοναδικό τρώµα είναι το τρώµα νευρονίων εξόδου. Σχήµα : Μονοτρωµατικό Ν προοτροφοδότηης. Στην γενική περίπτωη, ένα Ν προοτροφοδότηης περιέχει ένα ή περιότερα κρυµµένα-ενδιάµεα τρώµατα των οποίων οι υπολογιτικοί κόµβοι (hidden nodes) παρεµβαίνουν µεταξύ των εξωτερικών ειόδων και των εξόδων του νευρωνικού δικτύου. Στα δίκτυα αυτά τα οποία ονοµάζονται πολυτρωµατικά Ν προοτροφοδότηης τα τοιχεία του διανύµατος ειόδου που προέρχονται από τους κόµβους ειόδου ειέρχονται το πρώτο κρυµµένο τρώµα υπολογιτικών κόµβων. 38

39 Κεφάλαιο 2 Οµοίως οι έξοδοι του πρώτου κρυµµένου τρώµατος ειέρχονται, ως είοδοι πλέον, τους κόµβους του δεύτερου κρυµµένου τρώµατος. Αυτή η διαδικαία υνεχίζει µέχρι το τελικό τρώµα κόµβων οι οποίοι δίνουν την υνολική απόκριη τα πρότυπα ειόδου. Σχήµα : Πολυτρωµατικό Ν προοτροφοδότηης (µερικά διαυνδεδεµένο). Τέλος αξίζει να ηµειωθεί ότι ένα νευρωνικό δίκτυο ονοµάζεται πλήρως διαυνδεδεµένο εάν κάθε κόµβος οποιουδήποτε τρώµατος υνδέεται µε όλους τους κόµβους του γειτονικού προς τα εµπρός τρώµατος. Εάν αυτό δεν ιχύει δηλαδή εάν λείπουν µια ή περιότερες υναπτικές υνδέεις τότε το νευρωνικό δίκτυο καλείται Ν µερικά διαυνδεδεµένο. Ν Ανατροφοδότηης: Εάν ένα Ν περιέχει τουλάχιτον ένα βρόχο ανατροφοδότηης ο οποίος ανακυκλώνει πληροφορία µέω του ιδίου ή προηγούµενων τρωµάτων τότε το Ν καλείται αναδροµικό νευρωνικό δίκτυο. Σχήµα : Πολυτρωµατικό Ν ανατροφοδότηης. Το αποτέλεµα της ανατροφοδότηης είναι ότι όταν ένα πρότυπο ειόδου ειέρχεται το αναδροµικό Ν, δεν παράγει ένα πρότυπο εξόδου ε πεπεραµένο 39

40 αριθµό χρονικών βηµάτων, αλλά δρα µε ένα κυκλικό τρόπο, όπου τα ίδια τρώµατα ενεργοποιούνται επαναληπτικά. Εάν το Ν είναι ευταθές πιθανά να ταλαντωθεί για κάποιο χρονικό διάτηµα, προτού φθάει ε µια ταθερή κατάταη την οποία οι ενεργοποιήεις των νευρώνων θα ταµατήουν να αλλάζουν µε αποτέλεµα να παραχθεί µια ταθερή έξοδος. ιαφορετικά εάν το Ν είναι αταθές οι ταλαντώεις θα υνεχίουν αδιάκοπα. Συνεπώς η εκπαίδευη του εν λόγω αναδροµικού Ν κοπό έχει την εύρεη των υναπτικών βαρών που του επιτρέπουν να ταθεροποιηθεί τις επιθυµητές τιµές εξόδου Μάθηη Νευρωνικών ικτύων Η ιδιότητα της προαρµογής των Ν ε µεταβαλλόµενους χώρους προβληµάτων χετίζεται µε την ικανότητα µάθηης τους. Η µάθηη είναι µια θεµελιακή ικανότητα των νευρωνικών δικτύων η οποία τους παρέχει την ικανότητα να µαθαίνουν από το περιβάλλον τους και να βελτιώνουν τη υµπεριφορά τους µε το πέραµα του χρόνου. Ειδικότερα τα Ν η µάθηη αναφέρεται την διεργαία επίτευξης µιας επιθυµητής υµπεριφοράς µέω ενηµέρωης των τιµών των υναπτικών βαρών. Έτι ένα Ν µαθαίνει για το περιβάλλον του µέω µιας επαναληπτικής διαδικαίας ανανέωης των υναπτικών βαρών και κατωφλίων. Σε γενικές γραµµές µπορεί να λεχθεί ότι αλγόριθµος µάθηης είναι κάθε προκαθοριµένο ύνολο καλά οριµένων κανόνων επίλυης του προβλήµατος εκπαίδευης του νευρωνικού δικτύου. Κάθε αλγόριθµος µάθηης προφέρει έναν άλλο τρόπο προαρµογής των υναπτικών βαρών. Γενικά υπάρχουν πολλοί αλγόριθµοι µάθηης τα Ν, καθένας από τους οποίους παρουιάζει πλεονεκτήµατα αλλά και µειονεκτήµατα. Τα προβλήµατα µάθηης τα οποία επιλύουν οι αντίτοιχοι αλγόριθµοι εξαρτώνται και από το περιβάλλον το οποίο εργάζεται κάθε Ν. Έτι διαφορετικά µοντέλα του περιβάλλοντος οδηγούν ε διαφορετικά µοντέλα εκπαίδευης: Επιβλεπόµενη (ενεργή) µάθηη. Ενιχυτική µάθηη. Μη επιβλεπόµενη (αυτό-οργανούµενη) µάθηη. Επιβλεπόµενη Μάθηη: Σχηµατικά η δοµή της επιβλεπόµενης µάθηης παρουιάζεται την υνέχεια. Παρατηρείται ότι την επιβλεπόµενη µάθηη υνυπάρχουν δυο βαικές υνιτώες, το ύτηµα εκµάθηης και ο δάκαλος. Σχήµα : οµή της επιβλεπόµενης µάθηης. 40

41 Κεφάλαιο 2 Το κύριο χαρακτηριτικό της επιβλεπόµενης µάθηης είναι η ύπαρξη του εξωτερικού δακάλου ο οποίος µε βάη την γνώη που είναι αποθηκευµένη ε αυτόν είναι ε θέη να διδάξει το ύτηµα µάθηης τις επιθυµητές εξόδους για το ύνολο ειόδων εκπαίδευης. Όταν ο δάκαλος και το Ν λαµβάνουν ένα διάνυµα ειόδου εκπαίδευης, ο δάκαλος δίνει το νευρωνικό δίκτυο µια επιθυµητή έξοδο η οποία αναπαριτά την βέλτιτη δράη που πρέπει να εµφανίζει το Ν. Οι παράµετροι του Ν ανανεώνονται βάει του διανύµατος εκπαίδευης και του διανύµατος φάλµατος (δηλαδή της διαφοράς πραγµατικής και επιθυµητής απόκριης του δικτύου). Ορίζοντας µια υνάρτηη κότους της µορφής: J(w) = 2 1 E[(y(t)-yd (t)) 2 ] όπου w είναι το διάνυµα των προς επιλογή ελεύθερων παραµέτρων του υτήµατος µάθηης (δηλαδή του Ν ), η ανανέωη των παραµέτρων παίρνει την µορφή του αλγορίθµου διόρθωης φάλµατος. Η ταδιακή ανανέωη των παραµέτρων κάνει τελικά το Ν µάθηης να µιµείται την δεδοµένη επιθυµητή υµπεριφορά. ύο περιπτώεις αλγορίθµών επιβλεπόµενης µάθηης είναι ο αλγόριθµος ελαχίτου µέου τετραγώνου και η γενίκευή του που είναι γνωτή ως αλγόριθµος ανάτροφης διάδοης. Αµφότεροι αυτοί οι αλγόριθµοι θα εξετατούν το επόµενο κεφάλαιο. Ενιχυτική Μάθηη: Σε αυτή την περίπτωη το Ν τροφοδοτείται και πάλι µε δειγµατικά πρότυπα ειόδου αλλά δεν τροφοδοτείται µε τις επιθυµητές αποκρίεις ε αυτές τις ειόδους. Σε αυτή την περίπτωη χρηιµοποιείται ένα υνολικό µέτρο της επάρκειας της προκύπτουας απόκριης το οποίο µπορεί να οδηγήει το νευρωνικό δίκτυο την επιθυµητή υµπεριφορά. Το µέτρο αυτό είναι γνωτό ως ενιχυτικό ήµα (reinforement signal) και ανατροφοδοτείται το Ν έτι ώτε να επιβραβεύει τις ορθές υµπεριφορές και να τιµωρήει τις λανθαµένες. Η ενιχυτική µάθηη διακρίνεται ε υχετιτική και µη υχετιτική ενιχυτική µάθηη. Στην πρώτη περίπτωη το περιβάλλον τροφοδοτεί πέρα από το ενιχυτικό ήµα και άλλες µορφές πληροφορίας από τις οποίες το Ν πρέπει να αποτυπώει µια απεικόνιη υχέτιης αιτίου-αποτελέµατος. Στην δεύτερη περίπτωη η µόνη πληροφορία που δίδεται από το περιβάλλον είναι το ενιχυτικό ήµα και ο προοριµός του Ν είναι να επιλέξει µια µοναδική βέλτιτη ενέργεια. Επιγραµµατικά η ενιχυτική µάθηη λειτουργεί ως εξής: 1] Το Ν υπολογίζει τις εξόδους που παράγονται από την τρέχουα είοδο µε τις παρούες τιµές των βαρών. 2] Το ύτηµα αξιολογεί την έξοδο και το ενιχυτικό ήµα τροφοδοτείται το δίκτυο. 3] Τα βάρη ανανεώνονται µε βάη το ενιχυτικό ήµα, αυξάνοντας τις τιµές των βαρών που υνέβαλλαν ε ορθή υµπεριφορά ή µειώνοντας τις τιµές των βαρών που προκάλεαν αποκλίνουα υµπεριφορά. 4] Το νευρωνικό δίκτυο ψάχνει να βρει ένα ύνολο βαρών τα οποία να τείνουν να αποφύγουν αρνητικά ενιχυτικά ήµατα. Η βαική διαφορά ανάµεα την ενιχυτική και την επιβλεπόµενη µάθηη είναι ότι την ενιχυτική µάθηη το ύτηµα µάθηης βελτιώνεται χρηιµοποιώντας ένα κριτήριο υµπεριφοράς οι τιµές του οποίου δίνονται από το περιβάλλον, ενώ την επιβλεπόµενη µάθηη το κριτήριο υµπεριφοράς (υνάρτηη φάλµατος) καθορίζεται εωτερικά µε βάη τις επιθυµητές αποκρίεις. Μη Επιβλεπόµενη Μάθηη: Σε αυτό τον τύπο µάθηης που καλείται αυτόοργανούµενη µάθηη δεν χρηιµοποιείται εξωτερικός δάκαλος ούτε µια βάη γνώης για να επιβλέψει την εκπαίδευη του Ν, το µόνο τοιχείο που µπορεί να 41

42 χρηιµοποιηθεί για την υλοποίηη της εκπαίδευης είναι τα διανύµατα ειόδου. Ένα ύτηµα µη επιβλεπόµενης µάθηης εξελίεται µε τέτοιο τρόπο ώτε να εξάγει χαρακτηριτικά ή κανονικότητες από τα παρουιαζόµενα πρότυπα, χωρίς ωτόο να έχει την πληροφορία για το ποιες έξοδοι ή ποιες κατηγορίες υχετίζονται µε τα χαρακτηριτικά ειόδου. Με άλλα λόγια το ύτηµα µάθηης εντοπίζει ή κατηγοριοποιεί τα διανύµατα ειόδου χωρίς καµία εκ των προτέρων πληροφόρηη από το περιβάλλον. Εξ αιτίας αυτών η µη επιβλεπόµενη µάθηη υχνά χρηιµοποιείται ε προβλήµατα οµαδοποίηης, εξαγωγής εωτερικών χαρακτηριτικών και ανίχνευης υµµετριών. Τα νευρωνικά δίκτυα µη επιβλεπόµενης µάθηης εκπαιδεύονται έτι ώτε να αποκρίνονται ε διαφορετικά διανύµατα ειόδου µε διαφορετικά τµήµατα του δικτύου. Το Ν εκπαιδεύεται µε τέτοιο τρόπο ώτε να αυξάνει την πυροδότηη του ως απόκριη ε υχνά εµφανιζόµενες ειόδους, γι αυτό και υχνά ονοµάζεται εκτιµητής πιθανοτήτων (probability estimator). Κατά αυτό τον τρόπο το νευρωνικό δίκτυο αναπτύει υγκεκριµένες εωτερικές αναπαρατάεις οι οποίες κωδικοποιούν τα διάφορα διανύµατα ειόδου. 42

43 Κεφάλαιο Νευρο-Ααφή Συτήµατα Υβριδικά Συτήµατα Υπολογιτικής Νοηµούνης Η Υπολογιτική Νοηµούνη (ΥΝ) είναι η περιοχή της πληροφορικής, η οποία περιλαµβάνει υπολογιµούς και υλλογιτική υπό υνθήκες ανακρίβειας, αβεβαιότητας και µερικής αλήθειας και πετυχαίνει ταθερότητα και χαµηλό κότος λύεων. Τα τρία βαικά υτατικά πεδία της: Νευρωνικά ίκτυα (Ν ), Aαφής Συλλογιτική (ΑΣ) και Γεννητικοί Αλγόριθµοί (ΓΑ) έχουν το καθένα ιδιαίτερες ιδιότητες και πλεονεκτήµατα [1]. Συγκεκριµένα: Τα Ν επιτρέπουν το ύτηµα να µαθαίνει Η ΑΣ επιτρέπει την εµφύτευη το ύτηµα εµπειρικής γνώης Οι ΓΑ καθιτούν το ύτηµα ικανό να αυτο-βελτιώνεται Συνδυάζοντας τα υτατικά αυτά πεδία µπορούµε να χεδιάουµε και να κατακευάουµε υβριδικά (µικτά) υτήµατα ΥΝ ικανά να επιλύουν µε υψηλή απόδοη πολύπλοκα πρακτικά προβλήµατα. Τα υβριδικά υτήµατα ΥΝ υνδυάζουν τις ιδιότητες καθενός πεδίου και παρακάµπτουν τους περιοριµούς ή τα µειονεκτήµατα τους. Οι υβριδικές τεχνικές οδηγούν την πραγµατοποίηη ευφυών υτηµάτων τα οποία βρίκουν ποικίλες εφαρµογές. Οι τέερις δυνατοί υνδυαµοί των Ν, ΑΣ και ΓΑ για την ανάπτυξη υβριδικών τεχνικών και υτηµάτων ΥΝ φαίνονται το χήµα. Ν ΝΑΣ ΝΓΣ ΝΑΓΣ ΑΣ ΝΓΣ ΑΓΣ Σχήµα Υβριδικά υτήµατα υπολογιτικής νοηµούνης Επεξήγηη υµβολιµών ΝΑΣ: Νευρο-ααφή υτήµατα ΝΓΣ: Νευρό-γενετικά υτήµατα ΑΓΣ: Ααφο-γενετικά υτήµατα ΝΑΓΣ: Νευρο-ααφο-γενετικά υτήµατα Τα Ν χρηιµοποιούνται τα ΝΑΣ για να µάθουν τις υναρτήεις υµµετοχής ή / και να καθορίζουν τη δοµή των ααφών υτηµάτων. Οι ΓΑ 43

44 χρηιµοποιούνται τα ΑΓΣ για την αναζήτηη µιας βέλτιτης δοµής και ακολούθως για τη ρύθµιη των παραµέτρων. Αντίτροφα, η ααφής λογική µπορεί να χρηιµοποιηθεί για τη βελτίωη της υµπεριφοράς των ΓΑ. Οι γενετικοί αλγόριθµοι χρηιµοποιούνται τα ΝΓΣ για την αυτοµατοποίηη της χεδίαης νευρωνικών δικτύων µέω της γενετικής εκπαίδευης ή µέω της γενετικής επιλογής της τοπολογίας αυτών ή µέω της βέλτιτης επιλογής των παραµέτρων µάθηης. Τέλος υνδυάζοντας κατά ποικίλους τρόπους τα Ν, την ΑΣ και τους ΓΑ µπορούµε να χεδιάουµε νευρο-ααφή-γενετικά υτήµατα (ΝΑΓΣ) τα οποία ολοκληρώνουν τα πλεονεκτήµατα και τις ιδιότητες όλων αυτών µε τόχο τη βελτιτοποίηη της απόδοης τους Νευρο-Ααφή Συτήµατα Τα καθαρά υτήµατα ααφούς υλλογιτικής έχουν τα εξής δύο µειονεκτήµατα: εν διαθέτουν µια υγκεκριµένη µέθοδο για τον προδιοριµό των υναρτήεων υµµετοχής εν διαθέτουν µια υνιτώα µάθηης ή προαρµοτικότητας. Τα παραπάνω µειονεκτήµατα εξαλείφονται αν χρηιµοποιηθούν νευρωνικά δίκτυα για την καθοδήγηη της ααφούς υλλογιτικής. Πραγµατικά τα Ν µπορούν να εκπαιδευθούν να επιλέγουν τις υναρτήεις υµµετοχής (δηλαδή τα ααφή ύνολα) κατά αυτόµατο τρόπο, όπως επίης και να επιλέγουν τον αριθµό ή / και τη µορφή των ααφών κανόνων. Για το κοπό αυτό έχουν αναπτυχθεί ποικίλες τεχνικές µε χετικές διακυµάνεις τη γενικότητα, απλότητα και εφαρµοτικότητα τους. Ιδιαίτερη ηµαία έχει το γεγονός ότι τόο τα Ν όο και η ΑΣ χαρακτηρίζονται από αυξηµένο βαθµό παραλληλίας. οµηµένη Γνώη Μη- οµηµένη Πλαίιο γνώης Συµβολικό Αριθµητικό Έµπειρα Συτήµατα Τεχνητής Νοηµούνης Ααφή Συτήµατα Νευρωνικά Συτήµατα Σχήµα Ταξινόµηη των έµπειρων, ααφών και νευρωνικών υτηµάτων Στο χήµα φαίνεται η θέη των ααφών και των νευρωνικών υτηµάτων ύµφωνα µε την ταξινόµηη ως προς το πλαίιο της γνώης (υµβολικό, αριθµητικό) και του τύπου της (δοµηµένου ή µη), από το οποίο προκύπτει η µεγάλη ποικιλία υνδυαµών ααφών και νευρωνικών υτηµάτων. 44

45 Κεφάλαιο 2 Στην υλοποίηη των ααφών υτηµάτων τα Ν µπορούν να χρηιµοποιηθούν τους εξής τοµείς: 1. Υπολογιµός των υναρτήεων υµµετοχής 2. Ααφοποίηη των ειόδων 3. Υλοποίηη υναρτήεων υµµετοχής 4. Συνδυαµός υναρτήεων υµµετοχής 5. Αποααφοποίηη των ααφών ποοτήτων ώτε να έχουµε αριθµητικές εξόδους ΑΣΑΦΕΣ ΣΥΣΤΗΜΑ ΝΕΥΡΩΝΙΚΟ ΙΚΤΥΟ ΑΠΟΦΑΣΕΙΣ ΓΛΩΣΣΙΚΕΣ ΗΛΩΣΕΙΣ ΑΛΓΟΡΙΘΜΟΣ ΜΑΘΗΣΗΣ ΝΕΥΡΩΝΙΚΕΣ ΕΞΟ ΟΙ ΒΑΣΗ ΓΝΩΣΗΣ ΝΕΥΡΩΝΙΚΕΣ ΕΙΣΟ ΟΙ ΝΕΥΡΩΝΙΚΟ ΙΚΤΥΟ ΑΣΑΦΗΣ ΕΞΑΓΩΓΗ ΣΥΜΠΕΡΑΣ- ΜΑΤΩΝ ΑΠΟΦΑΣΕΙΣ ΑΛΓΟΡΙΘΜΟΣ ΜΑΘΗΣΗΣ Σχήµα ιάφορες υλοποιήεις ααφών νευρωνικών δικτύων Νευρωνικά Μέρη ενός Ααφούς Συτήµατος Τα ααφή υτήµατα µπορούν να υλοποιηθούν χρηιµοποιώντας πολυεπίπεδα δίκτυα πρόθιας τροφοδότηης όπου κάθε επίπεδο υλοποιεί τους υπολογιµούς που απαιτούνται ε κάθε τάδιο ενός ααφούς υτήµατος. 1. Το πρώτο επίπεδο υπολογίζει τις υναρτήεις υµµετοχής (ααφοποίηη) 2. Το δεύτερο επίπεδο υλοποιεί τους ααφείς κανόνες και υνδυάζει τους ααφείς κανόνες χρηιµοποιώντας την υνάρτηη ελαχίτου (ή µια προέγγιη της) 45

46 3. Το τρίτο επίπεδο υνδυάζει τις ααφείς τιµές που προκύπτουν χρηιµοποιώντας τη υνάρτηη µεγίτου 4. Το επίπεδο εξόδου υλοποιεί την απο-ααφοποίηη. Υπάρχουν και άλλες παραλλαγές. Στόχος της απεικόνιης ενός ααφούς υτήµατος ε ένα Ν είναι η χρήη αλγορίθµων εκπαίδευης για τον καθοριµό των παραµέτρων υµµετοχής µε χρήη δεδοµένων εκπαίδευης. Όµως οι υναρτήεις ελαχίτου και µεγίτου που χρηιµοποιούνται από ένα ααφές ύτηµα δεν είναι παραγωγίιµες. Μια λύη που ακολουθείται υχνά είναι η προέγγιη αυτών των υναρτήεων µε παραγωγίιµες υναρτήεις. 46

47 Κεφάλαιο 3 Ταξινοµητές Προτύπων 47

48 48

49 Κεφάλαιο 3 3 Ταξινοµητές Προτύπων 3.1 Νευρωνικά ίκτυα Ταξινόµηης Το Πρόβληµα της Ταξινόµηης Προτύπων Το πρόβληµα της ταξινόµηης προτύπων είναι να ταξινοµηθεί ένας δεδοµένος αριθµός ειόδων (προτύπων, ερεθιµών, ενεργοποιήεων) ε ένα ταθερό ύνολο δεδοµένων κατηγοριών (κλάεων). Το πρόβληµα µπορεί να λυθεί τόο µε επιβλεπόµενη όο και µε µη-επιβλεπόµενη µάθηη. Στην πρώτη περίπτωη το νευρωνικό δίκτυο εκπαιδεύεται µε ένα ύνολο ζευγών «πρότυπο ειόδου-κατηγορία» και ακολούθως καλείται να ταξινοµήει πρότυπα (διανύµατα) που δεν έχει δει προηγουµένως (µε την υπόθεη βεβαίως ότι τα πρότυπα ανήκουν τον ίδιο πληθυµό προτύπων που χρηιµοποιήθηκαν για την εκπαίδευη του δικτύου). Μη επιβλεπόµενη µάθηη µπορεί να χρηιµοποιηθεί όταν δεν διατίθεται προγενέτερη (a-priori) γνώη των κατηγοριών τις οποίες πρόκειται να ταξινοµηθούν τα πρότυπα (διανύµατα) εξόδου, οπότε και έχουµε πρόβληµα οµαδοποίηης (lustering) [1] Το Απλό Pereptron Το απλό pereptron είναι το απλούτερο νευρωνικό δίκτυο που χρηιµοποιείται για την ταξινόµηη γραµµικά διαχωρίιµων προτύπων δηλαδή προτύπων τα οποία διαχωρίζονται από ένα υπερεπίπεδο. Αποτελείται από ένα απλό νευρώνιο µε προαρµόιµα βάρη το οποίο ακολουθείται από µια διπολική υνάρτηη ενεργοποίηης της µορφής: -1, u<0 f(u)= 0, u=0 +1, u>0 Αυτό µπορεί να πραγµατοποιήει ταξινόµηη την περίπτωη που έχουµε µόνο δύο κατηγορίες. Για να είναι δυνατή η ταξινόµηη περιότερων γραµµικά διαχωρίιµων κατηγοριών (κλάεων) το τρώµα εξόδου χρειάζεται να έχει περιότερα από ένα νευρώνια. x 1 x 2 y Σχήµα Απλό pereptron 49

50 Ο κοπός του pereptron είναι να ταξινοµήει τα εξωτερικά πρότυπα ε µια από τις δύο κατηγορίες Κ 1 ή Κ 2. Για να κατανοήουµε πως λειτουργεί ένας ταξινοµητής προτύπων θεωρούµε την περίπτωη δύο µεταβλητών x 1, x 2 όπου το ύνορο απόφαης (διαχωριµού) ανάµεα τις κατηγορίες Κ 1 και Κ 2 είναι µια ευθεία γραµµή. Οποιοδήποτε ηµείο βρίκεται πάνω από την διαχωριτική γραµµή ταξινοµείται την κατηγορία Κ 1 διαφορετικά αποδίδεται την Κ 2 [1]. Κατηγορία Κ 1 Κατηγορία Κ 2 Σύνορο απόφαης 0 Σχήµα Γραµµικός διαχωριµός δύο κλάεων Κ 1, Κ Πολυεπίπεδο Pereptron Ένα Νευρωνικό ίκτυο µε δύο κρυµµένα τρώµατα µπορεί να διακρίνει (ταξινοµήει) περιοχές οποιουδήποτε αυθαίρετου χήµατος. Πραγµατικά το πρώτο κρυµµένο τρώµα µπορεί να παράγει γραµµές (επίπεδα) ταξινόµηης το χώρο προτύπων, οι οποίες δεν µπορούν να υπερβούν το πλήθος των κόµβων του. Οι γραµµές αυτές υνδυάζονται από τα νευρόνια εξόδου και παράγουν κυρτές περιοχές. Προθέτοντας ένα ακόµα κρυµµένο τρώµα κόµβων υπολογιµού τούτο υνδυάζει τις γραµµές (επίπεδα) που δέχεται από τους κόµβους του πρώτου κρυµµένου τρώµατος και τέλνει κυρτές περιοχές τα νευρόνια του τρώµατος εξόδου τα οποία παράγουν περιοχές το χώρο προτύπων οποιουδήποτε χήµατος. Η πολυπλοκότητα του χήµατος των περιοχών αυτών περιορίζεται µόνο από τον αριθµό των κόµβων του δικτύου [1]. x 1 x 2 y Σχήµα Pereptron µε ένα κρυµµένο τρώµα 50

51 Κεφάλαιο 3 x 2 Κυρτή περιοχή 0 x 1 Σχήµα Γραµµικός διαχωριµός για Pereptron µε ένα κρυµµένο τρώµα x 1 y x 2 Σχήµα Pereptron µε δύο κρυµµένα τρώµατα x 2 Αυθαίρετα πολύπλοκη (µη κυρτή περιοχή) x 1 Σχήµα Γραµµικός διαχωριµός Pereptron µε δύο κρυµµένα τρώµατα 51

52 Προκειµένου να εκπαιδευτεί το πολυεπίπεδο Pereptron απαιτείται µια διαδικαία κωδικοποίηης των κατηγοριών. Σκοπός της διαδικαίας αυτής είναι η µετατροπή του προβλήµατος ταξινόµηης ε πρόβληµα απεικόνιης µέω της αντιτοίχιης κάθε κατηγορίας ε κάποιο διάνυµα εξόδου. Απεικόνιη είναι η διαδικαία αντιτοίχιης ενός διανύµατος πραγµατικών ειόδων ε ένα διάνυµα πραγµατικών εξόδων. Με τον τρόπο αυτό το αρχικό ύνολο εκπαίδευης µεταχηµατίζεται ώτε να περιέχει ζεύγη της µορφής (πρότυπο, διάνυµα εξόδου) και να µπορεί να χρηιµοποιηθεί το πολυεπίπεδο Pereptron για την υλοποίηη της απεικόνιης. Ο ευρύτερα χρηιµοποιούµενος τρόπος κωδικοποίηης των κατηγοριών είναι η κωδικοποίηη 1-από Κ (1-out of-k) για ένα πρόβληµα κατηγοριών. Στην κωδικοποίηη αυτή, το διάνυµα εξόδου έχει υνιτώες (t 1,t 2,,t k ) και η κατηγορία C k κωδικοποιείται θέτοντας t k =1 και t i =0 i k. Η ταξινόµηη ενός προτύπου γίνεται εφαρµόζοντας το πρότυπο ως είοδο το δίκτυο και επιλέγοντας την κατηγορία που αντιτοιχεί την έξοδο µε την µεγαλύτερη τιµή. Όο πιο κοντά το 1 είναι η έξοδος και κοντά το 0 οι υπόλοιπες έξοδοι, τόο πιο αξιόπιτη είναι η ταξινόµηη. Ειδικά για την περίπτωη των δύο κατηγοριών χρηιµοποιείται και η κωδικοποίηη µε µια έξοδο: αντιτοιχίζουµε την έξοδο t=0 την µια κατηγορία (C 1 ) και την έξοδο t=1 την άλλη κατηγορία (C 2 ). Στην περίπτωη αυτή, η ταξινόµηη ενός προτύπου (αφού γίνει η εκπαίδευη) γίνεται ως εξής: αν η έξοδος είναι µεγαλύτερη από 0.5 τότε το πρότυπο ταξινοµείται την κατηγορία (C 2 ) αλλιώς την κατηγορία (C 1 ) [2] Μάθηη και Γενίκευη Στην περίπτωη που χρηιµοποιούµε τα νευρωνικά δίκτυα ταξινόµηης υπάρχει το πρόβληµα της επιλογής του αριθµού των κρυµµένων µονάδων, που πρέπει να χρηιµοποιηθούν. Στόχος της εκπαίδευης δεν είναι η ακριβής µάθηη ολόκληρου του υνόλου εκπαίδευης, αλλά η επίδοη του µοντέλου την ταξινόµηη νέων δεδοµένων, δηλαδή η ικανότητα γενίκευης. Χαρακτηριτικό παράδειγµα αποτελούν τα πολυεπίπεδα Pereptron. Χρηιµοποιώντας µεγάλο αριθµό κρυµµένων µονάδων, µπορούν να µάθουν πλήρως όλα τα δεδοµένα ενός υνόλου εκπαίδευης. Ωτόο ένας τέτοιος ταξινοµητής έχει γενικά κακές ικανότητες γενίκευης, διότι την ουία αποµνηµονεύει τα δεδοµένα εκπαίδευης και δεν παρουιάζει καλές επιδόεις. Από την άλλη ένα πολυεπίπεδο Pereptron µε λίγες κρυµµένες µονάδες δεν έχει αρκετή ευελιξία ώτε να µπορεί να ορίει πολύπλοκες περιοχές απόφαης. Υπάρχει λοιπόν ένας βέλτιτος αριθµός παραµέτρων (βαρών και πολώεων) ενός δικτύου για το οποίο το εκπαιδευµένο µοντέλο χαρακτηρίζεται από τις καλύτερες επιδόεις γενίκευης. Υπάρχει λοιπόν η ανάγκη τεχνικών εύρεης της βέλτιτης πολυπλοκότητας ενός δικτύου για την οποία προκύπτει η καλύτερη γενικευτική ικανότητα. Ιχύει το δίληµµα πόλωης-µεταβλητότητας ύµφωνα µε το οποίο το φάλµα γενίκευης ενός ταξινοµητή µπορεί να γραφτεί αν άθροιµα δύο παραγόντων: της πόλωης και της µεταβλητότητας. Ένα µοντέλο που είναι πολύ απλό έχει µεγάλη πόλωη, ενώ ένα µοντέλο µε πολλές παραµέτρους έχει µεγάλη µεταβλητότητα. Η καλύτερη γενίκευη προκύπτει όταν έχουµε το βέλτιτο υνδυαµό τιµών των δύο παραπάνω ποοτήτων. Ουιατικά το δίληµµα πόλωης-µεταβλητότητας µας λέει ότι την περίπτωη που προπαθούµε να ελαττώουµε την πόλωη ενός ταξινοµητή, δηλαδή να αποµνηµονεύουµε ολόκληρο το ύνολο εκπαίδευης χρηιµοποιώντας ένα πολύ ευέλικτο µοντέλο το τίµηµα που πληρώνουµε είναι ότι αυξάνουµε τη µεταβλητότητα 52

53 Κεφάλαιο 3 και κατά υνέπεια µειώνουµε την ικανότητα γενίκευης του µοντέλου ε άγνωτα δεδοµένα [2] οµική Προέγγιη Για να πετύχουµε τη βέλτιτη ιορροπία µεταξύ της πόλωης και µεταβλητότητας υνήθως χρηιµοποιούµε την µέθοδο της δοµικής προέγγιης κατά την οποία ξεκινάµε από ένα µικρό δίκτυο (λίγες παράµετροι) το οποίο βαθµιαία επεκτείνουµε (αυξάνουµε τον αριθµό των κρυµµένων µονάδων Μ) µέχρι να πετύχουµε βέλτιτες επιδόεις. Συγκεκριµένα θα παρατηρήουµε ότι υπάρχει κάποια τιµή του Μ πέρα από την οποία το φάλµα γενίκευης αρχίζει να αυξάνεται. Το φαινόµενο αυτό λέγεται υπερεκπαίδευη του δικτύου και ηµαίνει ότι ο ταξινοµητής έχει πολύ µεγάλο αριθµό παραµέτρων και την ουία έχει αποµνηµονεύει τα δεδοµένα, µειώνοντας έτι τη γενικευτική ικανότητα. Από τη τιγµή που παρατηρούµε ελάττωη της γενικευτικής ικανότητας ταµατάµε να αυξάνουµε των αριθµό των παραµέτρων και θεωρούµε ότι φτάαµε ε βέλτιτο µοντέλο. Η παραπάνω διαδικαία µπορεί να εφαρµοτεί και µε αντίτροφη φορά: εκπαιδεύουµε αρχικά ένα µοντέλο µε µεγάλο αριθµό παραµέτρων. Το µοντέλο αυτό λόγω µεγάλης µεταβλητότητας έχει µικρή πόλωη και µικρή γενικευτική ικανότητα. Σταδιακά µειώνουµε τον αριθµό των κρυµµένων µονάδων οπότε µειώνεται το φάλµα γενίκευης, µέχρι να φτάουµε ε κάποιο µέγεθος δικτύου πέρα από το οποίο το φάλµα γενίκευης αρχίζει να αυξάνει, οπότε ταµατάµε την όλη διαδικαία [2] Τεχνικές Εκτίµηης Σφάλµατος Ταξινόµηης Από τη τιγµή που η αξιολόγηη ενός ταξινοµητή θα πρέπει να γίνεται µε βάη την επίδοη του την ταξινόµηη άγνωτων δεδοµένων, η τρατηγική που χρηιµοποιείται για την εκτίµηη του φάλµατος ταξινόµηης κάποιας µεθόδου διαιρεί το ύνολο των διαθέιµων προτύπων ε δύο τµήµατα: το ύνολο εκπαίδευης (training set) που χρηιµοποιείται για την κατακευή του ταξινοµητή και το ύνολο ελέγχου (testing set) που χρηιµοποιείται για τον υπολογιµό του φάλµατος γενίκευης. Οι τεχνικές εκτίµηης φάλµατος διαφέρουν µεταξύ τους κυρίως τον τρόπο που γίνεται η διάπαη των δεδοµένων τα δύο ύνολα. Θα πρέπει να ηµειωθεί ότι οι τεχνικές αυτές δεν µπορούν να χρηιµοποιηθούν για την αξιολόγηη ενός υγκεκριµένου ταξινοµητή (ενός υγκεκριµένου υνόλου παραµέτρων), διότι βαίζονται την κατακευή πολλών ταξινοµητών (πολλών υνόλων παραµέτρων) για την εκτίµηη φάλµατος. Οι λόγοι για τους οποίους χρηιµοποιούνται είναι: a) για τη ύγκριη διαφορετικών τεχνικών b) για τη µελέτη της επίδραης των διαφόρων χαρακτηριτικών ειόδου το φάλµα ταξινόµηης ) για την µελέτη της επίδραης του αριθµού των παραµέτρων το φάλµα γενίκευης, όταν χρηιµοποιείται υγκεκριµένο µοντέλο. 53

54 Οι κυριότερες τεχνικές εκτίµηης φάλµατος είναι οι ακόλουθες: Holdout: Καθορίζεται το ποοτό των προτύπων εκπαίδευης και ελέγχου. ηµιουργούνται τυχαία τα ύνολα εκπαίδευης και ελέγχου µε βάη τα παραπάνω ποοτά και κατακευάζεται ο ταξινοµητής χρηιµοποιώντας το ύνολο εκπαίδευης. Στη υνέχεια υπολογίζεται το φάλµα ταξινόµηης χρηιµοποιώντας το ύνολο ελέγχου. Επαναλαµβάνεται αρκετές φορές η παραπάνω διαδικαία (δηµιουργία υνόλων εκπαίδευης και ελέγχου, εκπαίδευη του ταξινοµητή και υπολογιµός του φάλµατος ταξινόµηης) και η τελική εκτίµηη φάλµατος προκύπτει ως ο µέος όρος των επιµέρους φαλµάτων ταξινόµηης που υπολογίτηκαν. Leave-one-out: Για κάθε διαθέιµο πρότυπο κατακευάζεται ένας ταξινοµητής, θεωρώντας ως ύνολο εκπαίδευης ολόκληρο το ύνολο δεδοµένων εκτός από το υγκεκριµένο πρότυπο. Στη υνέχεια ελέγχεται η δυνατότητα του ταξινοµητή να ταξινοµεί ωτά το πρότυπο που αγνοήθηκε κατά την εκπαίδευη, και αυτή η διαδικαία επαναλαµβάνεται για όλα τα διαθέιµα πρότυπα, οπότε τελικά µετράται το ποοτό των προτύπων που ταξινοµήθηκαν λάθος. Rotation: ιαιρείται το ύνολο προτύπων ε υπούνολα και για κάθε υπούνολο κατακευάζεται ένας ταξινοµητής θεωρώντας ως ύνολο εκπαίδευης τα πρότυπα των υπολοίπων υπουνόλων, οπότε και υπολογίζεται το ποοτό των φαλµάτων ταξινόµηης χρηιµοποιώντας ως ύνολο ελέγχου τα πρότυπα του υπουνόλου. Η διαδικαία επαναλαµβάνεται ίες φορές µε τον αριθµό των υπουνόλων και υπολογίζεται το τελικό φάλµα εκτίµηης ως µέος όρος των επιµέρους φαλµάτων. Bootstrap: Επιλέγουµε µε τυχαίο τρόπο Ν ακέραιους αριθµούς από 1 έως Ν, όπου Ν ο αριθµός των προτύπων του υνόλου δεδοµένων. Είναι πιθανό µερικοί αριθµοί να επιλεγούν περιότερες από µία φορές ενώ άλλοι καθόλου. Τα πρότυπα που αντιτοιχούν τους αριθµούς που δεν επιλέχθηκαν αποτελούν το ύνολο ελέγχου και τα υπόλοιπα το ύνολο εκπαίδευης. Κατακευάζεται ο αντίτοιχος ταξινοµητής και υπολογίζεται το φάλµα ταξινόµηης. Επαναλαµβάνεται την παραπάνω διαδικαία αρκετές φορές και υπολογίζεται το τελικό φάλµα ταξινόµηης ως µέος όρος των επιµέρους φαλµάτων [2]. 54

55 Κεφάλαιο Ο Αλγόριθµος Ανάτροφης ιάδοης Περιγραφή του Αλγορίθµου Ανάτροφης ιάδοης Ο αλγόριθµος ανάτροφης διάδοης (Bakpropagation) είναι γενίκευη του αλγορίθµου µέου ελαχίτου τετραγώνου (Least Mean Square) και αποτελεί ίως τον πιο διαδεδοµένο αλγόριθµο επιβλεπόµενης µάθηης [1], [2]. Ως τέτοιος προαρµόζει τα υναπτικά βάρη έτι ώτε να ελαχιτοποιηθεί το µέο τετραγωνικό φάλµα µεταξύ των επιθυµητών και πραγµατικών αποκρίεων µετά από την παρουίαη του κάθε προτύπου την είοδο του νευρωνικού δικτύου. Η επέκταη από τον αλγόριθµο µέου ελαχίτου τετραγώνου υνίταται την χρήη της πραγµατικής εξόδου κάθε νευρονίου µετά την εφαρµογή της υνεχούς υνάρτηης ενεργοποίηης. Έτι, τα υναπτικά βάρη ενηµερώνονται µε τόχο την ελαχιτοποίηη του κριτηρίου: E p (t) = k e k ( t), e k (t) = d k (t)-y k (t) ( ) όπου η άθροιη εκτείνεται ε όλα τα νευρόνια του τρώµατος εξόδου µετά την παρουίαη κάθε διανύµατος εκπαίδευης την είοδο του Ν. Αυτό ηµαίνει ότι η ελαχιτοποίηη πρέπει να γίνει διαδοχικά καθώς διαφορετικά πρότυπα εκπαίδευης εφαρµόζονται τις ειόδους του νευρωνικού δικτύου. Σχήµα : Το k-οτό νευρόνιο εξόδου. Το ήµα u k (t) της εωτερικής δρατηριότητας του νευρονίου είναι: n u k = w i= 0 ki ( t) y ( t) ( ) i y k (t) = f k (u k (t)) ( ) e k (t) = d k (t)-f k (u k (t)) ( ) βάει του τύπου της απότοµης κατάβαης οι διορθώεις των βαρών w ki (t) είναι: E w ki (t) = -γ w p ki ( t) ( t) ( ) όπου γ είναι η παράµετρος µάθηης και η µερική παράγωγος Ε p (t)/ w ki (t) δίδεται από την χέη: 55

56 E p ( t) E p ( t) ek ( t) yk ( t) uk ( t) =... wki ( t) ek ( t) yk ( t) uk ( t) wki ( t) = e k (t)(-1)f k (u k (t))y i (t) ( ) όπου f k (u k (t)) = df k (u k (t))/du k (t) εποµένως τελικά προκύπτει ο γενικευµένος κανόνας δέλτα: w ki (t) = γδ k (t)y i (t) ( ) όπου δ k (t) = e k (t)f k (u k (t)) Τούτο το γινόµενο το οποίο ονοµάζεται τοπική κλίη µπορεί να υπολογιτεί για όλους τους νευρώνες του τρώµατος εξόδου αλλά και για τους νευρώνες των κρυµµένων τρωµάτων. Στρώµα Εξόδου: Σε αυτό το επίπεδο θα ιχύει: w ki (t) = γ[d k (t)-y k (t)]f k (u k (t)) ( ) όπου ο δείκτης k εκτείνεται ε όλα τα νευρόνια εξόδου και ο δείκτης i ε όλα τα νευρόνια του τελευταίου κρυµµένου τρώµατος. Κρυµµένα Στρώµατα: Για τους νευρώνες j των κρυµµένων τρωµάτων δεν υπάρχουν υγκεκριµένες επιθυµητές αποκρίεις. Συνεπώς τα αντίτοιχα φάλµατα πρέπει να υπολογιτούν έµµεα χρηιµοποιώντας τα φάλµατα όλων των νευρονίων µε τα οποία κάθε κρυµµένο νευρόνιο υνδέεται. Η τοπική κλίη δ j (t) είναι ίη µε: E p ( t) y j ( t) E p ( t) δ j (t) = -. = f j (u j (t)) ( ) y ( t) u ( t) y ( t) όπου E p j ( t) y ( t) j = m j e ( t) em ( t) m y ( t) j j = e ( t) em ( t) um ( t) m m um ( t) y j ( t) = e ( t) f m m(u m (t))w mj (t) ( ) m και ο δείκτης m εκτείνεται ε όλα τα νευρόνια του τρώµατος εξόδου. Η χέη ( ) προκύπτει οµοίως µε προηγούµενα (χέεις ( ) ( )): E p (t) = n u m = w j= m mj e m ( t) j, e m (t) = d m (t)-y m (t) ( ) ( t) y ( t) ( ) y m (t) = f m (u m (t)) ( ) όπου n είναι ο υνολικός αριθµός ειόδων. Βάει της ( ) η ( ) γράφεται: E p ( t) δ m ( t ) wmj ( t) ( ) y ( t) j = - m άρα το δέλτα του j κρυµµένου νευρονίου θα είναι: δ j (t) = f j (u j (t)) δ m ( t ) wmj ( t) ( ) m όπου δ m (t) m = 1,2,.. είναι τα δέλτα των νευρονίων εξόδου. Τελικά η διόρθωη προκύπτει ότι είναι: w ji (t) = γδ j (t)y i (t) = γy i (t) δ m ( t ) wmj ( t) ( ) m όπου ο δείκτης i αναφέρεται τα νευρόνια του τρώµατος που προηγείται του υπό θεώρηη κρυµµένου τρώµατος. Συνολικά τα βήµατα του αλγορίθµου bakpropagation (BP) είναι τα εξής: 56

57 Κεφάλαιο 3 1] Επιλογή των αρχικών βαρών και κατωφλίων χρηιµοποιώντας µικρές θετικές τυχαίες τιµές. 2] Παρουιάζεται το Ν το πρότυπο διάνυµα εκπαίδευης x(t)=[x 0 (t),x 1 (t),,x n (t)] T και το επιθυµητό διάνυµα εξόδου d(t)=[d 1 (t),d 2 (t),,d M (t)] T. 3] Ευθύ πέραµα, υπολογίζονται τα ήµατα εξόδου όλων των νευρονίων του δικτύου προς τα εµπρός χρηιµοποιώντας τις τρέχουες τιµές των υναπτικών βαρών δηλαδή u j = w ji ( t) yi ( t) ( ) i y j (t) = f j (u j (t)) ( ) όπου y i (t) είναι η i είοδος του j νευρονίου (δηλαδή η έξοδος του i νευρονίου) και w ji είναι το υναπτικό βάρος που υνδέει το i νευρόνιο µε το j νευρόνιο. Για τα νευρόνια j του πρώτου κρυµµένου τρώµατος ιχύει y i (t) = x i (t), i = 1,2,,n όπου η i είοδος είναι τοιχείο του διανύµατος διέγερης. Για τους νευρώνες j του τρώµατος εξόδου, το y j (t) είναι η j πραγµατική έξοδος του νευρωνικού δικτύου. 4] Ανάτροφο πέραµα, ανανεώνονται τα βάρη αρχίζοντας από τα νευρόνια εξόδου και προχωρώντας ανάποδα προς το τρώµα εξόδου, χρηιµοποιώντας τον κανόνα: w ji (t+1) = w ji (t)+ w ji (t) ( ) όπου το w ji (t) δίνεται από την ( ) όταν το θεωρούµενο νευρόνιο ανήκει το τρώµα εξόδου και από την ( ) όταν ανήκει ε κρυµµένο τρώµα. Σηµειώνεται ότι w ji (t) είναι το υναπτικό βάρος που υνδέει το νευρόνιο j ενός τρώµατος µε το νευρόνιο i του αµέως προηγούµενου τρώµατος. 5] Επαναλαµβάνεται η όλη διαδικαία από το βήµα Σηµειώεις τον Αλγόριθµο Ανάτροφης ιάδοης Αρχικά, αξίζει να ηµειωθεί ότι η επιλογή των αρχικών τιµών για τα υναπτικά βάρη είναι πολύ ηµαντική. Συνήθως αν αρχικές τιµές των βαρών δίνονται µικρές θετικές τυχαίες τιµές οµοιόµορφα κατανεµηµένες ε µια µικρή περιοχή. Σηµειώνεται επίης ότι δεν υπάρχει θεώρηµα που να εξαφαλίζει ότι ο αλγόριθµος ανάτροφης διάδοης ο οποίος βαίζεται την µέθοδο gradient desent υγκλίνει ε ένα ολικό ελάχιτο. Έτι ένα νευρωνικό δίκτυο που εκπαιδεύεται µε τον αλγόριθµο BP παγιδεύεται υνήθως ε κάποιο τοπικό ελάχιτο. Στην λειτουργία οµάδας προτύπων (bath mode) η εκκίνηη γίνεται µε τυχαίες αρχικές τιµές για το διάνυµα βαρών w (0). Στην υνέχεια ενηµερώνεται το διάνυµα βαρών έτι ώτε το βήµα τ να γίνεται µετακίνηη προς την κατεύθυνη του µεγαλύτερου ρυθµού µείωης της υνάρτηης φάλµατος: w (τ) (τ) = -η Ε w ( ) Κατά την λειτουργία απλού προτύπου (pattern mode) η µερική παράγωγος της υνάρτηης φάλµατος αποτιµάται για κάθε ένα διάνυµα ειόδου την φορά. w (τ) = -η Ε n (τ) w ( ) Τα διανύµατα πρότυπα υπάρχει η δυνατότητα να επιλέγονται µε την ειρά ή τυχαία. Η παράµετρος η (ή γ) καλείται ρυθµός µάθηης (learning rate), θεωρώντας ότι η τιµή της είναι αρκούντως µικρή αναµένεται ότι κατά την bath mode λειτουργία η τιµή του Ε θα µειώνεται ε κάθε διαδοχικό βήµα οδηγώντας ε ένα διάνυµα βαρών το οποίο θα ικανοποιεί την υνθήκη Ε = 0. Από την άλλη πλευρά κατά την pattern mode λειτουργία για µικρές τιµές του η θα υπάρχει ταθερή µείωη του φάλµατος 57

58 αφού οι επιµέρους µεταβολές του διανύµατος των βαρών θα προεγγίζουν ένα ολικό ελάχιτο. Η εξαφάλιη ύγκλιης µπορεί να γίνει εάν ο ρυθµός µάθηης µειώνεται ε κάθε βήµα του αλγορίθµου ε αντιτοιχία µε τις απαιτήεις του θεωρήµατος [1]. Αυτές ικανοποιούνται επιλέγοντας η (τ) 1/τ παρότι µια τέτοια επιλογή καθυτερεί εµφανώς την ύγκλιη. Πρακτικά επιλέγεται µια ταθερή τιµή για το η µιας και αυτό παρέχει αρκετά καλά αποτελέµατα παρότι δεν υπάρχει εξαφάλιη για την ύγκλιη. Εάν το η είναι πολύ µεγάλο ο αλγόριθµος µπορεί να αποκλίνει οδηγώντας ε αύξηη του Ε, δηµιουργώντας έτι ταλαντώεις οι οποίες κάνουν τον αλγόριθµο αταθή. Από την άλλη πλευρά εάν το η επιλεγεί πολύ µικρό η εκπαίδευη προχωράει µε µικρούς ρυθµούς οδηγώντας έτι ε µεγάλους υπολογιτικούς χρόνους. Ένα ηµαντικό πλεονέκτηµα της λειτουργία απλού προτύπου έναντι της λειτουργίας οµάδας προτύπων, εµφανίζεται όταν το ύνολο των διανυµάτων ειόδων περιέχει πλεονάζουα πληροφορία. Ως απλό παράδειγµα µπορεί να θεωρηθεί ένα ύνολο προτύπων εκπαίδευης το οποίο προήλθε από ένα µικρότερο ύνολο προτύπων εκπαίδευης επαναλαµβάνοντας 10 φορές τα πρότυπα του µικρότερου υνόλου. Σε αυτή την περίπτωη κάθε αποτίµηη του Ε χρειάζεται δεκαπλάιο χρόνο και έτι ο αλγόριθµος ε bath mode θα χρειατεί οµοίως δεκαπλάιο χρόνο για να οδηγηθεί ε µια δεδοµένη λύη. Αντίθετα ο αλγόριθµος ε λειτουργία απλού προτύπου, ανανεώνοντας το διάνυµα βαρών ανά πρότυπο, µένει ανεπηρέατος από την επανάληψη των προτύπων. Ένα εξίου ηµαντικό πλεονέκτηµα του pattern έναντι του bath mode είναι ότι από την τιγµή που ο αλγόριθµος BP (ε λειτουργία απλού προτύπου) είναι τοχατικός έχει την δυνατότητα να ξεφύγει από τοπικά ελάχιτα. Ο αλγόριθµος ανάτροφης διάδοης δίνει µια προέγγιη της τροχιάς των βαρών που υπολογίζονται µε την µέθοδο της απότοµης καθόδου. Όο µικρότερος είναι ο ρυθµός µάθηης τόο µικρότερη η µεταβολή του διανύµατος των βαρών ε κάθε επανάληψη και οµαλότερη η τροχιά της καµπύλης των βαρών. Το κότος για βελτιωµένη µάθηη όµως είναι ο αργός ρυθµός εκπαίδευης. Αντίθετα, αν χρηιµοποιηθεί υψηλός ρυθµός µάθηης για να επιτευχθεί επιτάχυνη της διαδικαίας τότε οι µεγάλες µεταβολές ε κάθε επανάληψη προκαλούν τον κίνδυνο της ατάθειας του αλγορίθµου εκπαίδευης. Μια απλή µέθοδος της αύξηης του ρυθµού, µε αποφυγή των παραπάνω αρνητικών φαινοµένων, είναι η τροποποίηη του κανόνα ενηµέρωης των βαρών µε την ειαγωγή ενός όρου ορµής (momentum term). w ji (t) = α w ji (t-1)+ηδ j (t)y i (t) ( ) όπου α ένας (υνήθως θετικός) αριθµός που ονοµάζεται ταθερά ορµής (momentum). Για να γίνει εµφανής η επίπτωη του α τον αλγόριθµο της εκπαίδευης [2] αναδιατυπώνεται η προηγούµενη εξίωη ως µια χρονική ακολουθία µε δείκτη t: n n t w ji (t) = η α δ j ( t) yi ( t) ( ) t= 0 ιοδύναµα από την χέη ( ) προκύπτει ότι: n E p ( t) n t w ji (t) = -η α ( ) w ( t t= 0 ji ) Βάει αυτής της χέης µπορούν να γίνουν οριµένες παρατηρήεις. Η τρέχουα µεταβολή w ji (t) αντιπροωπεύει το άθροιµα µιας εκθετικής χρονικής ακολουθίας. Για να υγκλίνει αυτή η ακολουθία πρέπει η ταθερά α να ανήκει το διάτηµα 0 α <1. Όταν α = 0 ο αλγόριθµος λειτουργεί χωρίς momentum. Η ταθερά α µπορεί να παίρνει και αρνητικές τιµές αν και αυτό δεν υνηθίζεται. 58

59 Κεφάλαιο 3 E p ( t) Όταν η µερική παράγωγος έχει το ίδιο πρόηµο ε υνεχόµενες wki ( t) επαναλήψεις τότε το w ji (t) µεγαλώνει ηµαντικά και το βάρος w ji (n) µεταβάλλεται ε µεγάλο βαθµό. Εποµένως η ειαγωγή του παράγοντα ορµής τείνει να επιταχύνει ε ταθερή κατεύθυνη την κάθοδο. E p ( t) Όταν η µερική παράγωγος έχει αντίθετο πρόηµο ε υνεχόµενες wki ( t) επαναλήψεις, τότε το w ji (t) µειώνεται ηµαντικά και το βάρος w ji (n) µεταβάλλεται ε µικρό βαθµό. Εποµένως η ειαγωγή του παράγοντα ορµής έχει ταθεροποιητικό αποτέλεµα Συνεπώς η ενωµάτωη του όρου ορµής τον κανόνα ενηµέρωης των βαρών µπορεί να προδώει ηµαντικά οφέλη αναφορικά µε την διαδικαία µάθηης. Παράλληλα αποτρέπει τον τερµατιµό της διαδικαίας ε ένα τοπικό ελάχιτο της επιφάνειας φάλµατος. Τελευταία έχουν υπάρξει προπάθειες για την βελτίωη της επίδοης του αλγορίθµου ανάτροφης διάδοης κάνοντας διάφορες κατά περίπτωη τροποποιήεις του αλγορίθµου. Ένα εµφανές µειονέκτηµα του αλγορίθµου είναι ότι περιέχει δυο παραµέτρους η και α, των οποίων οι τιµές επιλέγονται κάνοντας οριµένες ειρές δοκιµών. Οι βέλτιτες τιµές αυτών των παραµέτρων εξαρτώνται από το εκάτοτε πρόβληµα και επιπλέον µεταβάλλονται κατά την διάρκεια της εκπαίδευης. Εποµένως είναι λογικό να αναζητάται µια διαδικαία η οποία θα επιλέγει τις τιµές των η και α αυτόµατα κατά την εξέλιξη του αλγορίθµου BP. Μια τέτοια προέγγιη αποτελεί η τεχνική bold driver [3]. Αντιµετωπίζοντας το πρόβληµα χωρίς την ύπαρξη του όρου ορµής η ιδέα που κρύβεται πίω από την τεχνική bold driver είναι να ελέγχεται το κατά πόο µειώθηκε η τιµή της υνάρτηης λάθους µετά από κάθε πέραµα του αλγορίθµου ανάτροφης διάδοης. Εάν αυτή η τιµή έχει αυξηθεί τότε o BP έχει ξεπεράει το προηγούµενο ελάχιτο, πράγµα που ηµαίνει ότι η τιµή του ρυθµού µάθηης ήταν πολύ µεγάλη. Σε αυτή την περίπτωη η µεταβολή του διανύµατος των βαρών αναιρείται και το η µειώνεται. Αυτή η διαδικαία επαναλαµβάνεται µέχρι να ανιχνευθεί µια µείωη την υνάρτηη φάλµατος. Εάν από την άλλη πλευρά το φάλµα µειώνεται ε κάποιο βήµα του αλγορίθµου τότε η µεταβολή του διανύµατος βαρών διατηρείται. Εντούτοις η τιµή του ρυθµού µάθηης µπορεί να ήταν πολύ µικρή οπότε αυξάνεται.το η. Συνολικά η τιµή του η µεταβάλλεται όπως φαίνεται την υνέχεια: η new = ρη old, Ε<0 η old, Ε>0 ( ) Η παράµετρος ρ επιλέγεται να είναι λίγο µεγαλύτερη της µονάδας (µια τυπική τιµή µπορεί να είναι ρ = 1.1) ώτε να αποφεύγονται υχνές εµφανίεις αύξηης του φάλµατος, αφού τις εν λόγω περιπτώεις παταλάται υπολογιτική ιχύς. Η παράµετρος επιλέγεται αφώς µικρότερη της µονάδας (µια τυπική τιµή µπορεί να είναι = 0.5), έτι ώτε ο αλγόριθµος να ανακάµπτει γρήγορα βρίκοντας ένα διάνυµα βαρών που µειώνει το φάλµα (γεγονός που και πάλι εξοικονοµεί υπολογιτική ιχύ). ιάφορες τροποποιήεις µπορούν να γίνουν όπως η αύξηη του η γραµµικά (κατά µια ταθερή τιµή) αντί εκθετικά (κατά έναν ταθερό παράγοντα). Εάν υµπεριληφθεί ο όρος ορµής, αυτός µπορεί να τεθεί ε µια ταθερή τιµή. Για περιότερες πληροφορίες πάνω τον αλγόριθµο ανάτροφης διάδοης [4]. 59

60 3.3 Αξιοπιτία την Ταξινόµηη Ειαγωγικό Σηµείωµα Μια προέγγιη για τον έλεγχο του κατά πόο ένας ταξινοµητής έχει παράγει µια ικανοποιητική λύη είναι να εξετατούν αυτές καθ αυτές οι τιµές που έχουν παραχθεί από τον ταξινοµητή. Σε πρακτικά προβλήµατα ένας µπορεί να διαθέτει έναν ταξινοµητή, χωρίς να διαθέτει όµως καµία επιπλέον πληροφόρηη για την δοµή, την αρχιτεκτονική ή τον τρόπο που έχει εκπαιδευτεί ο εν λόγω ταξινοµητής. Συνεπώς για τα πρότυπα που ταξινοµούνται από το νευρωνικό δίκτυο ταξινόµηης χρειάζεται ένα µέτρο αξιοπιτίας-εµπιτούνης που να παρέχει την πληροφόρηη του κατά πόο ένας µπορεί να είναι βέβαιος για το αποτέλεµα που έχει παράγει ο ταξινοµητής. Εάν η απόδοη του ταξινοµητή είναι περιοριµένη η αξιοπιτία για την ταξινόµηη ενός προτύπου αναµένεται να έχει µικρή τιµή. Αντίθετα για έναν ταξινοµητή µε βέλτιτη απόδοη, η τιµή του µέτρου εµπιτούνης (για το ίδιο πρότυπο ειόδου) θα εµφανίζεται αυξηµένη. Η τιµή του µέτρου αξιοπιτίας µπορεί να έχει ποικίλες χρήεις και εφαρµογές. Μια πρώτη εφαρµογή είναι η βελτίωη της απόδοης ενός ταξινοµητή χρηιµοποιώντας απόρριψη. Με την χρήη κανόνων απόρριψης ένα πρότυπο µε χαµηλή τιµή αξιοπιτίας µπορεί να αποκλειτεί από την φάη της ταξινόµηης, βελτιώνοντας έτι την υνολική ικανότητα ορθής ταξινόµηης ενός ταξινοµητή. Μια άλλη εφαρµογή είναι η κατακευή ταξινοµητών πολλών επιπέδων. Αρχικά υποθέτουµε ότι υπάρχει ένας αριθµός διαθέιµων ταξινοµητών για την ταξινόµηη ενός προτύπου. Κατά την φάη της ταξινόµηης εκτός της κατηγορίας υπολογίζεται η τιµή του µέτρου εµπιτούνης για κάθε έναν ταξινοµητή. Οι τιµές της αξιοπιτίας την υνέχεια χρηιµοποιούνται για την κατακευή ενός ύνθετου ταξινοµητή ο οποίος εµφανίζει υψηλότερη απόδοη από ότι οι επιµέρους ταξινοµητές. Σύµφωνα µε τα όα αναφέρθηκαν προηγούµενα πιο αποδοτικές λύεις για το πρόβληµα της ταξινόµηης µπορούν να επιτευχθούν ειάγοντας έναν όρο αξιοπιτίας ο οποίος θα παρουιάζει την ακρίβεια της ταξινόµηης κάθε ενός προτύπου. Ο υπολογιµός του µέτρου της αξιοπιτίας προϋποθέτει ότι κατατάεις που εµφανίζονται τον χώρο των ειόδων και που είναι επιρρεπείς ε µη αξιόπιτες ταξινοµήεις πρέπει να απεικονίζονται µε κάποιο τρόπο τον χώρο των εξόδων του ταξινοµητή. Η χαµηλή αξιοπιτία µιας ταξινόµηης δύναται να εντοπιτεί ε µια από τις δυο ακόλουθες κατατάεις τον χώρο των ειόδων. (a) Το πρότυπο προς ταξινόµηη είναι χαρακτηριτικά διαφορετικό από αυτά που εµφανίζονταν κατά την φάη της εκπαίδευης του ταξινοµητή. Για παράδειγµα οι τιµές του διανύµατος του είναι αποµακρυµένες από τις τιµές των διανυµάτων του υνόλου εκπαίδευης. (b) Το πρότυπο προς ταξινόµηη εµφανίζει οµοιότητες µε πρότυπα που εµφανίζονταν κατά την φάη της εκπαίδευης και που ανήκουν ε διαφορετικές κατηγορίες. Για παράδειγµα οι τιµές του διανύµατος του προτύπου βρίκονται ε περιοχή που υνυπάρχουν πρότυπα από δυο ή περιότερες διαφορετικές κλάεις. 60

61 Κεφάλαιο 3 Σχήµα : υο περιπτώεις µη αξιόπιτης ταξινόµηης. (a) Τα δείγµατα είναι χαρακτηριτικά διαφορετικά από τα πρότυπα του υνόλου εκπαίδευης, (b) Τα δείγµατα εντοπίζονται ε µια περιοχή που υνυπάρχουν πρότυπα δυο κατηγοριών. Για να γίνεται εύκολη διάκριη µεταξύ των µη αξιόπιτων ταξινοµήεων τύπου (a) και τύπου (b) ειάγονται δυο παράµετροι αξιοπιτίας ψ a και ψ b οι τιµές των οποίων γενικά βρίκονται την περιοχή τιµών [0,1]. Επιπλέον θεωρείται ότι παράµετροι µε τιµές κοντά το 1 αντιτοιχούν ε αξιόπιτες ταξινοµήεις ενώ χαµηλές τιµές αντιτοιχούν ε λιγότερο αξιόπιτες ταξινοµήεις. Οι δυο αυτές παράµετροι χετίζονται µε το διάνυµα των εξόδων του ταξινοµητή. Μια υνολική παράµετρος αξιοπιτίας είναι δυνατόν να υπολογιτεί µε χρήη των ψ a και ψ b : ψ = min(ψ a,ψ b ) ( ) Μια τέτοια επιλογή είναι εµφανώς υντηρητική αφού υπονοεί ότι µια ταξινόµηη είναι µη αξιόπιτη από την τιγµή που έτω και µια παράµετρος από τις ψ a και ψ b λαµβάνει χαµηλή τιµή ανεξαρτήτως της τιµής που λαµβάνει η άλλη παράµετρος. Προφανώς ένας διαφορετικός υνδυατικός τελετής µπορεί να χρηιµοποιηθεί αναλόγως των απαιτήεων που υπάρχουν ε κάθε επιµέρους εφαρµογή ταξινόµηης Εκτιµητές Αξιοπιτίας Όταν ένα νευρωνικό δίκτυο χρηιµοποιείται για την ταξινόµηη ενός αγνώτου προτύπου ένα από τα ζητούµενα είναι κάποιο µέγεθος το οποίο να εµπεριέχει την πληροφορία την ποιότητας αυτής της ταξινόµηης, δηλαδή την πιθανότητα του να είναι η ταξινόµηη επιτυχηµένη [1]. Έτω ένα Ν ταξινόµηης το οποίο εκπαιδευµένο παρουιάζει µια υνάρτηη απεικόνιης S των ειόδων τις εξόδους, της µορφής: r ) S ( x ) = w ( ) Για κάθε πρότυπο ειόδου x r η ταξινόµηη που βαίζεται την S είναι είτε ορθή είτε λανθαµένη, υνεπώς µια υνάρτηη αληθείας µπορεί να οριτεί: C( x r 1, S ( x r ) = w, w) = 0, S( x r ( ) ) w 61

62 όπου w είναι η πραγµατική κατηγορία του προτύπου x r. Όταν ταξινοµείται ένα άγνωτο πρότυπο η αξιοπιτία για την εκτίµηη w ) της κατηγορίας του προτύπου αντιπροωπεύει την πιθανότητα του να είναι ορθή η ταξινόµηη. οθέντος ενός ταξινοµητή το ζητούµενο είναι ο υπολογιµός αυτής της πιθανότητας. r v r q( x) = P( C( x, w) = 1 x) r r = P( S( x) = w x) ) r = P( w = w x, S) ( ) Ένα νευρωνικό δίκτυο απεικονίζει το υπερεπίπεδο των ειόδων το υπερεπίπεδο των κρυµµένων τρωµάτων και την υνέχεια το υπερεπίπεδο των εξόδων. Κατά υνέπεια η πιθανότητα q(x r ) µπορεί να εκτιµηθεί το χώρο των ειόδων, τον χώρο των κρυµµένων νευρώνων όπως και τον χώρο των εξόδων. Σχήµα : Χώρος των ειόδων για ένα πρόβληµα ταξινόµηης 2 κατηγοριών. Έτω ένα νευρωνικό δίκτυο 2 ειόδων, µε 2 νευρόνια το κρυµµένο τρώµα και 2 εξόδους κάθε µια εκ των οποίων χετίζεται µε µια κατηγορία. Το Ν εκπαιδεύεται βάει των προτύπων που εµφανίζονται το χήµα ( ). Εάν κάποιος παρατηρήει την τοπολογική διάταξη των 2 κατηγοριών τον χώρο των κρυµµένων τρωµάτων, µπορεί να παρατηρήει ότι αυτές οι 2 κατηγορίες είναι πιο εύκολα διαχωρίιµες. Συνεπώς ο υπολογιµός της q(x r ) ε αυτό το τρώµα του νευρωνικού δικτύου υγκεντρώνει αρκετά πλεονεκτήµατα. Αξίζει επίης να ηµειωθεί το γεγονός ότι τα Ν κάνοντας µια υνεχή απεικόνιη µεταξύ των χώρων των ειόδων, των κρυµµένων νευρώνων και των εξόδων παρέχουν την δυνατότητα υπολογιµού της πιθανότητας q(x r ) ε οποιονδήποτε από αυτούς τους χώρους. 62

63 Κεφάλαιο 3 Σχήµα : Χώρος του κρυµµένου τρώµατος. Σχήµα : Χώρος των εξόδων για το πρόβληµα ταξινόµηης 2 κατηγοριών. Γενικά υπάρχουν διάφορες µέθοδοι για την µέτρηη της τιµής της αξιοπιτίας και κατά υνέπεια για τον υπολογιµό της πιθανότητας q(x r ). 1] Έξοδοι του ικτύου (Network Outputs) 2] k-οτός Πληιέτερος Γείτονας (k Nearest Neighbor) 3] Λογιτική Μέθοδος (Logisti Μethod) 4] Μέθοδος του Νικητή (Winner Method) Έξοδοι του ικτύου: Η µέθοδος αυτή αποτελεί τον κλαικό τρόπο προδιοριµού της αξιοπιτίας ενός δικτύου ταξινόµηης. Κάθε έξοδος του Ν µπορεί να 63

64 µεταφρατεί ως η posteriori πιθανότητα εκτίµηης της κατηγορίας ενός προτύπου. Αυτό οδηγεί τον ακόλουθο κανόνα υπολογιµού της αξιοπιτίας: v ) r oi ( x) qnetout ( x) = N ( ) v o ( x) i= 1 i r όπου o i (x) είναι η τιµή του κόµβου εξόδου i που αντιπροωπεύει την κατηγορία w i θεωρώντας βέβαια µια έξοδο ανά κατηγορία. Το άθροιµα χρηιµοποιείται για να κανονικοποιηθεί το µέτρο αξιοπιτίας, ενώ Ν είναι ο αριθµός των κατηγοριών. Σε γενικές γραµµές δεν είναι γνωτό πότε ένα Ν είναι επαρκώς εκπαιδευµένο, αυτό ηµαίνει ότι οι posteriori πιθανότητες των προτύπων ενδεχόµενα να είναι ανεπαρκώς εκτιµηµένες. Επιπρόθετα οι έξοδοι των Ν δεν µεταφράζονται πάντα ε πιθανότητες. Το γεγονός αυτό ηµαίνει ότι χρειάζεται µια επεξεργαία των τιµών των εξόδων ώτε να αντιπροωπεύουν πιθανότητες ή µπορεί να τροποποιηθεί ο αλγόριθµος εκπαίδευης ή µπορεί να προαρµοτεί κατάλληλα το κριτήριο φάλµατος. Η τελευταία επιλογή που ενδείκνυται να γίνει είναι η τροποποίηη του αλγορίθµου εκπαίδευης αφού ο ταξινοµητής θεωρείται δεδοµένος και ο ακριβής τρόπος εκπαίδευης του εν γένει άγνωτος. Η καλύτερη επιλογή είναι να λαµβάνονται υπόψη οι τιµές των εξόδων αφού είναι αδύνατο να ανατεθεί µια κλάη το κόµβους του κρυµµένου τρώµατος ή του τρώµατος των ειόδων. k-οτός Πληιέτερος Γείτονας: Θεωρώντας έναν δεδοµένο χώρο µε ένα καθοριµένο τρόπο εκτίµηης των αποτάεων (για παράδειγµα την Ευκλείδεια απόταη) η εκτιµήτρια πυκνότητας της µεθόδου k Nearest Neighbor (k-nn) µπορεί να χρηιµοποιηθεί ώτε να βρεθεί η αξιοπιτία της ταξινόµηης του υπό εξέταη προτύπου. r N r ) S ( x) w ( x) = ( ) k ) = qknn όπου N r ) S ( x ) = w είναι ο αριθµός των δειγµάτων µεταξύ των k πληιέτερων γειτόνων τα οποία ανήκουν την υπό εξέταη κατηγορία. Οι τιµές των γειτονικών προτύπων είναι γνωτές (από την φάη της εκπαίδευης) και το πρότυπο x r κατηγοριοποιείται από τον ταξινοµητή S. Όο περιότεροι γείτονες υµφωνούν περί της κατηγορίας του x r τόο µεγαλύτερη εµπιτούνη υπάρχει για την ορθή ταξινόµηη του προτύπου. Παρατατικά η λειτουργία της µεθόδου φαίνεται το ακόλουθο χήµα. Σχήµα : Η µέθοδος k-nn για τον υπολογιµό της αξιοπιτίας. 64

65 Κεφάλαιο 3 Έτω ότι επιθυµείται να βρεθεί η αξιοπιτία της ταξινόµηης του µαύρου προτύπου, επιπλέον έχει γίνεται η θεώρηη ότι τα γειτονικά πρότυπα είναι γνωτό ότι ανήκουν τις κατηγορίες Α ή Β. Χρηιµοποιώντας την 8-ΝΝ προέγγιη η αξιοπιτία που υπολογίζεται είναι 5/8 αφού 5 από τους 8 γείτονες ανήκουν την κατηγορία Α. Το πρόβληµα επιλογής του k ωτόο παραµένει, µια ευριτική τιµή είναι k = N L όπου N L είναι ο αριθµός των προτύπων το ύνολο εκπαίδευης. Ένα ηµαντικό µειονέκτηµα της µεθόδου είναι η υπολογιτική ιχύς που απαιτεί την περίπτωη που ο αριθµός των προτύπων είναι µεγάλος. Λογιτική Μέθοδος: Η λογιτική µέθοδος [2] είναι χετικά απλή ενώ οι παράµετροι που χρηιµοποιεί αρκεί να υπολογιτούν µόνο µια φορά. Κατά την λογιτική µέθοδο οι υπό υνθήκη πιθανότητες των κατηγοριών µοντελοποιούνται χρηιµοποιώντας την ιγµοειδή υνάρτηη. Για ένα πρόβληµα δυο κατηγοριών η πιθανότητα το πρότυπο x r να ταξινοµείται την ωτή κατηγορία δίδεται από τον τύπο: ) r 1 qlog isti ( x) = rr ( ) 1+ exp( β x + β ) 0 Οι επιµέρους παράµετροι που πρέπει να υπολογιτούν είναι οι r β και β 0. Ο υνολικός αριθµός r των παραµέτρων που πρέπει να υπολογιτούν ιούται µε την διάταη του β υν 1. Αυτές µπορούν να υπολογιτούν χρηιµοποιώντας ένα ύνολο εκπαίδευης και τεχνική βελτιτοποίηης (για παράδειγµα τον αλγόριθµο του Newton). Όπως αναφέρθηκε προηγούµενα ο τύπος ( ) ιχύει για την περίπτωη των δυο κατηγοριών αν και επεκτείνεται ε προβλήµατα µε περιότερες κατηγορίες. Αυτό γίνεται θεωρώντας µια κλάη ως την κατηγορία βάη g και την υνέχεια υπολογίζοντας όλες τις παραµέτρους βάει αυτή της κατηγορίας. Ng 1 ) r i 1 q isti ( x) = (1 + exp( a r v )) ( ) log i= 1 gi x όπου τα x r r i = (x,1) και αgi αντιπροωπεύουν τα r β, β ) για την κλάη i ως προς την ( 0 κλάη βάη g, ενώ το Ν g αντιτοιχεί τον αριθµό των κατηγοριών. Μέθοδος του Νικητή: Στις υνήθεις περιπτώεις ταξινοµητών οι κόµβοι εξόδου είναι ίοι µε τις κλάεις ταξινόµηης. Από θεωρητικής απόψεως εάν ένα πρότυπο ανήκει την k-οτή κατηγορία τότε ο k-οτός νευρώνας του τρώµατος εξόδου θα έχει τιµή ίη µε 1 ενώ όλες οι άλλες έξοδοι θα λαµβάνουν τιµή 0 (ιδανικό διάνυµα εξόδου). Στην πράξη οι τιµές που περιέχει το διάνυµα εξόδου διαφέρουν από αυτές του ιδανικού διανύµατος εξόδου. Εξαιτίας αυτού η κατηγορία κάθε προτύπου υπολογίζεται χρηιµοποιώντας κάποιο κανόνα. Ο απλούτερος κανόνας είναι ο Winner Takes All ύµφωνα µε τον οποίο κάθε πρότυπο ειόδου αντιτοιχίζεται την κλάη της οποίας ο νευρώνας εξόδου έχει την υψηλότερη τιµή. Το Ν ταξινοµητής χρηιµοποιεί τις τιµές των υναπτικών βαρών για να καθορίει τα υπερεπίπεδα που ορίζουν τις περιοχές απόφαης των κατηγοριών. Στο τάδιο της εκπαίδευης οι τιµές των βαρών µεταβάλλονται, όταν εµφανίζεται κάθε νέο πρότυπο τις ειόδους του ταξινοµητή, έτι ώτε το διάνυµα εξόδου να προεγγίζει το ιδανικό. Συνακόλουθα τα πρότυπα του υνόλου ελέγχου διαφέρουν αρκετά από τα πρότυπα του υνόλου εκπαίδευης (τα οποία όριαν την µορφή των υπερεπιπέδων απόφαης) και έτι είναι πιθανό να πέουν έξω από κάθε υπερεπίπεδο [3]. Σε αυτή την περίπτωη τα νευρόνια εξόδου λαµβάνουν εξαιρετικά µικρές τιµές. Ένας αποδοτικός οριµός της παραµέτρου ψ a (χέη ( )) είναι: ψ a = O win ( ) 65

66 όπου O win είναι η τιµή της εξόδου του νευρώνα νικητή. Κατά αυτό τον τρόπο όο πληιέτερα το 0 είναι η τιµή O win τόο µικρότερη είναι η αξιοπιτία της εν λόγω ταξινόµηης. είγµατα του τύπου (b) όπου περιότερες από µια περιοχές απόφαης επικαλύπτονται δηµιουργούν διανύµατα εξόδου µε δυο ή περιότερες τιµές τοιχείων να είναι παρεµφερείς. Έτι για ένα δεδοµένο O win όο µεγαλύτερη είναι η διαφορά του από το O win2 (δηλαδή την έξοδο του νευρώνα µε την µεγαλύτερη τιµή µετά τον νικητή νευρώνα) τόο µεγαλύτερη εµπιτούνη µπορεί να έχει ένας το αποτέλεµα της ταξινόµηης του υγκεκριµένου προτύπου. Συνεπώς ένας αποδοτικός οριµός της παραµέτρου ψ b (χέη ( )) είναι: ψ b = O win - O win2 ( ) Συγκεφαλαιώνοντας µια υνολική παράµετρος αξιοπιτίας είναι δυνατόν να υπολογιτεί βάει της χέης ( ): ψ = min(ψ a,ψ b ) = min(o win, O win - O win2 ) = O win - O win2 = ψ b ( ) Τροποποιηµένος Εκτιµητής Αξιοπιτίας Λαµβάνοντας υπόψη το νευρο-ααφές ύτηµα ταξινόµηης [ 4] αλλά και την αρχιτεκτονική του υτήµατος [ 7] που χρηιµοποιήθηκαν την παρούα διπλωµατική εργαία είναι απαραίτητη η χρήη ενός εκτιµητή αξιοπιτίας ο οποίος πρέπει να υµβαδίζει µε οριµένες προδιαγραφές. I. Οι έξοδοι του ταξινοµητή να µην χρειάζεται να είναι posteriori πιθανότητες εκτίµηης της κατηγορίας. II. Το µέτρο αξιοπιτίας να είναι ανεξάρτητο του αριθµού των εξόδων του νευρο-ααφούς υτήµατος. III. IV. Να µην χρειάζεται καµία τροποποίηη του αλγορίθµου εκπαίδευης. Ο εκτιµητής αξιοπιτίας ενδείκνυται να εφαρµόζεται το τρώµα εξόδων αφού είναι αδύνατο να ανατεθεί µια κλάη το κόµβους του κρυµµένου τρώµατος ή του τρώµατος των ειόδων. V. Η µόνη χρηιµοποιούµενη πληροφορία πρέπει να είναι η παρούα κατάταη του νευρο-ααφούς υτήµατος και δεν πρέπει να υπάρχει καµία απαίτηη για περιότερες πληροφορίες (για παράδειγµα γνώη των προτύπων του υνόλου εκπαίδευης). VI. VII. Ο υπολογιµός τυχόν άλλων παραµέτρων πρέπει να είναι µικρής έκταης και να µην χρειάζεται εκ νέου περιόδους εκπαίδευης ούτε βέβαια την αποθήκευη νέων παραµέτρων. Η υπολογιτική ιχύς που απαιτείται για τον αναλυτικό υπολογιµό του µέτρου αξιοπιτίας οφείλει να είναι αµελητέα. VIII. Η τιµή του µέτρου εµπιτούνης πρέπει να είναι κατά το δυνατόν αντιπροωπευτική της επίδοης της υπό εξέταη ταξινόµηης. Η πρώτη προδιαγραφή δεν είναι δεµευτική αφού υπάρχει δυνατότητα να πρoαρτηθεί µια εκπαιδευµένη ιγµοειδής υνάρτηη τις εξόδους του SuPFuNIS [1]. Εντούτοις µια τέτοια λύη παρεµβαίνει τις προδιαγραφές V, VI, VII γεγονός που την καθιτά ανεφάρµοτη την πράξη. Οι περιότερες µέθοδοι που αναφέρονται προηγούµενα [ 3.3.2] αποτυγχάνουν να ικανοποιήουν αρκετές από αυτές τις προδιαγραφές. Η µέθοδος network outputs προφανώς δεν ικανοποιεί τις προδιαγραφές Ι και ΙΙΙ ενώ δεν 66

67 Κεφάλαιο 3 ικανοποιεί και την ΙΙ. Αυτό υµβαίνει την περίπτωη που ο αριθµός των εξόδων είναι µεγάλος, τότε η κανονικοποίηη που γίνεται θα δώει πολύ µικρή τιµή παρότι η r τιµή του o i (x) µπορεί να είναι υψηλή. Η µέθοδος k Nearest Neighbor δεν ικανοποιεί ην προδιαγραφή V αφού χρειάζεται να είναι γνωτό το ύνολο των προτύπων εκπαίδευης για να εφαρµοτεί. Το γεγονός όµως που την κάνει απαγορευτική είναι ότι δεν ανταποκρίνεται την προδιαγραφή VII. Η logisti µέθοδος βάει του τρόπου που έχει οριτεί αλλά και ύµφωνα µε τους υπολογιµούς που απαιτεί για να υλοποιηθεί έρχεται ε ύγκρουη µε τις προδιαγραφές VI, VII. Αυτό είναι έκδηλο από την τιγµή που για να λειτουργήει χρειάζεται τον υπολογιµό των παραµέτρων x r r i = (x,1) και αgi µε χρήη κάποιου αλγορίθµου βελτιτοποίηης. Τέλος εξετάζοντας υτηµατικά την winner µέθοδο κανείς µπορεί να παρατηρήει ότι ικανοποιεί ε απόλυτο χεδόν βαθµό το ύνολο των προδιαγραφών που κιαγραφήθηκαν, εκτός ίως της τελευταίας προδιαγραφής. Η µέθοδος του νικητή υτερεί ε ένα υγκεκριµένο ηµείο. Υπολογίζοντας το µέτρο αξιοπιτίας από την χέη ( ) δεν λαµβάνει υπόψη την τιµή εξόδου O win του νευρώνα νικητή. Προφανώς όο µεγαλύτερη τιµή λαµβάνει το O win τόο µεγαλύτερη εµπιτούνη υπάρχει για την αντίτοιχη ταξινόµηη. Από την άλλη πλευρά υπάρχει το ενδεχόµενο η τιµή ψ για δυο διαφορετικά ζεύγη εξόδων να είναι η ίδια ([O win,o win2 ] και [O win,o win, ]) παρότι ιχύει O win > O win. Αυτή η παρατήρηη οδηγεί το υµπέραµα ότι η ταξινόµηη µε εξόδους τις O win και O win2 θα έπρεπε να εµφανίζει υψηλότερη τιµή αξιοπιτίας κάτι που δεν το επιτυγχάνει η µέθοδος winner. Μια τροποποίηη που µπορεί να γίνει και η οποία επιλύει τα προηγούµενα προβλήµατα παρουιάζεται την υνέχεια: ψ = (O win - O win2 )O win ( ) Χρηιµοποιώντας αυτόν τον τύπο ως εκτιµητή αξιοπιτίας για τις κατηγοριοποιήεις που επιτελεί ο ταξινοµητής ικανοποιούνται πλήρως οι οχτώ προδιαγραφές ενώ παράλληλα αντιµετωπίζονται οι επιµέρους ατοχίες της µεθόδου του νικητή. 67

68 68

69 Κεφάλαιο 4 Νευρο-Ααφές Σύτηµα Εξαγωγής Συµπεραµάτων τηριζόµενο το Γινόµενο Βαθµών Οµοιότητας 69

70 70

71 Κεφάλαιο 4 4 Νευρο-Ααφές Σύτηµα Εξαγωγής Συµπεραµάτων τηριζόµενο το Γινόµενο Βαθµών Οµοιότητας 4.1 Ειαγωγή Το µοντέλο νευρο-ααφούς υτήµατος το οποίο βαίτηκε η παρούα υλοποίηη, και παρουιάτηκε το [1], είναι γνωτό ως Subsethood-Produt Fuzzy Neural Inferene System (SuPFuNIS). Έχει την δυνατότητα να χειρίζεται τόο αριθµητικές όο και γλωικές ειόδους ταυτόχρονα. Οι αριθµητικές είοδοι ααφοποιούνται τους κόµβους ειόδου, οι οποίοι υµπεριφέρονται ως εκπαιδευόµενοι ααφοποιητές χαρακτηριτικών. Γνώη βαιµένη ε κανόνες µπορεί εύκολα να αποτυπωθεί κατευθείαν ε αρχιτεκτονική δικτύου, ενώ οι υνδέεις το δίκτυο αντιτοιχούν ε Γκαουιανά (Gauss) ααφή ύνολα. H καινοτοµία του µοντέλου έγκειται: το υνδυαµό ααφοποιητών που ενηµερώνονται βάη των χαρακτηριτικών ειόδου την ταυτόχρονη ενεργοποίηη των κόµβων η οποία διαδίδεται διαµέου του δικτύου, πράξη η οποία τηρίζεται τα ααφή υπούνολα τη χρήη του τελετή γινοµένου για τον υπολογιµό του βαθµού ενεργοποίηης ενός κανόνα την χρήη της τροποποιηµένης µεθόδου απο-ααφοποίηης κέντρου βάρους ως µεθόδου παραγωγής αριθµητικών αποτελεµάτων τους κόµβους εξόδου Για την εκπαίδευη των κέντρων και των διαπορών των υγκεκριµένων υνδέεων χρηιµοποιείται η µέθοδος κλίης, µία µέθοδος επιβλεπόµενης µάθηης. Επίης προτείνεται µια µέθοδος παραγωγής κανόνων από το εκπαιδευµένο δίκτυο που τηρίζεται τα ααφή υπούνολα. Το SuPFuNIS µπορεί να εφαρµοτεί ε µια πληθώρα εφαρµογών και προβληµάτων, ενώ η απόδοη του, υγκριτικά µε ήδη υπάρχοντα µοντέλα, είναι πολύ καλή. 4.2 Το SuPFuNIS ε Αντιδιατολή µε άλλα Νευρο-Ααφή Μοντέλα Η ανάπτυξη των νευρωνικών δικτύων έχει µια κοινή υνιτώα που προέρχεται από την επιθυµία: να ενωµατωθεί η προκύπτουα γνώη από τα δεδοµένα την αρχιτεκτονική του δικτύου ώτε να επιτυγχάνεται ταχύτερη εκπαίδευη να χεδιαθεί ένας κατάλληλος µηχανιµός που να υνθέτει και να υωρεύει τα αποτελέµατα, αλλά ταυτόχρονα να µπορεί να χειρίζεται αριθµητικά και γλωικά δεδοµένα ώτε να προκύπτουν έξοδοι ή να απορρέουν υµπεράµατα να ενωµατωθεί ένας µηχανιµός που θα ρυθµίζει βέλτιτα τους κανόνες βάει της εκπαίδευης από αριθµητικά δεδοµένα 71

72 να αποπαθεί και να εξηγηθεί η προκύπτουα γνώη µε τη µορφή µιας βάης γνώης Ας εξηγήουµε περαιτέρω όµως τα παραπάνω: Ενωµάτωη της γνώης που προκύπτει από τα δεδοµένα Τα περιότερα υβριδικά µοντέλα ενωµατώνουν τη γνώη που προκύπτει είτε από δεδοµένα είτε από την εµπειρία µε τη µορφή ααφών κανόνων της µορφής ΕΑΝ-ΤΟΤΕ, οι οποίοι τελικά απεικονίζονται τη δοµή ενός νευρωνικού δικτύου. Αυτή η διαδικαία πραγµατοποιείται υχνά υποθέτοντας ότι τόο τα µέλη της υπόθεης όο και τα µέλη του υµπεράµατος των κανόνων της µορφής ΕΑΝ-ΤΟΤΕ (anteedent and onsequent labels of standard fuzzy if then rules) παρουιάζονται ως υναπτικά βάρη το δίκτυο. Όπως προκύπτει από το [2], τα δίκτυα που τηρίζονται τη γνώη απαιτούν χετικά µικρότερο µέγεθος υνόλου εκπαίδευης για καλύτερη γενίκευη. Όταν τέτοιου είδους γνώη παράγεται από αριθµητικά δεδοµένα, µια λύη είναι να χρηιµοποιηθεί είτε οµαδοποίηη (lustering) είτε διαµεριµός ώτε να προκύψουν οι κανόνες. Χρηιµοποιώντας οµαδοποίηη, τα κέντρα των ααφών κανόνων αρχικοποιούνται ως διανύµατα κατηγοριών (luster vetors), που προκύπτουν από το ύνολο των δεδοµένων ειόδου. Συνεπώς, ένας αλγόριθµος µάθηης ρυθµίζει λεπτοµερειακά αυτούς τους κανόνες βαιζόµενος το διαθέιµο ύνολο εκπαίδευης που αναφέρεται το πρόβληµα. Τεχνικές διαµέριης διαιρούν περιοδικά το ύνολο των δεδοµένων ειόδου - εξόδου ε µικρότερες περιοχές, βαιζόµενες κάθε φορά ε µια εκτίµηη του τοπικού µέου τετραγωνικού φάλµατος. Κάθε διαµέριη οδηγεί ε ένα κανόνα της µορφής ΕΑΝ-ΤΟΤΕ. Σε κάθε µία από αυτές τις τεχνικές, η επιλογή των αριθµών των κανόνων για να επιλυθεί το πρόβληµα είναι περιότερο ή λιγότερο βαιµένη την ευριτική προέγγιη. Σύνθεη και υώρευη αποτελεµάτων Το θέµα της ύνθεης των δεδοµένων ειόδου µε την ενωµατωµένη βάη κανόνων, εξαρτάται από το αν τα δεδοµένα ειόδου είναι αριθµητικά ή γλωικά. Με αριθµητικές ειόδους, η υνηθιµένη περίπτωη είναι η χρηιµοποίηη των τιµών που υπολογίζονται από τις υναρτήεις υµµετοχής των ααφών υνόλων που απεικονίζουν τα βάρη του δικτύου. Για να γίνει χειριµός των ααφών δεδοµένων ειόδου, το δοθέν υπερύνολο αναφοράς κβαντικοποιείται ε προκαθοριµένα ααφή ύνολα, οπότε µια ααφής είοδος είναι πλέον ένα από αυτά τα προκαθοριµένα ααφή ύνολα. Μάθηη Το ζήτηµα αυτό αντιµετωπίζεται χρηιµοποιώντας επιβλεπόµενη µάθηη µε την µέθοδο κλίης (ή παραλλαγές αυτής) ή µη επιβλεπόµενη µάθηη ή ενιχυτική µάθηη ή ευριτικές µεθόδους ή γενετικούς αλγόριθµούς. Ερµηνεία κανόνων Το τελευταίο ζήτηµα της απόπαης και ερµηνείας των ενηµερωµένων ααφών κανόνων επιτυγχάνεται αναθέτοντας ε κάθε ααφές βάρος µια γλωική τιµή, που επιλέγεται τη βάη ύγκριης µε µια υλλογή καθοριµένων ααφών υνόλων ύµφωνα µε κριτήρια οµοιότητας. Το νευρο-ααφές ύτηµα που υλοποιείται επιδιώκει να καλύψει ποικίλες απαιτήεις τους εξής τοµείς: 72

73 Κεφάλαιο 4 1. να αναπτύξει ένα µηχανιµό που θα µπορεί να χειριτεί αριθµητικές και γλωικές ειόδους 2. να δώει βαρύτητα τον περιοριµό του αριθµού των παραµέτρων που χρηιµοποιεί το µοντέλο για να λύει ένα υγκεκριµένο πρόβληµα 3. να υπάρχει η δυνατότητα για ενδεχόµενη ενωµάτωη της γνώης, που προκύπτει τόο από τα δεδοµένα όο και από την εµπειρία, την δηµιουργία ενός αρχικού υνόλου κανόνων της µορφής ΕΑΝ-ΤΟΤΕ 4. να γίνει προπάθεια το ύτηµα να µαθαίνει από την προκύπτουα γνώη ώτε να ενηµερώνει το ύνολο των κανόνων 5. να επιχειρηθεί η ερµηνεία ενός εκπαιδευµένου νευρο-ααφούς υτήµατος Το νευρο-ααφές ύτηµα που προκύπτει, δηλαδή το SuPFuNIS, προπαθεί να αντεπεξέλθει ε αυτούς τους τοµείς. Το SuPFuNIS χρηιµοποιεί αρχιτεκτονική ενός κανονικού νευρο-ααφούς δικτύου που ενωµατώνει ααφείς κανόνες της µορφής ΕΑΝ-ΤΟΤΕ ως κρυµµένο τρώµα κόµβων. Η ενωµάτωη γίνεται αντιτοιχίζοντας τα µέλη της υπόθεης των κανόνων (rule anteedents), µε υνδέεις από το τρώµα ειόδου το κρυµµένο τρώµα, και τα µέλη του υµπεράµατος των κανόνων (rule onsequents), µε υνδέεις από το κρυµµένο τρώµα το τρώµα εξόδου. Γνώη τη µορφή των κανόνων ΕΑΝ-ΤΟΤΕ που προκύπτει από οµαδοποιήεις αριθµητικών δεδοµένων χρηιµοποιείται για να αρχικοποιήει τους ενωµατωµένους κανόνες του δικτύου. Ωτόο το SuPFuNIS διαφέρει από τα άλλα νευρο-ααφή δίκτυα ε διάφορα ηµεία: 1. Χρηιµοποιεί ένα ααφοποιητή ειόδου που ενηµερώνεται και είναι υπεύθυνος για την ααφοποίηη των αριθµητικών δεδοµένων. Με άλλα λόγια, αριθµητικά δεδοµένα ααφοποιούνται χρηιµοποιώντας διαπορές Gauss ανάλογα µε τα χαρακτηριτικά του προβλήµατος. 2. Όλες οι πληροφορίες που διαδίδονται από το τρώµα ειόδου είναι ααφείς. Έτι το µοντέλο χρηιµοποιεί ένα µηχανιµό ύνθεης που τηρίζεται τη ύγκριη του µέτρου αµοιβαιότητας ααφών υνόλων για να καθορίει την ενεργοποίηη που διαδίδεται ε ένα κόµβο κανόνα κατά µήκος µιας ααφούς ύνδεης. 3. Το µοντέλο υωρεύει τις ενεργοποιήεις ενός κόµβου χρηιµοποιώντας το ααφές εωτερικό γινόµενο: ένα γινόµενο αµοιβαίων υπουνόλων. Αυτό είναι διαφορετικό από την πολύ υνηθιµένη προέγγιη που χρηιµοποιεί τον τελετή min (ελαχίτου) των ααφών υνόλων για να βρεθεί η υνολική ενεργοποίηη. 4. Οι έξοδοι δηµιουργούνται χρηιµοποιώντας ποοτική απο-ααφοποίηη (volume defuzzifiation) η οποία αποτελεί παραλλαγή της υνηθιµένης τροποποιηµένης µεθόδου κέντρου βάρους. Όπως θα δειχθεί παρακάτω είναι ο υνδυαµός αυτών των τοιχείων που προδίνουν το µοντέλο υψηλές επιδόεις και αυξηµένη οικονοµία τον αριθµό των χρηιµοποιούµενων παραµέτρων. Προηγούµενες παραλλαγές του µοντέλου µε εφαρµογές τα προβλήµατα προέγγιης υναρτήεων, εξαγωγής υµπεραµάτων και ταξινόµηης έχουν παρουιατεί τα [3], [4] και [5]. Στο [3] ένας υνδυαµός από ταθµιµένες τιµές υπουνόλων και ένας τροποποιηµένος τελετής ελαχίτου χρηιµοποιείται. Το µοντέλο υιοθετεί µια τριγωνική προέγγιη αντί για Γκαουιανές υναρτήεις υµµετοχής τους υπολογιµούς µεταξύ των ααφών υνόλων. Απευθυνόταν ε εφαρµογές προέγγιης υναρτήεων και εξαγωγής υµπεραµάτων. Στο [4], το οποίο επεκτείνει το [3] αυξάνοντας τον αριθµό των ελεύθερων παραµέτρων, 73

74 παρουιάζεται µια απλή ευριτική µέθοδος για να υπολογιτεί ο αριθµός των κανόνων χρηιµοποιώντας οµαδοποίηη. Ένας υνδυαµός του βαθµού οµοιότητας και του τελετή γινοµένου µε έναν ααφοποιητή µη-εκπαιδευόµενο παρουιάτηκε το [5]. Το δίκτυο το [5] χρηιµοποιεί Gauss ααφή βάρη και προορίζεται για λύη προβληµάτων ταξινόµηης. 4.3 Αρχιτεκτονική και Λειτουργικές Λεπτοµέρειες Το µοντέλο SuPFuNIS ενωµατώνει απευθείας ααφείς κανόνες της µορφής ΕΑΝ x 1 είναι ΧΑΜΗΛΟ και x 2 είναι ΥΨΗΛΟ ΤΟΤΕ y είναι ΜΕΣΑΙΟ όπου ΧΑΜΗΛΟ, ΥΨΗΛΟ, ΜΕΣΑΙΟ είναι καθοριµένα ααφή ύνολα, αντίτοιχα προς τα υπερύνολα αναφοράς τόο των ειόδων όο και των εξόδων. Οι κόµβοι ειόδου αντιπροωπεύουν µεταβλητές ή χαρακτηριτικά του πεδίου οριµού ενώ οι κόµβοι εξόδου αντιπροωπεύουν µεταβλητές ή κατηγορίες του πεδίου τιµών. Κάθε κρυµµένος κόµβος αναπαριτά ένα κανόνα και υνδέεις κόµβων ειόδων µε κρυµµένους κόµβους αντιτοιχούν τα µέλη της υπόθεης ενός ααφούς κανόνα. Κάθε ύνδεη από κρυµµένο κόµβο προς κόµβο εξόδου αναπαριτά το µέλος του υµπεράµατος ενός ααφούς κανόνα. Ααφή ύνολα αντίτοιχα προς τις γλωικές τιµές των ααφών κανόνων της µορφής ΕΑΝ-ΤΟΤΕ (όπως ΧΑΜΗΛΟ,ΥΨΗΛΟ ή ΜΕΣΑΙΟ) προδιορίζονται από τα υπερύνολα αναφοράς των ειόδων και των εξόδων και απεικονίζονται από Gauss υναρτήεις υµµετοχής (µε παραµέτρους το κέντρο και την διαπορά). Τα προυναπτικά ααφή βάρη (anteedent weights) w ij από τον κόµβο ειόδου i τον κόµβο κανόνα j µοντελοποιούνται από το κέντρο w ij και τη διαπορά w ij ενός ααφούς Gauss υνόλου και δηλώνονται ως w ij =(w ij,w ij ). Με παρόµοιο τρόπο, τα µεταυναπτικά ααφή βάρη (onsequent weights) από τον κόµβο κανόνα j τον κόµβο εξόδου k δηλώνονται ως v jk =(v jk,v jk ). Η γνώη που προκύπτει από τα δεδοµένα την µορφή των ααφών κανόνων ΕΑΝ-ΤΟΤΕ µετατρέπεται ε αρχιτεκτονική δικτύου όπως φαίνεται το χήµα που ακολουθεί. Σχήµα Αρχιτεκτονική του SuPFuNIS µοντέλου 74

75 Κεφάλαιο 4 Το SuPFuNIS µπορεί ταυτόχρονα να δεχθεί αριθµητικές όο και γλωικές ειόδους. Οι αριθµητικές είοδοι ααφοποιούνται ώτε οι είοδοι το δίκτυο να είναι υνολικά ααφείς. Στην περίπτωη που τα προυναπτικά βάρη είναι επίης ααφή, απαιτείται η υιοθέτηη µιας µεθόδου για την µετάδοη ενός ααφούς ήµατος διαµέου ενός ααφούς βάρους. Στα υµβατικά νευρωνικά δίκτυα οι αριθµητικές είοδοι "µεταχηµατίζονται" (saled by) από τα βάρη και οι "µεταχηµατιµένες" (saled) τιµές υνθέτονται ως ενεργοποίηη των κόµβων, χρηιµοποιώντας απλή άθροιη. Στο µοντέλο SuPFuNIS η µετάδοη του ήµατος διαµέου των ααφών βαρών πραγµατοποιείται υπολογίζοντας το µέτρο οµοιότητας. Αναλυτικά: 1. Μετάδοη ήµατος από τους κόµβους ειόδου Εφόον το διάνυµα των χαρακτηριτικών ειόδου X=x 1,,x n µπορεί να αποτελείται είτε από αριθµητικά είτε από γλωικά δεδοµένα, υπάρχουν δύο είδη κόµβων το τρώµα ειόδου. Οι γλωικοί κόµβοι δέχονται γλωικά δεδοµένα που αναπαριτούνται από ένα ααφές ύνολο µε υνάρτηη υµµετοχής την Γκαουιανή, η οποία εξαρτάται από το κέντρο x i και τη διαπορά x i. Αυτές οι γλωικές είοδοι µπορούν να επιλεγούν από προκαθοριµένα ααφή ύνολα όπως φαίνεται το Σχήµα (α), όπου τρία ααφή Gauss ύνολα έχουν οριτεί το υπερύνολο αναφοράς [-1,1]. Σχήµα (α) Παράδειγµα προκαθοριµένου ααφούς υνόλου για ααφείς ειόδους (β) Παράδειγµα ααφοποίηης αριθµητικών ειόδων από ένα µεταβαλλόµενο ααφές ύνολο Έτι λοιπόν µια γλωική είοδος x i µπορεί να αναπαραταθεί µε το ζεύγος x i =(x i,x i ). Αυτό είναι επίης και το ήµα S(x i ) = x i που µεταδίδεται από τον γλωικό κόµβο. Οι αριθµητικοί κόµβοι είναι εκπαιδευόµενοι ααφοποιητές υγκεκριµένοι για κάθε χαρακτηριτικό. έχονται αριθµητικά δεδοµένα και τα ααφοποιούν χρηιµοποιώντας ααφή ύνολα Gauss. Οι αριθµητικές είοδοι ααφοποιούνται εάν αντιµετωπιτούν ως το κέντρο x i µιας υνάρτηης υµµετοχής Gauss µε ρυθµιζόµενη διαπορά x i. Όπως φαίνεται το χήµα (β) όπου µια αριθµητική τιµή ενός χαρακτηριτικού ίη µε 0.25 έχει ααφοποιηθεί ε υνάρτηη υµµετοχής Gauss µε κέντρο 0.25 και διαπορά 0.5. Το χήµα της υνάρτηης υµµετοχής έχει επιλεχθεί ώτε να ταιριάζει το χήµα των Gauss ααφών βαρών που αντιτοιχούν τους υπολογιµούς που θα παρουιατούν το επόµενο µέρος. Γι αυτό το ήµα που µεταδίδεται από ένα αριθµητικό κόµβο του τρώµατος ειόδου µπορεί να αναπαραταθεί και από το ζεύγος S(x i ) = x i =(x i,x i ). Αυτά τα διανύµατα από 75

76 αριθµητικά ή γλωικά δεδοµένα µεταδίδονται τους κόµβους του κρυµµένου τρώµατος διαµέου των ααφών βαρών w ij =(w ij,w ij ), δηλαδή διαµέου των προυναπτικών βαρών. 2. Μέτρο οµοιότητας Από τη τιγµή που το ήµα και τα βάρη είναι ααφή ύνολα, τα οποία αναπαρίτανται από υναρτήεις υµµετοχής Gauss, χρειάζεται να βρεθεί η καθαρή τιµή του ήµατος που µεταδόθηκε. Αυτή µπορεί να είναι ο βαθµός επικάλυψης µεταξύ των δύο ααφών υνόλων. Αυτός µπορεί να υπολογιτεί από το µέτρο οµοιότητας που παρουιάζεται τη υνέχεια. Θεωρούµε δύο ααφή ύνολα Α και Β που περιγράφονται από υναρτήεις υµµετοχής Gauss µε κέντρα 1, 2 και διαπορές 1, 2 αντίτοιχα. (4.3.1) Το µέτρο C(A) ενός ααφούς υνόλου Α ορίζεται ως: (4.3.2) Οπότε το µέτρο οµοιότητας ε(α,β) µετρά το βαθµό τον οποίο το ααφές ύνολο Α ιούται µε το ααφές ύνολο Β: και µπορεί να διατυπωθεί [ 2.1.6] ως: (4.3.3) Το µέτρο οµοιότητας παίρνει τιµές το διάτηµα [0,1] και εξαρτάται από τις χετικές τιµές των κέντρων και των διαπορών των ααφών υνόλων Α και Β. Τέερις διαφορετικές περιπτώεις επικάλυψης µπορούν να υµβούν: Περίπτωη 1: 1 = 2, µε τα 1, 2 να έχουν οποιοδήποτε τιµές Περίπτωη 2: 1 2, 1 = 2 Περίπτωη 3: 1 2, 1 > 2 Περίπτωη 4: 1 2, 1 < 2 Αυτές οι τέερις περιπτώεις εξαρτώνται από τις χετικές τιµές των 1, 2, 1 και 2 όπως φαίνεται το χήµα

77 Κεφάλαιο 4 Σχήµα (α) 1 = 2, 1 > 2 (b) 1 = 2, 1 = 2 () 1 > 2, 1 = 2 (d) 1 < 2, 1= 2 (e) 1 > 2, 1 > 2 (f) 1 < 2, 1> 2, (g) 1 > 2, 1 < 2 (h) 1 < 2,1<2 Παρατηρούµε ότι την Περίπτωη 1 τα δύο ααφή ύνολα δεν τέµνονται, είτε επειδή το ένα ύνολο ανήκει τελείως το άλλο είτε επειδή και τα δύο είναι ία. Στην Περίπτωη 2 υπάρχει ακριβώς ένα ηµείο τοµής, ενώ τις Περιπτώεις 3 και 4 υπάρχουν ακριβώς δύο ηµεία τοµής. Για να υπολογιτεί το ηµείο τοµής, θέτουµε α(x)=b(x) έτι προκύπτουν τα ηµεία h 1, h 2 : 77

78 (4.3.4) Για την αποτίµηη του ε(α,β) αρκεί να υπολογιθούν οι τιµές του C(A B) ύµφωνα µε τη χέη (4.3.3). Όπως θα δειχθεί παρακάτω το µέτρο ενός ααφούς υνόλου µπορεί να εκφρατεί ε όρους της γνωτής υνάρτηης φάλµατος: (4.3.5) η οποία έχει οριακές τιµές erf(- )=-1/2, erf( )=1/2 και erf(0)=0. 3. Μετάδοη ήµατος βαιµένη το µέτρο οµοιότητας Όπως φαίνεται παρατατικά το χήµα, το SuPFuNIS µεταδίδει ένα ααφές ήµα από ένα κόµβο ειόδου διαµέου ενός ααφούς βάρους που αντιπροωπεύει µια προυναπτική ύνδεη. Σχήµα Μετάδοη ααφούς ήµατος Το µεταδιδόµενο ήµα ποοτικοποιείται κατά ε ij, τιµή που δηλώνει το µέτρο οµοιότητας ανάµεα το ααφές ήµα S(x i ) και το ααφές βάρος (w ij,w ij ). Το ε ij υπολογίζεται από τον τύπο (4.3.3). Συµβολικά, για ένα ήµα s i = S(x i ) = (x i, x i ), το οποίο έχει δηµιουργηθεί από ένα αριθµητικό ή γλωικό κόµβο ειόδου, και για ένα ααφές βάρος w ij =(w ij,w ij ) το µέτρο οµοιότητας ορίζεται ως: (4.3.6) Η ακριβής έκφραη του C(s i w ij ) δίδεται ε κάθε µία από τις παρακάτω τέερις περιπτώεις: 78

79 Κεφάλαιο 4 Περίπτωη 1: x i = w ij : Εάν x i < w ij το ααφές ύνολο ήµατος s i καλύπτεται πλήρως από το ααφές βάρος w ij όπως φαίνεται και το χήµα (4.3.3(a)) και το µέτρο C(s i w ij ) = C(s i ): (4.3.7) Παρόµοια C(s i w ij ) = C(w ij ) εάν x i > w ij και C(s i w ij )= w π. Εάν x i = w ij τα δύο ύνολα είναι ία όπως φαίνεται και το χήµα 4.3.3(b). Συνοψίζοντας: ij (4.3.8) Περίπτωη 2: x i w ij, x i = w ij.στην περίπτωη αυτή υπάρχει ακριβώς ένα ηµείο τοµής h 1 όπως φαίνεται τα χήµατα (4.3.3()) και (4.3.3(d)). Θεωρώντας x i < w ij (4.3.3()) το µέτρο C(s i w ij ) υπολογίζεται: Θεωρώντας x i > w ij (4.3.3(d)) η έκφραη για το µέτρο C(s i w ij ): (4.3.9) (4.3.10) 79

80 Περίπτωη 3: x i w ij, x i < w ij. Στην περίπτωη αυτή υπάρχουν ακριβώς δύο ηµεία τοµής h 1 και h 2 τα οποία υπολογίζονται µε τη βοήθεια των τύπων (4.3.4) όπως φαίνεται τα χήµατα (4.3.3(e)) και (4.3.3(f)). Υποθέτοντας x i > w ij, πράγµα που ηµαίνει ότι h 1 < h 2 (4.3.3(e)) η έκφραη για το µέτρο C(s i w ij ) γίνεται: (4.3.11) Εάν x i < w ij, (4.3.3(f)) η έκφραη για το µέτρο C(s i w ij ) είναι ίδια µε την (4.3.11). Αρκεί βέβαια να ιχύει ότι h 1 < h 2 ε αντίθετη περίπτωη οι τιµές των h 1, h 2 πρέπει να εναλλαχθούν. Περίπτωη 4: x i w ij, x i > w ij. Στην περίπτωη αυτή (παρόµοια µε την προηγούµενη) υπάρχουν ακριβώς δύο ηµεία τοµής h 1 και h 2 τα οποία υπολογίζονται µε τη βοήθεια των τύπων (4.3.4) όπως φαίνεται τα χήµατα (4.3.3(g)) και (4.3.3(h)). Υποθέτοντας x i < w ij, πράγµα που ηµαίνει ότι h 1 < h 2 (4.3.3(g)) η έκφραη για το µέτρο C(s i w ij ): (4.3.12) 80

81 Κεφάλαιο 4 Εάν x i > w ij, (4.3.3(h)) η έκφραη για το µέτρο C(s i w ij ) είναι ίδια µε την (4.3.12). Αρκεί βέβαια να ιχύει ότι h 1 < h 2 ε αντίθετη περίπτωη οι τιµές των h 1, h 2 πρέπει να εναλλαχθούν. Οι αντίτοιχες εκφράεις για το ε ij (s i,w ij ) προκύπτουν αν αντικαταταθεί το C(s i w ij ) από τους τύπους (4.3.8) έως (4.3.12) τη χέη (4.3.6) 4. Συώρευη των ενεργοποιήεων τους κόµβους των κανόνων µε τη χρήη του ααφούς εωτερικού γινοµένου Μετρώντας όλες τις τιµές των µέτρων οµοιότητας Ε j = ε 1j,, ε nj για ένα κόµβο κανόνα j, την ουία αποτιµούµε την υµβατότητα ανάµεα το γλωικό διάνυµα ήµατος S=s 1,,s n (που µεταδίδεται από το τρώµα ειόδου) και το διάνυµα των ααφών βαρών W j =w 1j,,w nj που καταλήγει τον κόµβο κανόνα j. Κάθε κόµβος κανόνα προβλέπεται να υωρεύει αυτό το διάνυµα µε τέτοιο τρόπο ώτε η ενεργοποίηη που προκύπτει να αντανακλά αυτή τη υµβατότητα. Με άλλα λόγια, η έκταη της πυροδότηης του κανόνα, όπως αυτή παρουιάζεται µέα από την ενεργοποίηη του κόµβου κανόνα, µετρά την έκταη µε την οποία η χετική γλωική είοδος S αντιτοιχεί το προυναπτικό βάρος του προκειµένου κανόνα. Αντικαθιτούµε τον καθιερωµένο τελετή ελαχίτου (min) που χρηιµοποιείται υχνά τα ααφή υτήµατα µε τον τελετή γινοµένου για να υωρευτούν (αθροιτούν) οι ενεργοποιήεις ε ένα κόµβο κανόνα. Η ενεργοποίηη z j ενός κόµβου κανόνα j είναι ένα γινόµενο που βαίζεται το µέτρο οµοιότητας, το οποίο επειδή είναι διαφορίιµο επιτρέπει το µοντέλο να χρηιµοποιεί µάθηη µε την µέθοδο κλίης. Εν υντοµία, η ενεργοποίηη του z j του κόµβου κανόνα j είναι το γινόµενο όλων των µέτρων οµοιότητας, το ααφές εωτερικό γινόµενο: (4.3.13) Σηµειώνουµε ότι το εωτερικό γινόµενο τον τύπο (4.3.13) (οπότε και η υνάρτηη ενεργοποίηης κόµβου κανόνα) παρουιάζει τις εξής ιδιότητες: βρίκεται ανάµεα το 0 και το 1 είναι γνηίως αύξουα υνεχής είναι µη-µοναδιαία Η χρήη ενός τέτοιου ααφούς εωτερικού γινοµένου προδίδει βελτιωµένα χαρακτηριτικά το SuPFuNIS. Η υµπεριφορά του τελετή γινοµένου έχει αναλυθεί διεξοδικά το [5], από όπου προκύπτει ότι ο τελετής γινοµένου δεν παραβλέπει πληροφορίες χετικά µε την διάταη της ειόδου, όπως ο τελετής ελαχίτου. Παρέχει µια καλύτερη εκτίµηη της υνεκτικής ιχύς (joint strength) των διαφόρων ειόδων. Επίης ε ένα µεγάλο εύρος διαπορών, ο τελετής γινοµένου είναι ικανός να διακρίνει ξεκάθαρα ανάµεα ε ειόδους που είναι παρόµοιες το διάνυµα βαρών και ε ειόδους που διαφέρουν από το διάνυµα βαρών. Με άλλα λόγια, ο τελετής γινοµένου είναι ικανός για καλύτερη διάκριη από ότι ο τελετής ελαχίτου. Εποµένων είναι λογικό να θεωρείται ως ηµαντικός υνειφέρων παράγοντας την υψηλή επίδοη και εξοικονόµηη πόρων του δικτύου SuPFuNIS. H υνάρτηη ήµατος για ένα κόµβο κανόνα είναι γραµµική: 81

82 S(z j )= z j (4.3.14) Αριθµητικές τιµές ενεργοποίηης µεταδίδονται αµετάβλητες τις µεταυναπτικές υνδέεις. 5. Υπολογιµός του ήµατος τρώµατος εξόδου Το ήµα κάθε κόµβου εξόδου καθορίζεται χρηιµοποιώντας την χωρική έκφραη της τροποποιηµένης µεθόδου απο-ααφοποίηης κέντρου βάρους. Ο όρος χωρική χρηιµοποιείται ώτε να υµπεριληφθούν πολυδιάτατες υναρτήεις. Για διδιάτατες υναρτήεις, ο χώρος µειώνεται ε περιοχή. Εάν η ενεργοποίηη του κόµβου εξόδου είναι y k και τα V jk δηλώνουν µεταυναπτικά ύνολα χώρων ενώ τα ξ jk είναι οι παράµετροι που κανονικοποιούν τα z j, τότε η γενική έκφραη απο-ααφοποίηης είναι: (4.3.15) όπου q είναι ο αριθµός των κανόνων κόµβων. Ο χώρος V jk την υγκεκριµένη περίπτωη είναι απλά η περιοχή των µεταυναπτικών βαρών που αναπαρίτανται από ααφή ύνολα Gauss. Έτι ιχύει η ιότητα V jk = π. Εάν τα βάρη ξ jk θεωρηθούν µοναδιαία τότε: υ jk (4.3.16) Το ήµα του κόµβου εξόδου k είναι S(y k )=y k. Με τις αντικατατάεις β jk =z j υ q jk και β= j = β 1 jk µπορεί να απλοποιηθεί ε: (4.3.17) όπου οι υντελετές β' jk = β jk / b είναι κανονικοποιηµένοι µε άθροιµα την µονάδα. Ο απο-ααφοποιητής (4.3.16) υνεπώς ουιατικά υπολογίζει το κυρτό άθροιµα του υνόλου των µεταυναπτικών κέντρων. 4.4 Επιβλεπόµενη Mάθηη Το δίκτυο SuPFuNIS εκπαιδεύεται βάει επιβλεπόµενης µάθηης. Το γεγονός αυτό µεταξύ άλλων εµπλέκει επαναλαµβανόµενη παρουίαη ενός υνόλου από χαρακτηριτικά ειόδου που έχουν επιλεγεί από το ύνολο εκπαίδευης. Η έξοδος 82

83 Κεφάλαιο 4 του δικτύου υγκρίνεται µε την επιθυµητή τιµή για να προκύψει το φάλµα, τα δε βάρη του νευρωνικού δικτύου αλλάζουν βάει των αντίτοιχων κριτηρίων ελαχιτοποίηης φάλµατος. Εφόον το νευρωνικό δίκτυο εκπαιδευτεί την επιθυµητή τιµή φάλµατος, δοκιµάζεται εφαρµόζοντας ένα νέο ύνολο από χαρακτηριτικά ειόδου που έχουν επιλεγεί από το ύνολο ελέγχου. 1. Επαναληπτική ανανέωη των βαρών Η µάθηη το SuPFuNIS επιτυγχάνεται χρηιµοποιώντας την µέθοδο κλίης (gradient desent method). Το κριτήριο τετραγωνικού φάλµατος χρηιµοποιείται αν παράµετρος µέτρηης της επίδοης εκπαίδευης. Το τετραγωνικό φάλµα e(t) την επανάληψη t υπολογίζεται µε υγκεκριµένο τρόπο. (4.4.1) όπου d k (t) είναι η επιθυµητή τιµή για τον κόµβο εξόδου k και το φάλµα αθροίζεται για όλες τις p εξόδους που αφορούν ένα υγκεκριµένο χαρακτηριτικό X(t). Για ταξινόµηη 1-από-Κ, οι επιθυµητές έξοδοι θα είναι µηδέν ή ένα. Τόο τα κέντρα w ij, υ jk όο και οι διαπορές w ij, υ jk των προυναπτικών και µεταυναπτικών υνδέεων και οι διαπορές των κόµβων ειόδου x i µεταβάλλονται τη βάη των παρακάτω τύπων: όπου η είναι ο ρυθµός µάθηης και α είναι ο όρος ορµής επιπλέον: (4.4.2) (4.4.3) 2. Υπολογιµός των µερικών παραγώγων Οι εκφράεις των µερικών παραγώγων που απαιτούνται ε αυτές τις ενηµερώεις υπολογίζονται µε τον τρόπο που παρουιάζεται την υνέχεια. Για την παράγωγο του φάλµατος ως προς τα µεταυναπτικά κέντρα: 83

84 (4.4.4) και η µερική παράγωγος του φάλµατος ως προς τις µεταυναπτικές διαπορές: (4.4.5) Οι παράγωγοι του φάλµατος ως προς τα προυναπτικά κέντρα και τις προυναπτικές διαπορές εµπεριέχουν µερικές παραγώγους υπουνόλων µε ειρές και είναι πιο περίπλοκες να υπολογιτούν. Ειδικά, οι ειρές των µερικών παραγώγων φάλµατος ως προς τα προυναπτικά κέντρα και τις προυναπτικές διαπορές είναι: και: (4.4.6) (4.4.7) ακόµη η ειρά της παραγώγου του φάλµατος ως προς τις διαπορές των χαρακτηριτικών ειόδου προκύπτει να είναι: (4.4.8) 84

85 Κεφάλαιο 4 όπου: (4.4.9) και (4.4.10) Οι εκφράεις των µερικών παραγώγων των µέτρων οµοιοτήτων των προυναπτικών υνδέεων ε ij / w ij, ε ij / w ij και ε ij / x i προκύπτουν παραγωγίζοντας την (4.3.6) ως προς w ij, w ij και x i οπότε προκύπτει: (4.4.11) Στις προηγούµενες χέεις οι µερικές παράγωγοι: C(s i w ij )/ w ij, C(s i w ij )/ w ij και C(s i w ij )/ x i εξαρτώνται από τη φύη της επικάλυψης του ααφούς υνόλου του χαρακτηριτικού ειόδου µε το ααφές ύνολο του βάρους, δηλαδή από τις τιµές των w ij, x i,w ij και x i. Έτι προκύπτουν χέεις υγκεκριµένες για κάθε περίπτωη: Περίπτωη 1: x i = w ij : Όπως είναι φανερό από την (4.3.8) το C(s i w ij ) δεν εξαρτάται από το w ij : (4.4.12) 85

86 Παραγωγίζοντας ως προς w ij : και ως προς x i : (4.4.13) (4.4.14) Περίπτωη 2: x i w ij, w ij = x i : Εάν x i < w ij, οι C(s i w ij )/ w ij, C(s i w ij )/ w ij και C(s i w ij )/ x i προκύπτουν παραγωγίζοντας την (4.3.9) και προκύπτει: (4.4.15) (4.4.16) (4.4.17) 86

87 Κεφάλαιο 4 Εάν x i > w ij, οι C(s i w ij )/ w ij, C(s i w ij )/ w ij και C(s i w ij )/ x i προκύπτουν παραγωγίζοντας την (4.3.10) έτι προκύπτει: (4.4.18) (4.4.19) (4.4.20) Περίπτωη 3: x i w ij, w ij > x i : Εάν x i > w ij, οι C(s i w ij )/ w ij, C(s i w ij )/ w ij και C(s i w ij )/ x i προκύπτουν παραγωγίζοντας την (4.3.11) και προκύπτουν: (4.4.21) 87

88 (4.4.22) Οµοίως αν x i < w ij : (4.4.23) (4.4.24) Παρατηρούµε ότι είτε x i > w ij είτε x i < w ij οι παρατάεις του C(s i w ij ) / w ij που προκύπτουν είναι ίδιες, εφόον βέβαια ιχύει h 1 < h 2. Παρόµοιες 88

89 Κεφάλαιο 4 παρατηρήεις προκύπτουν για τις παρατάεις των C(s i w ij )/ w ij C(s i w ij )/ x i. και Περίπτωη 4: x i w ij, w ij < x i : Εάν x i < w ij, οι C(s i w ij )/ w ij, C(s i w ij )/ w ij και C(s i w ij )/ x i προκύπτουν παραγωγίζοντας την (4.3.12) έτι προκύπτουν: (4.4.25) (4.4.26) (4.4.27) Εάν x i > w ij και εφόον h 1 < h 2, οι παρατάεις των C(s i w ij )/ w ij, C(s i w ij )/ w ij και C(s i w ij )/ x i είναι ίδιες µε τις (4.4.25)-(4.4.27) αντίτοιχα. 89

90 4.5 Εξάγοντας Κανόνες από ένα Εκπαιδευµένο ίκτυο Σε αυτό το κεφάλαιο, ετιάζουµε την ευκολία µε την οποία ερµηνεύεται η γνώη που βρίκεται ενωµατωµένη ε ένα ύτηµα SuPFuNIS. Για να ερµηνεύουµε το ύνολο των κανόνων, θεωρούµε ααφείς διαµερίεις (fuzzy interpretation sets) τέτοιες που να παρέχουν αναλυτικές γλωικές αναπαρατάεις των διατηµάτων που αντιτοιχούν τα υπερύνολα αναφοράς. Για παράδειγµα, τιµές µιας γλωικής µεταβλητής µπορούν να αναπαραταθούν ως υµµετρικές υναρτήεις υµµετοχής Gauss µε όµοιες διαπορές και ιαπέχοντα κέντρα. Υπόδειγµα ααφών διαµερίεων µε τρεις και πέντε γλωικές τιµές (κλάεις), το ίδιο υπερύνολο αναφοράς, παρουιάζονται το παρακάτω χήµα. Σχήµα Ααφείς διαµερίεις υνόλων (fuzzy interpretation sets) VS VERY SMALL (ΠΟΛΥ ΜΙΚΡΟ) S SMALL (ΜΙΚΡΟ) Μ MEDIUM (ΜΕΣΑΙΟ) L LARGE (ΜΕΓΑΛΟ) VL VERY LARGE (ΠΟΛΥ ΜΕΓΑΛΟ) Για να διατυπωθεί ένας εκπαιδευµένος κανόνας µε γλωικές τιµές ύµφωνα µε µια επιλεγµένη ααφή διαµέριη, µετράται η ααφής τοµή ανάµεα: ε κάθε προυναπτικό µέρος ενός κανόνα και ε κάθε ααφές ύνολο της ααφούς διαµέριης και ανάµεα ε κάθε µεταυναπτικό µέρος ενός κανόνα και ε κάθε ααφές ύνολο της ααφούς διαµέριης. Στην υνέχεια το προυναπτικό ή µεταυναπτικό µέρος ενός κανόνα υχετίζεται µε την ααφή διαµέριη την οποία παρουιάζεται η µέγιτη τιµή ααφούς τοµής. Τελικά το προκύπτον ύνολο ενωµατωµένων κανόνων µπορεί να αναπαραταθεί ε ένα πίνακα όπου θα έχει ως τήλες τις ειόδους και τις εξόδους (κάθε ααφούς κανόνα) και ως γραµµές τους ίδιους τους κανόνες. Σε αυτόν τον πίνακα µπορεί να παρατηρηθούν οµοιότητες ανάµεα ε διάφορους κανόνες, πράγµα που ηµαίνει ότι το ύτηµα δύναται να αναπαραταθεί µε µικρότερο αριθµό κανόνων. Σε περίπτωη που παρατηρηθούν κανόνες που για ίδιες ειόδους παράγουν διαφορετικά αποτελέµατα (διαφορετικές γλωικές τιµές), τότε απαιτείται αύξηη τον αριθµό των υνόλων της ααφούς διαµέριης που χρηιµοποιήθηκε κατά την φάη της αρχικής ερµηνείας. Το ελάχιτο επίπεδο ααφούς διαµέριης των υπερυνόλων αναφοράς το οποίο δεν θα παρατηρούνται τέτοια φαινόµενα είναι το 90

91 Κεφάλαιο 4 κατάλληλο επίπεδο για να ερµηνευθεί η ενωµατωµένη γνώη του SuPFuNIS. Έτι η ερµηνεία των κανόνων διευκολύνεται µε άµεο τρόπο υιοθετώντας ααφείς τοµές ε υνδυαµό µε ααφείς διαµερίεις υγκεκριµένου αριθµού γλωικών τιµών. 4.6 Εµπλουτίζοντας το Σύτηµα SuPFuNIS µε Εµπειρική Γνώη Στο τµήµα αυτό, έχει ηµαία να αναδείξουµε ότι το µοντέλο SuPFuNIS είναι κατάλληλο για περιπτώεις όπου ένα µικρό ύνολο εκπαίδευης από αριθµητικά δεδοµένα εµπλουτίζεται µε εµπειρική γνώη. Έτι µέα από πειραµατικές µετρήεις [1] επιβεβαιώνεται η ικανότητα του µοντέλου να βελτιώνεται µέω της παράλληλης χρήης αριθµητικών και γλωικών κανόνων, οι οποίοι προκύπτουν από υµπεράµατα εµπειρογνωµόνων και ειδικών. Μάλιτα αξίζει να ηµειωθεί ότι οι αυξηµένες επιδόεις του SuPFuNIS επιβεβαιώνονται ακόµη και την περίπτωη που το µέγεθος των υνόλων εκπαίδευης είναι µικρό. 4.7 Προαρµοζόµενος Νευρο-Ααφής Ταξινοµητής Η καινοτοµία αυτού του µοντέλου ταξινόµηης [1] βρίκεται ε µια ευέλικτη τεχνική αρχικοποίηης η οποία πρώτα διαµερίζει το χώρο δεδοµένων χρηιµοποιώντας κατανοµές Gauss και την υνέχεια υγχωνεύει τις επιµέρους οµάδες (lusters) ώτε τελικά να παραχθεί µια αποτελεµατική διαµέριη Ειαγωγή Τα ααφή νευρωνικά δίκτυα έχουν την ικανότητα να χειρίζονται και να προαρµόζονται τόο ε αριθµητικά όο και ε γλωικά περιβάλλοντα. Επίης µπορούν να χειριτούν ααφή χαρακτηριτικά και µπορούν να προαρµόζονται, διαµέου εκπαίδευης, ε ποικίλα προβλήµατα. Έτι ε ένα υπολογιτικό περιβάλλον που λαµβάνει υπόψη το περιεχόµενο, ένα προαρµοζόµενο νευρο-ααφές µοντέλο θα έπρεπε να αυτο-αξιολογείται. Παράλληλα θα έπρεπε να ενωµατώνει (την αρχιτεκτονική του) γνώη προερχόµενη από τα δεδοµένα εκπαίδευης. Συγκεκριµένα, ο υνήθης τρόπος για να ενωµατωθεί γνώη καθοδηγούµενη από τα δεδοµένα (ή εµπειρική γνώη) ε ένα νευρο-ααφές µοντέλο, είναι να χρηιµοποιηθεί µια µέθοδος οµαδοποίηης ή διαµέριης. Στην µέθοδο οµαδοποίηης, τα κέντρα των ααφών κανόνων αρχικοποιούνται αν διανύµατα οµάδων που προκύπτουν από το ύνολο δεδοµένων ειόδου. Ένας αλγόριθµος µάθηης χρηιµοποιείται µετά ώτε να βελτιώει τους κανόνες που βαίζονται το διαθέιµο ύνολο εκπαίδευης. Η µέθοδος διαµέριης διαχωρίζει το ύνολο ειόδων-εξόδων ε λεπτοµερέτερες περιοχές. Κάθε διαµέριη θεωρείται ότι αναπαριτά ένα κανόνα ΕΑΝ-ΤΟΤΕ. Αµφότερες οι παραπάνω προεγγίεις παρουιάζουν ανεπαρκή προαρµοτικότητα. Ο αριθµός των κανόνων που περιγράφει το φυικό, υπό εξέταη, φαινόµενο υπολογίζεται ευριτικά και δεν αλλάζει τη διάρκεια της εκπαίδευης. Η παρούα προέγγιη περιλαµβάνει έναν έξυπνο ταξινοµητή, ο οποίος λαµβάνει υπόψη το περιεχόµενο και ο οποίος παρέχει αυτο-αξιολόγηη επαναπροδιορίζοντας τους "αδύναµους" κανόνες όποτε αυτό κρίνεται απαραίτητο. 91

92 Το προτεινόµενο ύτηµα εκπαιδεύεται χρηιµοποιώντας µια καινοτόµα διαδικαία αρχικοποίηης. Αυτή η µέθοδος υνδυάζει ταυτόχρονα µια µέθοδο διαµέριης και ένα αλγόριθµο οµαδοποίηης ικανά να εξαγάγουν ααφείς κανόνες από ένα καλά οριµένο ύνολο δεδοµένων µε µη-ευριτικό τρόπο Η Μέθοδος Αρχικοποίηης το SuPFuNIS Στο µοντέλο SuPFuNIS, ο αριθµός των οµάδων καθορίζει τον αριθµό των κανόνων και η οµαδοποίηη επιτυγχάνεται το ύνολο ειόδου-εξόδου. Έτι τα κέντρα και τα όρια των επιµέρους οµάδων µπορούν να χρηιµοποιηθούν ως τιµές των κέντρων και των διαπορών των προυναπτικών και µεταυναπτικών ααφών βαρών. Η χρηιµοποιούµενη τεχνική οµαδοποίηης είναι ο αλγόριθµός Fuzzy C Means, ο οποίος χρηιµοποιείται για να οµαδοποιήει το δοθέν ύνολο δεδοµένων, ε υνδυαµό µε τον δείκτη αξιολόγηης Xie-Beni, που χρηιµοποιείται για να επιλέξει την καλύτερη οµάδα Εξαγωγή Γνώης από Αριθµητικά εδοµένα Μία από τις µεθόδους για να εξαγάγεις γνώη από το ύνολο εκπαίδευης είναι να οµαδοποιηθούν τα δεδοµένα χρηιµοποιώντας κάποια τεχνική οµαδοποίηης. Η αρχικοποίηη που βαίζεται ε οµάδες θεωρείται ότι βελτιώνει το ρυθµό µάθηης όπως και την επίδοη του υτήµατος. Είναι προφανές όµως, ότι διαφορετικοί αλγόριθµοι ακόµα και πολλαπλές εκτελέεις του ίδιου αλγορίθµου παράγουν διαφορετικά αποτελέµατα διαµέριης, λόγω τυχαίας ή παραµετροποιηµένης αρχικοποίηης. Για παράδειγµα, το SuPFuNIS υιοθετεί τον αλγόριθµο FCM, για να διαµερίει ένα ύνολο δεδοµένων, µιας και είναι απλός και γρήγορος. Ωτόο, η επίδοη του εξαρτάται αφενός µεν από τα αρχικά κέντρα των οµάδων και αφετέρου δε από τον προκαθοριµένο αριθµό των οµάδων. Εποµένως για να βρεθεί ο βέλτιτος αριθµός οµάδων είναι απαραίτητο να εκτελετεί ο FCM αρκετές φορές, κάθε φορά χρηιµοποιώντας ένα διαφορετικό αριθµό οµάδων. Σχήµα ιαµεριµός τεχνητών δεδοµένων, χρηιµοποιώντας FCM µε Xie-Beni δείκτη για τέερις οµάδες (προκαθοριµένες) Για να ξεπερατούν αυτοί οι περιοριµοί, αναπτύχθηκε ένας αλγόριθµος πολυοµαδοποίηης και υγχώνευης. Μια παραλλαγή αυτού έχει παρουιατεί προηγούµενα [2], έτι προτείνεται µια τροποποίηη της µεθόδου, η οποία 92

93 Κεφάλαιο 4 υµπεριλαµβάνει χρήη Gauss κατανοµών όπως και µια νέα προέγγιη για να προδιοριθούν κριτήρια υγχώνευης ε ελλειψοειδείς οµάδες. Σχήµα ιαµεριµός των ιδίων δεδοµένων χρηιµοποιώντας Multi-Clustering Gaussian Fusion, η οποία οδηγεί ε 4 κανόνες Σύµφωνα µε την τεχνική αυτή, τα δεδοµένα θεωρείται πως έχουν δηµιουργηθεί από διαφορετικά παραµετροποιηµένες κατανοµές Gauss. Έχοντας αυτό κατά νου, θεωρείται ότι η εύρεη του καταλληλότερου αριθµού από ελλειψοειδείς καµπύλες το ύνολο δεδοµένων µπορεί να βελτιώει την ιχύ του υτήµατος ταξινόµηης. Η προτεινόµενη διαµέριη περιλαµβάνει δύο κύριες φάεις: την διαµέριη και την υγχώνευη Η ιαδικαία ιαµέριης Στην διαδικαία διαµέριης, ένας βαικός αλγόριθµος οµαδοποίηης χρηιµοποιείται για ένα οριµένο αριθµό επαναλήψεων, µε κοπό να επιτευχθεί µια διακριτή διαµέριη Ν ηµείων ε ένα προκαθοριµένο ύνολο C οµάδων. Στην υλοποίηη αυτή, γίνεται χρήη του αλγορίθµου των k-µέων (k-means) ως βαικού αλγορίθµου οµαδοποίηης. Ο βαικός αλγόριθµος οµαδοποίηης διαµερίζει το ύνολο δεδοµένων µε διαφορετικό τρόπο ε κάθε επανάληψη, δηµιουργώντας έτι πρόβληµα απόφαης για το ποια οµάδα ε κάποια εκτέλεη αντιτοιχεί ε ποια οµάδα ε κάποια άλλη εκτέλεη. Ο προτεινόµενος αλγόριθµος ξεπερνά αυτό το πρόβληµα χρηιµοποιώντας την οµοιότητα ανάµεα ε οµάδες που δηµιουργούνται κατά την διάρκεια διαδοχικών εκτελέεων. Αυτό επιτυγχάνεται καθορίζοντας το ποοτό των ηµείων µιας οµάδας την t-οτή εκτέλεη που ανήκουν τις οµάδες που δηµιουργήθηκαν κατά την (t-1)-οτή εκτέλεη. Με αυτό τον τρόπο κάθε οµάδα της παρούας εκτέλεης ανατίθεται ε µια της προηγούµενης εκτέλεης, οδηγώντας έτι ε µια διαδικαία επαναρίθµηης των οµάδων. Μετά την επαναρίθµηη, εάν ένα χαρακτηριτικό x r έχει ανατεθεί την οµάδα q, τότε µία θετική ψήφος δίνεται την οµάδα q και µια αρνητική ε όλες τις υπόλοιπες. Αυτή η διαδικαία καθορίζει µια διαδικαία ψηφοφορίας, κατά την διάρκεια της οποίας ένας πίνακας ψήφων (Voting Table), διατάεων NxC, ανανεώνεται, έτι ώτε το VT(i,j) να δηλώνει το βαθµό υµµετοχής του χαρακτηριτικού x r i την οµάδα j, µε i = 1,...,N και j =1,...,C. Χρηιµοποιώντας τον πίνακα VT και τη χέη ανάµεα τα πρότυπα µιας οµάδας και τα πρότυπα των υπολοίπων οµάδων, ένας πίνακας NRT, µε διατάεις CxC, µπορεί να 93

94 κατακευατεί. Κάθε τοιχείο του NRT(i,j) αντιπροωπεύει τη χέη γειτνίαης ανάµεα τις οµάδες i και j. Για κάθε οµάδα, µια διαφορετική κατανοµή Gauss (ελλειψοειδής) ανατίθεται και ο προδιοριµός των Gauss παραµέτρων βαίζεται τον αλγόριθµο προδόκιµης ελαχιτοποίηης (Expetation-Minimization). Έτι ύµφωνα µε τα βήµατα εκτέλεης του ΕΜ, η περαιτέρω ρύθµιη των παραµέτρων υνεχίζεται µέχρι την ύγκλιη Η ιαδικαία Συγχώνευης Αφού οι παράµετροι κάθε Gauss κατανοµής καθοριτούν, η διαδικαία υγχώνευης λαµβάνει χώρα βρίκοντας τον βέλτιτο αριθµό των ελλειψοειδών το ύνολο δεδοµένων. Από την απουνέλιξη του πίνακα αυτουχέτιης K j της j-οτής ελλειψοειδούς, υπολογίζουµε (για κάθε ελλειψοειδή) την γωνία φ kji (-π/2,π/2) ανάµεα το ιδιοδιάνυµα του k µείζονος άξονα και της i-οτής διάταης. οθείας επίης της χέης γειτνίαης (πίνακας NRT) µεταξύ ελλειψοειδών, η διαδικαία υγχώνευης εκκινεί µε τον προκαθοριµένο αριθµό ελλειψοειδών C και υγχωνεύει αυτές που πληρούν τις επόµενες προϋποθέεις: 1. αµφότερα τα ελλειψοειδή πρέπει να είναι γείτονες 2. τα δύο διανύµατα γωνιών (φ 1i,φ 2i ), όπου i = 1,...,(d-1), ανάµεα ε δύο ελλειψοειδή πρέπει να ικανοποιούν ένα από τα παρακάτω κριτήρια για κάθε i (d είναι η διάταη του προβλήµατος ): Α) εάν τα φ 1i και φ 2i έχουν ίδιο πρόηµο τότε φ 1i -φ 2i < 70 0 ή Β) εάν τα φ 1i και φ 2i έχουν διαφορετικό πρόηµο τότε [ (φ 1i ) + (φ 2i ) ] < 20 o ή [ (φ 1i ) + (φ 2i ) ] < 20 o Το επόµενο βήµα είναι η υγχώνευη αυτών των ελλειψοειδών ε ένα και ο επαναπροδιοριµός του πίνακα ψήφων, προθέτοντας τις ψήφους του δεύτερου ελλειψοειδούς το πρώτο. Η διαδικαία υγχώνευης τρέχει επαναληπτικά µέχρις ότου ο αλγόριθµος να αποτύχει να βρει ένα νέο ζευγάρι ελλειψοειδών να υγχωνεύει. 4.8 Τροποποίηη του Αλγορίθµου Εκπαίδευης Το νευρο-ααφές ύτηµα SuPFuNIS εκπαιδεύεται βάει του αλγορίθµου επιβλεπόµενης µάθηης bakpropagation κάνοντας χρήη παράλληλα της µεθόδου κλίης. Τόο ο υγκεκριµένος αλγόριθµος όο και η αντίτοιχη µέθοδος έχουν ενδελεχώς δοκιµατεί και επαληθευτεί ε µεγάλο αριθµό εφαρµογών που αφορούν τους τοµείς των νευρωνικών και νευρο-ααφών δικτύων. Αυτό έχει ως αποτέλεµα οι επιδόεις και η αποδοτικότητα τους να θεωρούνται δεδοµένες πράγµα που ιχύει ε µεγάλο βαθµό την περίπτωη του SuPFuNIS. Ωτόο το SuPFuNIS διαθέτει µια υγκεκριµένη αρχιτεκτονική, βαικό χαρακτηριτικό της οποίας αποτελεί η αναπαράταη κάθε εµπλεκόµενου ααφούς υνόλου από υναρτήεις υµµετοχής Gauss. gauss(x) = e 2 x 94

95 Κεφάλαιο 4 Οι βαικές παράµετροι κάθε µιας υνάρτηης Gauss είναι δυο: το κέντρο και η διαπορά. Κατ ουία η λειτουργία του αλγόριθµου επιβλεπόµενης εκπαίδευης υνίταται την τροποποίηη του κέντρου και της διαποράς κάθε κόµβου (του υνολικού νευρο-ααφούς δικτύου) µε τόχο την βέλτιτη προέγγιη της επιθυµητής λειτουργίας. Αυτό γίνεται, όπως περιγράφηκε εκτενώς ε προηγούµενο κεφάλαιο, βάει των χέεων: (4.8.1) Ακολουθώντας την αλυίδα υπολογιµών των µερικών παραγώγων e w ij, e v e όπως αυτή περιγράφεται από τους τύπους (4.4.4) (4.4.27) και λαµβάνοντας x i υπόψη ότι η τιµή του η µπορεί να πάρει οποιαδήποτε τιµή, γίνεται εµφανές ότι οι τιµές των διαπορών µπορούν να λάβουν αρνητικές ή / και µηδενικές τιµές ακολουθώντας αυτές τις χέεις ανανέωης. Ακόµη και την περίπτωη που το η επιλέγεται για αυτό το λόγο µικρό, δεν υπάρχει καµία εξαφάλιη ότι ο όρος της µάθηης είναι µικρότερος από το άθροιµα όρου ορµής και προηγούµενης τιµής της διαποράς. Η ύπαρξη αρνητικών τιµών για την διαπορά µπορεί να µην επηρεάζει την µορφή των υναρτήεων υµµετοχής ωτόο δηµιουργεί µια ειρά ατοχιών (λανθαµένων υπολογιµών) που ενδέχεται να οδηγήουν ε κατάρρευη της αρχιτεκτονικής µε την εµφάνιη άπειρων τιµών τα διανύµατα των ειόδων, των υναπτικών βαρών ή των εξόδων. Αξίζει να ηµειωθεί ότι οριµένοι από τους λανθαµένους αυτούς υπολογιµούς οφείλονται την ιωπηρή παραδοχή ότι η διαπορά κάθε υνάρτηης Gauss είναι ένας αυτηρά θετικός αριθµός, γεγονός όµως που δεν διαφαλίζεται από τον αλγόριθµό µάθηης. Στην υνέχεια παρουιάζονται ενδεικτικά τρία ηµεία τα οποία αρνητική τιµή της διαποράς οδηγεί ε λανθαµένους υπολογιµούς. + ( x ) Είναι γνωτό ότι e z 2 2 dz = π, υνεπώς e dx = [x = t+] = e dt + εάν >0 [t = x] = e x 2 dx + εάν <0 [t = x] = e x 2 dx = e x 2 dx t 2 2 ij =, 95

96 δηλαδή εν γένει + e 1 ( x ) 2 dx = x γεγονός που δεν λαµβάνεται υπόψη ε υπολογιµούς όπως ο (4.3.7). Κατά τον υπολογιµό του µέτρου οµοιότητας [ 4.3] η τοµή δυο ααφών υνόλων υπολογίζεται βάει του κέντρου και της διαποράς τους [χήµα 4.3.3]. Οι περιπτώεις που λαµβάνονται υπόψη ιχύουν εφόον οι διαπορές έχουν θετικές τιµές ειδαλλιώς η υποπερίπτωη x i w ij, x i <w ij θα έπρεπε να µεταχηµατιτεί την υποπερίπτωη x i w ij, x i < w ij εάν ένας επιθυµούε να υµπεριλάβει το ενδεχόµενο ύπαρξης αρνητικών τιµών διαποράς. Στην φάη της αποααφοποίηης τα V jk (τα µεταυναπτικά ύνολα χώρων) αναπαριτούνται από απλά εµβαδά και έχουν τιµή V jk = v jk π. Είναι εύλογο ότι αρνητικό εµβαδό δεν µπορεί να υπάρχει παρόλα αυτά όταν η διαπορά είναι αρνητικός αριθµός τότε το εµβαδόν γίνεται αρνητικό. Εκτός της περίπτωης που η διαπορά λαµβάνει αρνητικές τιµές, όπως εξηγήθηκε, η διαπορά µπορεί να µηδενιτεί ε κάποιο βήµα του αλγορίθµου εκπαίδευης. Σε αυτή την περίπτωη είναι εµφανές ότι το SuPFuNIS καταρρέει υπό x την έννοια ότι εµφανίζονται χέεις της µορφής και τις οποίες η υπάρχουα 0 αρχιτεκτονική δεν είναι ε θέη να χειριτεί. Έτι, χρειάζεται µια τροποποίηη του αλγορίθµου µάθηης το επίπεδο των εξιώεων ανανέωης (4.8.1). Μία λύη είναι να ελέγχεται η τιµή της διαποράς και όταν αυτή αποκτήει αρνητική τιµή τότε να λαµβάνεται η απόλυτη τιµή της. Κάτι τέτοιο όµως δεν επιλύει το φαινόµενο εµφάνιης µηδενικών τιµών, ενώ από την άλλη πλευρά αποτελεί βίαιη επέµβαη τον αλγόριθµο µάθηης. Η ύπαρξη µιας αρνητικής ή µηδενικής τιµής ως επόµενο βήµα µιας θετικής τιµής ηµαίνει ότι η εν λόγω διαπορά (βάει του αλγορίθµου) χρειάζεται να µειωθεί, λαµβάνοντας όµως την απόλυτη τιµή της αυτή αυξάνεται, µε υνέπεια την µείωη της απόδοης του αλγορίθµου. Ωτόο υπάρχει µια πιο εκλεπτυµένη αντιµετώπιη η οποία αντιµετωπίζει και τα δυο προηγούµενα προβλήµατα. Αρχικά ελέγχεται η τιµή της διαποράς και εφόον δεν είναι αυτηρά θετική τότε η τιµή της τίθεται ε µια πολύ µικρή θετική τιµή κατωφλίου. εάν 0 τότε = (4.8.2) Κάτι τέτοιο προφανώς επιλύει το πρόβληµα µηδενιµού της διαποράς και παράλληλα υµβαδίζει µε την επιθυµητή µείωη της τιµής της διαποράς όπως αυτή καθορίζεται από τον αλγόριθµο επιβλεπόµενης µάθηης. 96

97 Κεφάλαιο 5 Αύρµατα Τοπικά ίκτυα 97

98 98

99 Κεφάλαιο 5 5 Αύρµατα Τοπικά ίκτυα 5.1 Ειαγωγικό Σηµείωµα Υπάρχουν τρεις κύριες περιοχές εφαρµογής των αυρµάτων κινητών επικοινωνιών, οι οποίες ηµειώνουν µεγάλη ανάπτυξη και υνεπώς παρουιάζουν µεγάλο χεδιατικό και ερευνητικό ενδιαφέρον. Η αύρµατη πρόβαη ε µεγάλα δίκτυα για προωπικές επικοινωνίες χαµηλών απαιτήεων. Τα αύρµατα δίκτυα κινητών επικοινωνιών. Τα αύρµατα τοπικά δίκτυα. Τα αύρµατα τοπικά δίκτυα (Wireless Loal Area Networks) έχουν ως τόχο την παροχή υψηλών ρυθµών µετάδοης (αρκετά Mbps) ε φορητά τερµατικά που µετακινούνται ε περιοριµένες περιοχές, όπως µεγάλα κτίρια, πανεπιτηµιουπόλεις, εµπορικά κέντρα ή νοοκοµειακοί χώροι. Σε αυτές τις περιπτώεις η ανάγκη της µεταφεριµότητας είναι εντονότερη από την ανάγκη για κινητικότητα. Τα αύρµατα αυτά τοπικά δίκτυα είναι ως επί το πλείτον µεταγωγής πακέτου και µερικές φορές αναφέρονται ως Personal Communiation Servies δεδοµένων. Οι ρυθµοί µετάδοης τους αύρµατους διαύλους κυµαίνονται από µερικές δεκάδες kbps µέχρι µερικές δεκάδες Mbps. Τα περιότερα υτήµατα λειτουργούν τις περιοχές υχνοτήτων που προορίζονται για βιοµηχανικές, επιτηµονικές και ιατρικές εφαρµογές (Industrial, Sientifi, Medial), κοντά τα 900Mhz και 2.4Ghz. Η χρηιµοποίηη περιοχής ISM δεν απαιτεί άδεια λειτουργίας και επιτρέπει ιχύ εκποµπής µέχρι 1W, εάν τα εκπεµπόµενα ήµατα εκπληρούν προκαθοριµένα κριτήρια ως προς το φάµα. Λόγω των υψηλών ρυθµών µετάδοης που χρηιµοποιούνται την ζεύξη και λόγω των περιοριµών ιχύος που υπάρχουν τα φορητά τερµατικά, η περιοχή κάλυψης των ποµποδεκτών WLAN είναι πολύ περιοριµένη, της τάξεως µερικών µέτρων µέα ε κτίρια. Επειδή η ανάπτυξη των WLAN είναι χετικά νέα οι ανάγκες και οι απαιτήεις των χρητών δεν είναι τόο αφείς. Προς το παρόν αυτό έχει ως αποτέλεµα να µην υπάρχει υγκεκριµένη κατεύθυνη ως προς τις εφαρµογές. Μια φιλοοφία της αύρµατης δικτύωης για µετάδοη δεδοµένων βαίζεται ε ταθερούς ταθµούς βάης, υνδεδεµένους µέω ταθερού δικτύου και ελεγχόµενους από κεντρικό ηµείο. Αυτός ο τύπος WLAN έχει αρχιτεκτονική και δοµή ελέγχου εφάµιλλες µε εκείνες των κυψελωτών υτηµάτων. Φορητά τερµατικά µπορούν να έχουν πρόβαη ε τέτοιο δίκτυο δεδοµένων µέα ε χετικά καθοριµένη περιοχή που καλύπτεται από τους ταθµούς βάης (π.χ. µεγάλο κτίριο, περιοχή µιας βιοµηχανίας, νοοκοµείο, πανεπιτηµιούπολη). Μια δεύτερη φιλοοφία δικτύωης βαίζεται ε φορητά τερµατικά µε µόνο έναν ή λίγους ταθερούς ταθµούς βάης που χρηιµεύουν ως πύλες προς εξωτερικά δίκτυα δεδοµένων. Τα δίκτυα αυτά δεν έχουν κεντρικό έλεγχο και εφαρµόζουν πρωτόκολλα µεταξύ όλων των οντοτήτων, φορητών και ταθερών, ώτε να χηµατίζεται ένα αυτοοργανούµενο δίκτυο κατανεµηµένου ελέγχου. Ένα τέτοιο WLAN δεν υπάρχει µέχρι την τιγµή όπου µια οντότητα εκκινεί της διαδικαία οργάνωης του. Οι ταθεροί ταθµοί βάης χρηιµεύουν µόνο ως πύλες προς ταθερά δίκτυα και δεν έχουν ρόλο ειδικού ελεγκτή το κατανεµηµένο δίκτυο. Μια αναφορά ε οποιαδήποτε µορφής δίκτυα υπολογιτών είναι ελλιπής από την τιγµή που δεν περιλαµβάνει την πλέον διαδεδοµένη αρχιτεκτονική δικτύων, 99

100 το µοντέλο αναφοράς TCP/IP. Η αρχιτεκτονική που δίδει την δυνατότητα να υνδέονται µαζί πολλαπλά δίκτυα µε διαφανή τρόπο είναι το µοντέλο αναφοράς TCP/IP (TCP/IP referene). Σχήµα 5.1.1: Το µοντέλο αναφοράς TCP/IP. Το Στρώµα Host προς ίκτυο: Το µοντέλο TCP/IP δεν αναφέρει πολλά ως προς το τι ακριβώς υµβαίνει εκεί, εκτός από την υπόδειξη, ότι ο host πρέπει να υνδεθεί µε το δίκτυο χρηιµοποιώντας κάποιο πρωτόκολλο, ώτε να µπορεί να τέλνει πακέτα IP ε αυτό. Το πρωτόκολλο αυτό δεν είναι καθοριµένο και ποικίλει από host ε host και από δίκτυο ε δίκτυο. Το Στρώµα ιαδικτύου: Όλες οι απαιτήεις οδήγηαν την επιλογή ενός δικτύου µεταγωγής πακέτου, βαιµένου ε ένα τρώµα διαδικτύου που παρέχει υπηρείες χωρίς ύνδεη. Αυτό το τρώµα που αποκαλείται τρώµα διαδικτύου είναι ο ακρογωνιαίος λίθος που υγκρατεί όλη την αρχιτεκτονική. Η δουλεία του είναι να επιτρέπει τους host να ειάγουν πακέτα ε οποιοδήποτε δίκτυο και να δροµολογεί τα πακέτα ανεξάρτητα τον προοριµό τους. Μπορεί να φτάουν ε διαφορετική ειρά από αυτήν που τάλθηκαν, οπότε είναι δουλειά των ανωτέρων τρωµάτων να τα επαναδιατάξουν, εφόον είναι επιθυµητή η παραλαβή µε την ορθή ειρά. Το τρώµα διαδικτύου καθορίζει µια επίηµη µορφή πακέτου και πρωτοκόλλου που ονοµάζεται πρωτόκολλο διαδικτύου IP (Ιnternet Protool). Η δουλειά του τρώµατος διαδικτύου είναι να παραδίδει τα πακέτα IP τον προοριµό τους. Το κύριο θέµα εδώ είναι η δροµολόγηη πακέτων καθώς επίης και η αποφυγή υµφόρηης. Το Στρώµα Μεταφοράς: Το τρώµα αυτό βρίκεται πάνω από το τρώµα διαδικτύου την τοίβα πρωτοκόλλων TCP/IP και αποκαλείται υνήθως τρώµα µεταφοράς. Έχει χεδιατεί ώτε να παρέχει την δυνατότητα ε οµότιµες οντότητες, που βρίκονται τους host πηγής και προοριµού, να διεξάγουν µια υζήτηη. ύο πρωτόκολλα από άκρο ε άκρο έχουν καθοριτεί ε αυτό το ηµείο. Το πρώτο, το πρωτόκολλο ελέγχου µετάδοης TCP (Transmission Control Protool), είναι ένα αξιόπιτο, µε ύνδεη, πρωτόκολλο που επιτρέπει ε µια ακολουθία byte που ξεκινά από µια µηχανή να παραδίδεται χωρίς λάθη ε οποιαδήποτε άλλη µηχανή το διαδίκτυο. Το πρωτόκολλο τεµαχίζει την ειερχόµενη ακολουθία byte ε διακριτά µηνύµατα και περνά το καθένα τους το τρώµα διαδικτύου. Στον προοριµό, η διεργαία λήψης TCP υναρµολογεί την ακολουθία εξόδου από τα λαµβανόµενα µηνύµατα. Το TCP χειρίζεται επίης τον έλεγχο ροής, 100

101 Κεφάλαιο 5 ώτε να εµποδίει έναν γρήγορο ποµπό από το να πληµµυρίει έναν αργό δέκτη µε περιότερα µηνύµατα από όα µπορεί να δεχτεί. Το δεύτερο πρωτόκολλο το τρώµα αυτό, το πρωτόκολλο δεδοµενογραφηµάτων χρήτη (User Datagram Protool), είναι ένα µη αξιόπιτο, χωρίς ύνδεη, πρωτόκολλο για εφαρµογές που δεν επιθυµούν τον έλεγχο της ακολουθίας ή της ροής του TCP και επιθυµούν να χρηιµοποιούν το δικό τους. Σχήµα 5.1.2: Τα βαικά πρωτόκολλα του µοντέλου TCP/IP. Το Στρώµα Εφαρµογής: Στην κορυφή της τοίβας πρωτοκόλλων TCP/IP βρίκεται το τρώµα εφαρµογής. Αυτό περιλαµβάνει όλα τα πρωτόκολλα ανωτέρων τρωµάτων που χρηιµοποιούνται τις τεχνολογίες δικτύωης-διαδικτύωης. 5.2 Πρότυπο ΙΕΕΕ Η υπολογιτική επεξεργαία µέω αύρµατης πρόβαης (wireless omputing) είναι µια αναπτυόµενη τεχνολογία, η οποία επιτρέπει τους χρήτες να υνδέονται ε δίκτυο υπολογιτών χωρίς να δεµεύονται από την ύπαρξη ενύρµατου δικτύου. Τα αύρµατα τοπικά δίκτυα όπως και τα ενύρµατα οµόλογα τους, έχουν χεδιατεί για να παρέχουν υψηλό εύρος ζώνης ε χρήτες που περιφέρονται ε περιοριµένη γεωγραφική περιοχή. Παρά το γεγονός ότι τα WLAN τοχεύουν το να παρέχουν τους χρήτες την ελευθερία να περιφέρονται οπουδήποτε, χωρίς να χάνουν επαφή µε το δίκτυο, οι προπάθειες για την ανάπτυξη τους κατευθύνονται κυρίως την χρηιµοποίηη αυρµάτων τοιχείων ως διεπαφές των WLAN προς τα ενύρµατα δίκτυα κορµού ε δύκολα περιβάλλοντα δικτύωης, αντικαθιτώντας τα τελευταία m της καλωδίωης προς το τερµατικό ύτηµα. Τα WLAN προφέρουν ένα µέο για νέες εφαρµογές που ειάγονται, µεταξύ άλλων, µε την υνεχώς αυξανόµενη αγορά φορητών υπολογιτών. Για παράδειγµα τα νοοκοµεία οι ιατρικές διαγνώεις θα µπορούαν να διευκολυνθούν µε την χρηιµοποίηη προωπικών ψηφιακών βοηθών (Personal Digital Assistants). Ένα τελείως διαφορετικό πεδίο εφαρµογών των WLAN είναι η εγκατάταη ad ho δικτύων (π.χ. ε µία υνεδρίαη ή ε άλλες θέεις) για τοπική χρήη. Οι ταθµοί που εµπλέκονται µπορούν να αποτελέουν ένα αυτοδιαχειριζόµενο και δυναµικό δίκτυο, δηλαδή οι φορητοί υπολογιτές µπορεί ελεύθερα να µπαίνουν ή να βγαίνουν από µια ύνοδο. Παρά την αυξηµένη πολυπλοκότητα των πρωτοκόλλων, το ad ho δίκτυο αποτελεί ένα εύκολα εγκαθιτάµενο, και γι αυτό το λόγο φθηνό, µέο για τοπική δικτύωη. Με πολύ απλά λόγια µπορεί να λεχθεί, ότι τα υτήµατα τοποθετούνται µέα ε µια περιοχή µε λογικά όρια και υγχρονίζονται. Στην υνέχεια, αφού υµφωνηθεί µια διάταξη, φτιάχνεται το δίκτυο. Σύµφωνα µε τις κατηγορίες κινητικότητας, αυτό είναι ένα βήµα µπροτά ε χέη µε τις παραδοιακές εφαρµογές των WLAN όπως αυτές περιγράφηκαν προηγούµενα. Μια 101

102 οµάδα από κινητούς χρήτες µπορεί να αποτελέει ένα αυτόνοµο τοπικό δίκτυο, οπουδήποτε, οποιαδήποτε τιγµή, µε αµελητέα προπάθεια. Στην ιδανική περίπτωη, οι χρήτες των WLAN θα επιθυµούαν να έχουν τις ίδιες δυνατότητες και την ίδια εξυπηρέτηη, όπως και τα ενύρµατα δίκτυα. Ωτόο για την εκπλήρωη αυτών των τόχων υπάρχουν περιοριµοί που δεν εµφανίζονται τα αύρµατα τοπικά δίκτυα. Παρεµβολές και Αξιοπιτία: Οι παρεµβολές τις αύρµατες επικοινωνίες µπορεί να προέλθουν από ταυτόχρονες εκποµπές δυο ή περιότερων πηγών που µοιράζονται την ίδια ζώνη υχνοτήτων. Όταν υπάρχουν πολλοί ταθµοί που περιµένουν να απελευθερωθεί ο δίαυλος και να αρχίουν να εκπέµπουν, εµφανίζονται υγκρούεις. Συγκρούεις επίης εµφανίζονται λόγω του προβλήµατος του κρυµµένου τερµατικού, όπου κάποιος ταθµός πιτεύοντας ότι ο δίαυλος είναι ελεύθερος, αρχίζει την εκποµπή χωρίς να ανιχνεύει επιτυχώς την ήδη ευρικόµενη ε εξέλιξη µετάδοη. Παρεµβολές εµφανίζονται και από τις διαλείψεις πολλαπλών διαδροµών, που χαρακτηρίζονται από τυχαίες διακυµάνεις του πλάτους και της φάης την λήψη. Αφάλεια Επικοινωνίας: Στα ενύρµατα δίκτυα, το µέο µετάδοης µπορεί να παρέχει φυική αφάλεια και η πρόβαη ελέγχεται εύκολα. Στα αύρµατα δίκτυα, η αφάλεια επικοινωνίας είναι δυκολότερο να ελεγχθεί, καθότι το µέο µετάδοης είναι ανοικτό ε οποιονδήποτε βρίκεται την ραδιοκάλυψη ενός ποµπού. Η αφάλεια των δεδοµένων το αύρµατο τµήµα επιτυγχάνεται µε απόκρυψη. Ωτόο η διαδικαία της απόκρυψης αυξάνει το κότος του υτήµατος και µειώνει την επίδοή του. Κατανάλωη Ιχύος: Συνήθως οι διάφορες υκευές που υνδέονται ε ενύρµατο δίκτυο τροφοδοτούνται από το δίκτυο παροχής ηλεκτρικής ιχύος του κτιρίου. Οι αύρµατες υκευές όµως έχει νόηµα να είναι φορητές και / ή κινητές και να τροφοδοτούνται µε µπαταρίες. Συνεπώς, πρέπει να χεδιάζονται ώτε να είναι πολύ αποτελεµατικές, έτι για παράδειγµα πρέπει να έχουν κατάταη ηρεµίας µε χαµηλή κατανάλωη ιχύος και να έχουν οθόνες χαµηλής ιχύος. Αφάλεια Χρητών: Τα υτήµατα πρέπει να χεδιάζονται κατά τρόπο που να ελαχιτοποιείται η εκπεµπόµενη ιχύς ώτε να µην επιβαρύνεται η υγεία των χρητών. Κινητικότητα: Σε αντίθεη µε τα ενύρµατα τερµατικά, ένα από τα πρωτεύοντα πλεονεκτήµατα των αύρµατων τερµατικών είναι η ελευθερία κινήεων. Συνεπώς η χεδίαη πρέπει να υποτηρίζει τη διαποµπή και τη δροµολόγηη της κίνηης ε κινούµενους χρήτες. ιέλευη: Η χωρητικότητα των αυρµάτων τοπικών δικτύων πρέπει την ιδανική περίπτωη να προεγγίζει εκείνη των ενύρµατων. Ωτόο λόγω φυικών περιοριµών και λόγω περιοριµένου εύρους ζώνης, τα WLAN προς το παρόν ικανοποιούν προδιαγραφές για ρυθµούς µετάδοης µεταξύ 1-20 Mbps. Το πρότυπο της ΙΕΕΕ προδιαγράφει ρυθµούς µετάδοης µέχρι 2 Mbps, χρηιµοποιώντας τεχνολογία απλωµένου φάµατος την περιοχή υχνοτήτων 2.4 GHz. Για περιότερες πληροφορίες µπορεί κανείς να ανατρέξει τις αναφορές [1], [2], [3] και [4]. Το πρότυπο διακρίνει δυο τοπολογίες δικτύου: την τοπολογία δικτύου υποδοµής και την ad ho τοπολογία. 102

103 Κεφάλαιο 5 ίκτυο Υποδοµής: Στην τοπολογία µε δίκτυο υποδοµής τα κινητά επικοινωνούν µε το δίκτυο κορµού µέω ενός ηµείου πρόβαης (Aess Point). Το AP είναι µια γέφυρα που υνδέει το δίκτυο µε την υποδοµή του ενύρµατου δικτύου κορµού. Στην διάταξη αυτή, ένα ύτηµα διανοµής υνδέει πολλές οµάδες βαικής εξυπηρέτηης (Basi Servie Sets) µέω ηµείων πρόβαης, ώτε να χηµατιτεί µια ενιαία υποδοµή που ονοµάζεται εκτεταµένη οµάδα εξυπηρέτηης (Extended Servie Set). Ένα κινητό τερµατικό µπορεί να περιφέρεται ε διαφορετικά BSS ενός ESS χωρίς να χάνει την ύνδεη του µε το δίκτυο κορµού (διαποµπή). Σχήµα 5.2.1: Τοπολογία IEEE µε δίκτυο υποδοµής. Ad Ho: Στην διάταξη ad ho τα κινητά τερµατικά επικοινωνούν µεταξύ τους ε ανεξάρτητο BSS χωρίς ύνδεη προς το ενύρµατο δίκτυο κορµού. Στην περίπτωη αυτή, µερικές από τις λειτουργίες του AP, που χρειάζονται για τον χηµατιµό και την διατήρηη ενός BSS, παρέχονται από ένα κινητό τερµατικό. Επιπρόθετα µε την µέθοδο πολλαπλής πρόβαης CSMA/CA, που είναι κατάλληλη για αύγχρονες µεταδόεις, το πρότυπο IEEE παρέχει και έναν µηχανιµό µε προτεραιότητες, χωρίς ανταγωνιµό, ελεγχόµενο από ένα ηµείο για την υποτήριξη ύγχρονων µεταδόεων. 103

104 Σχήµα 5.2.2: Τοπολογία IEEE ad ho. Το πρότυπο προβλέπει την χρηιµοποίηη ραδιοδιαύλου 2.4 Ghz µε απλωµένο φάµα και αναπηδήεις υχνότητας (spread spetrum Frequeny Hoping). Στα υτήµατα FH, η υχνότητα µε την οποία µεταδίδονται τα δεδοµένα λαµβάνει διάφορες τιµές που επιλέγονται από µια οµάδα υχνοτήτων (π.χ. 79 υχνότητες για την Ευρωπαϊκή έκδοη του προτύπου ). Έτι ο ποµπός τέλνει δεδοµένα ε δοθεία υχνότητα για ένα ταθερό χρονικό διάτηµα και την υνέχεια µετάγει την επόµενη υχνότητα για ένα άλλο ταθερό χρονικό διάτηµα. Το χέδιο µεταπηδήεων είναι γνωτό τον δέκτη, οπότε ο υνθέτης υχνοτήτων τον δέκτη µπορεί να κάνει αναπηδήεις υγχρονιµού και να ανακτά το αρχικό ήµα δεδοµένων. Τα υτήµατα FH που ορίζονται το φυικό τρώµα του , είναι αργά υτήµατα όο αφορά τις αναπηδήεις υχνότητας, καθότι µεταδίδουν πολλαπλά διαδοχικά ύµβολα την ίδια υχνότητα. Στα υτήµατα FH, γειτονικές ή επικαλυπτόµενες κυψέλες χρηιµοποιούν διαφορετικές ακολουθίες αναπηδήεων. Για χέδια αναπηδήεων µε πολλές υχνότητες (π.χ. Ευρωπαϊκό πρότυπο) είναι απίθανο να χρηιµοποιείται η ίδια υχνότητα ταυτόχρονα ε δυο διαδοχικές κυψέλες. Το πρότυπο καθορίζει τρεις διαφορετικές ακολουθίες αναπηδήεων, κάθε µια από τις οποίες αποτελείται από 26 χέδια. Τα χέδια µέα ε κάθε µια οµάδα έχουν επιλεγεί µε τρόπο που να εµφανίζουν καλές ιδιότητες. Για παράδειγµα, οι διαδοχικές υχνότητες ε µια δοθεία ακολουθία απέχουν το φάµα 6 Mhz τουλάχιτον, ώτε να αποφεύγεται παρεµβολή τενής ζώνης. Συνοψίζοντας παρατηρείται ότι ένα ύτηµα FH µπορεί να παρέχει µεγάλο αριθµό διαύλων (δηλαδή χεδίων αναπήδηης υχνότητας) και υνεπώς µπορεί να χρηιµοποιηθεί ε πυκνά περιβάλλοντα, όπου οι κυψέλες έχουν επικάλυψη µε πολλές κυψέλες. Τα υτήµατα FH εξαιτίας της κατακευής τους εµφανίζουν ανθεκτικότητα την παρεµβολή τενής ζώνης αφού υφίτανται την οποιαδήποτε παρεµβολή µόνο για ένα κλάµα του χρόνου. Ο τύπος ραδιουτήµατος FH µεταδίδει ε τάθµη ιχύος 100 mw ή µικρότερη, γεγονός που του επιτρέπει να καλύπτει αποτάεις µέχρι το πολύ 100 m ε εωτερικούς χώρους, ανάλογα µε τον ρυθµό µετάδοης δεδοµένων και την κατακευή και διαρρύθµιη των κτιρίων. 104

105 Κεφάλαιο Το Στρώµα ικτύου το Internet Περιγραφή του Στρώµατος ικτύου Το τρώµα δικτύου αχολείται µε τη µεταφορά πακέτων από την πηγή τον προοριµό. Η διαδροµή µέχρι τον προοριµό µπορεί να απαιτεί πολλά βήµατα ε ενδιάµεους δροµολογητές που βρίκονται κατά µήκος της διαδροµής. Το τρώµα δικτύου, υνεπώς, είναι το χαµηλότερο τρώµα που αχολείται µε την από άκρο ε άκρο µετάδοη. Για περιότερες πληροφορίες [1], [2], [3], [4]. Για να επιτύχει τους κοπούς του, το τρώµα δικτύου οφείλει να γνωρίζει την τοπολογία του υποδικτύου (δηλαδή το ύνολο των δροµολογητών) και να επιλέγει κατάλληλες διαδροµές µέα από αυτό. Πρέπει επίης να φροντίζει να επιλέγει διαδροµές µε τρόπο ώτε να αποφεύγει την υπερφόρτωη κάποιων γραµµών και δροµολογητών, ενώ αφήνει άλλους αδρανείς. Τελικά, όταν η πηγή και ο προοριµός βρίκονται ε διαφορετικά δίκτυα, επαφίεται το τρώµα δικτύου να χειριθεί τις διαφορές αυτές και να επιλύει τα προβλήµατα που προκαλούνται από αυτές. Το τρώµα δικτύου το internet µπορεί να θεωρηθεί ως υλλογή από διαδίκτυα ή αυτόνοµα υτήµατα (autonomous systems) που υνδέονται µεταξύ τους. εν υπάρχει πραγµατική δοµή, αλλά υπάρχουν διάφορα δίκτυα κελετοί. Τα τελευταία είναι κατακευαµένα από γραµµές υψηλού εύρους ζώνης και ταχείς δροµολογητές. Στα δίκτυα κελετούς υνδέονται τοπικά τα δίκτυα (Loal Area Networks) πολλών πανεπιτηµίων, επιχειρήεων και παροχέων υπηρειών internet. H εωτερική λειτουργία του internet υνίταται από ανεξάρτητα πακέτα οργάνωης χωρίς ύνδεη τα οποία αποκαλούνται δεδοµενογραφήµατα (datagrams). Ευρωπαϊκό δίκτυο κελετός Εθνικό δίκτυο Host Σχήµα : Η ιεραρχική οργάνωη του internet. Ο υνδετικός ιτός του internet είναι το IP. Ένας τρόπος για να κεφθεί κανείς το τρώµα δικτύου είναι ο ακόλουθος. Το καθήκον του είναι να µάχεται για 105

106 την καλύτερη δυνατή µεταφορά datagrams από την πηγή προς τον προοριµό, αχέτως του αν αυτές οι µηχανές βρίκονται το ίδιο δίκτυο ή όχι, ή του εάν υπάρχουν ή όχι άλλα δίκτυα ανάµεα τους. Η επικοινωνία το internet δουλεύει ως εξής. Το τρώµα µεταφοράς παίρνει τους υρµούς δεδοµένων και τους τεµαχίζει ε datagrams. Θεωρητικά τα δεδοµενογραφήµατα µπορεί να φθάουν τα 64 Kbyte το καθένα, αλλά την πράξη είναι υνήθως περίπου 1500 byte. Το κάθε datagram µεταδίδεται µέω του internet, πιθανώς τεµαχιζόµενο ε µικρότερες µονάδες καθώς προχωρεί. Όταν φθάουν τον προοριµό όλα τα κοµµάτια, υναρµολογούνται από το τρώµα δικτύου το αρχικό δεδοµενογράφηµα. Μετά το δεδοµενογράφηµα παραδίδεται το τρώµα µεταφοράς, που το δίνει τη λαµβάνουα διαδικαία. Για το πρωτόκολλο IP λέµε ότι είναι µη αξιόπιτο γιατί δεν εγγυάται την µεταφορά της πληροφορίας που αναλαµβάνει. Κάποιο datagram µπορεί να φθάει ε λάθος προοριµό, να διπλαιατεί µέα το δίκτυο ή να χαθεί τον δρόµο προς τον προοριµό του. Το πρωτόκολλο IP προφέρει ένα ύνολο από βαικές λειτουργίες οι οποίες είναι απαραίτητες για την επιτυχή διαύνδεη δικτύων υπολογιτών. Τέτοιες λειτουργίες είναι: Λειτουργίες κατακερµατιµού των µηνυµάτων και επαναύνδεης αυτών προκειµένου να περάουν από υποδίκτυα που υποτηρίζουν διαφορετικού µεγέθους πεδίο δεδοµένων το πλαίιο τους. Λειτουργίες δροµολόγηης των IP datagrams διαµέου των κόµβων του δικτύου, προκειµένου να φθάουν τον προοριµό τους. Λειτουργίες αναφοράς φαλµάτων. Κατά την εκτέλεη των δυο παρακάτω λειτουργιών είναι δυνατό να χαθούν δεδοµενογραφήµατα. Αυτή η τρίτη λειτουργία κοπό έχει την ενηµέρωη του κόµβου πηγή για την χετική απώλεια. Το IP datagram αποτελείται από δυο τµήµατα την επικεφαλίδα και το κείµενο. Η επικεφαλίδα έχει µήκος από 20 µέχρι 60 byte και περιέχει πλήθος πεδίων. Ίως τα πιο ηµαντικά από αυτά είναι τα πεδία (µεγέθους 4 byte το καθένα) διεύθυνης πηγής (soure address) και διεύθυνης προοριµού (destination address), τα οποία δείχνουν τον αριθµό δικτύου και τον αριθµό host ιευθύνεις IP Κάθε host και κάθε δροµολογητής το Internet έχει µια διεύθυνη IP, που κωδικοποιεί τον αριθµό του δικτύου του καθώς και τον αριθµό του host. Ο υνδυαµός αυτό είναι µοναδικός δεν υπάρχει περίπτωη δυο µηχανήµατα να έχουν την ίδια διεύθυνη IP. Όλες οι διευθύνεις IP έχουν µήκος 32 bit και χρηιµοποιούνται τα πεδία soure address και destination address που αναφέρθηκαν προηγούµενα. Οι δοµές που χρηιµοποιούνται για τις διευθύνεις IP φαίνονται την υνέχεια. Οι µηχανές που είναι υνδεδεµένες ε πολλά δίκτυα έχουν διαφορετική διεύθυνη IP ε κάθε δίκτυο. Οι δοµές για τις κατηγορίες A, B, C, D επιτρέπουν έως και 126 δίκτυα µε 16 εκατοµµύρια host το καθένα, δίκτυα µε το πολύ 64K host, 2 εκατοµµύρια δίκτυα µε το πολύ 254 host το καθένα και την πολλαπλή διανοµή. Οι διευθύνεις των δικτύων που είναι αριθµοί 32 bit, είναι υνήθως γραµµένες ε δεκαδικό υµβολιµό µε τελείες (dotted deimal notation). Σε αυτή τη µορφή κάθε ένα από τα 4 byte είναι γραµµένο ως δεκαδικός, από το 0 έως το 255. Για παράδειγµα η δεκαεξαδική 106

107 Κεφάλαιο 5 διεύθυνη C γράφεται ως Η κατώτατη διεύθυνη IP είναι η και η ανώτατη Σχήµα : Μορφές διευθύνεων IP. Η IP διεύθυνη χρηιµοποιείται από τους host κατά την διάρκεια της εκκίνηής τους. Οι διευθύνεις IP µε αριθµό δικτύου 0 αναφέρονται το τρέχον δίκτυο. Αυτές οι διευθύνεις επιτρέπουν τα µηχανήµατα να αναφέρονται το δικό τους δίκτυο χωρίς να γνωρίζουν τον αριθµό του. Η διεύθυνη που αποτελείται µόνο από 1 επιτρέπει την εκποµπή το τοπικό δίκτυο. Οι διευθύνεις µε κανονικό αριθµό δικτύου και 1 το πεδίο του αριθµού host επιτρέπουν τις µηχανές να κοινοποιούν πακέτα εκποµπής ε αποµακρυµένα δίκτυα LAN, οπουδήποτε το internet. Τέλος όλες οι διευθύνεις της µορφής 127.xxx.yyy.zzz έχουν δεµευτεί για έλεγχο µε βρόχο επιτροφής (loopbak). Επεξεργάζονται τοπικά και αντιµετωπίζονται ως ειερχόµενα πακέτα. 5.4 Τα Πρωτόκολλα Μεταφοράς του Internet Το internet έχει δυο κύρια πρωτόκολλα το τρώµα µεταφοράς, ένα µε ύνδεη και ένα χωρίς ύνδεη. Το πρωτόκολλο µε ύνδεη είναι το TCP. Το πρωτόκολλο χωρίς ύνδεη είναι το UDP. Επειδή το UDP είναι βαικά απλώς το IP µε την προθήκη µιας µικρής επικεφαλίδας, το ενδιαφέρον θα ετιατεί το TCP. Για περιότερες πληροφορίες πάνω το TCP [1], [2], [3], [4]. Το πρωτόκολλο ελέγχου µεταφοράς TCP χεδιάτηκε ειδικά για να προφέρει έναν αξιόπιτο υρµό byte από άκρο ε άκρο, µέω ενός αξιόπιτου διαδικτύου. Ένα διαδίκτυο µπορεί να διαφέρει από ένα απλό δίκτυο, επειδή τα διαφορετικά του µέρη µπορεί να έχουν διαφορετικές τοπολογίες, διαφορετικό εύρος ζώνης, διαφορετικές καθυτερήεις, διαφορετικά µεγέθη πακέτων και άλλες διαφορετικές παραµέτρους. Το TCP χεδιάτηκε έτι ώτε να προαρµόζεται δυναµικά τις ιδιότητες του διαδικτύου και να είναι ανθεκτικό ως προς πολλά είδη ατοχιών. 107

108 Κάθε µηχανή που υποτηρίζει το TCP έχει µια οντότητα µεταφοράς TCP, η οποία είτε είναι µια διεργαία χρήτη ή τµήµα του πυρήνα που διαχειρίζεται τους υρµούς TCP και αποτελεί τη διεπαφή µε το τρώµα IP. Η οντότητα TCP δέχεται υρµούς δεδοµένων χρήτη από τοπικές διεργαίες, τους τεµαχίζει, ε κοµµάτια που δεν υπερβαίνουν τα 64 Kbyte και τέλνει κάθε κοµµάτι ως ένα ξεχωριτό IP datagram. Όταν δεδοµενογραφήµατα IP που περιέχουν δεδοµένα TCP φτάνουν την µηχανή τα αναλαµβάνει η οντότητα TCP, η οποία αναυνθέτει τους αρχικούς υρµούς byte. Το τρώµα IP δεν εξαφαλίζει ότι τα datagrams θα µεταδοθούν ωτά και έτι επαφίεται το TCP να διαπιτώει την εκπνοή του χρόνου και να επαναλάβει την µετάδοη, αν χρειάζεται. Τα datagrams που καταφέρνουν να φτάουν, είναι πιθανόν να φθάουν ε λάθος ειρά. Πάλι επαφίεται το TCP να τα υναρµολογήει ε µηνύµατα µε τη ωτή ειρά. Συνοπτικά το TCP πρέπει να προφέρει την αξιοπιτία που θέλει ο χρήτης και την οποία δεν µπορεί να του προφέρει το IP. Για να αποκτηθεί η υπηρεία TCP, ο αποτολέας και ο παραλήπτης δηµιουργούν ακραία ηµεία που αποκαλούνται υποδοχές (sokets). Κάθε υποδοχή έχει έναν αριθµό υποδοχής που αποτελείται από την διεύθυνη IP του host και από έναν τοπικό αριθµό 16 bit για κάθε host, αποκαλούµενου θύρα (port). Για να πάρουµε υπηρείες TCP, πρέπει να εγκαταταθεί ρητά µια ύνδεη µεταξύ µιας υποδοχής του µηχανήµατος αποτολής µε µια υποδοχή το µηχάνηµα λήψης. Μια υποδοχή µπορεί να χρηιµοποιηθεί για πολλές υνδέεις ταυτόχρονα. Με άλλα λόγια, δυο ή περιότερες υνδέεις µπορεί να τερµατίζουν την ίδια υποδοχή. Οι υνδέεις αναγνωρίζονται από τις ταυτότητες (identifiers) των υποδοχών τα δυο άκρα, δηλαδή [υποδοχή1, υποδοχή2]. Οι θύρες µε αριθµό κάτω από 1024 ονοµάζονται παίγνωτες θύρες (well known ports) και δεµεύονται για τυποποιηµένες υπηρείες. Όλες οι υνδέεις TCP είναι πλήρως αµφίδροµες και από ηµείο ε ηµείο. Πλήρως αµφίδροµες ηµαίνει ότι η κίνηη µπορεί να κυκλοφορήει και προς τις δυο κατευθύνεις ταυτόχρονα. Από ηµείο ε ηµείο ηµαίνει ότι η ύνδεη έχει ακριβώς δυο ακραία ηµεία. Μία ύνδεη TCP είναι ένας υρµός byte και όχι ένας υρµός µηνυµάτων. Τα όρια των µηνυµάτων δεν διατηρούνται από το ένα άκρο το άλλο. Για παράδειγµα, εάν η διαδικαία αποτολής γράψει τέερις φορές 512 byte τον υρµό TCP, αυτά τα δεδοµένα µπορούν να αποδοθούν την λαµβάνουα διεργαία αν τέερις οµάδες των 512 byte, δυο οµάδες των 1024 byte, µία οµάδα των 2048 byte ή κάποιον άλλο τρόπο. εν υπάρχει τρόπος ώτε ο παραλήπτης να βρει τις µονάδες µε τις οποίες γράφτηκαν τα δεδοµένα. Σχήµα 5.4.1: Τέερα τεµάχια των 512 byte µεταδόθηκαν ως ξεχωριτά IP datagrams, 2048 byte δεδοµένων παραδίδονται την εφαρµογή προοριµό. Όταν µια εφαρµογή περνάει δεδοµένα το TCP, το TCP µπορεί κατά την κρίη του να τα τείλει αµέως ή να τα τοποθετήει ε χώρο προωρινής 108

109 Κεφάλαιο 5 αποθήκευης (ώτε να υγκεντρώει και να τείλει µεγαλύτερο όγκο δεδοµένων µε τη µία). Μερικές φορές, παρόλα αυτά, η εφαρµογή θέλει πραγµατικά να αποταλούν τα δεδοµένα αµέως. Οι εφαρµογές, για να προκαλέουν τη έξοδο των δεδοµένων, µπορούν να χρηιµοποιήουν τη ηµαία PUSH που λέει το TCP να µην καθυτερήει την µετάδοη. Κάθε byte ε µια ύνδεη TCP έχει τον δικό του αύξοντα αριθµό των 32 bit. Για έναν host που µεταδίδει ε πλήρη ταχύτητα ε δίκτυο LAN των 10 Mbps οι αύξοντες αριθµοί θα αναδιπλωθούν ε περίπου µια ώρα, αλλά την πράξη θα πάρει περιότερο. Οι αύξοντες αριθµοί χρηιµοποιούνται τόο για τις επαληθεύεις όο και για τον µηχανιµό του παραθύρου, o οποίος χρηιµοποιεί ξεχωριτά πεδία επικεφαλίδας των 32 bit. Οι αποτέλλουες και λαµβάνουες οντότητες TCP ανταλλάουν δεδοµένα µε την µορφή τεµαχίων. Το τεµάχιο (segment) αποτελείται από µια ταθερή επικεφαλίδα των 20 byte, ακολουθούµενη από µηδέν ή περιότερα byte δεδοµένων. Το λογιµικό του TCP αποφαίζει για το µέγεθος των τεµαχίων. Μπορεί να υωρεύει δεδοµένα από πολλές εγγραφές ε ένα τεµάχιο ή να διαχωρίει δεδοµένα µιας εγγραφής ε πολλαπλά τεµάχια. υο περιοριµοί υπαγορεύουν το µέγεθος του τεµαχίου. Πρώτον, κάθε τεµάχιο, υµπεριλαµβανοµένης της επικεφαλίδας TCP, πρέπει να χωράει ε ένα ωφέλιµο φορτίο IP. εύτερον, κάθε δίκτυο έχει µια µέγιτη µονάδα µεταφοράς (Maximum Transfer Unit) και κάθε τεµάχιο πρέπει να χωράει την MTU. Στην πράξη η MTU είναι εν γένει λίγες χιλιάδες byte και έτι ορίζει το άνω όριο του µεγέθους τεµαχίου. Εάν ένα τεµάχιο περάει µέα από µια ειρά δικτύων χωρίς να διαπατεί και κατόπιν υναντήει ένα δίκτυο που έχει µικρότερη MTU από το τεµάχιο, ο δροµολογητής που βρίκεται το όριο κοµµατιάζει το τεµάχιο ε δυο ή περιότερα τεµάχια. Ένα τεµάχιο, που είναι πολύ µεγάλο για το δίκτυο το οποίο πρέπει να διαχίει, κοµµατιάζεται ε πολλά τεµάχια από τον δροµολογητή. Το κάθε νέο τεµάχιο αποκτά δικές του επικεφαλίδες TCP και IP, κατά υνέπεια ο τεµαχιµός από τους δροµολογητές αυξάνει την υνολική επιβάρυνη (αφού κάθε πρόθετο τεµάχιο προθέτει 40 επιπλέον byte πληροφοριών επικεφαλίδας). Το βαικό πρωτόκολλο που χρηιµοποιείται από τις οντότητες TCP είναι το πρωτόκολλο του ολιθαίνοντος παραθύρου. Όταν ο αποτολέας µεταδίδει ένα τεµάχιο, εκκινεί επίης έναν χρονοµετρητή. Όταν το τεµάχιο φτάει τον προοριµό του, η λαµβάνουα οντότητα TCP επιτρέφει ένα τεµάχιο (µε δεδοµένα εάν υπάρχουν, αλλιώς χωρίς δεδοµένα) που µεταφέρει αριθµό επαλήθευης ίο µε τον αύξοντα αριθµό που περιµένει να δεχτεί. Αν το χρονόµετρο του αποτολέα λήξει πριν λάβει την επαλήθευη, τότε ο αποτολέας µεταδίδει το τεµάχιο ξανά. Για την αποφυγή κατατάεων υµφόρηης το πρωτόκολλο TCP προτείνει δυο µηχανιµούς που πλαιιώνουν το πρωτόκολλο του ολιθαίνοντος παραθύρου. Αυτοί οι µηχανιµοί είναι: Ο µηχανιµός της πολλαπλαιατικής µείωης (multipliative derease ongestion avoidane) ύµφωνα µε τον οποίο ε περίπτωη απώλειας ενός πακέτου το παράθυρο υµφόρηης µειώνεται το µιό (µέχρι ένα ελάχιτο ίο µε ένα πακέτο). Αφού µειωθεί το παράθυρο το µιό για τα πακέτα που παραµένουν ε αυτό, αυξάνεται ο χρονοµετρητής εκθετικά (exponential bakoff). Αργού ξεκινήµατος (slow start reovery). Όταν η κυκλοφορία ξεκινά ε µια καινούργια ύνδεη, ή αυξάνεται µετά από µια κατάταη υµφόρηης, το µέγεθος του παραθύρου υµφόρηης τίθεται να είναι ένα πακέτο. Με κάθε άφιξη επιβεβαίωης (εννοείται χωρίς επαναµετάδοη) αυξάνεται κατά ένα. 109

110 110

111 Κεφάλαιο 6 Πλατφόρµa Υλοποίηης Λογιµικού Java 111

112 112

113 Κεφάλαιο 6 6 Πλατφόρµα Υλοποίηης Λογιµικού Java 6.1 Επικόπηη της Πλατφόρµας Java 2 Η ραγδαία εξάπλωη του ιαδικτύου (Internet) και του Παγκόµιου Ιτού (World-Wide-Web) δηµιούργηαν την ανάγκη νέων τρόπων ανάπτυξης και διανοµής του λογιµικού. Οι απαιτήεις αυτές οδήγηαν την δηµιουργία της γλώας προγραµµατιµού Java από την εταιρία Sun Mirosystems. Η Java χεδιάτηκε µε κοπό την ανάπτυξη εφαρµογών που τρέχουν ε ετερογενή δικτυακά περιβάλλοντα Ιτορία της Γλώας Java Το 1991, χηµατίτηκε από την Sun Mirosystems µια ερευνητική οµάδα µε την ονοµαία Green Projet, µε κοπό να αναπτύξει λογιµικό για έλεγχο ηλεκτρονικών υκευών ευρείας κατανάλωης. Οι ερευνητές ήλπιζαν να αναπτύξουν µια γλώα προγραµµατιµού που θα λειτουργούε ε έξυπνες υκευές το µέλλον, όπως διαλογικές τηλεοράεις ή διαλογικές τοτιέρες. Οι ερευνητές της Sun ήθελαν επίης αυτές οι υκευές να επικοινωνούν µεταξύ τους, έτι ώτε η µια υκευή να µπορεί να δώει πληροφορίες ε µια άλλη. Για να προχωρήουν την έρευνα τους, οι ερευνητές της οµάδας Green ανέπτυξαν µια πρωτότυπη υκευή µε όνοµα Star7, ένα µηχανιµό τύπου remote ontrol που µπορούε να επικοινωνεί µε άλλες υκευές του ίδιου τύπου. Η αρχική ιδέα ήταν να αναπτύξουν το λειτουργικό ύτηµα Star7 ε C++, την δηµοφιλή γλώα προγραµµατιµού, που αναπτύχθηκε από τον Bjarne Stroustrup. Αλλά όµως το µέλος της οµάδας James Gosling ενοχλήθηκε από την λειτουργικότητα της C++, οπότε κλείτηκε το γραφείο του και έγραψε µια νέα γλώα προγραµµατιµού, που µπορούε να χειριτεί καλύτερα το Star7. Η γλώα ονοµάτηκε Oak, ενώ η Sun αργότερα ανακάλυψε ότι το όνοµα Oak χρηιµοποιούταν ήδη και αναγκάτηκε να το αλλάξει ε Java. Επειδή χεδιάτηκε για οικιακές υκευές και όχι για PC, η Java έπρεπε να είναι µικρή, αποδοτική και εύκολα µεταφερτή τις πολλές οικιακές υκευές. Έπρεπε επίης να είναι αξιόπιτη. Οι άνθρωποι έχουν µάθει να ζουν µε τις περιταιακές καταρρεύεις των υτηµάτων τους. εν είναι όµως εύκολο να έχουν τοτιέρα που καίει υνεχώς τα τοτ τους. Αν και η Java αρχικά δεν εργάτηκε αν εργαλείο ανάπτυξης διαλογικών οικιακών υκευών, τα πράγµατα που την έκαναν καλή για το Star7 αποδείχτηκαν ότι αποδίδουν εξίου καλά και για το World Wide Web. Επίης η Java µπορεί να χρηιµοποιηθεί αν µια γλώα προγραµµατιµού γενικής χρήης για ανάπτυξη λογιµικού, που µπορεί να εκτελείται ε διαφορετικές πλατφόρµες. Για να επιδειχθούν οι δυνατότητες της Java και να διαωθεί το ερευνητικό της έργο, δηµιουργήθηκε ένας εξετατής Web το 1994, ο οποίος µπορούε να εκτελεί µικροεφαρµογές Java. Ο εξετατής επέδειξε δύο πράγµατα για την Java: τι προέφερε το World Wide Web και τι είδους προγράµµατα µπορούε να δηµιουργήει. Οι 113

114 προγραµµατιτές Patrik Naughton και Jonathan Payne χρηιµοποίηαν την Java για να δηµιουργήουν τον εξετατή, που αρχικά ονοµάτηκε WebRunner αλλά µετονοµάτηκε ε HotJava. Αν και, η Java και ο εξετατής HotJava έτυχαν ιδιαίτερης προοχής την κοινότητα του Web, η γλώα απογειώθηκε πραγµατικά όταν η Netsape έγινε η πρώτη εταιρεία που έδωε άδεια χρήης την γλώα τον Αύγουτο του Εκδόεις της Γλώας Java Η Sun έχει εκδώει τρεις βαικές εκδόεις της γλώας Java: Java Ευρύτερα υποτηριζόµενη από εξετατές Web Java Μια έκδοη της άνοιξης του 1997, µε βελτιώεις την διαύνδεη χρήτη, τον χειριµό υµβάντων και µεγαλύτερη υνέπεια ε όλη την γλώα Java 2 - Η νέα έκδοη, που εκδόθηκε αν έκδοη βήτα τον εκέµβριο του 1997 ως Java Development Kit (JDK) 1.2, και τελικά εκδόθηκε τον εκέµβριο του 1998 µε την ονοµαία "Java 2" [1] Χαρακτηριτικά της Γλώας Java Η πλατφόρµα JAVA 2 υποτηρίζει τα ακόλουθα χαρακτηριτικά: 1.Η όλη διαδικαία προγραµµατιµού πραγµατοποιείται την αντικειµενοτραφή γλώα JAVA. Συντακτικά, αυτή είναι παρόµοια µε την C++, αλλά οι δύο γλώες έχουν βαικές διαφορές. Μία από τις µεγαλύτερες διαφορές βρίκεται την διαχείριη και την αναφορά αντικειµένων. Η γλώα προγραµµατιµού JAVA δεµεύει και αποδεµεύει µνήµη αυτόµατα καθώς το πρόγραµµα δηµιουργεί και κατατρέφει αντικείµενα. Οι προγραµµατιτές της C++ πρέπει να δεµεύουν και να ελευθερώνουν µνήµη µε αφή τρόπο. υάρετες κατατάεις που περιλαµβάνουν διαρροές µνήµης και απρόβλεπτες υµπεριφορές παρατηρούνται καθώς τα προγράµµατα προπαθούν να χρηιµοποιήουν αντικείµενα που δεν χρηιµοποιούνται πλέον. Όπου οι προγραµµατιτές ε JAVA δηµιουργούν και χρηιµοποιούν, προβλέψιµες και αφαλείς, άµεες αναφορές (referenes) ε αντικείµενα, οι προγραµµατιτές ε C++ χρηιµοποιούν δείκτες (pointers), µια πρακτική η οποία εγκυµονεί κινδύνους από διάφορες απόψεις. Οι δείκτες µπορούν να αλλάξουν τιµή άµεα, ορίζοντας τους να δείχνουν ε µνήµη που δεν τους ανήκει. Οι δείκτες µπορούν να µετατραπούν (ast) ε οποιονδήποτε άλλο τύπο αντικειµένου, διευκολύνοντας έτι µια εφαρµογή να απαιτεί υπηρείες από ένα αντικείµενο, το οποίο δεν παρέχει. Σε κώδικα JAVA, οι αναφορές ε αντικείµενα µπορούν να δείχνουν µόνο ε έγκυρα αντικείµενα και δεν µπορούν να µετατραπούν ε πρωτογενείς (arbitrary) τύπους. Μία ακόµα θεµελιώδης διαφορά ανάµεα τις δύο γλώες βρίκεται τους µηχανιµούς µε τους οποίους δίνουν ε ένα αντικείµενο πολλαπλούς τύπους. Η C++ υποτηρίζει πολλαπλή κληρονοµικότητα (multiple inheritane), το οποίο ηµαίνει ότι οι κλάεις µπορούν να έχουν πολλαπλές βαικές κλάεις. Αυτός ο µηχανιµός οδηγεί ε αάφεια και ύγχυη. Η γλώα JAVA αντικαθιτά αυτόν το µηχανιµό µε ένα πιο ξεκάθαρο είδος αφαιρετικής δοµής, τις 114

115 Κεφάλαιο 6 διεπαφές (interfaes). Μία κλάη JAVA µπορεί να έχει µία µόνο βαική κλάη (parent lass) αλλά µπορεί να υλοποιεί πολλαπλές διεπαφές. 2.Η πλατφόρµα JAVA χρηιµοποιεί αρχιτεκτονική εικονικής µηχανής (virtual mahine), ή (όπως αλλιώς είναι γνωτή) διερµηνέα JAVA (Java Interpreter ή Java runtime). Αυτό είναι προτέρηµα από διάφορες πλευρές: Η εικονική µηχανή µπορεί να υλοποιηθεί ώτε να λειτουργεί ε διάφορα λειτουργικά υτήµατα και πλατφόρµες µε ταθερότητα. Επιπροθέτως η εικονική µηχανή παρέχει αυτηρό έλεγχο ε εκτελούµενα προγράµµατα, δίνοντας έτι την δυνατότητα για αφαλή εκτέλεη αναξιόπιτου κώδικα. ηλαδή η εικονική µηχανή παίρνει µεταγλωττιµένα προγράµµατα Java από προγράµµατα πηγαίου κώδικα και µετατρέπει τις εντολές τους ε εντολές που µπορεί να χειριτεί ένα λειτουργικό ύτηµα. Το ίδιο µεταγλωττιµένο πρόγραµµα που υπάρχει ε µια µορφή ψευτοκώδικα που καλείται byteode µπορεί να εκτελείται ε οποιαδήποτε άλλη πλατφόρµα και λειτουργικό ύτηµα που διαθέτει µια εικονική µηχανή της Java. Πηγαίος κώδικας (soure ode) είναι το ύνολο των προτάεων προγραµµατιµού που ειάγει ένας προγραµµατιτής ε ένα κειµενογράφο όταν δηµιουργεί ένα πρόγραµµα. Byteode είναι η έκδοη κώδικα µηχανής της εικονικής µηχανής της Java, δηλαδή οι εντολές που καταλαβαίνει µε άµεο τρόπο. Ο πηγαίος κώδικας µεταγλωττίζεται ε byteode έτι ώτε να µπορεί να εκτελετεί από µια εικονική µηχανή Java. 3.Η πλατφόρµα Java περιλαµβάνει µια εκτεταµένη υλλογή από υγκεκριµένες βιβλιοθήκες κλάεων που ονοµάζονται ιεπαφές Προγραµµατιµού Εφαρµογών (Appliation Programming Interfaes ύντοµα APIs). Αυτά υποτηρίζουν οτιδήποτε µπορεί µια εφαρµογή να χρειάζεται, από περιβάλλοντα χρήτη µέχρι κρυπτογραφία. 4.Υποτηρίζεται δηµιουργία ανεξάρτητων εφαρµογών και applets. Applets ονοµάζονται προγράµµατα που περιλαµβάνονται ε ελίδες Γλώας Σήµανης Υπερκειµένου (ΗyperText Markup Language / HTML) και εκτελούνται από τον εξετατή (Web browser). 5.Η Java είναι κατανεµηµένη (distributed), δηλαδή ένα πρόγραµµα Java είναι δυνατό να εγκαταταθεί και να λειτουργήει διαµέου του ιαδικτύου ή ακόµα και από διαφορετικές υκευές το ιαδίκτυο. 6.Η πλατφόρµα Java είναι αφαλής (seure), καθώς το ιαδίκτυο ελλοχεύουν πολλοί κίνδυνοι για τον χρήτη παραλήπτη µιας δικτυακής εφαρµογής, ενώ η Java έχει χεδιατεί έτι ώτε να ελαχιτοποιείται η πιθανότητα προβολής του υτήµατος του χρήτη από κάποιο πρόγραµµα γραµµένο για αυτό το κοπό. 7. Υποτηρίζει ταυτοχρονιµό (multithreading). Η Java υποτηρίζει εγγενώς την χρήη νηµάτων (Threads). Προκειµένου να το πετύχει αυτό ε υτήµατα µε έναν επεξεργατή, το Java runtime system (interpreter) υλοποιεί ένα δικό του 115

116 χρονοδροµολογητή (sheduler), ενώ ε υτήµατα που υποτηρίζουν πολυεπεξεργαία η δηµιουργία νηµάτων ανατίθεται το λειτουργικό ύτηµα. Η όλη διαδικαία είναι αόρατη τόο τον προγραµµατιτή όο και τον χρήτη. 8. Τέλος η Java υποτηρίζει εφαρµογές πολυµέων τόο µε την ευελιξία της αν γλώα προγραµµατιµού όο και µε τις πλούιες και υνεχώς εµπλουτιζόµενες βιβλιοθήκες [2], [3] Τοµείς της Γλώας Java Η πλατφόρµα Java αποτελείται λοιπόν από την γλώα προγραµµατιµού Java, από την εικονική µηχανή Java και από τα Java APIs (βιβλιοθήκες). Είναι χεδιαµένη να αναφέρεται ε ένα τεράτιο πλήθος από υπολογιτικά υτήµατα, ε οτιδήποτε από έξυπνες κάρτες (smart ards) έως εταιρικούς εξυπηρετητές. Έτι είναι αναγκαίος ο διαχωριµός της πλατφόρµας Java ε τρεις τοµείς-εκδόεις: Java 2, κανονική έκδοη (Standard Edition /J2SE) η οποία είναι χεδιαµένη για επιτραπέζιους υπολογιτές (desktop omputers). Συνήθως είναι εγκατατηµένη επάνω ε λειτουργικά υτήµατα όπως Linux, Solaris ή Mirosoft Windows. Java 2, εταιρική έκδοη (Enterprise Edition/J2EE) η οποία είναι µια πλήρης πλατφόρµα για εφαρµογές µε πολλούς χρήτες. Στηρίζεται την J2SE και προθέτει APIs για προγραµµατιµό από την πλευρά του εξυπηρετητή. Java 2, µικρο-έκδοη (Miro Edition/ J2ME) η οποία είναι ένα ύνολο από τεχνολογίες και πρότυπα ανεπτυγµένα για µικρές υκευές όπως έξυπνες κάρτες, κινητά τηλέφωνα και υπολογιτές παλάµης (Palmtop). Η J2ME χρηιµοποιεί υπούνολα των τοιχείων της J2SE όπως µικρότερες εικονικές µηχανές και περιοριµένα APIs. Πρότυπα των J2SE, J2ME, J2EE αναπτύονται υπό την αιγίδα του Συµβουλίου Εξέλιξης της Java (Java Community Proess/JCP) [4]. Ένα πρότυπο ξεκινά να υπάρχει ως Αίτηη Προτύπου Java (Java Speifiation Request/JSR). Μια οµάδα από ειδικούς που περιλαµβάνει αντιπροώπους από ενδιαφερόµενες εταιρίες υγκεντρώνεται ώτε να δηµιουργήει το πρότυπο. Μετά το JSR περνά από διάφορα τάδια το JCP µέχρι να τελειοποιηθεί. Σε κάθε JSR δίνεται ένας κωδικός. Τα πρότυπα της J2ME υνήθως αναφέρονται µε τον κωδικό τους [3]. 6.2 Επικόπηη της Java 2 Miro Edition (J2ME) Αντιθέτως προς την J2SE, η J2ME δεν είναι είδος λογιµικού, ούτε ένα µοναδικό πρότυπο. Αυτή η διαφορά µπορεί να προκαλέει αάφειες, ακόµα και για προγραµµατιτές που ήδη είναι εξοικειωµένοι µε την J2SE. Η J2ME είναι µια υλλογή από τεχνολογίες και πρότυπα που είναι χεδιαµένα για διαφορετικούς τοµείς της αγοράς µικρών υκευών. Επειδή ακριβώς η J2ME αναφέρεται ε µια τέτοια ποικιλία 116

117 Κεφάλαιο 6 υκευών, δεν θα είχε νόηµα η προπάθεια δηµιουργίας µιας λύης που να «χωρά ε όλα» (one-size-fits-all). Για αυτό λοιπόν η J2ME είναι διαιρεµένη ε υνθέεις (onfigurations) και προφίλ (profiles). Συνθέεις (onfigurations) ονοµάζονται πρότυπα που περιλαµβάνουν µια εικονική µηχανή (Virtual Mahine/VM) για να εκτελείται byteode και ένα βαικό ύνολο από APIs που µπορούν να χρηιµοποιηθούν ε µια υγκεκριµένη κατηγορία υκευών. Για παράδειγµα µια ύνθεη µπορεί να έχει χεδιαθεί για υκευές µε µνήµη τυχαίας προπέλαης (RAM/ Random Aess Memory) λιγότερη από 512 ΚΒ. Η εικονική µηχανή είναι είτε πλήρης εικονική µηχανή Java (full Java Virtual Mahine/JVM), όπως περιγράφεται το πρότυπο, είτε ένα υπούνολο αυτής. Το ύνολο των APIs είναι ανάλογα µε την περίταη υπούνολο της J2SE. Τα Προφίλ (profiles) δηµιουργούνται επάνω ε µια ύνθεη αλλά προθέτουν περιότερα υγκεκριµένα APIs ώτε να δηµιουργηθεί ένα ολοκληρωµένο περιβάλλον για την ανάπτυξη εφαρµογών. Ενώ δηλαδή µία ύνθεη περιγράφει µια εικονική µηχανή και ένα τοιχειώδες ύνολο από APIs, δεν επιτρέπει µε εύχρητο τρόπο την δηµιουργία εφαρµογών. Τα προφίλ υνήθως περιλαµβάνουν APIs για τον κύκλο ζωής της εφαρµογής (appliation life irle), για το περιβάλλον χρήτη (user interfae) και για µόνιµη αποθήκευη. Αυτά τα τοιχεία αποτελούν την αρχιτεκτονική της J2ME όπως φαίνεται το χήµα παρακάτω. Τον πυρήνα της J2ME αποτελεί µια ύνθεη, της οποίας η εικονική µηχανή αλληλεπιδρά µε το λειτουργικό ύτηµα της υκευής. Ένα ή περιότερα προφίλ προθέτουν προγραµµατιτικές βιβλιοθήκες που παρέχουν υπηρείες όπως Είοδο/Έξοδο (Input-Output I/O) και γραφικό περιβάλλον χρήτη (Graphial User Interfae /GUI). Μια ύνθεη και ένα προφίλ µαζί υνθέτουν ένα περιβάλλον εκτέλεης (runtime environment). Ένας αριθµός προαιρετικών πακέτων επεκτείνουν την πλατφόρµα J2ME, προφέροντας υγκεκριµένα APIs για χρήη υπαρχόντων και αναπτυόµενων τεχνολογιών (όπως Bluetooth και υπηρείες διαδικτύου). Τα προαιρετικά πακέτα προφέρουν πρόβαη ε υπηρείες που είναι χρήιµες ε περιότερες από µία κατηγορίες υκευών, αλλά όχι ε όλες [5]. Σχήµα 6.2.1: J2ME Αρχιτεκτονική 117

118 Η παρούα κατάταη από ρυθµίεις και προφίλ φαίνεται το χήµα Για επεξήγηη των υντοµογραφιών βλέπε τον πίνακα παρακάτω. Κάθε πρότυπο έχει αναπτυχθεί από το JCP (Java Community Proess). Στο διάγραµµα τα ολοκληρωµένα πρότυπα υµβολίζονται µε πυκνό χρωµατιµό, ενώ τα πρότυπα που δεν έχουν ολοκληρωθεί µε αχνό χρωµατιµό. Επίης φαίνεται ο χετικός κωδικός JSR (Java Speifiation Request). Σχήµα.6.6.2: έντρο J2ME Όπως φαίνεται το διάγραµµα, το δέντρο J2ME έχει δύο κύριες διακλαδώεις. Η πρώτη βαίζεται το Conneted, Limited Devie Configuration (CLDC). Αυτή η ύνθεη είναι για µικρότερες υκευές µε µη-µόνιµη δικτυακή ύνδεη, όπως κινητά τηλέφωνα και Ψηφιακοί Προωπικοί Βοηθοί (Personal Digital Assistant). To Mobile Information Devie Profile (MIDP), το οποίο βαίζεται το CLDC είναι το πρώτο ολοκληρωµένο προφίλ και έτι το πρώτο ολοκληρωµένο περιβάλλον ανάπτυξης εφαρµογών ε J2ME. Η άλλη κύρια διακλάδωη του δέντρου J2ME βαίζεται το Conneted Devie Configuration (CDC). Αυτή η ύνθεη είναι κατάλληλη για µεγαλύτερες υκευές (όον αφορά τη µνήµη και την επεξεργατική ιχύ) µε ταθερές υνδέεις δικτύου. Ευφυείς οικιακές υκευές και υψηλών επιδόεων PDA όπως το i- Paq της Compaq είναι χαρακτηριτικά παραδείγµατα αυτής της ύνθεης. Το Θεµελιώδες Προφίλ (Foundation Profile) επεκτείνει το CDC και λειτουργεί ως η βάη για άλλα προφίλ. Παρέχει θεµελιώδη API που προέρχονται από το J2SE, υµπεριλαµβάνοντας κλάεις και διεπαφές από τα πακέτα java.lang, java.io, java.seurity, java.util. Η πλατφόρµα Java που αναφέρεται τις µικρές υκευές περιλαµβάνει επίης τις τεχνολογίες Java Card, για µικρές κάρτες (smart ards) και PersonalJava. Η PersonalJava ήταν ένα περιβάλλον εφαρµογών βαιµένο το Java Development Kit 1.1 και είχε µια ανεξάρτητη ύπαρξη πριν δηµιουργηθεί η J2ME. Το Προωπικό προφίλ (Personal Profile) υνενώνει την PersonalJava µε την J2ME καθώς η επόµενη έκδοη της PersonalJava είναι ένα πρότυπο προφίλ της J2ME βαιµένο την CDC ύνθεη. 118

119 Κεφάλαιο 6 Οι υκευές υλοποιούν µια πλήρη τοίβα λογιµικού, η οποία περιλαµβάνει µία ύνθεη, ένα προφίλ και προαιρετικά APIs. Για παράδειγµα, ύγχρονα κινητά τηλέφωνα υµβατά µε J2ME υλοποιούν την εξής τοίβα Σχήµα 6.2.3: Παράδειγµα τοίβας J2ME ενώ τα κινητά τρίτης γενιάς υλοποιούν την εξής τοίβα, η οποία περιλαµβάνει τις βιβλιοθήκες Mobile Media API (MMAPI) και οι οποίες επιτρέπουν την αναπαραγωγή και την υλλογή δεδοµένων πολυµέων ήχου και βίντεο Σχήµα 6.2.4: Παράδειγµα J2ME τοίβας κινητών τρίτης γενιάς Ο επόµενος πίνακας περιλαµβάνει προηγούµενες και ύγχρονες ρυθµίεις, προφίλ και βιβλιοθήκες. 119

120 Πίνακας 6.2.1: Προηγούµενες και ύγχρονες ρυθµίεις, προφίλ και βιβλιοθήκες J2ME Για περιότερα βλέπε το [3]. 6.3 CDC Configuration J2ME. To χήµα δείχνει πως ακριβώς υλοποιεί η ύνθεη CDC την αρχιτεκτονική της Σχήµα J2ME CDC και χετικές τεχνολογίες 120

121 Κεφάλαιο 6 Tο CDC onfiguration είναι µια προπάθεια προτύπου µε κωδικό JSR 36 [4] για να τυποποιηθεί ένα ύνολο από φορητές οικιακές και ενωµατωµένες υκευές. Παρέχει ένα ύνολο από βαικές βιβλιοθήκες και µια εικονική µηχανή Java κατάλληλη για χρήη από προφίλ ε κάθετες αγορές προϊόντων. Το CDC τοχεύει ε ιχυρές υκευές που περιοδικά υνδέονται ε ένα δίκτυο όπως διαλογικές τηλεοράεις, οικιακές υκευές και υτήµατα πλοήγηης αυτοκινήτου. Το CDC περιέχει µια πλήρη εικονική µηχανή µε δυνατότητες παρόµοιες µε αυτές των εικονικών µηχανών της J2SE. Η κύρια διαφορά βρίκεται την µνήµη και τις δυνατότητες απεικόνιης των υκευών για τις οποίες προορίζεται. Πρέπει λοιπόν µια υκευή για να υποτηρίζει το πρότυπο CDC της J2ME να ικανοποιεί τις εξής προϋποθέεις: επεξεργατής 32-bit διαθέιµη µνήµη το περιβάλλον Java τουλάχιτον 2 MB, υµπεριλαµβάνοντας τόο την µνήµη RAM όο και µνήµη flash ή ROM πλήρη λειτουργικότητα της εικονικής µηχανής Java ύµφωνα µε τις προδιαγραφές προαιρετική ύπαρξη διεπαφής χρήτη (user interfae) Οι ελάχιτες βιβλιοθήκες API που υποτηρίζει το CDC (που επί της ουίας είναι τα πακέτα που απαιτούνται από την J2SE v1.3) για να υλοποιηθεί και να εκτελετεί µια εικονική µηχανή είναι: java.lang : κλάεις υτήµατος εικονικής µηχανής java.io : κλάεις ειόδου -εξόδου java.net : UDP (datagrams) java.util : κλάεις γενικής χρήης Java java.text : ελάχιτη υποτήριξη διεθνοποίηης java.seurity : ελάχιτη υποτήριξη αφάλειας και κρυπτογράφηης για ειριοποίηη αντικειµένων Η εικονική µηχανή του CDC καθορίζει το δικό της υπούνολο χαρακτηριτικών εικονικής µηχανής Java και φέρει την ονοµαία CVM. H παρούα υλοποίηη που είναι διαθέιµη από την Sun Mirosystems εκτελείται ε Linux ή VxWorks. Έχει αναπτυχθεί χεδόν εξ' ολοκλήρου ε C και περιέχει ένα καλά τεκµηριωµένο τρώµα διαυνδέεων που διευκολύνει οποιονδήποτε θέλει να χεδιάει µια νέα πλατφόρµα. Τα προφίλ που έχουν αναπτυχθεί ύµφωνα µε το CDC είναι τα Foundation Profile, Personal Profile και Personal Basis Profile [5]. 121

122 6.4 Personal Profile To Personal Profile (JSR 62) [4] είναι ένα προφίλ της J2ME, µια προδιαγραφή για ένα τυπικό διερµηνέα Java. Είναι κοµµάτι τοίβας λογιµικού που έχει χεδιαθεί για υκευές όπως το Sharp Zaurus και το Compaq ipaq, ενώ έχει χηµατιτεί επάνω τα Personal Basis Profile [4] και Foundation Profile [4], δηλαδή ε τελική ανάλυη επάνω το Conneted Devie Configuration [4]. Σχήµα Στοίβα λογιµικού Personal Profile Foundation Profile To Foundation Profile [6] προθέτει κυρίως J2SE API που έχουν παραληφθεί από το CDC. Συγκεκριµένα προθέτει τα: java.io java.lang java.net java.seurity java.seurity.ert java.text java.util java.util.jar java.util.zip και κλάεις από τρία πακέτα που δεν υπάρχουν το CDC: java.seurity.al java.seurity.interfaes 122

123 Κεφάλαιο 6 ava.seurity.spe Personal Basis Profile To Personal Basis Profile είναι ένα υπερύνολο του Foundation Profile µε τρία νέα χαρακτηριτικά: το µοντέλο εφαρµογής Xlet που υιοθετήθηκε από τα Java TV API ένα υπούνολο της Αφηρηµένης Παραθυρικής Συλλογής Εργαλείων (Abstrat Windowing Toolkit /AWT) της J2SE για την δηµιουργία διεπαφών χρήτη βαιµένες αποκλειτικά ε ελαφρά (lightweight) υτατικά επικοινωνία Inter-Xlet (ΙΧC) που αποτελεί υπερύνολο του Remote Method Invoation (RMI) API Συγκεκριµένα προθέτει τα java.awt java.awt.olor java.awt.event java.awt.image java.beans java.rmi java.rmi.registry Σηµειώνεται ότι το PBP δεν υποτηρίζει το RMI. Τα java.rmi και java.rmi.registry χρηιµοποιούνται για να υποτηρίξουν το IXC [6] Ανάλυη του Personal Profile To Personal Profile αποτελεί µετεξέλιξη µιας παλαιότερης έκδοης Java, της PersonalJava, η οποία έχει υλοποιηθεί ύµφωνα µε το JDK Η PersonalJava χρηιµοποιεί εικονική µηχανή όπως και η J2SE. Αλλά µετά την εµφάνιη του JDK 1.1.8, η PersonalJava και το J2SE έχουν εξελιχθεί ξεχωριτά. Ουιατικά, η PersonalJava βρίκεται ανάµεα ε J2SE και CLDC/MIDP της J2ME. Η τοίβα του Personal Profile έχει δοµηθεί επάνω το CDC το οποίο ορίζει µια εικονική µηχανή και ένα τοιχειώδες ύνολο API [7]. 123

124 To Personal Profile είναι υπερύνολο του Personal Basis Profile που προθέτει τα εξής χαρακτηριτικά: υποτήριξη applet για δηµιουργία εφαρµογών βαιµένων ε εξετατές ένα πιο εκτεταµένο υπούνολο AWT που υµπεριλαµβάνει και βαριά (heavyweight) υτατικά, γεγονότα (events), όπως επίης και depreated (µηπροτεινόµενα) API υποτήριξη προχείρου µέω της υλοποίηης ενός υπουνόλου του πακέτου java.awt.datatransfer Επίης προτίθενται κλάεις από τρία πακέτα του J2SE 1.3: java.applet java.awt java.awt.datatransfer Σηµειώνουµε ότι τα επόµενα πακέτα υποτηρίζονται τόο από το PersonalJava όο και από το Personal Profile [6]: java.applet java.awt.datatransfer java.awt.event java.awt.image java.io java.lang java.reflet java.net java.seurity java.seurity.ert java.seurity.interfaes java.seurity.spe java.text java.util java.util.jar java.util.zip 124

125 Κεφάλαιο Αύρµατη Τεχνολογία Java Η αύρµατη τεχνολογία Java είναι η ένωη δύο τεράτιων τεχνολογιών: των αύρµατων επικοινωνιών και της πλατφόρµας Java. Η αύρµατη τεχνολογία Java περιλαµβάνει κοµµάτια από J2ME, PersonalJava, J2ME και J2EE. Πρέπει να γίνει αφής ο διαχωριµός ανάµεα τις δύο έννοιες. Η αύρµατη τεχνολογία Java και η J2ME δεν αναφέρονται το ίδιο αντικείµενο. Η J2ME αναπτύεται τόο ε αύρµατες όο και ε µη-αύρµατες υκευές. Για παράδειγµα υκευές υµβατές µε το CDC έχουν υνήθως ταθερή ύνδεη Ethernet. Από την άλλη πλευρά, η αύρµατη τεχνολογία Java δεν περιορίζεται την J2ME αποκλειτικά. Είναι δυνατή για παράδειγµα η ύνδεη ενός φορητού υπολογιτή ή ενός υπολογιτή παλάµης, οι οποίοι τρέχουν J2SE εφαρµογές δια µέου αυρµάτου τοπικού δικτύου [3]. 6.6 Η πλατφόρµα Java την Ανάπτυξη Αύρµατων Εφαρµογών Η πλατφόρµα Java αποτελεί την άριτη επιλογή για αύρµατες εφαρµογές για τους εξής λόγους: Η πλατφόρµα Java είναι αφαλής. Ο κώδικας ε γλώα Java εκτελείται πάντα µε τους περιοριµούς της εικονικής µηχανής, η οποία παρέχει ένα αφαλές περιβάλλον για να εκτελείται αποθηκευµένος κώδικας. Μια δυαδική εφαρµογή θα µπορούε να προκαλέει το ταµάτηµα ή την κατάρρευη µιας υκευής. Σε αντιδιατολή, µια εφαρµογή Java την χειρότερη περίπτωη µπορεί να προκαλέει την κατάρρευη της εικονικής µηχανής και όχι της υκευής. Η γλώα Java ενθαρρύνει τον αποδοτικό προγραµµατιµό. Ο υλλέκτης κουπιδιών προφυλάει τους προγραµµατιτές από αµέτρητες ώρες προπάθειας κάλυψης των διαρροών µνήµης. Οµοίως οι µηχανιµοί εξαιρέεων της γλώας Java ενθαρρύνουν τους προγραµµατιτές να δηµιουργούν ενιαίο και ταθερό κώδικα. Η υµβατότητα είναι ένα µεγάλο προτέρηµα της τεχνολογίας Java. Ένα εκτελέιµο αρχείο µπορεί να εκτελετεί ε διάφορες υκευές. Μια εφαρµογή κατάλληλη για ένα προφίλ, θα εκτελετεί ε όλες τις υκευές υµβατές µε αυτό το προφίλ. Αντιλαµβανόµενοι το τεράτιο πλήθος αύρµατων υκευών, είναι προόν η µη-ανάγκη διατήρηης µιας πληθώρας από υλοποιήεις. Ακόµα και εάν µια εφαρµογή Java κάνει χρήη βιβλιοθηκών υγκεκριµένων εταιριών, εφαρµογές γραµµένες ε Java είναι πιο εύκολα τροποποιήιµες για άλλες υκευές από ότι εφαρµογές ε C ή C++. Επίης µεγάλη είναι η ευκολία µε την οποία διαµοιράζονται εφαρµογές ε µια υκευή µε την βοήθεια ενός αύρµατου δικτύου, διαδικαία που φέρει την ονοµαία ια Μέου Αέρος Παροχή (Over-the-air /OTA provisioning). Εκτελέιµες εφαρµογές µπορούν να µεταφερθούν από ένα εξυπηρετητή ε µια υκευή χωρίς 125

126 όµως αφάλεια. Επειδή ο κώδικας ε Java εκτελείται την εικονική µηχανή µπορεί να εκτελετεί µε αφάλεια [3]. 6.7 Βαικές Έννοιες της Γλώας Java Στο ηµείο αυτό θα αναφερθούµε ε βαικές έννοιες της γλώας προγραµµατιµού Java οι οποίες αποτελούν τα τοιχειώδη υτατικά επάνω τα οποία δοµείται ένα πρόγραµµα ε Java. Τα υγκεκριµένα τοιχεία επίης αποτελούν και τα χαρακτηριτικά γνωρίµατα της Java. Όταν λοιπόν υναντάµε αυτά τα χαρακτηριτικά τότε πρέπει να υµπεραίνουµε ότι ο κώδικας έχει υλοποιηθεί ε Java Threads Πολλές γλώες προγραµµατιµού όπως και η Java διαθέτουν εργαλεία για την υλοποίηη νηµάτων threads τα προγράµµατα τους. Αυτές οι γλώες καλούνται multithreading languages. Στον παραδοιακό προγραµµατιµό ένα πρόγραµµα που εκτελείται ονοµάζεται διεργαία (proess) και οι εντολές του εκτελούνται ειριακά η µία µετά την άλλη µέχρι το τέλος του. Σε αυτή την περίπτωη µπορούµε να πούµε ότι η proess διαθέτει ένα µόνο thread. Στις multithreading γλώες προγραµµατιµού υπάρχουν διεργαίες οι οποίες εκτελούν κάθε µια ξεχωριτά τον κώδικα του προγράµµατος. Είναι δηλαδή αν να έχουµε πολλά proesses που εκτελούνται παράλληλα µέα ε κάποιο αρχικό proess Υλοποίηη των Threads Οι ενέργειες που λαµβάνουν χώρα κατά την εκτέλεη ενός Thread ορίζονται τη µέθοδο run ενός Thread. Υπάρχουν δύο τρόποι για τον οριµό της µεθόδου run ενός Thread. ηµιουργία υποκλάης της κλάης Thread και υπέρβαη (overriding) της run µεθόδου που υπάρχει την Thread κλάη. ηµιουργία κλάης που υλοποιεί το Runnable interfae που ορίζεται το πακέτο java.lang. Ένα τέτοιο αντικείµενο θα πρέπει όµως να υχετιτεί µε ένα νήµα περνώντας ως παράµετρος τον κατακευατή του νήµατος. Εν υνεχεία, η κλήη της µεθόδου run() του νήµατος θα ενεργοποιεί την µέθοδο run() του αντικειµένου [2]. Στο παρακάτω χήµα παρουιάζονται οι κατατάεις ενός νήµατος. 126

127 Κεφάλαιο 6 born notify ή notify all ready start resume Ι/Ο ompletion sleep interval expires dispath interrupt running wait sleep suspend issues Ι/Ο request waiting sleeping suspended bloked stop ompleted dead Σχήµα Κατατάεις ενός νήµατος ιακοπή ενός Thread Η κλάη Thread υµπεριλαµβάνει την µέθοδο stop() για να ταµατά ένα νήµα. Σύµφωνα µε το επίηµο speifiation της Java2 [8] η µέθοδος αυτή αποδοκιµάζεται (depreated). Αυτή η απόφαη προέκυψε επειδή ακριβώς είναι δοµικά επιφαλής. Η διαδικαία ταµατήµατος ενός νήµατος µε την Thread.stop() προκαλεί το ξεκλείδωµα όλων των monitors που αυτό είχε κλειδώει, αν φυική υνέπεια της εξαίρεης ThreadDeath που διαδίδεται προς τα πάνω την τοίβα που έχει δεµευθεί τη µνήµη. Σηµειώνουµε ότι επόπτης είναι µια υλλογή κοινών µεταβλητών και διαδικαιών η οποία ικανοποιεί τον περιοριµό ότι κάθε τιγµή µόνο µία εξωτερική διεργαία µπορεί να εκτελεί µία διαδικαία του επόπτη. Η βαική ιδιότητα του επόπτη εξαφαλίζει τον αµοιβαίο αποκλειµό των διεργαιών χωρίς την ανάγκη οριµού κριίµων τµηµάτων. Ο επόπτης υλοποιεί επίης ουρές αναµονής υνδεδεµένες µε τις υνθήκες το εωτερικό του [9]. Εάν κάποιο από τα αντικείµενα, που προηγούµενα προτατευόταν από κάποιον από αυτούς τους επόπτες, βρεθεί ε ανακόλουθη κατάταη, τα κατετραµµένα αντικείµενα γίνονται ορατά ε άλλα νήµατα, µε ενδεχόµενο να καταλήξουν ε αυθαίρετη υµπεριφορά [10]. 127

128 Έτι λοιπόν η διακοπή ενός Thread πρέπει να υλοποιηθεί µε διαφορετικό τρόπο. Παρακάτω παρουιάζουµε τους δύο που χρηιµοποιήθηκαν. Εάν το νήµα είναι επέκταη (extends) της Thread. Τότε ορίζουµε µια µεταβλητή volatile boolean m_hk (volatile για να έχουµε synhronized προπέλαη τη µεταβλητή) και χρηιµοποιούµε την τιµή της (την οποία ελέγχουµε) µέα τη µέθοδο run αν κριτήριο εξόδου µιας while loop δηλαδή void run() while(m_hk==true) //εντολές που θέλουµε να εκτελεί το νήµα ηµιουργούµε µια άλλη µέθοδο publi void requeststop που µεταβάλει την τιµή της volatile µεταβλητής publi void requeststop() m_hk=false; Οπότε για να ταµατήει ένα νήµα αρκεί να καλέουµε την requeststop από το τρεχούµενο νήµα. Εάν το νήµα υλοποιεί (implements) την διεπαφή Runnable. Τότε ορίζουµε µεταβλητή Thread runner την οποία αρχικοποιούµε όταν θέλουµε να ξεκινήουµε το νήµα runner = new Thread(this); runner.start(); ηλαδή περνάµε το runner τον ίδιο του τον εαυτό και το εκκινούµε. Η µέθοδος run έχει τώρα τη µορφή void run() Thread thistread = Thread.urrentThread(); while(runner==thistread) //εδώ εκτελούνται οι εντολές του νήµατος 128

129 Κεφάλαιο 6 Σηµαία έχει η πρώτη γραµµή της µεθόδου όπου δηµιουργείται το αντικείµενο thisthread, το οποίο αρχικοποιείται µε αναφορά το τρέχον νήµα. Η while loop εκτελείται όο η runner ταυτίζεται µε το νήµα αυτό. Για να ταµατήουµε το νήµα καλούµε µια µέθοδο publi void requeststop() η οποία καλείται από το κύριο νήµα και έχει τη µορφή: void stopclassifing() runner = null; Streams O τρόπος µε τον οποίο οι εφαρµογές που έχουν γραφτεί την Java, ειάγουν και εξάγουν δεδοµένα, επικοινωνώντας µεταξύ τους µε το ύτηµα αρχείων (file system) ή µε κάποια υκευή (devie) γίνεται µε την βοήθεια των Streams. Ένα stream δηλαδή, δεν είναι τίποτε άλλο από ένα γενικό κανάλι το οποίο υπάρχει ροή δεδοµένων. Η Java διαθέτει αρκετά είδη από streams καθένα από τα οποία χρηιµοποιείται για διαφορετικά είδη δεδοµένων. Τα προκαθοριµένα stream ειόδου/ εξόδου InputStream και OutputStream αποτελούν τη βάη για όλα τα υπόλοιπα. Ίως τα πιο υχνά χρηιµοποιούµενα streams είναι τα DataInputStream και DataOutputStream. Το µεν πρώτο δίνει την δυνατότητα, της ανάγνωης πρωτογενών τύπων δεδοµένων της Java ανεξάρτητα από το είδος της µηχανής (υπολογιτής και λειτουργικό ύτηµα) πάνω το οποίο εκτελείται η εφαρµογή. Αντίτοιχα το δεύτερο χρηιµοποιείται για την εγγραφή πρωτογενών τύπων της Java. Πιο αυτηρά, τα DataInputStream και DataInputStream αναπαριτούν Uniode αλφαριθµητικά (string) ε µορφή που είναι µια ελαφρά τροποποίηη της UTF-8. Ως άλλα είδη από streams, θα µπορούαµε να αναφέρουµε τους buffers αρχείων οι οποίοι υχνά χρηιµοποιούνται για να αυξήουν την ταχύτητα και απόδοη του υτήµατος, την περίπτωη που λαµβάνει χώρα Ι/Ο (είοδος/έξοδος). Τα BufferedInputStream και BufferedOutputStream διαβάζουν και γράφουν τµήµατα δεδοµένων (το µέγεθος των οποίων µπορεί να καθοριτεί). Όταν γίνεται ανάγνωη από ή εγγραφή ε buffered stream, ο χρήτης την ουία αχολείται µε τον buffer και όχι µε τα πραγµατικά δεδοµένα του stream. Θα πρέπει όµως ε τακτά χρονικά διατήµατα να καλείται η µέθοδος flush των buffers, έτι ώτε να είµατε ίγουροι ότι όλα τα δεδοµένα τον buffer έχουν διαβατεί από ή γραφτεί το ύτηµα αρχείων (file system). Ακόµη ε περίπτωη που θέλουµε να χειριτούµε απευθείας αρχεία από το τοπικό file system, τα FileInputStream και FileOutputStream χρηιµοποιούνται για το άνοιγµα, την ανάγνωη και την εγγραφή αρχείων [2]. 129

130 6.7.3 Exeptions Όταν ε ένα πρόγραµµα Java υµβεί κάποιο λάθος τότε ο κώδικας που θα το ανιχνεύει µπορεί να εγείρει (throw = πετάω, εγείρω) µία εξαίρεη. Η έγερη εξαίρεης θα έχει ως αποτέλεµα τον τερµατιµό του νήµατος το οποίο υνέβη το εν λόγω φάλµα. Ωτόο τα προγράµµατα µπορούν να ορίουν χειριτές εξαιρέεων και να φροντίζουν ώτε το πρόγραµµα να ανανήψει από το λάθος. Μερικές από τις εξαιρέεις προκαλούνται από το runtime system, όπως την περίπτωη διαίρεης µε το µηδέν. Για να ορίουµε ένα χειριτή εξαιρέεων (exeption handler) θα πρέπει να κλείουµε τον κώδικα που µπορεί να προκαλέει την εξαίρεη µέα ε µια εντολή try. Μετά την try θα πρέπει να βάλουµε µία ή περιότερες εντολές ath. Κάθε ath θα µπορεί να πιάνει µία µόνο κλάη εξαίρεης. Επίης ε κάθε ath θα υπάρχει ο κατάλληλος κώδικας για τον χειριµό της εξαίρεης. Η πρώτη εντολή ath µε παράµετρο που ταιριάζει την εξαίρεη θα εκτελετεί. Έπειτα το πρόγραµµα θα υνεχίει µετά τις εντολές try/ath. Ωτόο δεν είναι δυνατή η εκτέλεη του προγράµµατος να υνεχιτεί από το ηµείο όπου υνέβη η εξαίρεη. Υπάρχουν περιπτώεις όπου θέλουµε ένα κοµµάτι κώδικα να εκτελείται πάντα ανεξάρτητα από το αν υµβεί κάποια εξαίρεη ή όχι. Αυτό επιτυγχάνεται µε την εντολή finally. Η finally εκτελείται ακόµα και όταν το try blok περιέχει τις εντολές return, break, ontinue ή throw. Οι χειριτές εξαιρέεων µπορούν να φωλιατούν επιτρέποντας έτι ο χειριµός να γίνει ε περιότερα του ενός ηµεία. Αυτό είναι χρήιµο όταν ο πρώτος exeption handler δεν µπορεί να διορθώει πλήρως το λάθος. Προκειµένου να περατεί ο χειριµός της εξαίρεης τον επόµενο (υψηλότερου επιπέδου) exeption handler θα πρέπει να χρηιµοποιήουµε την throw και για αντικείµενο εξαίρεης να δώουµε την εξαίρεη που πιάαµε. Σηµειώνεται ότι έπειτα από το throw η εκτέλεη του τρέχοντος κώδικα χειριµού διακόπτεται οριτικά [2] Sokets To Μοντέλο Client-Server και Βαικοί Οριµοί Το ευρύτερα διαδεδοµένο µοντέλο ανάπτυξης δικτυακών εφαρµογών, είναι το µοντέλο του πελάτη-εξυπηρετητή (lient-server). Ο εξυπηρετητής είναι µια διεργαία, η οποία εκτελείται ε έναν υπολογιτή και αναµένει να υνδεθεί ε αυτήν κάποιο πρόγραµµα (το οποίο καλείται πελάτης) για να του παράχει υπηρείες. Ένα τυπικό ενάριο που ακολουθείται υνήθως είναι το εξής: Η διεργαία-εξυπηρετητής αρχίζει να εκτελείται ε κάποιον υπολογιτή. Μετά την αρχικοποίηη της, πέφτει ε λήθαργο, αναµένοντας µία διεργαία-πελάτη να επικοινωνήει µαζί της και να ζητήει κάποια υπηρεία. Μία διεργαία-πελάτης αρχίζει να εκτελείται είτε το ίδιο ύτηµα είτε ε κάποιο αποµακρυµένο, το οποίο υνδέεται µε τον υπολογιτή τον οποίο εκτελείται ο εξυπηρετητής µέω δικτύου. Η διεργαία πελάτης τέλνει µια αίτηη µέω του 130

131 Κεφάλαιο 6 δικτύου, τον εξυπηρετητή, ζητώντας του κάποιου είδους υπηρεία (για παράδειγµα µεταφορά αρχείου, αποµακρυµένη εκτύπωη, ανάγνωη και αποτολή mail). Ταυτόχρονα µε την εξυπηρέτηη κάποιου πελάτη ο server έχει την δυνατότητα να δέχεται και αιτήεις άλλων πελατών προς εξυπηρέτηη. Όταν ο εξυπηρετητής τελειώει µε όλους τους πελάτες, τότε ξαναπέφτει ε λήθαργο περιµένοντας για µια καινούργια αίτηη και η διαδικαία ξεκινά από την αρχή. Ορίζουµε ως ύνδεη, τον επικοινωνιακό δίαυλο µεταξύ δύο διεργαιών. Την ύνδεη µπορούµε να την θεωρήουµε ως µία πεντάδα που περιλαµβάνει τα εξής: πρωτόκολλο, τοπική-διεύθυνη, τοπική-διεργαία, αποµακρυµένη-διεύθυνη, αποµακρυµένη-διεργαία. Το πρωτόκολλο αναφέρεται το ύνολο των κανόνων που διέπουν την επικοινωνία. Η τοπική-διεύθυνη και αποµακρυµένη-διεύθυνη, προδιορίζουν την ταυτότητα των υπο-δικτύων και των υπολογιτών, τους οποίους εκτελούνται οι επικοινωνούες διεργαίες. Η τοπική-διεργαία και η αποµακρυµένη-διεργαία προδιορίζουν την ταυτότητα των διεργαιών που θα επικοινωνούν, καθώς ε έναν υπολογιτή, µπορούν να εκτελούνται περιότερες της µιας διεργαίες. Κάθε µία από αυτές τις διεργαίες που εκτελούνται τον ίδιο host και που χρειάζονται επικοινωνία µέω δικτύου, λαµβάνει ένα 16-bit θετικό ακέραιο αριθµό, ο οποίος αναπαριτά την θύρα (port number) της διεργαίας και κατ' επέκταη της υπηρείας. Σηµειώνεται ότι οι αριθµοί θυρών από 1 έως 1023 είναι δεµευµένοι για υπηρείες του υτήµατος (κυρίως εξυπηρετητές υτήµατος) και υνήθως χρηιµοποιούνται οι αριθµοί πάνω από 5000 για τα προγράµµατα των χρητών (εξυπηρετητές και άλλες εφαρµογές χρητών). Μπορεί όµως να πάρει την τιµή 0 οπότε το ύτηµα διαλέγει ένα ελεύθερο port (>1024) [11]. Ορίζουµε επίης ως µιή ύνδεη (half assoiation) είτε το ύνολο πρωτόκολλο, τοπική-διεύθυνη, τοπική-διεργαία είτε το ύνολο πρωτόκολλο, αποµακρυµένη-διεύθυνη, αποµακρυµένη-διεργαία. Η µιή ύνδεη ονοµάζεται αλλιώς και soket. H έκδοη 4.1BSD του Unix (1982) για τους υπολογιτές VAX από το πανεπιτήµιο του Berkeley ειήγαγε το soket interfae αν µια µέθοδο επικοινωνίας αποµακρυµένων διεργαιών. Είχαν αρχικά υλοποιηθεί τη γλώα C του Unix, αλλά η απήχηη που γνώριαν, επέβαλε την µεταφορά τους τόο ε άλλα λειτουργικά υτήµατα (για παράδειγµα τα Mirosoft Windows) όο και ε άλλες γλώες προγραµµατιµού (π.χ. Java). Κάθε πρόγραµµα διαβάζει από και γράφει ε ένα soket µε τρόπο παρόµοιο της εγγραφής και ανάγνωης αρχείων του file system. Υπάρχουν δύο είδη soket: Το πρώτο ονοµάζεται TCP (Transmission Control Protool) soket και είναι µια υπηρεία προανατολιµένη την ύνδεη (onnetion-oriented servie). Μπορούµε να το θεωρήουµε ανάλογο της τηλεφωνικής υπηρείας, την οποία, µετά την εγκαθίδρυη µιας ύνδεης µεταξύ δύο υνοµιλητών, αυτή χρηιµοποιείται µέχρι το πέρας της υζητήεως τους. Το άλλο είδος ονοµάζεται UDP (Unreliable Datagram Protool) soket και είναι µια υπηρεία χωρίς ύνδεη (onnetionless servie). Το ανάλογο, ε αυτήν την περίπτωη, είναι το ταχυδροµείο: µπορούµε να τείλουµε πολλά 131

132 πακέτα τον ίδιο παραλήπτη αλλά δεν είναι ίγουρο ότι όλα θα ακολουθήουν την ίδια διαδροµή (νοητή ύνδεη) για να φτάουν τον προοριµό τους. Μια ακόµη ηµαντική διαφορά, µεταξύ των παραπάνω δύο ειδών, είναι ότι τα TCP sokets εξαφαλίζουν µια αξιόπιτη µεταφορά της πληροφορίας: ότι αποτέλλεται από το ένα άκρο είναι ίγουρο ότι θα φτάει το άλλο. Στο UDP soket όµως δεν υµβαίνει αυτό. Είναι την ευθύνη του αποτολέα να ελέγξει ότι αυτό που έτειλε, το έλαβε τελικά ο παραλήπτης και δεν χάθηκε τον δρόµο. Από την άλλη, η ύνδεη µε το TCP soket απαιτεί την ανταλλαγή τριών "πακέτων χειραψίας" (handshake pakets) και είναι πιο χρονοβόρα την αρχικοποίηη της από την αντίτοιχη µε UDP datagrams. Οι προηγούµενες δύο διαφορές καθορίζουν τελικά και την χρήη των δύο αυτών ειδών. Για την αποφυγή ύγχυης, να ηµειώουµε ότι ειδικά την Java, ο όρος Soket χρηιµοποιείται για τα TCP sokets την ονοµατολογία των κλάεων και των µεθόδων, ενώ για την δήλωη των UDP sokets χρηιµοποιείται ο όρος Datagram. Στον παρακάτω πίνακα βλέπουµε τις διάφορες κλάεις για τα sokets που περιέχονται το πακέτο java.net καθώς και το είδος τους. Μηχανιµός / Κλάη Περιγραφή Soket TCP άκρο-πελάτης ServerSoket TCP άκρο-εξυπηρετητής DatagramSoket UDP άκρο (lient& server) DatagramPaket UDP πακέτο InetAdress ιεύθυνη Internet Protool (IP) URL Uniform Resoure Loator URLConnetion Σύνδεη µε αντικείµενο του web Πίνακας Κλάεις που περιέχονται το java.net για υλοποίηη soket Ανάπτυξη της Πλευράς του Πελάτη (Client) µε TCP Sokets Μια τυπική αλληλουχία βηµάτων που υνήθως ακολουθούνται για το πρόγραµµα του Client είναι η εξής: soket() - αρχικοποίηη και ύνδεη τον server getinputstream() - ύνδεη του soket µε τον προκαθοριµένο και getoutputstream() µηχανιµό ειόδου/εξόδου τη Java, δηλαδή τα streams. 132

133 Κεφάλαιο 6 read() και write() - ανάγνωη και εγγραφή το υνδεδεµένο µε το soket stream lose() - κλείνει το soket και απελευθερώνονται πόροι του υτήµατος Η δηµιουργία ενός αντικειµένου της κλάης soket γίνεται πολύ απλά καλώντας έναν από τους κατακευατές της κλάης Soket s= new Soket(ip_adress,8000); δηλαδή φτιάξε το αντικείµενο s που είναι soket και ύνδεε το την IP διεύθυνη που καθορίζεται από την µεταβλητή ip_adress, την θύρα Εφόον η ύνδεη είναι επιτυχής, µπορούµε να λάβουµε τα streams ειόδου και εξόδου του soket ειόδου και εξόδου που δηµιουργήαµε για να επιτελέουµε την υνέχεια Ι/Ο. Αυτό γίνεται γιατί ο ενοποιηµένος (και µοναδικός) µηχανιµός για Ι/Ο προγραµµάτων ε Java είναι τα streams. Για τον κοπό αυτό χρηιµοποιούµε τις µεθόδους getinputstream() και getoutputstream(0 που διαθέτει η κλάη soket ως εξής: DataInputStream sin=new DataInputStream(s.getInputStream()); DataOutputStream sout=new DataOutputStream(s.getOutputStream()); Μετά την αρχικοποίηη και την λήψη των stream του soket έχουµε είοδο/έξοδο µε τις καθοριµένες µεθόδους. Όταν τελειώουµε µε το Ι/Ο πρέπει να απελευθερώνουµε το soket που είχαµε ανοίξει γιατί είναι πολύτιµος πόρος του υτήµατος και µπορεί να εξαντληθεί. Σηµειώνεται ότι οι εντολές που υχετίζονται µε αρχικοποίηη του soket και των stream αυτού, θα πρέπει να περιέχονται το ώµα try εντολής κι αυτό γιατί υπάρχει περίπτωη να µην είναι δυνατή η ύνδεη οπότε θα έχουµε και έγερη µιας εξαίρεης IOExeption. Επίης η µέθοδος lose() είναι θεµιτό να καλείται ε κάθε περίπτωη για αυτό και την καλούµε µέα από finally Ανάπτυξη της Πλευράς του Εξυπηρετητή (Server) µε TCP Sokets Μια τυπική TCP εφαρµογή εξυπηρετητή ανοίγει ένα port για την λήψη αιτήεων για ύνδεη και ύτερα δηµιουργεί µία διεργαία-παιδί, ή ένα ξεχωριτό νήµα εκτέλεης για να εκτελέει την ζητούµενη υπηρεία. Το port που ανοίγει ο server ονοµάζεται well known γιατί αυτό χρηιµοποιεί ο οποιοδήποτε πελάτης για να υνδεθεί τον εξυπηρετητή. Επίης λέµε ότι ο server ακούει το port για καινούργιους πελάτες. Για το λόγο αυτό, το soket ονοµάζεται listening soket. Θα πρέπει να δοθεί προοχή την επιλογή του αριθµού θύρας της υπηρείας, ο οποίος δεν θα πρέπει να είναι ήδη ε χρήη. Ο εξυπηρετητής µόλις δεχθεί την ύνδεη καινούργιου πελάτη, γεννά µια καινούργια διεργαία-νήµα για την εξυπηρέτηη των αιτήεων αυτού. Με αυτόν τον τρόπο, καθίταται δυνατή η παράλληλη εξυπηρέτηη παλιών και η αποδοχή νέων πελατών. 133

134 Μια τυπική αλληλουχία βηµάτων που υνήθως ακολουθούνται για το πρόγραµµα του Server είναι η εξής: ServerSoket() - αρχικοποίηη του listening soket aept() - αναµονή και εντοπιµός καινούργιου πελάτη new Thread - δηµιουργία καινούργιου thread για την εξυπηρέτηη πελάτη getinputstream() - το καινούργιο soket που επιτρέφει από την aept και getoutputstream() υνδέεται µε τον προκαθοριµένο µηχανιµό ειόδου/εξόδου της Java read()και write() - ανάγνωη και εγγραφή το stream lose() - κλείνει το soket και απελευθερώνει τον αντίτοιχο, πόρο του υτήµατος Η κλάη ServerSoket περιέχεται το πακέτο java.net και παρέχει µια υλοποίηη ύνδεης TCP soket ανεξάρτητη υτήµατος, από την πλευρά του εξυπηρετητή, µε βάη το lient/server µοντέλο. Το αντικείµενο αυτής της κλάης υνδέει το πρόγραµµα του εξυπηρετητή µε κάποια θύρα του υτήµατος, για να µπορεί αυτός την υνέχεια να ελέγχει για την ύνδεη νέων πελατών. Στον κατακευατή του αντικειµένου προδιορίζεται ο αριθµός θύρας και ε περίπτωη που δεν χρηιµοποιείται ήδη από άλλη υπηρεία, δηµιουργείται το αντικείµενο. Αν όµως η θύρα είναι κατειληµµένη, τότε εγείρεται εξαίρεη. Ο κώδικας είναι ο εξής: ServerSoket serveso=new SesrverSoket(8000); Αν το αντικείµενο κατακευατεί επιτυχώς, τότε ο server είναι έτοιµος για την υποδοχή καινούργιου πελάτη: Soket inoming =serverso.aept(); Η µέθοδος aept() µπλοκάρει το νήµα από το οποίο έχει κληθεί, µέχρι να παρατηρηθεί δρατηριότητα το listening-soket δηλαδή µέχρι να υνδεθεί καινούργιος πελάτης. Όταν υµβεί το τελευταίο, τότε η aept() επιτρέφει ένα καινούργιο Soket (όχι listening-soket) µε το οποίο αρχίζει πλέον η επικοινωνία. Αυτό υµβαίνει για να µπορούµε να υνεχίουµε να ακούµε από το listening-soket και άλλους πελάτες, χωρίς να χρειάζεται να αλλάξουµε τον αριθµό της θύρας. Επίης δηµιουργείται ένα νέο νήµα και αρχίζει η εκτέλεη του. Στην κατακευή του νέου νήµατος παίρνουµε αν παράµετρο το soket που επιτρέψει η aept(), για να λάβουµε ύτερα τα υνδεδεµένα µε αυτό, stream ειόδου/εξόδου. DataInputStream sin=new DataInputStream(s.getInputStream()); DataOutputStream sout=new DataOutputStream(s.getOutputStream()); 134

135 Κεφάλαιο 6 Από εκεί και πέρα, ακολουθεί Ι/Ο το soket (µέω των stream του) αν να είχαµε Ι/Ο ε αρχείο. Στο τέλος το thread εξυπηρέτηης του πελάτη κλείνει το soket που µας είχε επιτρέψει η aept() (µε τη µέθοδο lose()) και τερµατίζει την εκτέλεη του. Το listening soket παραµένει ανοικτό, απελευθερώνοντας όµως πριν τον τερµατιµό του, το ίδιο το νήµα. Σηµειώνεται επίης η απαραίτητη χρήη των µπλοκ try για να αποφεύγουµε την περίπτωη της χρηιµοποίηης κάποιου πόρου (την περίπτωη µας soket), ο οποίος πιθανόν δεν µας έχει διατεθεί από το ύτηµα [2]. 135

136 136

137 Κεφάλαιο 7 Το Σύτηµα WiDIFuNeCS 137

138 138

139 Κεφάλαιο 7 7 Το Σύτηµα WiDIFuNeCS 7.1 Γενικός Σχεδιαµός Το αντικείµενο της παρούας διπλωµατικής εργαίας όπως πιθανότατα έχει διαφανεί από τα προηγούµενα κεφάλαια ετιάζεται τα νευρο-ααφή υτήµατα ταξινόµηης. Συνακόλουθα χρηιµοποιώντας ένα υγκεκριµένο νευρο-ααφές ύτηµα το SuPFuNIS, επιχειρείται µια αύρµατη κατανεµηµένη λειτουργία αυτού ε πραγµατικό περιβάλλον. Με τον όρο κατανεµηµένη λειτουργία περιγράφεται µια λειτουργία κατά την οποία τα πρότυπα ειόδου προέρχονται από διαφορετικές υκευές από αυτήν που εκτελείται ο ταξινοµητής. Συνακόλουθα η επιβλεπόµενη εκπαίδευη και η υβριδική επανεκπαίδευη του SuPFuNIS υλοποιούνται επίης ε διαφορετική υκευή από αυτήν του ταξινοµητή. Με τον όρο αύρµατη, περιγράφεται η λειτουργία κατά την οποία τα δεδοµένα ειόδου υλλέγονται µε αύρµατο τρόπο ενώ και η αρχικοποίηη / ανανέωη του διανύµατος των βαρών γίνονται επίης αύρµατα. Τέλος µε τον όρο πραγµατικό περιβάλλον περιγράφεται µια λειτουργία ε πραγµατικές αύρµατες υνθήκες (π.χ. παρεµβολές, απώλειες, θόρυβος) και ε πραγµατικό χρόνο αφού η υλλογή των ειόδων και η εξαγωγή της κατηγορίας γίνονται real time. Το πραγµατικό πρόβληµα το οποίο αποτέλεε την πηγή έµπνευης της προηγούµενης αρχιτεκτονικής και αυτό πάνω το οποίο έγινε προπάθεια να αναπτυχθεί η διπλωµατική εργαία (τουλάχιτον ε επίπεδο υλοποίηης) είναι το εξής: Να δηµιουργηθεί µία φορητή υκευή η οποία θα έχει την δυνατότητα να λαµβάνει πληροφορίες από έναν αθενή µε αιθητήρες που θα φέρει επάνω του και θα µπορεί να βγάλει ιατρικής φύεως υµπεράµατα για την κατάταη του. Παράλληλα θα πρέπει να υπάρχει η δυνατότητα ανανέωης-επέκταης των δυνατοτήτων εξαγωγής υµπεραµάτων από την πλευρά της υκευής. Συνολικά τα τοιχεία-πεδία που υνιτούν το περιβάλλον το οποίο κινείται η υλοποίηη του WiDIFuNeCS είναι τα κάτωθι: 1. ο αλγόριθµος εξαγωγής υµπεραµάτων και η διαδικαία βελτίωης-επέκταης των δυνατοτήτων αυτού 2. οι αύρµατες διαυνδέεις του υνόλου των επιµέρους υκευών 3. οι λειτουργίες των αιθητήρων 4. οι λειτουργίες της φορητής υκευής 5. οι λειτουργίες της υκευής εξυπηρετητή Επιµέρους Στοιχεία του WiDIFuNeCS: 1] Η εξαγωγή υµπεραµάτων γίνεται µε την χρήη του νευρο-ααφούς υτήµατος SuPFuNIS [ 2.3], [ 4]. Το SuPFuNIS χρηιµοποιείται ως ταξινοµητής, δηλαδή ως ύτηµα εξαγωγής υµπεραµάτων χετικών µε την κατηγορία την οποία ανήκει το εκάτοτε πρότυπο ειόδου [ 3.1]. Υπάρχει επιπλέον η δυνατότητα κατά την εξαγωγή του υµπεραµάτων να χρηιµοποιηθεί πολυεπίπεδος ταξινοµητής SuPFuNIS [ 7.2]. Για την αρχικοποίηη του ταξινοµητή, ώτε να είναι ε θέη να κατηγοριοποιεί πρότυπα που ανήκουν ε καινούργια προβλήµατα, χρηιµοποιείται ο αλγόριθµος bakpropagation µε την µέθοδο κλίης [ 3.2] όπως αυτός ορίζεται για το SuPFuNIS [ 4]. Ακόµη για την επανεκπαίδευη-βελτίωη της ικανότητας ταξινόµηης του υτήµατος εξαγωγής υµπεραµάτων χρηιµοποιείται ένας πρότυπος υβριδικός αλγόριθµος µάθηης [ 7.3]. 139

140 2] Η υλλογή προτύπων ειόδου από τους αιθητήρες για λογαριαµό της φορητής υκευής γίνεται αύρµατα κάνοντας χρήη ad ho τοπολογίας, όπως αυτή περιγράφεται το πρότυπο IEEE [ 5.2]. Η επικοινωνία της φορητής υκευής µε τον server ούτως ώτε να γίνει δυνατή η εκπαίδευη-επανεκπαίδευη του υτήµατος ταξινόµηης γίνεται αύρµατα µε χρήη του προτύπου ΙΕΕΕ για WLAN. Σε αυτή την περίπτωη όµως η τοπολογία διαύνδεης των υκευών µπορεί να είναι ad ho τοπολογία ή τοπολογία δικτύου υποδοµής. 3] Αιθητήρας καλείται µια µικρή υκευή που έχει την δυνατότητα να λαµβάνει ήµατα διαφόρων ειδών και να παράγει αριθµητικές τιµές χετικές µε τα ήµατα αυτά. Ένα ζήτηµα που προκύπτει είναι η ευφυΐα των αιθητήρων, δηλαδή το ποιοτικό και ποοτικό επίπεδο των πράξεων που µπορεί να πραγµατοποιεί ο αιθητήρας τόο τα δεδοµένα ειόδου όο και τα δεδοµένα εξόδου. Η επιλογή του να εξοµοιωθούν οι αιθητήρες από κατάλληλα προγράµµατα ήταν αναγκατική από την τιγµή που δεν υπήρχαν πραγµατικές υλοποιήεις τους. Εντούτοις δόθηκε ιδιαίτερη µέριµνα το να προοµοιώνουν κατά το µέγιτο δυνατόν την λειτουργία θεωρητικά υλοποιήιµων αιθητήρων. Έτι η πολυπλοκότητα τους περιορίτηκε το ελάχιτο ενώ οι µόνες παράµετροι που µπορούν να ρυθµιτούν είναι αυτές που αφορούν την αύρµατη επικοινωνία καθώς και την επιθυµητή λειτουργικότητα αναφορικά µε την εξοµοίωη. Έτι επιλέγεται οι αιθητήρες απλά να τέλνουν ανά τυχαία καθοριµένα χρονικά διατήµατα τυχαίες τιµές από µια υγκεκριµένη περιοχή τιµών. 4] Η φορητή υκευή αποτελεί τον κρίκο που προδίδει υνεκτικότητα την υλοποίηη WiDIFuNeCS. Περιλαµβάνει µια γραφική διεπαφή που επιτρέπει τον χρήτη να επιλέξει µεταξύ των λειτουργιών της ταξινόµηης και της µάθηης του WiDIFuNeCS. Κατά την διάρκεια της λειτουργίας της ταξινόµηης η φορητή υκευή εξάγει υµπεράµατα ε πραγµατικό χρόνο ενώ παράλληλα υλλέγει διανύµατα ειόδου µε κοπό να τα χρηιµοποιήει την φάη της επανεκπαίδευης του υτήµατος. Κατά την διάρκεια της λειτουργίας µάθηης παρέχονται δυο δυνατότητες. Η πρώτη είναι να ζητηθεί από τον server ένα ύνολο διανυµάτων βαρών που να αντιτοιχούν ε ένα εντελώς καινούργιο πρόβληµα ταξινόµηης (αρχικοποίηη). Ενώ η δεύτερη είναι να αποταλούν τα διανύµατα ειόδων, που έχουν υλλεγεί, τον server (για περαιτέρω επεξεργαία) και να ανακτηθεί το µέχρι εκείνη την τιγµή βέλτιτο ύνολο βαρών που διαθέτει ο server επί του υγκεκριµένου προβλήµατος ταξινόµηης (ανανέωη). 5] Το πρόγραµµα της υκευής εξυπηρετητή είναι τέτοιο που από την τιγµή που καθοριτεί ε αυτό ένα πρόβληµα ταξινόµηης δεν χρειάζεται να επέµβει εκ νέου ένας διαχειριτής (administrator) για να καθορίει-τροποποιήει παραµέτρους ή επιτελούµενες λειτουργίες. Κατά την φάη της εκκίνηης τον εξυπηρετητή ανατίθεται ένα δεδοµένο πρόβληµα ταξινόµηης και την υνέχεια µε παραµετροποιηµένη επιβλεπόµενη µάθηη καθορίζονται οριµένα αρχικά ύνολα βαρών για τον πολυεπίπεδο ταξινοµητή. Κατά την φάη της κανονικής λειτουργίας ο server δέχεται και επεξεργάζεται αιτήεις από φορητές υκευές. Εάν η ληφθεία αίτηη είναι αίτηµα αρχικοποίηης τότε αποτέλλονται την υκευή πλήρη διανύµατα βαρών καθώς και οριµένες πληροφορίες περί του νέου προβλήµατος ταξινόµηης που υνδέεται µε αυτά τα βάρη. Εάν η αίτηη είναι αίτηµα επανεκπαίδευης τότε αποτέλλονται την φορητή υκευή τα µέχρι εκείνη την τιγµή βέλτιτα διανύµατα βαρών. Παράλληλα αφού υλλεχθούν τα πρότυπα ειόδου που έχουν ταλεί από την φορητή υκευή εκκινείται αυτόµατα µια υβριδική διαδικαία επανεκπαίδευης. 140

141 Κεφάλαιο 7 Σχήµα 7.1.1: Αιθητήρες φορητή υκευή (ad ho τοπολογία). Σχήµα 7.1.2: Φορητή υκευή server (ad ho τοπολογία). Σχήµα 7.1.3: Φορητή υκευή server (τοπολογία δικτύου υποδοµής). 141

142 7.2 Πολυεπίπεδος Ταξινοµητής Ένα από τα βαικά χαρακτηριτικά που καθορίζει καταλυτικά την υµπεριφορά του SuPFuNIS ως ταξινοµητή είναι το πλήθος των κανόνων που χρηιµοποιεί (δηλαδή κατά µια άλλη προέγγιη ο αριθµός των νευρώνων το κρυµµένο τρώµα). Αυξάνοντας αυθαίρετα τον αριθµό των κανόνων είναι δυνατόν να επιτευχθεί ορθή ταξινόµηη όλων των προτύπων ακόµη και εάν το ύνολο εκπαίδευης είναι πολύπλοκο (π.χ. το υπερπεπίπεδο των ειόδων τα χαρακτηριτικά δεν είναι γραµµικά διαχωρίιµα). Μια τέτοια επιλογή όµως έχει ως άµεο αποτέλεµα την εµφάνιη του φαινοµένου της υπερεκπαίδευης. Σε αυτή την περίπτωη ο ταξινοµητής ουιατικά έχει πολύ µεγάλο αριθµό παραµέτρων και έχει ουιατικά αποµνηµονεύει τα πρότυπα ειόδου ελαττώνοντας την γενικευτική του ικανότητα. Ένας αποτελεµατικός τρόπος εκτίµηης του βέλτιτου αριθµού κανόνων του SuPFuNIS είναι αυτός που περιγράφεται το [ 4.7]. Παράλληλα µε αυτό τον αριθµό κανόνων µπορεί να χρηιµοποιηθεί ένα δεύτερο ύνολο κανόνων µε περιότερους κανόνες από τον βέλτιτο αριθµό. Κάτι τέτοιο είναι ιδιαίτερα αποτελεµατικό την περίπτωη ύπαρξης οµάδων χαρακτηριτικών (υνήθως περιοριµένων ε πλήθος) τα οποία ο ταξινοµητής αποτυγχάνει να ταξινοµήει επιτυχώς. Ο αριθµός των επιπλέον κανόνων µπορεί να αφιερωθεί την ορθή ταξινόµηη αυτών των οµάδων και έτι να αυξηθεί η απόδοη του ταξινοµητή. Μια τέτοια χεδιατική επιλογή όµως δεν µπορεί να αποτρέψει την εµφάνιη του φαινοµένου της υπερεκπαίδευης. Για να εξιορροπηθεί το αρνητικό αυτό αποτέλεµα είναι θεµιτό να χρηιµοποιηθεί ένα τρίτο ύνολο κανόνων µε πλήθος µικρότερο του βέλτιτου. Ο ταξινοµητής µε το εν λόγω πλήθος κανόνων ουιατικά είναι ε θέη να αποµνηµονεύει την πληροφορία µόνο των βαικών οµάδων προτύπων, γεγονός που του παρέχει την δυνατότητα αυξηµένης γενικευτικής ικανότητας υγκριτικά µε τον ταξινοµητή µεγάλου πλήθους κανόνων. Συνδυάζοντας τους ταξινοµητές µε τους τρεις διαφορετικούς αριθµούς χρηιµοποιούµενων κανόνων είναι δυνατόν να κατακευατεί ένας πολυεπίπεδος ταξινοµητής (υγκεκριµένα 3 επιπέδων). Το ζητούµενο όµως από έναν ταξινοµητή οαδήποτε επίπεδα και εάν διαθέτει είναι η ταξινόµηη κάθε δεδοµένου προτύπου ειόδου ε µια κατηγορία και όχι ε τρεις εν γένει διαφορετικές κατηγορίες. Μια αποτελεµατική και υπολογιτικά εύρωτη επιλογή είναι η χρηιµοποίηη µιας διαδικαίας ψηφοφορίας (voting proedure). Έτι εφόον τρεις ή δυο ταξινοµητές υµφωνούν περί της κατηγορίας ενός προτύπου ειόδου τότε το υνολικό αποτέλεµα του πολυεπίπεδου ταξινοµητή είναι αυτή η κατηγορία. Στην περίπτωη που όλοι διαφωνούν µπορεί να ακολουθηθεί µια λογική της µορφής εκεί που ναυαγεί ο κοινοβουλευτιµός κηρύεται δικτατορία. Έτι εφόον και οι τρεις διαφωνούν µπορεί να χρηιµοποιηθεί ο τροποποιηµένος εκτιµητής αξιοπιτίας [ 3.3.3], ο ταξινοµητής µε την µεγαλύτερη τιµή αξιοπιτίας το υµπέραµα που εξάγει υπεριχύει των δυο άλλων. Στην περίπτωη αυτή η υνολική έξοδος του πολυεπίπεδου ταξινοµητή ταυτίζεται µε την έξοδο του ταξινοµητή που υπεριχύει. 142

143 Κεφάλαιο Υβριδική Μάθηη Η ιδιότητα της προαρµογής των νευρο-ααφών υτηµάτων ε µεταβαλλόµενους χώρους προβληµάτων χετίζεται µε την ικανότητα µάθηης τους. Η µάθηη είναι µια θεµελιακή ικανότητα των νευρο-ααφών δικτύων η οποία τους παρέχει την ικανότητα να µαθαίνουν από το περιβάλλον τους και να βελτιώνουν τη υµπεριφορά τους µε το πέραµα του χρόνου. Ειδικότερα τα νευρο-ααφή δίκτυα η µάθηη αναφέρεται την διεργαία επίτευξης µιας επιθυµητής υµπεριφοράς µέω ενηµέρωης των τιµών των υναπτικών βαρών. Έτι ένα τέτοιο ύτηµα µαθαίνει για το περιβάλλον του µέω µιας επαναληπτικής διαδικαίας ανανέωης των υναπτικών βαρών και κατωφλίων. Ο αλγόριθµος εκπαίδευης του SuPFuNIS [ 3.2], [ 4] αποτελεί ένα χαρακτηριτικό µοντέλο επιβλεπόµενης µάθηης [ 2.2.5]. Το κύριο χαρακτηριτικό της επιβλεπόµενης µάθηης είναι η ύπαρξη ενός υνόλου εκπαίδευης δηλαδή µιας βάης γνώης που περιέχει διανύµατα ειόδου καθώς και την κατηγορία που ανήκει κάθε ένα από αυτά. Όταν το νευρο-ααφές δίκτυο λαµβάνει ένα διάνυµα ειόδου εκπαίδευης, παράλληλα λαµβάνει µια επιθυµητή έξοδο η οποία αναπαριτά την βέλτιτη δράη που πρέπει να εµφανίζει. Στην υνέχεια οι παράµετροι του SuPFuNIS ανανεώνονται βάει του διανύµατος εκπαίδευης και του διανύµατος φάλµατος (δηλαδή της διαφοράς πραγµατικής και επιθυµητής απόκριης του δικτύου). Στην περίπτωη που η επιθυµητή έξοδος κάθε προτύπου εκπαίδευης δεν είναι γνωτή ο παραπάνω αλγόριθµος δεν δύναται να λειτουργήει. Η τροποποίηη που προτείνεται ως βαικό τόχο έχει την υπέρβαη αυτού του εµποδίου µεταβάλλοντας κατά τον µικρότερο δυνατό βαθµό τον υπόλοιπο αλγόριθµο µάθηης. Σε πρώτη φάη λαµβάνει χώρα εφαρµογή του αλγορίθµου επιβλεπόµενης µάθηης (χωρίς καµία τροποποίηη) χρηιµοποιώντας ένα ύνολο εκπαίδευης που περιέχει και τις επιθυµητές εξόδους. Σε κάθε βήµα του προτεινόµενου αλγορίθµου µάθηης παρουιάζεται ένα πρότυπο επανεκπαίδευης τις ειόδους του SuPFuNIS, µε αυτό τον τρόπο υπολογίζονται τόο οι ενεργοποιήεις z j των κόµβων κανόνων όο και τα ήµατα εξόδου y k. Στην υνέχεια ελλείψει επιθυµητής εξόδου εφαρµόζεται η µέθοδος winner takes all τα ήµατα εξόδου. Ταυτόχρονα γίνεται η θεώρηη ότι η επιθυµητή κατηγορία ταυτίζεται µε την κατηγορία που προκύπτει µε την µέθοδο του νικητή, έτι οι έξοδοι d k καθορίζονται µε χρήη της κωδικοποίηης 1 out of K. Ακολούθως µε δεδοµένες τιµές για τα α και η, εκτελείται χωρίς καµία τροποποίηη ο αλγόριθµος bakpropagation µε την µέθοδο κλίης εκτός από ένα υγκεκριµένο ηµείο: τα κέντρα αλλά και οι διαπορές ενηµερώνονται βάει των χέεων (4.4.2) αλλά παράλληλα αποθηκεύονται οι τιµές κέντρων και διαπορών ακριβώς πριν από αυτή την ενηµέρωη (ούτως ώτε να υπάρχει η δυνατότητα αναίρεης αυτής της αλλαγής). Στην υνέχεια υπολογίζεται η ακρίβεια υποκατάταης (resubstitution auray) το αρχικό ύνολο εκπαίδευης. Εφόον η resubstitution auray παραµένει ταθερή ή αυξάνει τότε η προαναφερθεία ανανέωη παραµέτρων διατηρείται και παρουιάζεται ένα νέο πρότυπο επανεκπαίδευης τις ειόδους του SuPFuNIS. Σε αντίθετη περίπτωη η ανανέωη των παραµέτρων αναιρείται οι τιµές των α και η µειώνονται κατά µια τάξη µεγέθους και ο αλγόριθµος εκτελείται µε τον τρόπο που περιγράφεται την παρούα παράγραφο. Τέλος εάν αυτό επαναληφθεί έναν αριθµό φορών (για παράδειγµα 4 ή 5), δεν γίνεται καµία ανανέωη 143

144 των βαρών και παρουιάζεται ένα νέο πρότυπο επανεκπαίδευης τις ειόδους του SuPFuNIS. Σε αυτό το ηµείο αξίζει να αναφερθεί το γεγονός ότι πηγή έµπνευης για αυτόν τον αλγόριθµο µάθηης αποτέλεε η τεχνική bold driver (χέη ( )). Η µείωη της υνάρτηης φάλµατος αντικατατάθηκε από την ακρίβεια υποκατάταης, παρέχοντας την δυνατότητα τα υναπτικά βάρη να µεταβληθούν κατά ένα υπολογίιµο ποοτό πράγµα που δεν θα ήταν δυνατό να γίνει εάν ενωµατωνόταν το κριτήριο Ε. Ακόµη ανά πρότυπο (ε πρώτη φάη τουλάχιτον) χρηιµοποιούνται υψηλές τιµές για τα α και η, ε περίπτωη αποτυχίας όµως υπάρχει µείωη τους κατά µια τάξη µεγέθους έτι ώτε να εξοικονοµείται υπολογιτική ιχύς. Η ιδέα που υπάρχει πίω από τον προτεινόµενο αλγόριθµο υβριδικής µάθηης έχει δυο βαικούς άξονες. Ο πρώτος είναι ότι δεν πρέπει να επηρεατεί η τιµή της ακρίβειας υποκατάταης ε καµία περίπτωη. Ο δεύτερος είναι να παρέχεται η δυνατότητα τροποποίηης των βαρών βάει της τοπικής εκτίµηης της κατηγορίας που ανήκει το κάθε ένα πρότυπο επανεκπαίδευης. Σε κάποιο βήµα εάν η τιµή της resubstitution auray µειωθεί αυτό ηµαίνει ότι η παραπάνω εκτίµηη πιθανότατα είναι λανθαµένη οπότε η µεταβολή του διανύµατος των βαρών αναιρείται και τα α και η µειώνονται µε την προδοκία ότι λιγότερο απότοµες αλλαγές ενδεχόµενα να φέρουν το επιθυµητό αποτέλεµα. Εάν η ακρίβεια υποκατάταης παραµείνει ταθερή ή αυξηθεί τότε η ανανέωη των βαρών ενδεχόµενα να είναι προς την ωτή κατεύθυνη οπότε διατηρείται. 7.4 SuPFuNIS ε Java Ο πυρήνας του υτήµατος WiDIFuNeCS τουλάχιτον ε ότι χετίζεται µε τον αλγόριθµο εξαγωγής υµπεραµάτων καθώς και ε ότι χετίζεται µε την διαδικαία βελτίωης-επέκταης των δυνατοτήτων αυτού βαίζεται το νευρο-ααφές ύτηµα SuPFuNIS. Το ύνολο του υτήµατος υλοποιήθηκε ε γλώα προγραµµατιµού Java [ 6]. Σε γενικές γραµµές επιχειρήθηκε οι υναρτήεις που χετίζονταν µε την λειτουργία του νευρο-ααφούς υτήµατος (είτε αυτή ήταν ταξινόµηη είτε εκπαίδευηεπανεκπαίδευη) να τοποθετηθούν ε διαφορετικές κλάεις από ότι οι πηγαίοι κώδικες των υναρτήεων του υπόλοιπου υτήµατος. Η αντικειµενοτραφής αυτή αντιµετώπιη αφενός µεν παρέχει την δυνατότητα εννοιολογικού διαχωριµού των επιµέρους τοιχείων του υτήµατος αφετέρου δε υµβάλει την αρτιότερη λειτουργία του όλου προγράµµατος. Αρχικά η κλάη Supfunis παρέχει την βαική λειτουργικότητα που χετίζεται µε τον υπολογιµό της υνάρτηης λάθους, του µέτρου οµοιότητας, του ήµατος το τρώµα εξόδου καθώς και των φαλµάτων υποκατάταης. Αξίζει να ηµειωθεί το γεγονός ότι οι παραπάνω λειτουργίες ενωµατώνονται ε αντίτοιχες υναρτήεις που έχουν κατακευατεί µε τέτοιο τρόπο ώτε να µπορούν να κληθούν ως υναρτήεις κλάης (αποφεύγοντας έτι την δηµιουργία αντικειµένων). Η υνάρτηη erf(x) υπολογίζει την τιµή της υνάρτηη λάθους όπως αυτή περιγράφεται το [Π 1]. x 2 = 2 z erf JAVA ( x) e dz (7.4.1) π 0 144

145 Κεφάλαιο 7 όµως η υνάρτηη λάθους όπως ορίζεται για το SuPFuNIS είναι η: x 1 = 1 t 2 erf SuPFuNIS ( x) e 2 dt (7.4.2) 2π 0 εποµένως όταν χρειάζεται ο υπολογιµός της υνάρτηης λάθους όπως αυτή περιέχεται την περιγραφή του SuPFuNIS ενδείκνυται να γίνεται ο ακόλουθος µεταχηµατιµός: 1 2 x t 2 e erf SuPFuNIS ( x) = dt = [ t = 2 z ] = e z dz = 2 e z dz 2π 2π 2 0 π 0 erf SuPFuNIS (x) = 1 erf ( x JAVA ) (7.4.3) 2 2 Η υνάρτηη mutualsubsethood(x,xs,w,ws) δέχεται τις τιµές του κέντρου και της διαποράς δυο υναρτήεων υµµετοχής Gauss και υπολογίζει τον βαθµό οµοιότητας τους (χέη (4.3.3)). Αυτό το επιτυγχάνει καλώντας την intersetion(x,xs,w,ws) µέθοδος η οποία υπολογίζει το µέτρο της τοµής δυο ααφών υνόλων που έχουν Gauss υναρτήεις υµµετοχής (χέεις (4.3.7) (4.3.12)). Σε αυτό το ηµείο αξίζει να ηµειωθεί ότι καθ όλη την έκταη της υλοποίηης WiDIFuNeCS τα διανύµατα του κέντρου και της διαποράς των παραµέτρων του υτήµατος αποθηκεύονται ε πίνακες µε υτηµατικό τρόπο. Τα κέντρα και οι διαπορές του διανύµατος ειόδου αποθηκεύονται ε διαφορετικούς πίνακες διατάεων ίων µε τα επιµέρους χαρακτηριτικά κάθε προτύπου ειόδου. Για παράδειγµα εάν τα χαρακτηριτικά κάθε διανύµατος ειόδου είναι n τότε δηµιουργούνται πίνακες της µορφής x nx1, xs nx1. Τα κέντρα και οι διαπορές των υναπτικών βαρών αποθηκεύονται ε διδιάτατους πίνακες. Η πρώτη διάταη ταυτίζεται µε τον αριθµό των κόµβων ειόδου ενώ η δεύτερη µε τον αριθµό των κανόνων. Έτι επεκτείνοντας το προηγούµενο παράδειγµα εφόον ο αριθµός των κανόνων είναι q τότε δηµιουργούνται πίνακες της µορφής w nxq, ws nxq. Οµοίως τα κέντρα και οι διαπορές των κόµβων εξόδου αποθηκεύονται ε διδιάτατους πίνακες. Η πρώτη διάταη ταυτίζεται µε τον αριθµό των κανόνων ενώ η δεύτερη µε τον αριθµό των κόµβων εξόδου. Κατά υνέπεια εφόον ο αριθµός των κόµβων εξόδου είναι p δηµιουργούνται πίνακες της µορφής v qxp, vs qxp. Η µέθοδος testing(x[],xs[],w[][],ws[][],v[][],vs[][]) δέχεται ένα πρότυπο ειόδου καθώς και τις παραµέτρους του νευρο-ααφούς δικτύου ε µορφή πινάκων και επιτρέφει το υπολογιζόµενο ήµα εξόδου (χέεις (4.3.13) (4.3.17)). Από την άλλη πλευρά η υνάρτηη getmaxindex(pin[]) υλοποιεί κατά κάποιο τρόπο την µέθοδο winner takes all επιτρέφοντας τον δείκτη του µεγαλύτερου τοιχείου του πίνακα που δέχεται ως είοδο. Η τελευταία µέθοδος της Supfunis κλάης ουιατικά υπολογίζει το πλήθος λανθαµένων ταξινοµήεων που υµβαίνουν ε ένα ύνολο διανυµάτων ειόδου. Η υνάρτηη ountresubstitutions(data[][],xs[],w[][],ws[][],v[][],vs[][]) δέχεται τις παραµέτρους του δικτύου καθώς και έναν πίνακα του οποίου οι γραµµές περιέχουν τις τιµές των χαρακτηριτικών και την κατηγορία κάθε διανύµατος ειόδου, ως αποτέλεµα επιτρέφει τον αριθµό λανθαµένων ταξινοµήεων. Ακολούθως η κλάη Learning είναι επιφορτιµένη µε την υλοποίηη του αλγορίθµου ανάτροφης διάδοης µε την µέθοδο κλίης. Εξαιτίας του γεγονότος ότι περιλαµβάνει έναν αριθµό µεθόδων που χρειάζεται να επικοινωνούν µέω κοινών x x 145

146 µεταβλητών αυτές οι µεταβλητές έχουν οριτεί ως µεταβλητές οµότυπου. Έτι για να γίνει χρήη της λειτουργικότητας της χρειάζεται να δηµιουργηθεί ένα αντικείµενο της. Οι µέθοδοι pdev(j,k), pdevs(j,k), pdew(i,j), pdews(i,j), pdexs(i), pdyz(k,j), pdze(j,i), pdew(i,j), pdews(i,j), pdexs(i,j) υπολογίζουν τις µερικές παραγώγους των χέεων (4.4.4) (4.4.11) αντίτοιχα. Η δε υνάρτηη reatepartialderivatives() αποθηκεύει τους πίνακες pdw, pdws, pdxs τις µερικές παραγώγους των χέεων (4.4.12) (4.4.27). Η µέθοδος gradientdesent(h,a,d[],x[],xs[],w[][],ws[][],v[][],vs[][],pxs[], pw[][],pws[][],pv[][],pvs[][]) υγκεντρώνοντας την λειτουργικότητα των παραπάνω υναρτήεων υλοποιεί τον αλγόριθµο bakpropagation µε την µέθοδο κλίης όπως περιγράφεται µεταξύ άλλων από τις χέεις (4.4.2) και (4.4.3). Οι πίνακες που περνούν ως ορίµατα χρηιµοποιούνται τους υπολογιµούς αλλά την υνέχεια χρηιµοποιούνται για να επιτραφούν οι ανανεωµένες τιµές των παραµέτρων του δικτύου. Αξίζει να ηµειωθεί ότι κατά την επιβλεπόµενη εκπαίδευη γίνεται χρήη της τροποποίηης [ 4.8]. Τα ορίµατα h και a είναι οι τιµές του learning rate και momentum αντίτοιχα. Τέλος εφόον το διάνυµα επιθυµητών εξόδων δεν είναι διαθέιµο, οπότε το όριµα d[] είναι null, τότε αυτό εκτιµάται [ 7.3]. Το ύτηµα WiDIFuNeCS παρέχει την δυνατότητα να επιλέγεται πολυεπίπεδος ταξινοµητής [ 7.2]. Έτι κάθε επιτελούµενη διεργαία ε επίπεδο ταξινόµηης ή ε επίπεδο εκπαίδευης-επανεκπαίδευης εµπλέκει τρία διαφορετικά ύνολα παραµέτρων υτήµατος. Το πρώτο µε αναγνωριτικό a αφορά τον βέλτιτο αριθµό κανόνων [ 4.7]. Το δεύτερο µε αναγνωριτικό b αφορά τον υποβέλτιτο αριθµό κανόνων. Ενώ το τρίτο µε αναγνωριτικό χετίζεται µε αριθµό κανόνων µεγαλύτερο του βέλτιτου. Η κλάη Classifiation περιέχει τον απλό και τον πολυεπίπεδο ταξινοµητή, οι οποίοι χρηιµοποιούνται από την φορητή υκευή [ 7.6]. Αρχικά η υνάρτηη getmaxindex(pin[]) υπολογίζει τους δείκτες των κόµβων εξόδου µε τις µεγαλύτερες τιµές. Αυτό γίνεται ούτως ώτε να υπολογίζεται ο τροποποιηµένος εκτιµητής αξιοπιτίας (χέη ( )). Η µέθοδος isequal(a[],b[]) υγκρίνει τα δυο πρότυπα ειόδου που δέχεται ως ορίµατα και επιτρέφει true εάν είναι πανοµοιότυπα ειδάλλως επιτρέφει false. Ο λόγος που χρηιµοποιείται είναι για να αποφεύγονται ταξινοµήεις διαδοχικών προτύπων που είναι ίδια µιας και η κατηγορία τους είναι ήδη γνωτή. Η βαική λειτουργία της Classifiation λαµβάνει χώρα την µέθοδο run(). Επαναληπτικά αυτό που υµβαίνει είναι το εξής: ανακτάται από µια τοίβα το πιο πρόφατο πρότυπο ειόδου, εάν αυτό ταυτίζεται µε το προηγούµενο τότε δεν υµβαίνει τίποτα µιας και η κατηγορία αυτού του προτύπου έχει ήδη υπολογιτεί. Σε αντίθετη περίπτωη από κάθε ύνολο κανόνων υπολογίζεται η κατηγορία του προτύπου καθώς και η αντίτοιχη τιµή του µέτρου αξιοπιτίας [ 3.3.3]. Στην υνέχεια υπολογίζεται το υνολικό αποτέλεµα όπως περιγράφεται το [ 7.2]. Η µόνη διαφορά την περίπτωη που δεν έχει επιλεγεί πολυεπίπεδος ταξινοµητής είναι ότι οι υπολογιµοί γίνονται για το ύνολο µε τον βέλτιτο αριθµό κανόνων ενώ η τελευταία διαδικαία εξαγωγής του τελικού αποτελέµατος παραλείπεται αφού είναι περιττή. Η κλάη Initial υλοποιεί την εκπαίδευη του ταξινοµητή ε ένα υγκεκριµένο πρόβληµα για λογαριαµό το server. Με την µέθοδο κατακευατή ορίζεται το αναγνωριτικό του υγκεκριµένου προβλήµατος ταξινόµηης, ο αριθµός των χαρακτηριτικών κάθε διανύµατος ειόδου, το αρχείο που περιέχει τα πρότυπα εκπαίδευης, ο βέλτιτος αριθµός κανόνων, ο αριθµός εποχών εκπαίδευης καθώς και η 146

147 Κεφάλαιο 7 επιθυµητή ακρίβεια υποκατάταης Initial(name,inputs,file,aRules,epohs,auray, arg,btn,btnswith). Το αρχείο που περιέχει τα πρότυπα εκπαίδευης πρέπει να περιέχει διατεταγµένα τα χαρακτηριτικά κάθε προτύπου ενώ αµέως µετά πρέπει να περιέχει την κατηγορία κάθε προτύπου ε αριθµητική µορφή. Στην υνέχεια µπορεί να βρίκεται το επόµενο πρότυπο εκπαίδευης, η αντίτοιχη κατηγορία και ούτω καθ εξής. Τόο τα χαρακτηριτικά κάθε προτύπου όο και τα πρότυπα µεταξύ τους µπορεί να είναι χωριµένα µε οποιοδήποτε αριθµό χαρακτήρων κενών, τηλοθετών, νέων γραµµών και επαναφορών. Η αρχικοποίηη των παραµέτρων του δικτύου γίνεται ακολουθώντας οριµένους κανόνες. Έτι κάθε τιµή διαποράς είναι ένας τυχαίος αριθµός το διάτηµα [0.2, 0.9], τα κέντρα των µεταυναπτικών βαρών λαµβάνουν τυχαίες τιµές το διάτηµα [0, 1]. Τα κέντρα των προυναπτικών βαρών αρχικοποιούνται τυχαία το διάτηµα µεταξύ της ελάχιτης και της µέγιτης τιµής κάθε επιµέρους χαρακτηριτικού, λαµβάνοντας υπόψη βέβαια τα επιµέρους χαρακτηριτικά όλων των προτύπων εκπαίδευης. Επιπλέον µε την storeweights() όλες οι παράµετροι του υτήµατος για κάθε ύνολο κανόνων αποθηκεύονται ε αντίτοιχα byte αρχεία. Τα παραπάνω επιτυγχάνονται υνδυάζοντας τις υναρτήεις reatespenfo(), getmaxvalue(pin[][],olumn), getminvalue(pin[][],olumn), reaterandomarray(dim,min,max), reaterandomarray(rows,olumns,min,max), reaterandomarray(rows,olumns,min[],max[]), onstrutnewweights(). Η εκπαίδευη του υτήµατος ταξινόµηης γίνεται την µέθοδο run(). Για κάθε επιµέρους ύνολο κανόνων ακολουθείται µια πανοµοιότυπη διαδικαία. Αρχικά ρυθµίζονται οι τιµές των υντελετών εκπαίδευης και ορµής την τιµή 0.1. Σε κάθε εποχή αυτές οι δυο τιµές µειώνονται γραµµικά έτι ώτε την τελευταία εποχή η τιµή τους να έχει γίνει Κάθε εποχή περιλαµβάνει την παρουίαη όλων των προτύπων εκπαίδευης µια φορά ενώ η ανανέωη των παραµέτρων γίνεται (ανά πρότυπο) βάει του αλγορίθµου bakpropagation µε την µέθοδο κλίης. Ο τερµατιµός αυτής της διαδικαίας γίνεται όταν υµπληρωθεί ο απαιτούµενος αριθµός εποχών εκπαίδευης ή όταν επιτευχθεί ικανοποίηη του ορίου της ακρίβειας υποκατάταης, δηλαδή όταν το ποοτό των ωτών ταξινοµήεων γίνει µεγαλύτερο είτε ίο της τιµής resubstitution auray. Με το τέλος της παραπάνω διαδικαίας και για τα τρία ύνολα κανόνων αποθηκεύονται εκ νέου όλες οι παράµετροι του υτήµατος ε αντίτοιχα byte αρχεία. Η κλάη Update υλοποιεί την επανεκπαίδευη του ταξινοµητή ε ένα υγκεκριµένο πρόβληµα για λογαριαµό το server και είναι κατά κάποιο τρόπο υµπληρωµατική της Initial. Με την µέθοδο κατακευατή Update() ανακτώνται όλες οι παράµετροι του υτήµατος από τα αντίτοιχα byte αρχεία. Η µέθοδος run() ελέγχοντας οριµένες υνθήκες εκκινεί την επανεκπαίδευη του υτήµατος ταξινόµηης αυτόµατα εφόον κρίνει ότι ικανοποιούνται οριµένα κριτήρια. Η επανεκπαίδευη του ταξινοµητή βάει της υβριδικής µάθηης [ 7.3] γίνεται τις µεθόδους aupdate(), bupdate(), Update() (για κάθε ύνολο κανόνων). Ο υνολικός αριθµός εποχών ανά ύνολο κανόνων έχει επιλεγεί να είναι 100, ενώ µε κάθε πρότυπο επανεκπαίδευης γίνονται τέερις προπάθειες ανανέωης των βαρών θέτοντας τις τιµές των α και η ίες µε 0.1, 0.01, 0.001, αντίτοιχα. 147

148 7.5 Αιθητήρες Οι αιθητήρες υλοποιήθηκαν ε λογιµικό αφού η υλοποίηη τους ε υλικό ξεφεύγει από τα πλαίια της παρούας διπλωµατικής εργαίας. Το υπολογιτικό ύτηµα το οποίο εκτελούνται είναι ένας φορητός υπολογιτής που έχει εγκατατηµένο το JDK1.4 (J2SE). Η αύρµατη επικοινωνία πραγµατοποιήθηκε µε PCMCIA κάρτα που υποτηρίζει το πρωτόκολλο ενώ η διαύνδεη µε το PDA έγινε µε τοπολογία ad-ho [ 5.2] Αύγχρονη Εκποµπή Ενός Χαρακτηριτικού Κάθε είγµατος O πρώτος τύπος αιθητήρων (τύπος Α) βαίζεται τη λογική ξεχωριτών εφαρµογών ανεξάρτητων µεταξύ τους οι οποίες τέλνουν δεδοµένα την φορητή υκευή. Ο τύπος αυτός επιτυγχάνει αύγχρονη επικοινωνία επειδή ακριβώς η αποτολή δεδοµένων από έναν αιθητήρα δεν χετίζεται µε την αποτολή δεδοµένων από τους άλλους αιθητήρες. Σε κάθε αιθητήρα υπάρχουν οι εξής παράµετροι που µπορεί να καθορίει ο χρήτης: 1. η περιοχή τιµών εντός της οποίας ο αιθητήρας τέλνει δεδοµένα. Ο χρήτης καθορίζει το άνω και το κάτω όριο και µετά µε χρήη της µεθόδου nextdouble() της κλάης Random και της έκφραης r*(b-a)+a επιτυγχάνουµε να προκύπτουν τυχαίοι αριθµοί το διάτηµα [a,b]. Η µέθοδος nextdouble() δηµιουργεί τυχαίους αριθµούς κινητής υποδιατολής 64 bit το διάτηµα [0,1]. Σηµειώνουµε ότι το τυχαίο είναι χετικό αφού τα υπολογιτικά υτήµατα το τυχαίο προοµοιώνεται µε τη βοήθεια γεννητριών τυχαίων αριθµών (random number generators) [1]. Απόδειξη του τύπου r*(b-a)+a: 0 r 1 εφόον b > a 0 r*(b-a) (b-a) a r*(b-a)+a (b-a)+a = b a r*(b-a)+a b Εάν b=a τότε r=a δηλαδή προκύπτει ταθερή τιµή. 2. το χρονικό διάτηµα καθυτέρηης (delay time) το οποίο µετριέται ε mse και καθορίζει τον ρυθµό µε τον οποίο τέλνει ο αιθητήρας δεδοµένα. Ο ρυθµός αυτός περιορίζεται από τα τεχνικά χαρακτηριτικά της πλατφόρµας [Π. 4]. Έχουν διενεργηθεί εκτενή πειράµατα µε ρυθµούς µεγαλύτερούς από 10 δείγµατα /se, ωτόο για περιοριµένα χρονικά διατήµατα έχουν επιτευχθεί και υψηλότεροι ρυθµοί. Ο χρόνος καθυτέρηης είναι ένας τυχαίος αριθµός από το 0 έως τον αριθµό που καθορίζει ο χρήτης. 148

149 Κεφάλαιο 7 try double tmp=integer.parseint(tim_val)*r.nextdouble(); sleep((int)tmp); ath(interruptedexeption e) ; 3. η IP διεύθυνη που καθορίζει τον προοριµό τον οποίο τέλνει δεδοµένα ο αιθητήρας. Συγκεκριµένα η IP για κάθε υκευή αιθητήρα προδιορίζεται από τον χρήτη. 4. ο αριθµός της θύρας ο οποίος εξαρτάται από το χαρακτηριτικό το οποίο προοµοιώνει ο αιθητήρας. Στην περίπτωη µας έχουν προκαθοριτεί οι θύρες 8001, 8002,... που χρηιµοποιούνται για αποτολή των τιµών του πρώτου, του δευτέρου, χαρακτηριτικού. ηµιουργείται ύνδεη ανάµεα τον αιθητήρα και το PDA µε την βοήθεια ενός lientsoket [ 6.7.4]: ηλώεις Soket soket; OutputStream os; InputStream is; String ran_num; Κώδικας InetAddress ipaddress = InetAddress.getByName(ip_adr); InetSoketAddress soketaddress = new InetSoketAddress( ipaddress, Integer.parseInt(port_num)); soket = new Soket(); try soket.setsotimeout(1000); //1seond ath(soketexeption e) e.printstaktrae(); soket.onnet(soketaddress); os = soket.getoutputstream(); is = soket.getinputstream(); os.write(ran_num.getbytes()); os.flush(); asii = is.read(); ηλαδή ο αιθητήρας προπαθεί να υνδεθεί την ipadress και το port που καθορίζει ο χρήτης, αρχικοποιεί τα os,is και τέλνει τυχαίους αριθµούς ran_num, byte προς byte (ran_num.getbytes()), το serversoket µε το οποίο έχει υνδεθεί. Επιηµαίνεται ότι ένας χαρακτήρας αντιτοιχεί ε ένα byte. Εάν η αποτολή είναι επιτυχής τότε ο αιθητήρας λαµβάνει ένα χαρακτήρα '@' ως ένδειξη ορθής αποτολής κάθε αριθµού. Η όλη διαδικαία ανάγεται ε ξεχωριτό νήµα (Client.lass) [ ]. Ιδιαίτερα ηµαντικός είναι ο χρωµατιµός του πλαιίου το οποίο ο χρήτης καθορίζει τον αριθµό της θύρας. Κόκκινο ηµαίνει πως ο αιθητήρας βρίκεται ε ανενεργή κατάταη, την οποία ο χρήτης µπορεί να ρυθµίει τις επιµέρους παραµέτρους του αιθητήρα. Πράινο ηµαίνει ότι έχει επιτευχθεί ύνδεη και το PDA λαµβάνει δεδοµένα µε ορθό τρόπο τέλος πορτοκαλί 149

150 ηµαίνει ότι παρότι ο αιθητήρας λειτουργεί, η ύνδεη µε το PDA έχει διακοπεί. Ο αιθητήρας ε αυτή την περίπτωη δεν ταµατά να λειτουργεί αλλά προπαθεί να υνδεθεί µε το PDA µέχρι να το καταφέρει ή µέχρι ο χρήτης να διακόψει τη λειτουργία του. Τέλος η εντολή soket.setsotimeout(1000) αναφέρεται την περίπτωη που ενώ το soket υνδέθηκε το serversoket, τα os, is δεν ανταλλάουν δεδοµένα οπότε ο αιθητήρας παίρνει την πρωτοβουλία να διακόψει την ύνδεη και να αρχίει µια καινούργια. Το διάτηµα το οποίο περιµένει ο αιθητήρας πριν διακόψει την ύνδεη είναι ο αριθµός µέα την παρένθεη (1000mse=1se). Αυτή η διαδικαία κρίθηκε απαραίτητη ώτε να µην εγκλωβίζεται ο αιθητήρας ε υνδέεις που ουιατικά δεν υφίτανται. Η ίδια λογική ακολουθείται ε όλα τα επιµέρους ηµεία της εφαρµογής. Εάν εγερθεί εξαίρεη [ 6.7.3] τότε εγκαταλείπεται η τρέχουα ύνδεη και εκκινείται η διαδικαία για την δηµιουργία µιας καινούργιας ύνδεης. Σηµειώνουµε επίης, ότι οι τιµές µεταδίδονται byte-byte και τελειώνουν όλες µε 'X'. Ο 'X' χαρακτήρας ηµαίνει το τέλος µετάδοης µιας τιµής και προτίθεται ε όλες τις τιµές. ran_num= r + 'X'; Η ύµβαη ιχύει και για τους δύο τύπους αιθητήρων. Σχηµατικά η λειτουργία των αιθητήρων τύπου Α (simple sensors) παρουιάζεται το παρακάτω χήµα: αιθητήρες port numbers Σχήµα Λειτουργία αιθητήρων τύπου Α για τέερις ειόδους 150

151 Κεφάλαιο 7 Στα παρακάτω χήµατα φαίνεται το περιβάλλον λειτουργίας των αιθητήρων. Σχήµα Κανονική λειτουργία αιθητήρα Σχήµα Κανονική λειτουργία αιθητήρα αλλά το PDA δεν τέλνει δεδοµένα Σχήµα Κατάταη µη-λειτουργίας αιθητήρα Εκποµπή Όλων των Χαρακτηριτικών Κάθε είγµατος Οι αιθητήρες αυτού του τύπου (τύπος Β) τηρίζονται τη λογική υγχρονιµένης επικοινωνίας ανάµεα τους αιθητήρες και το PDA. Σε αυτή την περίπτωη υπάρχει ένας µοναδικός αιθητήρας ο οποίος αναλαµβάνει να τέλνει όλα τα χαρακτηριτικά κάθε δείγµατος. Οι τιµές των χαρακτηριτικών προκύπτουν από δεδοµένα που διαβάζει ο αιθητήρας από ένα αρχείο. Οι παράµετροι 2, 3 είναι ίδιες µε αυτές των αιθητήρων του προηγούµενου τύπου. Οι διαφορές έγκεινται τα: 1. τώρα αντί για πεδίο τιµών έχουµε όνοµα αρχείου το οποίο αποτελείται από τιµές χαρακτηριτικών οι οποίες είναι αποθηκευµένες ε ειριακή διάταξη οµάδων. Κάθε οµάδα αποτελείται από τόες τιµές όες είναι οι είοδοι του προβλήµατος που καλείται να αντιµετωπίει το SuPFuNIS. Με απλά λόγια, το αρχείο αποτελείται από n-άδες (όπου n τα χαρακτηριτικά κάθε προτύπου) διατεταγµένες η µία µετά την άλλη 151

152 4. ο αριθµός θύρας είναι µοναδικός αφού ο αιθητήρας είναι µοναδικός και προυµφωνηµένα είναι ο 8000 Η λειτουργία του αιθητήρα είναι η εξής: µόλις τίθεται ε λειτουργία διαβάζει όλο το αρχείο που του όριε ο χρήτης για να βρει το πλήθος των δεδοµένων και µετά αποθηκεύει τις τιµές ε ένα πίνακα: ηλώεις: FileInputStream fis ; BufferedInputStream bis ; DataInputStream dis; int num length; Κώδικας try fis = new FileInputStream(file_name); bis = new BufferedInputStream(fis); dis = new DataInputStream(bis); while(true) dis.readdouble(); num_lenght++; ath(ioexeption e) e.printstaktrae(); try dis.lose(); ath (IOExeption fdh) fdh.printstaktrae(); try fis = new FileInputStream(file_name); bis = new BufferedInputStream(fis); dis = new DataInputStream(bis); strb=new String[num_lenght/num][num+1]; for(int i=0;i<strb.length;i++) for(int j=1;j<strb[0].length;j++) strb[i][j]=string.valueof(dis.readdouble()); 152

153 Κεφάλαιο 7 ath(ioexeption e) e.printstaktrae(); try dis.lose(); ath (IOExeption fdh) fdh.printstaktrae(); Η επόµενη κίνηη είναι να υνδεθεί ο αιθητήρας µε το PDA µέω soket και να αρχίει τη µετάδοη n-άδων. Η διαδικαία µετάδοης είναι ίδια µε αυτή του τύπου Α αλλά αυτή τη φορά είναι κλειµένη ε for loop και επαναλαµβάνεται n φορές. for(int b=1;b<=integer.parseint(num_feat);b++) //µετάδοη τιµών Η όλη διαδικαία επίης ανάγεται ε ξεχωριτό νήµα (ClientΙΙ.lass) [ ] ενώ ακολουθείται η ίδια λογική τον χρωµατιµό του πλαιίου το οποίο ο χρήτης καθορίζει τον αριθµό της θύρας. Σχηµατικά η λειτουργία των αιθητήρων τύπου Β (multi sensors) παρουιάζεται το παρακάτω χήµα: αιθητήρας port number 8000 Σχήµα Λειτουργία αιθητήρων τύπου Β Στα παρακάτω χήµατα φαίνεται το περιβάλλον λειτουργίας των αιθητήρων Σχήµα Κανονική λειτουργία αιθητήρα 153

154 Σχήµα Κανονική λειτουργία αιθητήρα αλλά το PDA δεν τέλνει δεδοµένα Σχήµα Κατάταη µη-λειτουργίας αιθητήρα 154

155 Κεφάλαιο Φορητή Συκευή Η Εφαρµογή Java της Φορητής Συκευής Η φορητή υκευή την υγκεκριµένη υλοποίηη είναι ένας προωπικός ψηφιακός βοηθός (Personal Digital Assistant) [Π 4]. Η γραφική διεπαφή που έχει κατακευατεί για το PDA περιλαµβάνει τρεις κατατάεις λειτουργίας. Η πρώτη από αυτές αποτελεί ένα µενού όπου υπάρχει η δυνατότητα επιλογής µεταξύ των λειτουργιών της ταξινόµηης και της µάθηης του WiDIFuNeCS. Ο πηγαίος κώδικας αυτής της αρχικής διεπαφής βρίκεται την κλάη MainFrame. Στην µέθοδο εγκατάταης MainFrame(title,path) περνάει ως όριµα ο υπέρτιτλος του παραθύρου της εφαρµογής, καθώς και η διαδροµή του φακέλου που περιέχει όλα τα αρχεία που χετίζονται µε το πρόγραµµα. Από την άλλη πλευρά µε αυτή τη µέθοδο χεδιάζεται το παράθυρο της εφαρµογής χρηιµοποιώντας την διάταξη δοµηµένων πλεγµάτων της Java και καθορίζονται πλήρως όλα τα επιµέρους υτατικά του παραθύρου. Με τις µεθόδους setmain(), setclassifiation(), settraining() ορίζονται τα περιεχόµενα των πεδίων κειµένου έτι ώτε να εµφανίζονται υνοπτικές πληροφορίες χετικές µε την επιλογή που ετοιµάζεται να κάνει ο χρήτης. Με την µέθοδο ation(vnt,arg) γίνεται χειριµός υµβάντων. Αναλόγως της επιλογής που θα κάνει ο χρήτης θα µεταφερθεί το µενού της αντίτοιχης λειτουργίας που επέλεξε. Η κλάη Poster µε τις µεθόδους Poster(path), setposter(seletion), paint(g) παρέχει την απαραίτητη λειτουργικότητα για επιλογή κάποιας εικόνας και εµφάνιης της το παράθυρο της εφαρµογής. Σχήµα : Αρχικό παράθυρο της εφαρµογής το οποίο εµφανίζονται γενικές πληροφορίες. 155

156 Σχήµα : Αρχικό παράθυρο της εφαρµογής το οποίο εµφανίζονται πληροφορίες χετικές µε την λειτουργία της ταξινόµηης. Σχήµα : Αρχικό παράθυρο της εφαρµογής το οποίο εµφανίζονται πληροφορίες χετικές µε την λειτουργία της αρχικοποίηης-ανανέωης των παραµέτρων του υτήµατος. Η κλάη ClassifiationFrame είναι επιφορτιµένη µε την δηµιουργία του παραθύρου ταξινόµηης, ενώ παράλληλα υλοποιεί τις ακριβείς λειτουργίες που επιλέγει ο χρήτης. Ο πρωταρχικός ρόλος της µεθόδου εγκατάταης ClassifiationFrame(title,real,path) είναι να κατακευάει και να εµφανίει το παράθυρο της εφαρµογής (χρηιµοποιώντας την διάταξη δοµηµένων πλεγµάτων της Java). Τα ορίµατα που δέχεται είναι το πρώτο υτατικό του υπέρτιτλου του παραθύρου, το εάν τα πρότυπα ειόδου θα τα λάβει από ένα αιθητήρα (false) ή πολλούς (true) και τέλος η διαδροµή του φακέλου που περιέχει όλα τα αρχεία που χετίζονται µε το πρόγραµµα. Επίης µια ηµαντική διεργαία που εκτελείται είναι ότι φορτώνονται τα διαθέιµα προβλήµατα ταξινόµηης που έχουν οριτεί από τον server [ 7.7]. Αυτά περιέχονται το αρχείο info.txt, µια πιθανή εκδοχή αυτού του 156

157 Κεφάλαιο 7 αρχείου θεωρώντας ότι υπάρχουν δυο διαθέιµα προβλήµατα ταξινόµηης φαίνεται την υνέχεια: iris medial Το string την αρχή αποτελεί το αναγνωριτικό του εκάτοτε προβλήµατος ταξινόµηης. Ο δεύτερος αριθµός είναι το πλήθος των κόµβων εξόδου, οι τρεις επόµενοι είναι το πλήθος των χρηιµοποιούµενων κανόνων από τον πολυεπίπεδο ταξινοµητή ενώ ο τελευταίος αριθµός είναι το µέγεθος του διανύµατος εξόδου του ταξινοµητή. Η υνάρτηη setzero() καθαρίζει τα επιµέρους πεδία του παραθύρου της εφαρµογής θέτοντας τα µηδέν ή θέτοντας τα περιεχόµενα τους ία µε το κενό. Σχήµα : Το παράθυρο της εφαρµογής WiDIFuNeCS που χετίζεται µε την λειτουργία της ταξινόµηης. Ο χειριµός των επιλογών που κάνει ο χρήτης, άρα και των επιτελούµενων διεργαιών λαµβάνει χώρα την µέθοδο ation(vnt,arg). Η επιλογή ενός προβλήµατος από την λίτα Type of Data, εκκινεί την διαδικαία υλλογής δεδοµένων από τους αιθητήρες τα οποία αποθηκεύονται το αντίτοιχο (ως προς το πρόβληµα).dat αρχείο. Συγχρόνως ανακτώνται οι παράµετροι του ταξινοµητή από τα byte αρχεία τα οποία είναι αποθηκευµένες. Τα δείγµατα που έχουν αποθηκευτεί εµφανίζονται το πεδίο Patterns ενώ ο αριθµός των αιθητήρων από τους οποίους λαµβάνονται πρότυπα προς ταξινόµηη αναγράφεται το πεδίο Sensors. Με την επιλογή ενός τύπου ταξινοµητή (απλού ή πολυεπίπεδου) από την λίτα Rule Set εκκινείται η διεργαία ταξινόµηης. Το τελικό αποτέλεµα ανεξαρτήτως ταξινοµητή εµφανίζεται το πεδίο Result. Στον πίνακα SuPFuNIS εµφανίζονται έξοδοι και τοιχεία για κάθε επιµέρους ταξινοµητή εφόον χρηιµοποιούνται τρεις ειδάλλως εµφανίζονται πληροφορίες αναφορικά µε τον ταξινοµητή µε τον βέλτιτο αριθµό κανόνων. Για παράδειγµα θεωρώντας ότι έχει επιλεγεί πολυεπίπεδος ταξινοµητής µε 10, 5, 14 κανόνες για ένα πρόβληµα τριών κατηγοριών τον πίνακα SuPFuNIS εµφανίζεται:

158 Πατώντας το κουµπί Reset διακόπτονται οι λειτουργίες εξαγωγής υµπεραµάτων και υλλογής δεδοµένων. Επιλέγοντας Quit διακόπτονται πάλι όλες οι λειτουργίες και ο χρήτης µεταφέρεται το αρχικό παράθυρο της εφαρµογής. Οι µέθοδοι start_multi_sensor(), stop_multi_sensor() εκκινούν και ταµατούν της διαδικαία λήψης δεδοµένων από τον αιθητήρα που εκπέµπει ολόκληρα τα πρότυπα ειόδου. Αντίθετα οι µέθοδοι start_simple_sensor(), stop_simple_sensor() εκκινούν και ταµατούν την διαδικαία λήψης δεδοµένων από τους αιθητήρες που εκπέµπουν ένα χαρακτηριτικό κάθε προτύπου ειόδου έκατος. Στο τµήµα της εφαρµογής που χετίζεται µε την ταξινόµηη, εκτός της ClassifiationFrame χρηιµοποιούνται και οριµένες άλλες κλάεις. Η πιο ηµαντική από αυτές είναι η κλάη Result. Ένα αντικείµενο αυτής της κλάης δηµιουργείται κάθε φορά που εκκινείται µια διαδικαία υλλογής δεδοµένων ειόδου. Η δηµιουργία αυτή γίνεται µε τις µεθόδους Result(features[],patterns), Result(features,patterns) όπου ουιατικά ορίζεται ο αριθµός χαρακτηριτικών κάθε προτύπου ειόδου για το εξεταζόµενο πρόβληµα. Συνακόλουθα περνάει ως όριµα ένα αντικείµενο TextField έτι ώτε να είναι δυνατή η εµφάνιη του αριθµού των διανυµάτων ειόδου που έχουν υλλεγεί. Με την µέθοδο isequal(a[],b[]) ελέγχεται εάν δυο διαδοχικά διανύµατα ειόδου ταυτίζονται ή όχι. Η ηµαντικότερη όµως λειτουργία που παρέχει η κλάη Result προέρχεται από την υγχρονιµένη µέθοδο aess(features[],name). Κατ αρχάς αυτή η µέθοδος ορίζεται υγχρονιµένη αφού είναι απαραίτητο οι διαφορετικές διεργαίες που την καλούν να έχουν αποκλειτική πρόβαη ε αυτή. Είναι λάθος δυο ή περιότερες διεργαίες υλλογής δεδοµένων να µεταβάλλουν µε µη υτηµατικό τρόπο τα περιεχόµενα του προτύπου ειόδου ενώ παράλληλα η διεργαία εξαγωγής υµπεραµάτων να το χρηιµοποιεί για να πραγµατοποιήει µια ταξινόµηη. Εάν το πρώτο όριµα είναι null ηµαίνει ότι η καλούα διεργαία είναι η ταξινόµηη οπότε επιτρέφεται το πιο πρόφατο πρότυπο ειόδου που έχει υλλεγεί. Αντίθετα εάν το πρώτο όριµα περιέχει τις τιµές των χαρακτηριτικών κάποιου προτύπου ειόδου τότε αυτό ελέγχεται ως προς το αµέως προηγούµενο του για να διαπιτωθεί εάν διαφέρει. Εάν πράγµατι διαφέρει τότε αποθηκεύεται το αντίτοιχο byte αρχείο όπως αυτό προδιορίζεται από το δεύτερο όριµα που δέχεται η µέθοδος. Με τις µεθόδους Weights(path,nam,inputs,aRules,bRules,Rules,outputs), transfer(name,extension,elements), transfer(name,extension,rows,olumns) της κλάης Weights ανακτώνται οι παράµετροι του ταξινοµητή (απλού ή πολυεπίπεδου) που βρίκονται τα αντίτοιχα byte αρχεία. Σηµαντικό είναι το γεγονός ότι οι ανακτώµενες τιµές αποθηκεύονται ε δοµές πίνακα µε τον τρόπο που περιγράφεται το [ 7.4]. Η µέθοδος addconstraints(gbl,,gb,gx,gy,gw,gh,wx,wy,ar) της κλάης Constraints δίδει την δυνατότητα οριµού των χαρακτηριτικών κάθε κελιού την δοµηµένη διάταξη πλέγµατος µε απλό και ευκρινή τρόπο. Η wrapper τάξη Double περιέχει µια stati υνάρτηη την parsedouble(str) η οποία δεχόµενη ως όριµα ένα αλφαριθµητικό που αναπαριτά έναν οποιοδήποτε αριθµό επιτρέφει την τιµή αυτού ως double. Ο λόγος που κατακευάτηκε αυτή η κλάη πρέπει να αναζητηθεί το υπούνολο της γλώας Java που είναι εγκατετηµένο το PDA το οποίο δεν περιέχει wrapper κλάεις για τους αριθµούς κινητής υποδιατολής. Η κλάη Movie που χρηιµοποιείται και το παράθυρο της εφαρµογής που χετίζεται µε την εκπαίδευη του ταξινοµητή έχει ως κοπό την εµφάνιη κινούµενης εικόνας τα παράθυρα της εφαρµογής. Η µέθοδος εγκατάταης Movie(lokwise,path) ορίζει τον τρόπο περιτροφής των κινουµένων τοιχείων της 158

159 Κεφάλαιο 7 εικόνας και επίης ορίζει την πλήρη διαδροµή του φακέλου που περιέχει τα frames της εικόνας. Η υναρτήεις start() και stop() εκκινούν και διακόπτουν την κινούµενη εικόνα. Παράλληλα οι µέθοδοι run(), update(g), paint(g) εναλλάουν τα καρέ της εικόνας και τα απεικονίζουν την οθόνη του PDA έτι ώτε να επιτύχουν την επιθυµητή κίνηη. Η κλάη TrainingFrame είναι επιφορτιµένη µε την δηµιουργία του παραθύρου αρχικοποίηης-επανεκπαίδευης, παράλληλα υλοποιεί τις ακριβείς λειτουργίες που επιλέγει ο χρήτης. Ο πρωταρχικός ρόλος της µεθόδου εγκατάταης TrainingFrame(title,path) είναι να κατακευάει και να εµφανίει το παράθυρο της εφαρµογής (χρηιµοποιώντας την διάταξη δοµηµένων πλεγµάτων της Java). Τα ορίµατα που δέχεται είναι το πρώτο υτατικό του υπέρτιτλου του παραθύρου και η διαδροµή του φακέλου που περιέχει όλα τα αρχεία που χετίζονται µε το πρόγραµµα. Επίης µια ηµαντική διεργαία που εκτελείται είναι ότι φορτώνονται (από το αρχείο info.txt) τα διαθέιµα προβλήµατα ταξινόµηης που έχουν οριτεί από τον server και τα οποία µπορεί να ζητηθεί να γίνει επανεκπαίδευη του ταξινοµητή. Η µέθοδος isvalidip(str) ελέγχει εάν το string που δέχεται ως όριµα αποτελεί έγκυρη IP διεύθυνη, δηλαδή εάν είναι ένας αριθµός µεταξύ και Σε περίπτωη που κάτι τέτοιο είναι αληθές επιτρέφει true, ε αντίθετη περίπτωη επιτρέφει false. Σχήµα : Το παράθυρο της εφαρµογής WiDIFuNeCS που χετίζεται µε την λειτουργία της αρχικοποίηης-επανεκπαίδευης. Ο χειριµός των επιλογών που κάνει ο χρήτης, άρα και των επιτελούµενων διεργαιών λαµβάνει χώρα την µέθοδο ation(vnt,arg). Αξίζει να ηµειωθεί το γεγονός ότι οριµένοι µόνο υνδυαµοί επιλογών από τις λίτες Data Set και Operation είναι έγκυροι µε αποτέλεµα επιτελείται η ζητούµενη λειτουργία. Εάν ο υνδυαµός επιλογών δεν αντιτοιχεί ε κάποια διεργαία ή εάν είναι λανθαµένος τότε το πεδίο Status εκτυπώνονται κατάλληλα µηνύµατα. Έτι εάν η IP διεύθυνη είναι µη έγκυρη εµφανίζεται το µήνυµα λάθους Invalid IP Address, εάν ζητηθεί επανεκπαίδευη αλλά δεν έχει επιλεγεί κάποιο ύνολο ταξινόµηης εµφανίζεται το µήνυµα λάθους Data Set Not Seleted, τέλος εάν επιλεγεί να αρχικοποιηθεί ο 159

160 ταξινοµητής ε ένα ήδη υπάρχον πρόβληµα εµφανίζεται το µήνυµα λάθους Already Initialized. Ο χρήτης επιλέγοντας κάποιο Data Set, πληκτρολογώντας την IP διεύθυνη του server (που χετίζεται µε το υγκεκριµένο πρόβληµα ταξινόµηης) και διαλέγοντας Update την λίτα Operation ειέρχεται το τάδιο επανεκπαίδευης του υτήµατος ταξινόµηης. Εάν επιλέξει Initialize την λίτα Operation, δεν επιλέξει Data Set και θέει την IP διεύθυνη του server (που χετίζεται µε ένα καινούργιο πρόβληµα ταξινόµηης) τότε το πρόγραµµα ειέρχεται το τάδιο αρχικοποίηης κατά το οποίο ορίζεται το ύτηµα ένα νέο πρόβληµα ταξινόµηης. Στο πεδίο Status εµφανίζονται επίης µηνύµατα χετικά µε την επιτελούµενη λειτουργία. Έτι την φάη της αρχικοποίηης ενδέχεται να εµφανιτούν τα ακόλουθα µηνύµατα: Conneting //ύνδεη το δίκτυο Conneting Server //ύνδεη µε τον server Server Not Found //ο server την υγκεκριµένη IP δεν υπάρχει Initializing //αρχικοποίηη του ταξινοµητή Disonneted from Server //απώλεια ύνδεης µε τον server New Set Added //επιτυχής οριµός καινούργιου προβλήµατος Set Not Added //ανεπιτυχής οριµός καινούργιου προβλήµατος Initialization Completed //τερµατιµός αρχικοποίηης Disonneted Retry //απώλεια της ύνδεης Από την άλλη πλευρά την φάη της επανεκπαίδευης ενδέχεται να εµφανιτούν τα ακόλουθα µηνύµατα: Conneting //ύνδεη το δίκτυο Conneting Server //ύνδεη µε τον server Server Not Found //ο server την υγκεκριµένη IP δεν υπάρχει Sending Patterns //αποτολή των προτύπων που έχουν υλλεγεί Unavailable Patterns //δεν υπάρχουν πρότυπα προς αποτολή Disonneted from Server //απώλεια ύνδεης µε τον server Updating Weights //ανανέωη των παραµέτρων του ταξινοµητή Updating Completed //τερµατιµός της ανανέωης των παραµέτρων Disonneted Retry //απώλεια της ύνδεης Λήψη των εδοµένων που Εκπέµπουν οι Αιθητήρες Από την πλευρά του PDA έχουν υλοποιηθεί δύο περιπτώεις αντίτοιχες προς τις περιπτώεις των αιθητήρων. Η κλάη Server είναι υπεύθυνη για τη διαύνδεη των αιθητήρων τύπου Α µε τη υκευή ώτε το PDA να δέχεται δεδοµένα αύγχρονα, ενώ η ServerII είναι υπεύθυνη για τη διαύνδεη των αιθητήρων τύπου Β µε την υκευή ώτε το PDA να δέχεται δεδοµένα κατά ύγχρονο τρόπο. ηµιουργούνται λοιπόν serversoket [ 6.7.4]: serversoket = new ServerSoket(Integer.parseInt(port)+8000); Αν έχουµε την περίπτωη Α τότε δηµιουργούνται ServerSoket για κάθε αιθητήρα τις θύρες 8001,8002,... τόα όες και οι είοδοι. Στην άλλη περίπτωη δηµιουργείται µόνο το ServerSoket τη θύρα Εντός της µεθόδου run ε κάθε κλάη (Server, ServerII) τοποθετούνται τα: 160

161 Κεφάλαιο 7 while(true) lientsoket=null; try lientsoket = serversoket.aept(); ath(ioexeption e) e.printstaktrae(); ontinue; if(m_hk==true) eho=new EhoThread(lientSoket,this,inp); eho.start(); Για κάθε ένα soket που προπαθεί να υνδεθεί δηµιουργείται ένα νήµα για να το εξυπηρετήει. Τα νήµατα που δηµιουργούνται είναι οµότυπα των κλάεων EhoThread και EhoThreadII. Αυτά τα νήµατα έχουν ως κοπό να αποθηκεύουν τις τιµές που δέχονται την µεταβλητή publi stati String x[] η οποία είναι ο πίνακας που αποθηκεύονται τα δεδοµένα ειόδου. Στον υγχρονιµένο τρόπο η προπέλαη του πίνακα γίνεται µια φορά και αλλάζουν οι τιµές ε όλα τα κελιά του, ενώ τον αύγχρονο τρόπο έχουµε προπέλαη κάθε φορά που έρχεται µια νέα τιµή για οποιοδήποτε χαρακτηριτικό. Οι παρακάτω εντολές υλοποιούν την υποδοχή των δεδοµένων ειόδου. do asii = is.read(); if(asii!=(int)'x') strb.append((har)asii); while(asii!=(int)'x'); Όπως είναι φανερό το soket ταµατά να διαβάζει µόλις υναντήει το χαρακτήρα 'X'. Ανάµεα το soket και το serversoket, δηλαδή ανάµεα τον αιθητήρα και το PDA έχει γίνει µια ύµβαη ότι οι τιµές µεταδίδονται χαρακτήρα προς χαρακτήρα και τελειώνουν µε τον χαρακτήρα 'Χ'. Αυτή η ύµβαη δίνει τη δυνατότητα το PDA να καταλάβει ότι η µετάδοη µιας τιµής τέλειωε ή ότι έγινε φάλµα µετάδοης γεγονός που ηµαίνει ότι πρέπει να διακοπεί η ύνδεη και να εκκινηθεί µια καινούργια Είναι πολύ ηµαντική αυτή η ύµβαη, γιατί έτι µπορούµε να µεταδίδουµε τιµές χωρίς να είµατε υποχρεωµένοι να ξέρουµε από πριν το µέγεθος τους ε byte (χαρακτήρες). os.write('@'); os.flush(); os.lose(); 161

162 is.lose(); s.lose(); Εάν γίνει ωτή µετάδοη µιας τιµής τότε το PDA τέλνει κλείνει τη ύνδεη, ανοίγει καινούργια ύνδεη και περιµένει. Συµπληρωµατικά πάλι έχουν χρηιµοποιηθεί Thread για να µπορούµε να ταµατάµε και να εκκινούµε την ύνδεη. Η εκκίνηη όπως και η διακοπή γίνεται µέα από τις µεθόδους start_simple_sensor() και stop_simple_sensor() για την αύγχρονη ύνδεη και start_multi_sensor() και stop_multi_sensor() για τη υγχρονιµένη µετάδοη δεδοµένων Σύνδεη της Φορητής Συκευής µε τον Server Η κλάη lient_initial αναλαµβάνει να κάνει την αρχικοποίηη ενός νέου προβλήµατος. Αναλαµβάνει λοιπόν να µεταφέρει από τον εξυπηρετητή τα τρία ύνολα κανόνων και να προθέει το αρχείο info.txt τις απαραίτητες πληροφορίες για το νέο πρόβληµα. Αυτή η κλάη περιέχει τις µεθόδους: onnet_reeive() που παίρνει αν ορίµατα την διεύθυνη του εξυπηρετητή, τον αριθµό της θύρας και το αρχείο το οποίο θα αποθηκεύει τα δεδοµένα που θα τείλει ο εξυπηρετητής. onnet_reeive(ip_adress,port_number+1,fil+".tmpaxs"); ηµιουργεί λοιπόν ένα αρχείο µε το αναγνωριτικό του προβλήµατος και κατάληξη ένα ύνολο έξι χαρακτήρων: tmp, ένα από τα a, b, ανάλογα µε το ύνολο των κανόνων και ένα από τα xs, w, ws, v, vs ανάλογα µε το είδος του βάρους. FileOutputStream fos = new FileOutputStream(file_name); BufferedOutputStream bos = new BufferedOutputStream(fos); DataOutputStream dos = new DataOutputStream(bos); Με την χρήη ενός soket αποθηκεύει το αρχείο τις τιµές που τέλνει ο εξυπηρετητής. ηλώεις BufferedOutputStream bos ; DataOutputStream dos ; String tmp; Κώδικας tmp=dis.readdouble(); dos.writedouble(tmp); dos.flush(); onnet_reeive_line() δέχεται ως ορίµατα την διεύθυνη του εξυπηρετητή, τον αριθµό της θύρας και το αρχείο το οποίο θα αποθηκεύει τις πληροφορίες που θα τείλει ο εξυπηρετητής, δηλαδή το info.txt. onnet_reeive_line(ip_adress,port_number+16,info); 162

163 Κεφάλαιο 7 Ανοίγει το αρχείο info.txt και προθέτει τις πληροφορίες που του τέλνει ο εξυπηρετητής. Τις πληροφορίες τις διαβάζει µε readline() και προθέτει ένα κενό, ώτε να υπάρχει διαχωριµός. Όπως θα επιηµανθεί και παρακάτω για να λειτουργήει η readline() πρέπει οι πληροφορίες να τέλνονται υνοδευόµενες από '\n' για να γίνεται αφής ο διαχωριµός ανάµεα τις πληροφορίες. ηλώεις BufferedInputStream bis ; BufferedReader dis; String down; String tmp; Κώδικας bis = new BufferedInputStream(lient.getInputStream()); dis = new BufferedReader(new InputStreamReader(bis)); down = dis.readline(); tmp=tmp+down+" "; tmp=tmp+dis.readline(); onnet_reeive_lineii() είναι ταυτόηµη µε την onnet_reeive_line() η λειτουργία της είναι να πάρει την πρώτη πληροφορία από τον εξυπηρετητή που είναι το όνοµα του προβλήµατος για να χρηιµοποιηθεί τις υπόλοιπες µεταδόεις. isequal() που παίρνει ως ορίµατα το αρχείο info.txt και το αναγνωριτικό του προβλήµατος, εάν δεν υπάρχει το όνοµα αυτό το αρχείο τότε προτίθενται οι πληροφορίες το αρχείο. Έτι διαφαλίζεται ότι δεν θα υπάρχουν το info.txt πολλαπλές εγγραφές. Η lient_initial καλεί µε την εξής διάταξη τις παραπάνω υναρτήεις: info=path+"info.txt"; onnet_reeive_lineii(ip_adress,port_number+16,info); fil = path+new_name; onnet_reeive(ip_adress,port_number+1,fil+".tmpaxs"); onnet_reeive(ip_adress,port_number+2,fil+".tmpaw"); onnet_reeive(ip_adress,port_number+3,fil+".tmpaws"); onnet_reeive(ip_adress,port_number+4,fil+".tmpav"); onnet_reeive(ip_adress,port_number+5,fil+".tmpavs"); onnet_reeive(ip_adress,port_number+6,fil+".tmpbxs"); onnet_reeive(ip_adress,port_number+7,fil+".tmpbw"); onnet_reeive(ip_adress,port_number+8,fil+".tmpbws"); onnet_reeive(ip_adress,port_number+9,fil+".tmpbv"); onnet_reeive(ip_adress,port_number+10,fil+".tmpbvs"); onnet_reeive(ip_adress,port_number+11,fil+".tmpxs"); onnet_reeive(ip_adress,port_number+12,fil+".tmpw"); onnet_reeive(ip_adress,port_number+13,fil+".tmpws"); onnet_reeive(ip_adress,port_number+14,fil+".tmpv"); onnet_reeive(ip_adress,port_number+15,fil+".tmpvs"); if(isequal(new_name,info)) 163

164 onnet_reeive_line(ip_adress,port_number+16,info); Η µεταβλητή new_name περιέχει το όνοµα του νέου προβλήµατος Η µεταβλητή path περιέχει τη διαδροµή την οποία βρίκεται το αρχείο που πρόκειται να προπελατεί. H κλάη lient_heking διαφέρει µε την προηγούµενη το ότι δεν παίρνει πληροφορίες από τον εξυπηρετητή για κάποιο νέο πρόβληµα, αλλά τέλνει ότι πληροφορίες έχει υγκεντρώει περί αυτού. Αντί λοιπόν των µεθόδων onnet_reeive_line() και onnet_reeive_lineιι() υπάρχει η µέθοδος onnet_send() που δέχεται ως ορίµατα την διεύθυνη του εξυπηρετητή, τον αριθµό της θύρας και το αρχείο το οποίο θα τείλει. Το αρχείο φέρει το όνοµα του προβλήµατος ταξινόµηης από το οποίο προέκυψε καθώς και την κατάληξη.dat. Μετά την µετάδοη του, διαγράφεται ώτε το PDA να µπορεί να µπορεί να υλλέξει νέες ειόδους και ο εξυπηρετητής την επόµενη φορά να µην χρειάζεται να χειρίζεται παλαιά δεδοµένα. Η lient_heking καλεί µε την εξής διάταξη τις υναρτήεις: onnet_send(ip_adress,port_number,fil+".dat"); onnet_reeive(ip_adress,port_number+1,fil+".tmpaxs"); onnet_reeive(ip_adress,port_number+2,fil+".tmpaw"); onnet_reeive(ip_adress,port_number+3,fil+".tmpaws"); onnet_reeive(ip_adress,port_number+4,fil+".tmpav"); onnet_reeive(ip_adress,port_number+5,fil+".tmpavs"); onnet_reeive(ip_adress,port_number+6,fil+".tmpbxs"); onnet_reeive(ip_adress,port_number+7,fil+".tmpbw"); onnet_reeive(ip_adress,port_number+8,fil+".tmpbws"); onnet_reeive(ip_adress,port_number+9,fil+".tmpbv"); onnet_reeive(ip_adress,port_number+10,fil+".tmpbvs"); onnet_reeive(ip_adress,port_number+11,fil+".tmpxs"); onnet_reeive(ip_adress,port_number+12,fil+".tmpw"); onnet_reeive(ip_adress,port_number+13,fil+".tmpws"); onnet_reeive(ip_adress,port_number+14,fil+".tmpv"); onnet_reeive(ip_adress,port_number+15,fil+".tmpvs"); Κλείνοντας αξίζει να επιηµανθεί το γεγονός ότι αν για κάποιο λόγο διακοπεί η ύνδεη ανάµεα το PDA και τον εξυπηρετητή, τότε από την κατάληξη των αρχείων δεν αφαιρείται το πρόθεµα tmp υποδεικνύοντας έτι ότι υπήρξε µη κανονική διακοπή τη ύνδεη. Όα αρχεία δηµιουργήθηκαν µε κατάληξη tmp παραµένουν µέχρι να υπάρξει επιτυχής ενηµέρωη-αρχικοποίηη οπότε και διαγράφονται Η Eφαλµένη Yλοποίηη των Sokets την Πλατφόρµα Jeode Αν ανατρέξει κάποιος τις εντολές που παρουιάτηκαν την αρχή της παραγράφου θα παρατηρήει ότι η while loop είναι ατέρµονη αφού περιλαµβάνει τη υνθήκη while(true). Προγραµµατιτικά ένας ατέρµονος βρόγχος ηµαίνει ότι εκτελείται υνεχώς για όο χρόνο η εφαρµογή εκτελείται από την Java Virtual Mahine. Εν προκειµένου αυτό ηµαίνει ότι το serversoket που ανοίγουµε είναι έτοιµο να δέχεται lientsoket (να κάνει aept) υνεχώς για όο εκτελείται η 164

165 Κεφάλαιο 7 εφαρµογή (ε οποιαδήποτε κατάταη λειτουργίας και αν βρικόµατε). Βέβαια το να δέχεται soket δεν ηµαίνει ότι δέχεται και δεδοµένα από τον αιθητήρα αφού αυτό καθορίζεται από το: if(m_hk==true) eho=new EhoThread(lientSoket,this,inp); eho.start(); δηλαδή από τη µεταβλητή m_hk η οποία εξαρτάται από τις επιλογές του χρήτη. Το ηµείο αυτό αποτελεί αδυναµία του κώδικα αλλά δεν οφείλεται ε προγραµµατιτική ατοχία αλλά ε πρόβληµα της JVM, την υνέχεια εξηγείται γιατί υµβαίνει αυτό. Η χέη lient-server ανάµεα ε αιθητήρες και PDA υλοποιείται δηµιουργώντας ένα serversoket το PDA το οποίο δέχεται αιτήεις από τους αιθητήρες, δηλαδή δέχεται υνδέεις από soket. H λογική υλοποίηη ε κώδικα επιβάλει ότι όταν ένα serversoket δεν είναι πλέον απαραίτητο να πρέπει να κλείνει, εφόον προηγουµένως έχουν κλείει ωτά όλες οι υνδέεις. Αυτή η υλοποίηη ενώ πραγµατοποιήθηκε και είχε τα αναµενόµενα αποτελέµατα ε επίπεδο loalhost, δηλαδή όο το πείραµα γινόταν ανάµεα ε αιθητήρες και server τον ίδιο υπολογιτή, όταν δοκιµάτηκε ανάµεα ε φορητό υπολογιτή και ε PDA δεν λειτούργηε. Αυτό που έγινε είναι ότι ενώ έκλεινε τελείως η EVM (δηλαδή η Jeode Virtual Mahine) και µετά την εκκινούαµε κανονικά, ήταν αδύνατο για τους αιθητήρες να επικοινωνήουν µε την εφαρµογή το PDA. Ενώ το ping έδειχνε ότι υπάρχει η IP address του PDA, o αιθητήρας υµπεριφερόταν αν να άνοιγε soket το πουθενά και για αυτό εγειρόταν exeption ConnetExeption. H υµπεριφορά αυτή βέβαια είχε και υµπτώµατα τα οποία παρουιάζονταν µόλις γινόταν προπάθεια serversoket.lose() οπότε δηµιουργούταν εξαίρεη SoketExeption την εντολή serversoket.aept(). Αυτό την αρχή ερµηνεύθηκε ως προγραµµατιτική αδυναµία έτι δοκιµάτηκαν όλες οι δυνατές περιπτώεις κλειίµατος τόο του serversoket όο και των soket τόο ε επίπεδο PDA όο και ε επίπεδο αιθητήρων. Συγκεκριµένα έγιναν οι εξής προπάθειες: µέα την ath της SoketExeption που πέταγε η serversoket.aept() να κλείουµε όλες τις υπάρχουες υνδέεις (soket, serversoket). για να διαφαλίουµε ότι όντως κλείναµε όλες τις υνδέεις έγινε υλοποίηη χρηιµοποιώντας την κλάη ThreadGroup. Ορίζαµε λοιπόν κάθε νέο νήµα ως µέλος του ThreadGroup και µετά ανατρέχαµε ε αυτό και κλείναµε όλα τα µέλη του, µε τη βοήθεια των µεθόδων ative() και enumerate(). χρηιµοποιήθηκε η µέθοδος setsotimeout() τόο τα soket όο και το serversoket. Η µέθοδος αυτή αν εφαρµοτεί ε soket θέτει χρονικό περιοριµό το διάτηµα το οποίο θα περιµένει ένα soket για να διαβάει από τον προοριµό. Αν εφαρµοτεί ε serversoκεt τότε θέτει χρονικό περιοριµό την aept() για το πόο θα περιµένει την ύνδεη ενός soket. Αν περάει το χρονικό αυτό όριο τότε εγείρεται εξαίρεη SoketTimeoutExeption. εξετάτηκε η περίπτωη τα νήµατα που δηµιουργούνται να είναι daemons, όποτε λογικά η JVM δεν µπορεί να τερµατίει (αυτό έγινε µε τη µέθοδο isdaemon() της Thread). Ωτόο τα νήµατα δεν γίνονταν daemon, δηλαδή δεν υνεχίζονταν το παρακήνιο (bakground). 165

166 To αποτέλεµα για κάθε µία από τις παραπάνω περιπτώεις καθώς και υνδυαµούς αυτών ήταν ένα. Η πλατφόρµα ενώ δούλευε για όλες τις περιπτώεις ε επίπεδο loalhost, το PDA κατέρρεε ε ανεπανόρθωτο ηµείο. εν µπορούαν οι αιθητήρες να πετύχουν ύνδεη µε το PDA αν για µία φορά έκλεινε το serversoket, το παράθυρο ή το πρόγραµµα. Μοναδική λύη ήταν το hard reset της υκευής. Μία καθοριτική προπάθεια για να αποφαίουµε για τη φύη του προβλήµατος ήταν όταν η πλατφόρµα δοκιµάτηκε ε δικτυακό επίπεδο, τόο αύρµατο όο και ενύρµατο, ανάµεα ε PC µε εγκατατηµένο JDK 1.4. Σε αυτή την περίπτωη η πλατφόρµα δούλευε χωρίς κανένα πρόβληµα. Σηµειώνουµε ότι δεν υπάρχει περίπτωη χρήης κλάης ή µεθόδου που δεν υποτηρίζει η Jeode αφενός γιατί ο προγραµµατιµός έγινε ύµφωνα µε το δικό της speifiation (PersonalJava 1.2) αφετέρου διότι η εικονική µηχανή εγείρει exeptions αν χρηιµοποιούνται κλάεις ή µέθοδοι που δεν υποτηρίζει (παράδειγµα ClassNotFoundExeption τη µέθοδο parsedouble()). Η επόµενη κίνηη ήταν η αναζήτηη πληροφοριών το Internet όπου υναντήαµε πολλά γεγονότα αντίτοιχα προς το δικό µας, χωρίς όµως να προτείνεται λύη. υτυχώς ελλιπής είναι και η δυνατότητα χρηιµοποίηης εργαλείων το PDA για να εξετατεί το ποιες θύρες παραµένουν ανοικτές. Σηµειώνεται ότι δεν εγείρεται Bind Exeption που να δηλώνει ότι γίνεται προπάθεια δηµιουργίας ServerSoket ε ήδη υπάρχον port. Σαν υµπέραµα θεωρούµε ότι η Jeode εικονική µηχανή παρουιάζει αδυναµία αντιµετώπιης της υγκεκριµένης κατάταης, καταλήγοντας ε απρόβλεπτες κατατάεις. Από την πλευρά µας, έχουµε να προτείνουµε τις εξής λύεις: διατήρηη µόνιµης ύνδεης ανάµεα ε PDA και αιθητήρα, όπως και υλοποιήθηκε. Έτι εξηγείται και ο χρηιµοποιούµενος ατέρµονος βρόχος. Αυτή η λύη δεν ξεπερνά το πρόβληµα αλλά το περιορίζει την περίπτωη που κλείνουµε τελείως την JVM οπότε και πρέπει να γίνει hard reset. ιαφαλίζει τη λογική που έχει αναπτυχθεί υνολικά για την πλατφόρµα και δεν δηµιουργεί προβλήµατα την κανονική λειτουργία της πλατφόρµας. αντιτροφή των ρόλων των serversoket και soket. Το ρόλο του server θα παίξει ο αιθητήρας και του lient το PDA. H υλοποίηη αυτή ενέχει προβλήµατα. Το κυριότερο είναι ότι αντικρούει την υπόθεη περί έλλειψης ευφυΐας του αιθητήρα αφού πλέον ένας αιθητήρας εµφανίζει αυξηµένη πολυπλοκότητα. χρήη των Datagram Soket ή UDP soket [ ]. Σε αυτή την περίπτωη όµως αναφερόµατε ε λογική ταχυδροµείου όπου δεν ξέρει ο αποτολέας αν και πότε φτάνει το µήνυµα, κάτι το οποίο είναι ηµαντικό την περίπτωη της υγχρονιµένης µετάδοης. Το βαικότερο ερώτηµα που έµεινε όµως αναπάντητο είναι η εγκυρότητα του επιχειρήµατος της Sun περί του ότι η εικονική µηχανή µπορεί να καταρρέει αλλά η ίδια µηχανή πάνω την οποία τρέχει ποτέ. Τέλος παρουιάζονται τα µηνύµατα που καταγράφονται από την πλευρά ενός αιθητήρα όταν δηµιουργείται το πρόβληµα. Οι boolean τιµές µετά τους αριθµούς 1, 2, 3 είναι οι τιµές που προκύπτουν τις µεθόδους isbound(), isclosed(), isconneted() της κλάης Soket αντίτοιχα. 166

167 Κεφάλαιο 7 4.4X java.net.sokettimeoutexeption: Read timed out at java.net.soketinputstream.soketread0(native Method) 1:true 2:true 3:true Εδώ κλείνει η εφαρµογή το PDΑ 4.4X? java.net.connetexeption: Connetion refused: onnet at java.net.plainsoketimpl.soketconnet(native Method) 1:false 2:true 3:false Εδώ διακόπτεται η λειτουργία του αιθητήρα STOP java.net.soketexeption: Soket operation on nonsoket: onnet at java.net.plainsoketimpl.soketconnet(native Method) Ενώ εδώ ξαναρχίζει, αφού ξαναρχίει πρώτα η εφαρµογή το PDA START 1:false 2:true 3:false java.net.connetexeption: Connetion refused: onnet at java.net.plainsoketimpl.soketconnet(native Method) 167

168 7.7 Server Ο εξυπηρετητής είναι υπεύθυνος για την αρχικοποίηη του PDA, ώτε αυτό να µπορεί να αντιµετωπίει ένα νέο πρόβληµα ταξινόµηης, είναι επίης επιφορτιµένος µε την υνεχή ενηµέρωη των βαρών του ταξινοµητή µε τιµές που προκύπτουν από την υβριδική επανεκπαίδευη του υτήµατος. Η υλοποίηη έγινε ε JDK 1.4 και η εφαρµογή εγκατατάθηκε ε PC. H ύνδεη µε το PDA τηρίζεται το πρωτόκολλο [ 5.2] το οποίο παρέχει πλήρη υποτήριξη του προτύπου TCP/IP. Έτι το PDA µπορεί να υνδεθεί ε ένα εξυπηρετητή που ανήκει το τοπικό αύρµατο δίκτυο ή ε έναν εξυπηρετητή που βρίκεται ε ένα οποιαδήποτε ηµείο του κόµου, αρκεί να είναι γνωτή η ΙΡ διεύθυνη αυτού. Κάθε εξυπηρετητής είναι υπεύθυνος για ένα µόνο πρόβληµα και µπορεί να βρεθεί ε δύο κατατάεις. Στην κατάταη αρχικοποίηης και την κατάταη ενηµέρωης Φάη Αρχικοποίηης Στο χήµα παρουιάζεται η εφαρµογή ε κατάταη αρχικοποίηης. Σχήµα Εξυπηρετητής ε κατάταη αρχικοποίηης Για να αρχικοποιηθεί το ύτηµα ως προς ένα πρόβληµα ταξινόµηης πρέπει ο χρήτης να ορίει κάποιες παραµέτρους. Data Set Identifier: ένα όνοµα που χαρακτηρίζει το πρόβληµα (π.χ. iris, louds, ionosphere) Training Data: το training set, το ύνολο των δειγµάτων που γνωρίζουµε τις κατηγορίες τους. Το κουµπί Browse είναι υνδεδεµένο µε αντικείµενο της κλάης JFileChooser η οποία µας δίνει τη δυνατότητα να έχουµε οπτική αναπαράταη του υτήµατος αρχείων ενός υπολογιτικού υτήµατος 168

169 Κεφάλαιο 7 Σχήµα Το παράθυρο που προκύπτει αν πατηθεί το κουµπί Browse Number of Input Features: ο αριθµός των τοιχείων των χαρακτηριτικών Number of Rules: ο αριθµός των κανόνων, δηλαδή ο αριθµός των κόµβων του κρυµµένου τρώµατος του SuPFuNIS Number of Training Epohs: o αριθµός των εποχών εκπαίδευης Resubstitution Auray: η ακρίβεια υποκατάταης Μόλις δοθούν λοιπόν τιµές ε όλα τα πεδία τότε η αρχικοποίηη µπορεί να ξεκινήει. Ανάλογα µε τις τιµές που έδωε ο χρήτης και ανάλογα µε τις υπολογιτικές δυνατότητες του υτήµατος, το χρονικό διάτηµα το οποίο πραγµατοποιείται η εκπαίδευη-αρχικοποίηη µπορεί να διαρκέει από µερικά λεπτά έως αρκετές ώρες Φάη Ενηµέρωης Εφόον λοιπόν αρχικοποιηθεί ένας εξυπηρετητής πάνω ε ένα πρόβληµα τότε πατώντας το κουµπί Swith, µεταφερόµατε ε κατάταη ενηµέρωης. Στην κατάταη αυτή ο εξυπηρετητής αναλαµβάνει το ρόλο να εξυπηρετεί κάθε αίτηη που προκύπτει από ένα PDA είτε για αρχικοποίηη είτε για ενηµέρωη βαρών. Επειδή ακριβώς χρηιµοποιείται η λογική πελάτη-εξυπηρετητή, ο εξυπηρετητής µπορεί να εξυπηρετήει πολλούς πελάτες ακολουθιακά. Στην κατάταη αυτή ο server ανοίγει τα port 6000 έως 6016 και περιµένει να αποκριθεί ε τυχόν αιτήεις από πελάτες. Στο χήµα παρουιάζεται η εφαρµογή ε κατάταη αρχικοποίηης. 169

170 Σχήµα Εξυπηρετητής ε κατάταη ενηµέρωης Είναι προφανές ότι υπάρχουν δύο είδη αιτηµάτων Αιτήµατα Αρχικοποίηης Οι πελάτες που κάνουν αίτηη για αρχικοποίηη θέλουν να αποκτήουν τα απαραίτητα αρχεία για να µπορούν να αντιµετωπίζουν το πρόβληµα ταξινόµηης που υποτηρίζει ο εξυπηρετητής. Τα απαραίτητα αρχεία χωρίζονται ε τρία ύνολα βαρών (a, b, ), όπου κάθε ύνολο αποτελείται από 5 αρχεία βαρών. Τα τρία ύνολα βαρών αντιτοιχούν ε διαφορετικά ύνολα κανόνων, ε βέλτιτο αριθµό κανόνων, ε υποβέλτιτο αριθµό κανόνων και ε αριθµό κανόνων µεγαλύτερο από τον βέλτιτο. Έχουµε δηλαδή τα αρχεία: αριθµός θύρας - όνοµα βάρους 6001 axs 6002 aw 6003 aws βάρη κανόνων a 6004 av 6005 avs 6006 bxs 6007 bw 6008 bws βάρη κανόνων b 6009 bv 6010 bvs 6011 xs 6012 w 6013 ws βάρη κανόνων 6014 v 6015 vs Σχήµα Αντιτοιχία βαρών -θυρών Επίης είναι απαραίτητο να προτεθεί το αρχείο info.txt που βρίκεται το PDA µία γραµµή που να περιέχει τις βαικές πληροφορίες για το καινούργιο πρόβληµα ταξινόµηης. Οι πληροφορίες αυτές είναι τα Data Set Identifier, Number 170

171 Κεφάλαιο 7 of Input Features, Number of Rules. Από το τελευταίο νούµερο προκύπτουν οι αριθµοί και των υπόλοιπων κανόνων (± 40%). Είναι απαραίτητος επίης ο αριθµός των εξόδων. Στο χήµα φαίνεται παράδειγµα αρχείου info.txt Σχήµα Παράδειγµα info.txt Καταλαβαίνουµε ότι το πρόβληµα iris έχει 4 ειόδους, το πρώτο ύνολο βαρών αναφέρεται ε 5 κανόνες, το δεύτερο ε 3 και το τρίτο ε παράλληλα οι έξοδοι είναι 3. Έτι οι θύρες από 6001 έως 6015 χρηιµοποιούνται για να µεταδίδουν τα βάρη µε την αντιτοιχία που φαίνεται το χήµα ( ). Η θύρα 6016 χρηιµοποιείται για την αποτολή του αρχείου spe.nfo που περιέχει τις απαραίτητες πληροφορίες για αρχικοποίηη Αιτήµατα Ενηµέρωης Είναι απόλυτα λογικό, τα βάρη που έχουν δηµιουργηθεί κατά τη φάη της εκπαίδευης µετά από κάποιο χρονικό διάτηµα να µην είναι τόο αποδοτικά όο κάποιο άλλο ύνολο βαρών που έχει προκύψει από επανεκπαίδευη. Τα νέα αυτά βάρη εµφανίζουν υψηλότερη ακρίβεια υποκατάταης, οπότε ενδείκνυται να υπάρξει ύνδεη του πελάτη µε τον εξυπηρετητή για ενηµέρωη βαρών. Η ενηµέρωη δεν διαφέρει ε κάτι από την αρχικοποίηη όον αφορά το θέµα των βαρών. Η διαφορά έγκειται το ότι αντί ο πελάτης να πάρει ένα αρχείο spe.nfo, τώρα τέλνει ένα αρχείο που έχει όνοµα το όνοµα του προβλήµατος και κατάληξη.dat. To αρχείο αυτό περιέχει όλα τα δείγµατα που έχει υλλέξει µέχρι εκείνη τη τιγµή το PDA (o πελάτης) και βάει αυτών θα γίνει επανεκπαίδευη τον εξυπηρετητή. Αποτελεί την γνώη που έχει αποκτήει το PDA µέα από την διαδικαία ταξινόµηης, η οποία πρέπει να µεταφερθεί το ύτηµα εκπαίδευης για να µετουιωθεί ε αποδοτικότερες πράξεις ταξινόµηης. Αντί λοιπόν της θύρας 6016, την ενηµέρωη χρηιµοποιείται η θύρα 6000 για να µεταδοθεί το αρχείο µε την κατάληξη.dat το server. To αρχείο µετά την µετάδοη διαγράφεται, αφού ο server δεν θα χρειατεί ξανά αυτά τα δεδοµένα, από την τιγµή που τα έχει ήδη επεξεργατεί. 171

172 7.7.3 Η Εφαρµογή Java του Server Παρακάτω παρουιάζεται ένας κατευθυνόµενος ακυκλικός γράφος για να απεικονιτεί επακριβώς η διάταξη και λειτουργία των κλάεων από τις οποίες αποτελείται ο εξυπηρετητής. [Σχήµα ] server_p_initial.lass Start Swith Initial.lass [Σχήµα ] UpdateFrame.lass Update.lass server_rs.lass server_reeiving.lass server_sending.lass server_initial.lass Θύρες Σχήµα ενδροδιάγραµµα κλάεων εξυπηρετητή Η κλάη server_p_initial.lass είναι η αρχική κλάη του εξυπηρετητή που δηµιουργεί το πλαίιο (frame) του χήµατος και ανάλογα µε τις επιλογές του χρήτη εκτελεί διάφορες ενέργειες. Με Start δηµιουργείται αντικείµενο της κλάης Initial.lass (και εκκινείται το αντίτοιχο νήµα) ενώ µε Swith έχουµε την δηµιουργία τριών αντικειµένων: ένα αντικείµενο της κλάης UpdateFrame.lass που δηµιουργεί το πλαίιο του χήµατος ένα αντικείµενο της κλάης server_rs.lass που είναι υπεύθυνη για την διαύνδεη του εξυπηρετητή µε τους πελάτες ένα αντικείµενο της κλάης Update Η κλάη Update υλοποιεί την επανεκπαίδευη του ταξινοµητή ε ένα υγκεκριµένο πρόβληµα για λογαριαµό του server και είναι κατά κάποιο τρόπο υµπληρωµατική της Initial. Η µέθοδος run() ελέγχοντας οριµένες υνθήκες εκκινεί την επανεκπαίδευη του υτήµατος ταξινόµηης αυτόµατα, εφόον βέβαια κρίνει ότι 172

173 Κεφάλαιο 7 ικανοποιούνται οριµένα κριτήρια. Οι υνθήκες που ελέγχει η κλάη Update είναι το κατά πόο από κάποια φορητή υκευή έχουν αποταλεί καινούργια πρότυπα επανεκπαίδευης (δηλαδή το κατά πόο υπάρχει ένα καινούργιο.dat αρχείο). Εάν κάτι τέτοιο υµβαίνει αρχίζει η επανεκπαίδευη η οποία επιτρέφει όταν τερµατίει κανονικά ο αλγόριθµος µάθηης, όταν γίνει Swith ή όταν εµφανιτούν νέα πρότυπα επανεκπαίδευης. Σε κάθε περίπτωη η καλύτερη δυνατή εκτίµηη των παραµέτρων του ταξινοµητή µέχρι εκείνη την χρονική τιγµή αποθηκεύεται τα αντίτοιχα byte αρχεία. Αξίζει να ηµειωθεί ότι δηµιουργούνται νήµατα για κάθε αντικείµενο ώτε να δίνεται η δυνατότητα τον εξυπηρετητή να λειτουργεί ως εφαρµογή, δηλαδή να περιµένει για αιτήεις από πελάτες. Επίης νήµα είναι και το πλαίιο UpdateFrame.lass για να µπορεί ο χρήτης να επιτρέψει ε κατάταη αρχικοποίηης πατώντας το κουµπί Swith του πλαιίου. Έτι ο χρήτης µπορεί να αλλάξει οριµένα τοιχεία από την διαδικαία αρχικοποίηης. Τα τοιχεία αυτά είναι ο αριθµός των κανόνων (και των τριών υνόλων), ο αριθµός των εποχών και η ακρίβεια υποκατάταης. Τα υπόλοιπα τοιχεία δεν µπορεί να τα αλλάξει, γι αυτό και είναι απενεργοποιηµένα. Αυτό υµβαίνει από την τιγµή που έχει υπάρξει η ύµβαη ότι κάθε εξυπηρετητής µπορεί να αντιµετωπίει ΜΟΝΟ ένα πρόβληµα. Στο παρακάτω χήµα φαίνονται τα πεδία που είναι απενεργοποιηµένα. Σχήµα Ο εξυπηρετητής εκ νέου ε κατάταη αρχικοποίηης. Η κλάη server_rs.lass δηµιουργεί τα νήµατα που παρακολουθούν τις θύρες από 6000 έως 6016 και απαντούν τις αντίτοιχες αιτήεις. Η κλάη server_reeiving.lass είναι υπεύθυνη για τη θύρα 6000 και υγκεκριµένα υποτηρίζει τις επόµενες ενέργειες: ηµιουργεί serversoket τη θύρα 6000 και περιµένει για κάποιο soket οπότε το δέχεται µε aept(). Στη υνέχεια δηµιουργεί αρχείο µε όνοµα temp, το όνοµα του προβλήµατος και κατάληξη.dat. FileOutputStream fos = new FileOutputStream("temp"+file_name); BufferedOutputStream bos = new BufferedOutputStream(fos); DataOutputStream dos = new DataOutputStream(bos); Στο αρχείο αυτό αποθηκεύει τα δεδοµένα που του τέλνει ο πελάτης. 173

174 ηλώεις String tmp; BufferedInputStream bis; DataInputStream dis; Soket lient; Κώδικας bis = new BufferedInputStream(lient.getInputStream()); dis = new DataInputStream(bis); tmp=dis.readdouble(); dos.writedouble(tmp); dos.flush(); Μόλις τελειώει η µετάδοη, οπότε και εγείρεται εξαίρεη EOFExeption, το αρχείο παίρνει το πρόθεµα new, το όνοµα του προβλήµατος και κατάληξη.dat, ενώ ξεκινά η διαδικαία επανεκπαίδευης (κλάη Update.lass). Εάν µια ύνδεη διακοπεί την τιγµή που γινόταν µεταφορά του αρχείου δεδοµένων, τότε το αρχείο µε πρόθεµα "temp" διαγράφεται, ώτε να µην υπάρχουν αποµεινάρια τον εξυπηρετητή. if(new File("temp"+file_name).exists()) new File("temp"+file_name).delete(); Η κλάη server_sending.lass είναι υπεύθυνη για τις θύρες 6001 έως 6015 και υποτηρίζει τις επόµενες ενέργειες. Στην ουία υπάρχει ένα αντικείµενο της κλάης για κάθε θύρα. Κάθε ένα αντικείµενο λοιπόν δηµιουργεί ένα serversoket την θύρα που του αντιτοιχεί και περιµένει για κάποιο soket, οπότε το δέχεται µε aept(). Στην υνέχεια ανοίγει το αντίτοιχο αρχείο βάρους που πρόκειται να µεταδώει: FileInputStream fis = new FileInputStream(file_name); BufferedInputStream bis = new BufferedInputStream(fis); DataInputStream dis = new DataInputStream(bis); Οπότε ξεκινά την µετάδοη: ηλώεις String tmp; BufferedOutputStream bos; DataOutputStream dos; Κώδικας bos = new BufferedOutputStream(lient.getOutputStream()); dos = new DataOutputStream(bos); tmp=string.valueof(dis.readdouble()); dos.writedouble(double.parsedouble(tmp)); dos.flush(); Μόλις τελειώει η µετάδοη των τοιχείων του αρχείου τότε εγείρεται εξαίρεη EOFExeption και τελειώνει η ύνδεη, ενώ το αντικείµενο αποδεµεύει τους πόρους. 174

175 Κεφάλαιο 7 Εδώ πρέπει να αναφερθούµε τη φύη των αρχείων και τον τρόπο µε τον οποίο διαβάζουν τα αντικείµενα από αυτά. Τα αρχεία είναι διαµορφωµένα ε ειρές byte, όπου κάθε ειρά των 8 byte αντιτοιχεί ε ένα double (αριθµό κινητής υποδιατολής), ενώ ενδιάµεα τις ειρές δεν παρεµβάλλονται κενά. Η ανάγνωη γίνεται χρηιµοποιώντας την µέθοδο readdouble() της DataInputStream ενώ η εγγραφή γίνεται µε τη µέθοδο writedouble() της DataOutputStream. Η κλάη server_sending.lass είναι υπεύθυνη για τη θύρα 6016 και για τη µεταφορά από τον εξυπηρετητή τον πελάτη, του αρχείου spe.nfo που περιέχει τις πληροφορίες για αρχικοποίηη ενός πελάτη πάνω ε ένα πρόβληµα. Το αρχείο spe.nfo όπως φαίνεται και το παρακάτω χήµα περιέχει ε κάθε γραµµή του τα εξής: 1. το όνοµα του προβλήµατος για το οποίο γίνεται αρχικοποίηη 2. τον αριθµό των ειόδων 3. τον αριθµό των κανόνων του πρώτου 4. του δεύτερου και 5. του τρίτου υνόλου κανόνων 6. τον αριθµό των εξόδων και τέλος 7. τον αριθµό των προτύπων του υνόλου εκπαίδευης, το οποίο βέβαια δεν χρειάζεται να µεταδοθεί αν πληροφορία. Σχήµα Παράδειγµα αρχείου spe.nfo Τώρα η ανάγνωη γίνεται µε τη µέθοδο readline() ενώ προτίθεται ο χαρακτήρας '\n' ε κάθε γραµµή. Αυτή είναι µια ύµβαη µεταξύ εξυπηρετητήπελάτη για να µπορεί να καταλαβαίνει ο πελάτης τις πληροφορίες που του τέλνει ο εξυπηρετητής. Τελειώνοντας αναφέρουµε ότι πατώντας Swith το πλαίιο του χήµατος αφενός επιτρέφουµε ε κατάταη αρχικοποίηης, αφετέρου κλείνουν όλες οι υνδέεις όπως και τα serversoket από το 6000 έως το 6016, χρηιµοποιώντας τη µέθοδο lose(). Αυτό είναι καίριας ηµαίας επειδή ακριβώς δεν πρέπει ένας πελάτης να µπορεί να εξυπηρετηθεί εάν πραγµατοποιούνται δοµικές αλλαγές το αντιµετωπιζόµενο πρόβληµα ταξινόµηης. 175

176 176

177 Κεφάλαιο 8 Πειραµατικές Μετρήεις 177

178 178

179 Κεφάλαιο 8 8 Πειραµατικές Μετρήεις 8.1 Περιγραφή Πειραµάτων Το αντικείµενο της παρούας διπλωµατικής εργαίας τρέφεται γύρω από το πεδίο των νευρο-ααφών υτηµάτων ταξινόµηης. Σε επίπεδο λειτουργίας καθώς και ε επίπεδο προγραµµατιτικής υλοποίηης το WiDIFuNeCS αναλύθηκε εκτενώς το [ 7]. Επιπλέον οι χρηιµοποιούµενες προγραµµατιτικές πλατφόρµες Java εµφανίζονται το [ 6], ενώ το χρηιµοποιούµενο hardware παρουιάζεται το [Π 4]. Σύµφωνα µε όα αναφέρθηκαν ε προηγούµενα κεφάλαια, βάη για την ανάπτυξη του WiDIFuNeCS αποτέλεε το SuPFuNIS. Το νευρο-ααφές αυτό ύτηµα χρηιµοποιήθηκε κατά κύριο λόγο ως ταξινοµητής, ενώ τελικός τόχος ήταν η αύρµατη κατανεµηµένη λειτουργία αυτού ε πραγµατικό περιβάλλον. Όπως ίως να έχει διαφανεί από προηγούµενα κεφάλαια, βαρύτητα έχει δοθεί επίης ε θέµατα που χετίζονται µε την εκπαίδευη του νευρο-ααφούς δικτύου καθώς και ε θέµατα που αφορούν την βελτίωη των επιδόεων του ταξινοµητή. Κατά υνέπεια µελετήθηκε ο αλγόριθµος εκπαίδευης του υτήµατος ταξινόµηης όπως επίης εξετάτηκε η αύξηη των επιδόεων ταξινόµηης µε την ειαγωγή της έννοιας του πολυεπίπεδου ταξινοµητή. Παράλληλα προτάθηκε µια τροποποίηη πάνω ε µια υφιτάµενη µέθοδο εκτίµηης της αξιοπιτίας του αποτελέµατος ταξινόµηης. Τέλος την προπάθεια να ικανοποιηθεί το αίτηµα για µη επιβλεπόµενη επανεκπαίδευη του ταξινοµητή, αίτηµα το οποίο απορρέει τόο από την χρηιµοποιούµενη αρχιτεκτονική όο και από τους πραγµατικούς περιοριµούς της υλοποίηης, προτείνεται ένας καινούργιος αλγόριθµος υβριδικής επανεκπαίδευης. Οριµένοι από αυτούς τους αλγορίθµους έχουν αναλυθεί και επαληθευτεί πλήρως άλλοι όµως, όπως για παράδειγµα η προτεινόµενη υβριδική επανεκπαίδευη, δεν έχουν µελετηθεί καθόλου (τουλάχιτον την ακριβή µορφή τους όπως αυτή περιγράφεται την παρούα διπλωµατική εργαία). Ο έλεγχος των αλγορίθµων εκπαίδευης-επανεκπαίδευης, της µεθόδου υπολογιµού της αξιοπιτίας και της αρχιτεκτονικής του πολυεπίπεδου ταξινοµητή θα µπορούε να γίνει χρηιµοποιώντας το WiDIFuNeCS ε πραγµατικές υνθήκες. Μια τέτοια επιλογή αφενός µεν δεν παρέχει τις εγγυήεις που απαιτούνται για την επαλήθευη της ορθότητας τους, αφετέρου δε περιορίζει το εύρος των πειραµατικών επαληθεύεων που µπορούν να επιτευχθούν. Η αρνητική αυτή υνέπεια υφίταται από την τιγµή που το WiDIFuNeCS χρηιµοποιούµενοι αλγόριθµοι, µέθοδοι και αρχιτεκτονικές είναι άρρηκτα υνδεδεµένες µεταξύ τους. Έτι γίνεται επιτακτική η ανάγκη για χρήη της λογικής της προοµοίωης αφού καθίταται δυνατόν ε πλήρως ελεγχόµενο περιβάλλον να µελετηθούν τα επιµέρους τοιχεία του υτήµατος, ανεπηρέατα από τις πιθανές µεταξύ τους διαυνδέεις. Παρόλα αυτά δόθηκε ιδιαίτερη µέριµνα τον τρόπο οργάνωης των επιτελούµενων προοµοιώεων έτι ώτε να αντικατοπτρίζουν ε µεγάλο βαθµό την λειτουργία του πραγµατικού υτήµατος. Συνακόλουθα οι παράµετροι που χρηιµοποιήθηκαν ήταν πανοµοιότυπες µε αυτές του WiDIFuNeCS κατά την πραγµατική του λειτουργία. Η γλώα προγραµµατιµού που χρηιµοποιήθηκε για τις προοµοιώεις ήταν η Java, η επεξεργαία των µετρήεων έγινε ε Matlab ενώ οι πίνακες των αποτελεµάτων και οι αντίτοιχες γραφικές παρατάεις έγιναν µε την χρήη Matlab και Exel. 179

180 Τα ύνολα προτύπων που χρηιµοποιούνται είναι τα ionosphere, louds και iris [Π 2]. Για κάθε ένα από αυτά τα προβλήµατα έγιναν τρία πειράµατα µέω προοµοιώεων. Αρχικά τα ύνολα προτύπων ανακατεύονταν και την υνέχεια χωρίζονταν ε δύο υπούνολα µε τυχαίο τρόπο. Το πρώτο περιελάµβανε 60% των προτύπων ενώ το δεύτερο το υπολειπόµενο 40%. Κατά την φάη της αρχικής εκπαίδευης του υτήµατος οι τιµές του ρυθµού εκπαίδευης και του όρου ορµής µειώνονταν γραµµικά µεταξύ των τιµών 0.1 και , πράγµα που έρχεται ε υµφωνία µε τα όα περιγράφονται το [ 3.2.2]. Επιπλέον ο µέγιτος αριθµός εποχών εκπαίδευης ορίτηκε να είναι 500, τιµή η οποία επελέγη µετά από οριµένα προπαρακευατικά πειράµατα. Σε αυτή την φάη γίνεται χρήη µεγαλύτερου υπουνόλου προτύπων (60%). Σε αντίθεη µε τα louds και ionosphere, όπου το κριτήριο τερµατιµού της εκπαίδευης ήταν η ικανοποίηη του ορίου των 500 εποχών ή η επίτευξη µηδενικού αριθµού λανθαµένων ταξινοµήεων, το iris πρόβληµα το κριτήριο τερµατιµού της εκπαίδευης ήταν η ικανοποίηη του ορίου των 500 εποχών ανεξαρτήτως του αριθµού των λανθαµένων ταξινοµήεων. Ο αριθµός των κανόνων του απλού ταξινοµητή επελέγη ακολουθώντας το [ 4.7]. Ο αριθµός κανόνων του τµήµατος του επίπεδου ταξινοµητή µε µεγαλύτερο αριθµό κανόνων από τον βέλτιτο ορίτηκε να είναι 40% µεγαλύτερος του βέλτιτου. Αυτό έγινε για να κρατηθεί η υπολογιτική πολυπλοκότητα κάτω από οριµένα όρια αλλά και για να αποφευχθούν φαινόµενα υπερεκπαίδευης. Από την άλλη πλευρά το τρίτο τµήµα του πολυεπίπεδου ταξινοµητή επελέγη να έχει 60% του βέλτιτου αριθµού κανόνων αφού µικρότερο ποοτό οδηγούε ε εκφυλιτικές κατατάεις (για παράδειγµα ταξινοµητής µε ένα ή κανένα κανόνα). Τέλος την φάη της υβριδικής επανεκπαίδευης [ 7.3] ο αριθµός εποχών ορίτηκε τις 100. Επιπλέον ανά πρότυπο επανεκπαίδευης γίνονται τέερις προπάθειες ανανέωης των βαρών αρχίζοντας από τιµές η και α ίες µε 0.1. Σε αυτή την φάη γίνεται χρήη του µικρότερου υπουνόλου προτύπων (40%). Σε αυτό το ηµείο αξίζει να ηµειωθεί ότι οι γραφικές παρατάεις που παρουιάζονται την υνέχεια αφορούν τα αποτελέµατα ενός πειράµατος προοµοίωης ανά πρόβληµα (από τα τρία που έχουν γίνει). Ακολουθήθηκε αυτή η λύη γιατί ε αντίθετη περίπτωη ο αριθµός των γραφηµάτων θα ήταν πολύ µεγάλος (υγκεκριµένα 36) χωρίς να προθέτει κάτι το ουιατικό τις επιηµάνειςπαρατηρήεις που γίνονται. Επίης το [Π 3] υπάρχουν όλες οι παράµετροι του υτήµατος από τα δεύτερα πειράµατα των iris, ionosphere καθώς και οι παράµετροι από το τρίτο πείραµα που αφορά το ύνολο louds. 8.2 Αλγόριθµος Εκπαίδευης Επαναλαµβάνοντας τα όα έχουν γραφεί ε διάφορα ηµεία της παρούας διπλωµατικής εργαίας, αναφέρουµε ότι ο χρηιµοποιούµενος αλγόριθµος επιβλεπόµενης µάθηης είναι ο bakpropagation µε την µέθοδο κλίης [ 3.2.1] και [ 4.4]. Ο µοναδική τροποποίηη-βελτίωη που γίνεται είναι αυτή που περιγράφεται το [ 4.8]. Ωτόο η αλλαγή αυτή δεν χετίζεται µε τον αλγόριθµο αυτόν καθ εαυτό αλλά αφορά την διόρθωη µιας µικρής χεδιατική ατοχίας. 180

181 Κεφάλαιο 8 Σχήµα 8.2.1: Τροχιές εκπαίδευης για το ύνολο ionosphere. Σχήµα 8.2.2: Τροχιές εκπαίδευης για το ύνολο louds. 181

182 Σχήµα 8.2.3: Τροχιές εκπαίδευης για το ύνολο iris. Τα ύνολα προτύπων επί των οποίων υπολογίζεται ο εφαλµένος αριθµός ταξινοµήεων περιλαµβάνουν 211 πρότυπα για το ionosphere, 3000 πρότυπα για το louds και 90 πρότυπα για το iris. Έχοντας κατά νου αυτούς τους αριθµούς και παρατηρώντας τις γραφικές παρατάεις κανείς µπορεί να παρατηρήει ότι η απόδοη του αλγορίθµου ανάτροφής διάδοης παραµένει υψηλή ανεξαρτήτως της φύης των δεδοµένων που υνιτούν το ύνολο εκπαίδευης και προφανώς ανεξαρτήτως του µεγέθους του. Συνακόλουθα κυρίως εκ του αποτελέµατος, υνάγεται το υµπέραµα ότι η τροποποίηη του αλγορίθµου λειτουργεί ικανοποιητικά παρέχοντας ευτάθεια τον αλγόριθµο. Η εκλογή του αριθµού των 500 εποχών εκπαίδευης αποδεικνύεται επιτυχής µιας και ε οριµένες περιπτώεις (louds data set), η ύγκλιη του αλγορίθµου και η εύρεη ενός ελαχίτου την υνάρτηη φάλµατος καθυτερεί µέχρι περίπου τις 330 εποχές. Από την άλλη πλευρά οι αρχικές τιµές που επελέγηαν για τα η και α καθώς και η γραµµική τους µείωη παρέχουν την δυνατότητα τον τοχατικό αλγόριθµο bakpropagation να ξεφεύγει από τοπικά ελάχιτα, γεγονός που αποτυπώνεται την τροχιά εκπαίδευης των 6 κανόνων το πρόβληµα louds. Επιπρόθετα αξίζει να ηµειωθεί η ιδιαίτερα καλή υµπεριφορά του αλγορίθµου τα προβλήµατα iris και ionosphere, µε αποτέλεµα κατά την διάρκεια των τελευταίων εποχών εκπαίδευης να εµφανίζουν λιγότερες από 5 λανθαµένες ταξινοµήεις και τα τρία διαφορετικά ύνολα από κανόνες. Μια ηµαντική παρατήρηη που πρέπει να γίνει αναφορικά µε τις παραπάνω γραφικές παρατάεις είναι ότι ο αριθµός εφαλµένων ταξινοµήεων που απεικονίζεται αντιτοιχεί τον µέο αριθµό λανθαµένων ταξινοµήεων που λαµβάνουν χώρα κατά την διάρκεια της εκάτοτε εποχής εκπαίδευης. 182

183 Κεφάλαιο Αλγόριθµος Επανεκπαίδευης Ο αλγόριθµος που προτείνεται την παρούα διπλωµατική εργαία είναι αυτός της υβριδικής µάθηης όπως περιγράφεται το [ 7.3]. Ακολουθώντας την περιγραφή του αλγορίθµου κανείς παρατηρεί ότι το αρχικό του τάδιο περιλαµβάνει εκτέλεη του αλγορίθµου bakpropagation (επιβλεπόµενη µάθηη) ενώ την υνέχεια αρχίζει η εκτέλεη του αλγορίθµου αυτού καθ εαυτού. Έτι ο αλγόριθµος ανάτροφης διάδοης εφαρµόζεται το υπούνολο µε το 60% των υνολικών προτύπων ενώ ο αλγόριθµος υβριδικής µάθηης το υπούνολο µε το 40% των υνολικών προτύπων. Λάθος Σωτές Λάθος Σωτές Λάθος Σωτές (5 κανόνες) (5 κανόνες) (3 κανόνες) (3 κανόνες) (7 κανόνες) (7 κανόνες) Φάη Αρχικοποίηης Φάη Εκπαίδευης Φάη Επανεκπαίδευης Πίνακας 8.3.1: Πλήθος ορθών και λανθαµένων ταξινοµήεων το iris data set. Λάθος Σωτές Λάθος Σωτές Λάθος Σωτές (5 κανόνες) (5 κανόνες) (3 κανόνες) (3 κανόνες) (7 κανόνες) (7 κανόνες) Φάη Αρχικοποίηης Φάη Εκπαίδευης Φάη Επανεκπαίδευης Πίνακας 8.3.2: Πλήθος ορθών και λανθαµένων ταξινοµήεων το iris data set. Λάθος Σωτές Λάθος Σωτές Λάθος Σωτές (5 κανόνες) (5 κανόνες) (3 κανόνες) (3 κανόνες) (7 κανόνες) (7 κανόνες) Φάη Αρχικοποίηης Φάη Εκπαίδευης Φάη Επανεκπαίδευης Πίνακας 8.3.3: Πλήθος ορθών και λανθαµένων ταξινοµήεων το iris data set. 160 Λάθος (5 κανόνες) Σωτές (5 κανόνες) Λάθος (3 κανόνες) Σωτές (3 κανόνες) Λάθος (7 κανόνες) Σωτές (7 κανόνες) αριθµός ταξινοµήεων Φάη Αρχικοποίηης Φάη Εκπαίδευης Φ άη Επανεκπαίδευης Σχήµα 8.3.1: Επίδοη αλγορίθµων εκπαίδευης και επανεκπαίδευης το iris data set. 183

184 Λάθος Σωτές Λάθος Σωτές Λάθος Σωτές (6 κανόνες) (6 κανόνες) (4 κανόνες) (4 κανόνες) (8 κανόνες) (8 κανόνες) Φάη Αρχικοποίηης Φάη Εκπαίδευης Φάη Επανεκπαίδευης Πίνακας 8.3.4: Πλήθος ορθών και λανθαµένων ταξινοµήεων το louds data set. Λάθος Σωτές Λάθος Σωτές Λάθος Σωτές (6 κανόνες) (6 κανόνες) (4 κανόνες) (4 κανόνες) (8 κανόνες) (8 κανόνες) Φάη Αρχικοποίηης Φάη Εκπαίδευης Φάη Επανεκπαίδευης Πίνακας 8.3.5: Πλήθος ορθών και λανθαµένων ταξινοµήεων το louds data set. Λάθος Σωτές Λάθος Σωτές Λάθος Σωτές (6 κανόνες) (6 κανόνες) (4 κανόνες) (4 κανόνες) (8 κανόνες) (8 κανόνες) Φάη Αρχικοποίηης Φάη Εκπαίδευης Φάη Επανεκπαίδευης Πίνακας 8.3.6: Πλήθος ορθών και λανθαµένων ταξινοµήεων το louds data set Λάθος (6 κανόνες) Σωτές (6 κανόνες) Λάθος (4 κανόνες) Σωτές (4 κανόνες) Λάθος (8 κανόνες) Σωτές (8 κανόνες) αριθµός ταξινοµήεων Φάη Αρχικοποίηης Φάη Εκπαίδευης Φ άη Επανεκπαίδευης Σχήµα 8.3.2: Επίδοη αλγορίθµων εκπαίδευης και επανεκπαίδευης το louds data set. Λάθος Σωτές Λάθος Σωτές Λάθος Σωτές (12 κανόνες) (12 κανόνες) (7 κανόνες) (7 κανόνες) (17 κανόνες) (17 κανόνες) Φάη Αρχικοποίηης Φάη Εκπαίδευης Φάη Επανεκπαίδευης Πίνακας 8.3.7: Πλήθος ορθών και λανθαµένων ταξινοµήεων το ionosphere data set. 184

185 Κεφάλαιο 8 Λάθος Σωτές Λάθος Σωτές Λάθος Σωτές (12 κανόνες) (12 κανόνες) (7 κανόνες) (7 κανόνες) (17 κανόνες) (17 κανόνες) Φάη Αρχικοποίηης Φάη Εκπαίδευης Φάη Επανεκπαίδευης Πίνακας 8.3.8: Πλήθος ορθών και λανθαµένων ταξινοµήεων το ionosphere data set. Λάθος Σωτές Λάθος Σωτές Λάθος Σωτές (12 κανόνες) (12 κανόνες) (7 κανόνες) (7 κανόνες) (17 κανόνες) (17 κανόνες) Φάη Αρχικοποίηης Φάη Εκπαίδευης Φάη Επανεκπαίδευης Πίνακας 8.3.9: Πλήθος ορθών και λανθαµένων ταξινοµήεων το ionosphere data set. 400 Λάθος (12 κανόνες) Σωτές (12 κανόνες) Λάθος (7 κανόνες) Σωτές (7 κανόνες) Λάθος (17 κανόνες) Σωτές (17 κανόνες) αριθµός ταξινοµήεων Φάη Αρχικοποίηης Φάη Εκπαίδευης Φ άη Επανεκπαίδευης Σχήµα 8.3.3: Επίδοη αλγορίθµων εκπαίδευης και επανεκπαίδευης το ionosphere data set. Σε πρώτη θεώρηη πρέπει να τονιτεί το γεγονός ότι ο αλγόριθµος επανεκπαίδευης εκπληρώνει χεδόν πλήρως τις προδιαγραφές της κατακευής του. Έτι παρατηρείται πειραµατικά τουλάχιτον η επαλήθευη της ιδέας που υπάρχει πίω από τον αλγόριθµο υβριδικής µάθηης. Η λογική του αλγορίθµου είναι να µην επηρεατεί η τιµή της ακρίβειας υποκατάταης και επιπλέον να δοθεί η δυνατότητα ε εκτιµήεις των (άγνωτων) κατηγοριών των προτύπων επανεκπαίδευης για να τροποποιήουν τα διανύµατα των βαρών µε κοπό την περαιτέρω αύξηη της resubstitution auray. Παρατηρώντας το ύνολο των πινάκων και των γραφηµάτων αυτό που ιχύει µε βεβαιότητα είναι ότι η τιµή της ακρίβειας υποκατάταης µεταξύ εκπαίδευηςεπανεκπαίδευης διατηρείται ή βελτιώνεται. Στο πρόβληµα iris η βελτίωη είναι της τάξης του ενός προτύπου και το πρόβληµα ionosphere η ακρίβεια υποκατάταης διατηρείται. Τέλος το πρόβληµα louds η µείωη του αριθµού των φαλµάτων γίνεται αφώς αιθητή. Λαµβάνοντας υπόψη αυτό καθώς και την τροχιά εκπαίδευης το ύνολο louds (η οποία δεν είχε υγκλίνει πλήρως) ένας µπορεί να βγάλει το υµπέραµα ότι ο προτεινόµενος αλγόριθµος επανεκπαίδευης εµφανίζει αυξηµένη επίδοη τις περιπτώεις που η επιβλεπόµενη εκπαίδευη που προηγείται αυτού δεν είναι πλήρης. 185

186 8.4 Μέθοδος Υπολογιµού της Αξιοπιτίας Σε υνδυαµό µε την έξοδο κάθε τοιχειώδους νευρο-ααφούς ταξινοµητή υπολογίζεται η τιµή του τροποποιηµένου εκτιµητή αξιοπιτίας [ 3.3.3]. Στον απλό ταξινοµητή η γνώη της τιµής του, δίνει την δυνατότητα εκτίµηης της εµπιτούνης που αντιτοιχεί την κατηγοριοποίηη που έχει γίνει. Αντίθετα η τιµή του µέτρου αξιοπιτίας τον πολυεπίπεδο ταξινοµητή είναι καίριας ηµαίας αφού αποτελεί βαικό τοιχείο της διαδικαίας υγχώνευης των επιµέρους αποτελεµάτων το τελικό αποτέλεµα. Αρχικοποίηη Αρχικοποίηη Εκπαίδευη Εκπαίδευη Επανεκπαίδευη Επανεκπαίδευη (# λαθών) (# ωτών) (# λαθών) (# ωτών) (# λαθών) (# ωτών) Αξιοπιτία<= <Αξιοπιτία & Αξιοπιτία <= <Αξιοπιτία Πίνακας 8.4.1: Πλήθος ορθών και λανθαµένων ταξινοµήεων το iris data set. Αρχικοποίηη Αρχικοποίηη Εκπαίδευη Εκπαίδευη Επανεκπαίδευη Επανεκπαίδευη (# λαθών) (# ωτών) (# λαθών) (# ωτών) (# λαθών) (# ωτών) Αξιοπιτία<= <Αξιοπιτία & Αξιοπιτία <= <Αξιοπιτία Πίνακας 8.4.2: Πλήθος ορθών και λανθαµένων ταξινοµήεων το iris data set. Αρχικοποίηη Αρχικοποίηη Εκπαίδευη Εκπαίδευη Επανεκπαίδευη Επανεκπαίδευη (# λαθών) (# ωτών) (# λαθών) (# ωτών) (# λαθών) (# ωτών) Αξιοπιτία<= <Αξιοπιτία & Αξιοπιτία <= <Αξιοπιτία Πίνακας 8.4.3: Πλήθος ορθών και λανθαµένων ταξινοµήεων το iris data set. 160 Αρχικοποίηη (# λαθών) Αρχικοποίηη (# ωτών) Εκπαίδευη (# λαθών) Εκπαίδευη (# ωτών) Επανεκπαίδευη (# λαθών) Επανεκπαίδευη (# ωτών) αριθµός ταξινοµήεων Αξιοπιτία<= <Αξιοπιτία<= <Αξιοπιτία Σχήµα 8.4.1: Επίδοη του υντελετή αξιοπιτίας για το iris ύνολο. 186

187 Κεφάλαιο 8 Αρχικοποίηη Αρχικοποίηη Εκπαίδευη Εκπαίδευη Επανεκπαίδευη Επανεκπαίδευη (# λαθών) (# ωτών) (# λαθών) (# ωτών) (# λαθών) (# ωτών) Αξιοπιτία<= <Αξιοπιτία & Αξιοπιτία <= <Αξιοπιτία Πίνακας 8.4.4: Πλήθος ορθών και λανθαµένων ταξινοµήεων το louds data set. Αρχικοποίηη Αρχικοποίηη Εκπαίδευη Εκπαίδευη Επανεκπαίδευη Επανεκπαίδευη (# λαθών) (# ωτών) (# λαθών) (# ωτών) (# λαθών) (# ωτών) Αξιοπιτία<= <Αξιοπιτία & Αξιοπιτία <= <Αξιοπιτία Πίνακας 8.4.5: Πλήθος ορθών και λανθαµένων ταξινοµήεων το louds data set. Αρχικοποίηη Αρχικοποίηη Εκπαίδευη Εκπαίδευη Επανεκπαίδευη Επανεκπαίδευη (# λαθών) (# ωτών) (# λαθών) (# ωτών) (# λαθών) (# ωτών) Αξιοπιτία<= <Αξιοπιτία & Αξιοπιτία <= <Αξιοπιτία Πίνακας 8.4.6: Πλήθος ορθών και λανθαµένων ταξινοµήεων το louds data set Αρχικοποίηη (# λαθών) Αρχικοποίηη (# ωτών) Εκπαίδευη (# λαθών) Εκπαίδευη (# ωτών) Επανεκπαίδευη (# λαθών) Επανεκπαίδευη (# ωτών) 2500 αριθµός ταξινοµήεων Αξιοπιτία<= <Αξιοπιτία<= <Αξιοπιτία Σχήµα 8.4.2: Επίδοη του υντελετή αξιοπιτίας για το louds ύνολο. Αρχικοποίηη Αρχικοποίηη Εκπαίδευη Εκπαίδευη Επανεκπαίδευη Επανεκπαίδευη (# λαθών) (# ωτών) (# λαθών) (# ωτών) (# λαθών) (# ωτών) Αξιοπιτία<= <Αξιοπιτία & Αξιοπιτία <= <Αξιοπιτία Πίνακας 8.4.7: Πλήθος ορθών και λανθαµένων ταξινοµήεων το ionosphere data set. 187

188 Αρχικοποίηη Αρχικοποίηη Εκπαίδευη Εκπαίδευη Επανεκπαίδευη Επανεκπαίδευη (# λαθών) (# ωτών) (# λαθών) (# ωτών) (# λαθών) (# ωτών) Αξιοπιτία<= <Αξιοπιτία & Αξιοπιτία <= <Αξιοπιτία Πίνακας 8.4.8: Πλήθος ορθών και λανθαµένων ταξινοµήεων το ionosphere data set. Αρχικοποίηη Αρχικοποίηη Εκπαίδευη Εκπαίδευη Επανεκπαίδευη Επανεκπαίδευη (# λαθών) (# ωτών) (# λαθών) (# ωτών) (# λαθών) (# ωτών) Αξιοπιτία<= <Αξιοπιτία & Αξιοπιτία <= <Αξιοπιτία Πίνακας 8.4.9: Πλήθος ορθών και λανθαµένων ταξινοµήεων το ionosphere data set. 350 Αρχικοποίηη (# λαθών) Αρχικοποίηη (# ωτών) Εκπαίδευη (# λαθών) Εκπαίδευη (# ωτών) Επανεκπαίδευη (# λαθών) Επανεκπαίδευη (# ωτών) 300 αριθµός ταξινοµήεων Αξιοπιτία<= <Αξιοπιτία<= <Αξιοπιτία Σχήµα 8.4.3: Επίδοη του υντελετή αξιοπιτίας για το ionosphere ύνολο. Το ζητούµενο από έναν εκτιµητή αξιοπιτίας είναι να λαµβάνει αυξηµένες τιµές (εν προκειµένου µεγαλύτερες από 0.8) όταν το υµπέραµα που εξάγει ο ταξινοµητής είναι ορθό, ε αντίθετη περίπτωη ενδείκνυται η προκύπτουα τιµή αξιοπιτίας να είναι χαµηλή (εν προκειµένου µικρότερη από 0.4). Στα προβλήµατα iris και ionosphere κάτι τέτοιο πράγµατι υµβαίνει, ανεξαρτήτως της κατάταης του υτήµατος (δηλαδή ανεξαρτήτως του εάν βρίκεται τις φάεις της αρχικοποίηης, εκπαίδευης, επανεκπαίδευης) τιµές του υντελετή αξιοπιτίας µεγαλύτερες από 0.8 αντιτοιχούν ε ωτές ταξινοµήεις. Επιπλέον το πρόβληµα iris τιµές του υντελετή µικρότερες του 0.4 αντιτοιχούν µε βεβαιότητα ε λανθαµένες ταξινοµήεις. Αυτές οι παρατηρήεις ιχύουν εν µέρει και για το ύνολο louds, µόνο που ε αυτή την περίπτωη παραβιάζεται το φράγµα του 0.8 όον αφορά τις επιτυχείς ταξινοµήεις. Μια ιδιαίτερα ηµαντική παρατήρηη που µπορεί να γίνει είναι ότι εάν ο ταξινοµητής δεν έχει περάει από τα τάδια της εκπαίδευης και της επανεκπαίδευης τότε εµφανίζει χεδόν αποκλειτικά χαµηλές τιµές αξιοπιτίας. Έτι παρέχεται η δυνατότητα εξετάζοντας µόνο της τιµές της αξιοπιτίας να αποφανθεί κάποιος περί του εάν ένας (εν γένει άγνωτος ταξινοµητής) είναι εκπαιδευµένος για το πρόβληµα ταξινόµηης που αντιµετωπίζει ή όχι. 188

189 Κεφάλαιο Αρχιτεκτονική Πολυεπίπεδου Ταξινοµητή Στην προπάθεια βελτίωης της λειτουργίας της ταξινόµηης ενός υτήµατος εξαγωγής υµπεραµάτων, είναι δυνατό και θεµιτό να χρηιµοποιηθεί ένας υνδυαµός τοιχειωδών ταξινοµητών. Μια τέτοια αρχιτεκτονική προτείνεται το [ 7.2], αυτή η αρχιτεκτονική την φάη της υγχώνευης των µερικών υµπεραµάτων κάνει χρήη κατά πρώτον µιας διαδικαίας ψηφοφορίας και κατά δεύτερον του τροποποιηµένου εκτιµητή αξιοπιτίας. Απλός Ταξινοµητής (# λαθών) Απλός Ταξινοµητής (# ωτών) Πολυεπίπεδος Ταξινοµητής (# λαθών) Πολυεπίπεδος Ταξινοµητής (# ωτών) Φάη Εκπαίδευης Φάη Επανεκπαίδευης Πίνακας 8.5.1: Πλήθος ορθών και λανθαµένων ταξινοµήεων το πρόβληµα iris. Απλός Ταξινοµητής (# λαθών) Απλός Ταξινοµητής (# ωτών) Πολυεπίπεδος Ταξινοµητής (# λαθών) Πολυεπίπεδος Ταξινοµητής (# ωτών) Φάη Εκπαίδευης Φάη Επανεκπαίδευης Πίνακας 8.5.2: Πλήθος ορθών και λανθαµένων ταξινοµήεων το πρόβληµα iris. Απλός Ταξινοµητής (# λαθών) Απλός Ταξινοµητής (# ωτών) Πολυεπίπεδος Ταξινοµητής (# λαθών) Πολυεπίπεδος Ταξινοµητής (# ωτών) Φάη Εκπαίδευης Φάη Επανεκπαίδευης Πίνακας 8.5.3: Πλήθος ορθών και λανθαµένων ταξινοµήεων το πρόβληµα iris. Απλός Ταξινοµητής (# λαθών) Πολυεπίπεδος Ταξινοµητής (# λαθών) Απλός Ταξινοµητής (# ωτών) Πολυεπίπεδος Ταξινοµητής (# ωτών) αριθµός ταξινοµήεων Φάη Εκπαίδευης Φ άη Επανεκπαίδευης Σχήµα 8.5.1: Σύγκριη των επιδόεων του απλού και του πολυεπίπεδου ταξινοµητή αναφορικά µε το iris data set. 189

190 Απλός Ταξινοµητής (# λαθών) Απλός Ταξινοµητής (# ωτών) Πολυεπίπεδος Ταξινοµητής (# λαθών) Πολυεπίπεδος Ταξινοµητής (# ωτών) Φάη Εκπαίδευης Φάη Επανεκπαίδευης Πίνακας 8.5.4: Πλήθος ορθών και λανθαµένων ταξινοµήεων το πρόβληµα louds. Απλός Ταξινοµητής (# λαθών) Απλός Ταξινοµητής (# ωτών) Πολυεπίπεδος Ταξινοµητής (# λαθών) Πολυεπίπεδος Ταξινοµητής (# ωτών) Φάη Εκπαίδευης Φάη Επανεκπαίδευης Πίνακας 8.5.5: Πλήθος ορθών και λανθαµένων ταξινοµήεων το πρόβληµα louds. Απλός Ταξινοµητής (# λαθών) Απλός Ταξινοµητής (# ωτών) Πολυεπίπεδος Ταξινοµητής (# λαθών) Πολυεπίπεδος Ταξινοµητής (# ωτών) Φάη Εκπαίδευης Φάη Επανεκπαίδευης Πίνακας 8.5.6: Πλήθος ορθών και λανθαµένων ταξινοµήεων το πρόβληµα louds. Απλός Ταξινοµητής (# λαθών) Πολυεπίπεδος Ταξινοµητής (# λαθών) Απλός Ταξινοµητής (# ωτών) Πολυεπίπεδος Ταξινοµητής (# ωτών) αριθµός ταξινοµήεων Φάη Εκπαίδευης Φ άη Επανεκπαίδευης Σχήµα 8.5.2: Σύγκριη των επιδόεων του απλού και του πολυεπίπεδου ταξινοµητή αναφορικά µε το louds data set. Απλός Ταξινοµητής (# λαθών) Απλός Ταξινοµητής (# ωτών) Πολυεπίπεδος Ταξινοµητής (# λαθών) Πολυεπίπεδος Ταξινοµητής (# ωτών) Φάη Εκπαίδευης Φάη Επανεκπαίδευης Πίνακας 8.5.7: Πλήθος ορθών και λανθαµένων ταξινοµήεων το πρόβληµα ionosphere. 190

191 Κεφάλαιο 8 Απλός Ταξινοµητής (# λαθών) Απλός Ταξινοµητής (# ωτών) Πολυεπίπεδος Ταξινοµητής (# λαθών) Πολυεπίπεδος Ταξινοµητής (# ωτών) Φάη Εκπαίδευης Φάη Επανεκπαίδευης Πίνακας 8.5.8: Πλήθος ορθών και λανθαµένων ταξινοµήεων το πρόβληµα ionosphere. Απλός Ταξινοµητής (# λαθών) Απλός Ταξινοµητής (# ωτών) Πολυεπίπεδος Ταξινοµητής (# λαθών) Πολυεπίπεδος Ταξινοµητής (# ωτών) Φάη Εκπαίδευης Φάη Επανεκπαίδευης Πίνακας 8.5.9: Πλήθος ορθών και λανθαµένων ταξινοµήεων το πρόβληµα ionosphere. Απλός Ταξινοµητής (# λαθών) Πολυεπίπεδος Ταξινοµητής (# λαθών) Απλός Ταξινοµητής (# ωτών) Πολυεπίπεδος Ταξινοµητής (# ωτών) αριθµός ταξινοµήεων Φάη Εκπαίδευης Φ άη Επανεκπαίδευης Σχήµα 8.5.3: Σύγκριη των επιδόεων του απλού και του πολυεπίπεδου ταξινοµητή αναφορικά µε το ionosphere data set. Στο πρόβληµα iris ο απλός ταξινοµητής χρηιµοποιεί 5 κανόνες και ο πολυεπίπεδος 5, 3 και 7 κανόνες. Στο πρόβληµα louds ο απλός ταξινοµητής χρηιµοποιεί 6 κανόνες και ο πολυεπίπεδος 6, 4 και 8 κανόνες. Τέλος το πρόβληµα ionosphere ο απλός ταξινοµητής χρηιµοποιεί 12 κανόνες και ο πολυεπίπεδος 12, 7 και 17 κανόνες. Το αναµενόµενο από την χρήη της πολυεπίπεδης αρχιτεκτονικής είναι µείωη του αριθµού των εφαλµένων ταξινοµήεων. Στις πέντε από τις έξι πειραµατικές προοµοιώεις που αφορούν τα iris και louds ύνολα ο αριθµός των εφαλµένων ταξινοµήεων µειώνεται ή εµφανίζεται ταθερός (όταν ο αριθµός των λαθών είναι ήδη πολύ µικρός). Από την άλλη πλευρά ο πολυεπίπεδος ταξινοµητής δεν µεταβάλει τον αριθµό των εφαλµένων ταξινοµήεων που αφορούν το πρόβληµα ionosphere. Κλείνοντας µια ηµείωη που χετίζεται µε το ύνολο των πειραµάτων που εκτελέτηκαν είναι ότι η χρήη αυξηµένου αριθµού κανόνων ή πολλών υνόλων κανόνων ταυτόχρονα ηµειώνει καλύτερες επιδόεις αλλά έχει και αρνητικές υνέπειες. Οι πιο ηµαντικές από αυτές είναι ότι παταλάται υπολογιτική ιχύς και ότι δεν γίνεται οικονοµία τις παραµέτρους που χρειάζεται ο ταξινοµητής για να λειτουργήει. 191

192 192

193 193 Βιβλιογραφία

194 194

195 Βιβλιογραφία 2.1 Ααφή Σύνολα [1] Σπύρος Γ. Τζαφέτας, Υπολογιτική Νοηµούνη, Έκδοη Εθνικού Μετόβιου Πολυτεχνείου, τόµος Α, 2002 [2] Γ. Στάµου, Νευρο-Aαφή Συτήµατα, pp 2-4 [3] J. S. R. Jang, C. T. Sun, E. Mizutani, Neuro-Fuzzy and Soft Computing, Prentie Hall, 1997 [4] Σπύρος Γ. Τζαφέτας, Ευφυής Αυτόµατος Έλεγχος, Έκδοη Εθνικού Μετόβιου Πολυτεχνείου, 1995, pp Νευρο-Ααφή Συτήµατα [1] Σπύρος Γ. Τζαφέτας, Υπολογιτική Νοηµούνη, Έκδοη Εθνικού Μετόβιου Πολυτεχνείου, Νευρωνικά ίκτυα Ταξινόµηης [1] Σπύρος Γ. Τζαφέτας, Υπολογιτική Νοηµούνη, Έκδοη Εθνικού Μετόβιου Πολυτεχνείου, τόµος Α, 2002 [2] Αριτείδης Λύκας, Υπολογιτική Νοηµούνη, Περιγραφή του Αλγορίθµου Ανάτροφης ιάδοης [1] Σπύρος Γ. Τζαφέτας, Υπολογιτική Νοηµούνη, Έκδοη Εθνικού Μετόβιου Πολυτεχνείου, τόµος Α, 2002, pp [2] J. S. R. Jang, C. T. Sun, E. Mizutani, Neuro-Fuzzy and Soft Computing, Prentie Hall, 1997, pp & pp Σηµειώεις τον Αλγόριθµο Ανάτροφης ιάδοης [1] Z. Q. Luo, On the Convergene of the LMS Algorithm with Adaptive Learning Rate for Linear Feedforward Networks, Neural Computation, 1991, pp [2] Αριτείδης Λύκας, Υπολογιτική Νοηµούνη, 1999, pp [3] Vogl, T. P., J. K. Mangis, A. K. Rigler, W. T. Zink, D. L. Alkon, Aelerating the Convergene of the Bak-Propagation Method, Biologial Cybernetis, 1988, pp [4] Christopher M. Bishop, Neural Networks for Pattern Reognition, Oxford University Press, 1999, pp & pp Εκτιµητές Αξιοπιτίας [1] Aarnoud Hoekstra, Generalisation in Feed Forward Neural Classifiers, [2] J. A. Anderson, Logisti Disrimination, Handbook of Statistis, vol. 2, 1982, pp [3] L. P. Cordella, P. Foggia, C. Sansone, F. Tortorella, M. Vento, Reliability Parameters to Improve Combination Strategies in Multi-Expert Systems, Pattern Analysis & Appliations, 1999, pp Τροποποιηµένος Εκτιµητής Αξιοπιτίας [1] John C. Platt, Probabilities for SV Mahines, Advanes in Large Margin Classifiers, The MIT Press, 2000, pp

196 4 Νευρο-Ααφές Σύτηµα Εξαγωγής Συµπεραµάτων τηριζόµενο το Γινόµενο Υπουνόλων [1] Sandeep Paul, Satish Kumar, "Subsethood-Produt Fuzzy Neural Inferene System", IEEE Transations on Neural Networks, vol. 13, 2002, pp [2] L. M. Fu, "Learning apaity and sample omplexity on expert networks", IEEE Transations on Neural Networks, vol. 7, 1996, pp [3] S. Paul, S. Kumar, "Rule based neuro-fuzzy linguisti networks for inferene and funtion approximation", Knowledge Based Computer Systems, 1998, pp [4] Adaptive rule-based linguisti networks for funtion approximation, Advanes in Pattern Reognition and Digital Tehniques, 1999, pp [5] Subsethood based adaptive linguisti networks for pattern lassifiation, IEEE Transations on Systems, Προαρµοζόµενος Νευρο-Ααφής Ταξινοµητής [1] M. Pertselakis, D. Frossyniotis, A. Stafylopatis, An Adaptable Gaussian Neuro- Fuzzy Classifier, Modular hybrid artefats with adaptive funtionality [2] D. Frossyniotis, M. Pertselakis, A. Stafylopatis, A Multi-Clustering Fusion Algorithm, Proeedings of the Seond Helleni Conferene on Artifiial Intelligene, 2002, pp Πρότυπο IEEE [1] Institute of Eletrial and Eletronis Engineers, The Standard IEEE , grouper.ieee.org/groups/802/11/, 1997 [2] Μ. Ε. Θεολόγου, ίκτυα Κινητών και Προωπικών Επικοινωνιών, Έκδοη Εθνικού Μετόβιου Πολυτεχνείου, 2002, pp [3] Pablo Brenner, A Tehnial Tutorial on the IEEE Protool, 1997 [4] J. Zyren, A. Petrik, IEEE Tutorial, Το Στρώµα ικτύου το Internet 5.4 Τα Πρωτόκολλα Μεταφοράς του Internet [1] Andrew S. Tanenbaum, Computer Networks, Prentie Hall PTR, 1996 [2] Jean Walrand, Communiation Networks, MGraw Hill, 1998 [3] Ι. Στ. Βενιέρης, Ε. Νικολούζου, Τεχνολογίες ιαδικτύου, Έκδοη Εθνικού Μετόβιου Πολυτεχνείου, 2002 [4] Β. Μάγκλαρης, Τ. Χιώτης, Θ. Καρούνος, Φ. Σταµατελόπουλος, ιαχείριη ικτύων Υπολογιτών, Έκδοη Εθνικού Μετόβιου Πολυτεχνείου, 1994, pp Πλατφόρµa Υλοποίηης Λογιµικού Java [1] L. Lemay, R. Cadenhead, Sams Teah Yourself Java 2 Platform in 21 Days, Sams Publishing, 1999 [2] Ειαγωγή τη Γλώα Προγραµµατιµού Java, Έκδοη Εθνικού Μετόβιου Πολυτεχνείου, 2000 [3] Introdution to Wireless Java Tehnology, [4] Java Community Proess - Java Speifiation Request, [5] Qusay H. Mahmoud, J2ME for Home Applianes and Consumer Eletroni Devies, [6] Eri Giguere, Personal Basis Profile vs. Personal Profile: What's the Differene?,

197 [7] Jonathan Knudsen, Java Programming on the Sharp Zaurus, [8] Java 2 Platform, Standard Edition, v1.4.1 API Speifiation, [9] Ανδρέας Σταφυλοπάτης, Γλώες Προγραµµατιµού, Έκδοη Εθνικού Μετόβιου Πολυτεχνείου, 1996, pp [10] Why Are Thread.stop, Thread.suspend, Thread.resume and Runtime. runfinalizersonexit Depreated?, [11] Γ. Παπακωνταντίνου, Π. Τανάκας, Λειτουργικά Συτήµατα: Ειαγωγή τον Προγραµµατιµό των Sokets το Unix, pp Αύγχρονη Εκποµπή Ενός Χαρακτηριτικού Κάθε είγµατος [1] Α. Ν. Σταφυλοπάτης, Ανάλυη Επίδοης Υπολογιτικών Συτηµάτων, Έκδοη Εθνικού Μετόβιου Πολυτεχνείου, 1996, pp Π.1 Συνάρτηη Λάθους [1] M. Abramowitz, I. A. Stegun, Handbook of Mathematial Funtions, Dover Publiations, 1965, pp [2] W. H. Press, S. A. Teukolsky, W. T. Vetterling, B. P. Flannery, Numerial Reipes in C, Cambridge University Press, 2002, pp

198 198

199 Παράρτηµα 1 Συνάρτηη Λάθους 199

200 200

201 Παράρτηµα 1 Παράρτηµα 1 Συνάρτηη Λάθους Η υνάρτηη λάθους (error funtion) που υµβολίζεται µε erf(x), ορίζεται µε πολλούς διαφορετικούς τρόπους την βιβλιογραφία [1]. Σε αυτό το παράρτηµα θα χρηιµοποιηθεί ο κάτωθι οριµός: x 2 erf x = e z 2 ( ) dz (Π 1.1) π 0 Η υνάρτηη λάθους έχει δυο χρήιµες ιδιότητες: erf(-x) = -erf(x) (Π 1.2) Αυτή είναι γνωτή αν χέη υµµετρίας (symmetry relation). Όταν το x τείνει το άπειρο, η erf(x) τείνει την µονάδα, δηλαδή: e z dz = 1 (Π 1.3) π Η υµπληρωµατική υνάρτηη λάθους (omplementary error funtion) ορίζεται από: 2 = z 2 erf( x) e dz (Π 1.4) π x και υνδέεται µε την υνάρτηη λάθους µέω της χέης: erf(x) = 1-erf(x) (Π 1.5) Ο υπολογιµός της υνάρτηης erf(x) είναι δυνατόν να επιτευχθεί προεγγίζοντας την µε πολυώνυµα Chebyshev [2]. Συνεπώς ο υπολογιµός της erf(x) µπορεί οµοίως να γίνει προεγγίζοντας την µε πολυώνυµα Chebyshev: double erf(double x) double t,z,value; z = Math.abs(x); t = 1.0/( *z); value = t*math.exp(-z*z t*( t*( t*( t*( t*( t*( t*( t*( t* ))))))))); if(x<0.0) value = 2.0-value; value = 1.0-value; return value; (Π 1.6) Αυτή η µέθοδος υπολογιµού της υνάρτηης erf(x) εµφανίζει ανώτερο όριο φάλµατος απόκλιης ίο µε 1.2x10-7. Αυτό είναι εµφανές το διάγραµµα που ακολουθεί όπου εµφανίζεται η διαφορά των τιµών της erf(x) όπως αυτές υπολογίζονται µε την παραπάνω προεγγιτική µέθοδο και των τιµών της υνάρτηης erf(x) όπως αυτές µπορούν να βρεθούν ε αντίτοιχους αναλυτικούς πίνακες. 201

202 Σχήµα Π 1.1: Το φάλµα απόκλιης κατά τον υπολογιµό της υνάρτηης erf(x). 202

203 Παράρτηµα 2 Σύνολα εδοµένων 203

204 204

205 Παράρτηµα 2 Παράρτηµα 2 Σύνολα εδοµένων Σύνολα δεδοµένων µου χετίζονται µε την µηχανική µάθηη (mahine learning) υπάρχουν το διαδίκτυο ε βάη δεδοµένων που βρίκεται την URL διεύθυνη: Τα ύνολα δεδοµένων που χρηιµοποιήθηκαν κατά την διενέργεια των πειραµάτων εξοµοίωης ήταν τα iris, louds και ionosphere. Συνοπτικές πληροφορίες αναφορικά µε αυτά τα τρία είδη υνόλων παρατίθενται την υνέχεια: Iris Plants Database: Το iris ύνολο δεδοµένων αποτελείται από 150 δείγµατα τα οποία ανήκουν ε 3 κατηγορίες. Σε κάθε κατηγορία αντιτοιχούν 50 δείγµατα. Κάθε κλάη είναι γραµµικώς διαχωρίιµη από τις άλλες δυο, ενώ οι υπόλοιπες δυο δεν είναι γραµµικώς διαχωρίιµες µεταξύ τους. Κάθε δείγµα αποτελείται από 4 αριθµητικά χαρακτηριτικά. Ελάχιτη Τιµή Μέγιτη Τιµή Χαρακτηριτικό Χαρακτηριτικό Χαρακτηριτικό Χαρακτηριτικό Πίνακας Π2.1: Η ελάχιτη και η µέγιτη τιµή των χαρακτηριτικών κάθε iris δείγµατος. Κάθε κατηγορία αναφέρεται ε ένα είδος του iris φυτού, δηλαδή ε ένα από τα Iris Setosa, Iris Versiolour, Iris Virginia. Τα χαρακτηριτικά αναφέρονται το µήκος έπαλου (m), το πλάτος έπαλου (m), το µήκος πετάλου (m) και το πλάτος πετάλου (m). Clouds Database: Το louds ύνολο δεδοµένων αποτελείται από 5000 δείγµατα τα οποία ανήκουν ε 2 κατηγορίες. Σε κάθε κατηγορία αντιτοιχούν 2500 δείγµατα. Κάθε δείγµα αποτελείται από 2 αριθµητικά χαρακτηριτικά. Ελάχιτη τιµή Μέγιτη Τιµή Χαρακτηριτικό Χαρακτηριτικό Πίνακας Π2.2: Η ελάχιτη και η µέγιτη τιµή των χαρακτηριτικών κάθε louds δείγµατος. Tα δεδοµένα αυτά έχουν δηµιουργηθεί µε τεχνητό τρόπο και δεν αντιτοιχούν ε κάποιο φυικό µοντέλο. 205

206 Ionosphere Database: Το ionosphere ύνολο δεδοµένων αποτελείται από 351 δείγµατα τα οποία ανήκουν ε 2 κατηγορίες. Στην πρώτη κατηγορία αντιτοιχούν 225 δείγµατα ενώ την δεύτερη 126 δείγµατα. Κάθε δείγµα αποτελείται από 34 υνεχή αριθµητικά χαρακτηριτικά. Χαρακτηριτικό (#) Ελάχιτη Τιµή Μέγιτη Τιµή Χαρακτηριτικό (#) Ελάχιτη Τιµή Μέγιτη Τιµή Πίνακας Π2.3: Η ελάχιτη και η µέγιτη τιµή των χαρακτηριτικών κάθε ionosphere δείγµατος. Τα δεδοµένα αυτά προέκυψαν από πειραµατική διάταξη κεραιών οι οποίες εξέπεµπαν ηλεκτροµαγνητικά κύµατα. Τα ελεύθερα ηλεκτρόνια της ιονόφαιρας αποτελούαν τους τόχους. Η κατηγορία good αναφέρεται τα ανακλώµενα ήµατα τα οποία µαρτυρούαν κάποια δοµή την ιονόφαιρα, η κατηγορία bad αναφέρεται τα ήµατα που διέρχονταν της ιονόφαιρας. Τα λαµβανόµενα ήµατα επεξεργάζονταν από µια υνάρτηη αυτουχέτιης η οποία δεχόταν ως ορίµατα την περίοδο και τον αριθµό µιας παλµοειράς. Υπήρχαν 17 παλµοειρές την πειραµατική διάταξη. Κάθε δείγµα περιλαµβάνει 2 χαρακτηριτικά (από κάθε παλµοειρά) τα οποία είναι οι ύνθετες τιµές που επέτρεφε η υνάρτηη αυτουχέτιης. 206

207 Παράρτηµα 3 Συγκεντρωτικοί Πίνακες Παραµέτρων 207

208 208

209 Παράρτηµα 3 Παράρτηµα 3 Συγκεντρωτικοί Πίνακες Παραµέτρων Π 3.1 iris Π Τιµές αρχικές πριν την εκπαίδευη (τυχαίες) για το ύνολο µε 5 κανόνες x 1 x 2 x 3 x Πινάκας : ιαπορές των ααφοποιητών ειόδου Rule #(j) w 1j w 2j w 3j w 4j Πινάκας : Κέντρα των προυναπτικών βαρών Rule #(j) w 1j w 2j w 3j w 4j Πινάκας : ιαπορές των προυναπτικών βαρών Rule #(j) v j1 v j2 v j Πινάκας : Κέντρα των µεταυναπτικών βαρών Rule #(j) v j1 v j2 v j Πινάκας : ιαπορές των µεταυναπτικών βαρών 209

210 Τιµές αρχικές πριν την εκπαίδευη (τυχαίες), για το ύνολο µε 3 κανόνες x 1 x 2 x 3 x Πινάκας : ιαπορές των ααφοποιητών ειόδου Rule #(j) w 1j w 2j w 3j w 4j Πινάκας : Κέντρα των προυναπτικών βαρών Rule #(j) w 1j w 2j w 3j w 4j Πινάκας : ιαπορές των προυναπτικών βαρών Rule #(j) v j1 v j2 v j Πινάκας : Κέντρα των µεταυναπτικών βαρών Rule #(j) v j1 v j2 v j Πινάκας : ιαπορές των µεταυναπτικών βαρών 210

211 Παράρτηµα 3 Τιµές αρχικές πριν την εκπαίδευη (τυχαίες), για το ύνολο µε 7 κανόνες x 1 x 2 x 3 x Πινάκας : ιαπορές των ααφοποιητών ειόδου Rule #(j) w 1j w 2j w 3j w 4j Πινάκας : Κέντρα των προυναπτικών βαρών Rule #(j) w 1j w 2j w 3j w 4j Πινάκας : ιαπορές των προυναπτικών βαρών Rule #(j) v j1 v j2 v j Πινάκας : Κέντρα των µεταυναπτικών βαρών Rule #(j) v j1 v j2 v j Πινάκας : ιαπορές των µεταυναπτικών βαρών 211

212 Π Τιµές µετά την εκπαίδευη για το ύνολο µε 5 κανόνες x 1 x 2 x 3 x Πινάκας : ιαπορές των ααφοποιητών ειόδου Rule #(j) w 1j w 2j w 3j w 4j Πινάκας : Κέντρα των προυναπτικών βαρών Rule #(j) w 1j w 2j w 3j w 4j Πινάκας : ιαπορές των προυναπτικών βαρών Rule #(j) v j1 v j2 v j e e Πινάκας : Κέντρα των µεταυναπτικών βαρών Rule #(j) v j1 v j2 v j Πινάκας : ιαπορές των µεταυναπτικών βαρών 212

213 Παράρτηµα 3 Τιµές µετά την εκπαίδευη, για το ύνολο µε 3 κανόνες x 1 x 2 x 3 x Πινάκας : ιαπορές των ααφοποιητών ειόδου Rule #(j) w 1j w 2j w 3j w 4j Πινάκας : Κέντρα των προυναπτικών βαρών Rule #(j) w 1j w 2j w 3j w 4j Πινάκας : ιαπορές των προυναπτικών βαρών Rule #(j) v j1 v j2 v j Πινάκας : Κέντρα των µεταυναπτικών βαρών Rule #(j) v j1 v j2 v j Πινάκας : ιαπορές των µεταυναπτικών βαρών 213

214 Τιµές µετά την εκπαίδευη, για το ύνολο µε 7 κανόνες x 1 x 2 x 3 x Πινάκας : ιαπορές των ααφοποιητών ειόδου Rule #(j) w 1j w 2j w 3j w 4j Πινάκας : Κέντρα των προυναπτικών βαρών Rule #(j) w 1j w 2j w 3j w 4j Πινάκας : ιαπορές των προυναπτικών βαρών Rule #(j) v j1 v j2 v j e e e e Πινάκας : Κέντρα των µεταυναπτικών βαρών Rule #(j) v j1 v j2 v j Πινάκας : ιαπορές των µεταυναπτικών βαρών 214

215 Παράρτηµα 3 Π Τιµές µετά την επανεκπαίδευη για το ύνολο µε 5 κανόνες x 1 x 2 x 3 x Πινάκας : ιαπορές των ααφοποιητών ειόδου Rule #(j) w 1j w 2j w 3j w 4j Πινάκας : Κέντρα των προυναπτικών βαρών Rule #(j) w 1j w 2j w 3j w 4j Πινάκας : ιαπορές των προυναπτικών βαρών Rule #(j) v j1 v j2 v j e e Πινάκας : Κέντρα των µεταυναπτικών βαρών Rule #(j) v j1 v j2 v j Πινάκας : ιαπορές των µεταυναπτικών βαρών 215

216 Τιµές µετά την επανεκπαίδευη, για το ύνολο µε 3 κανόνες x 1 x 2 x 3 x Πινάκας : ιαπορές των ααφοποιητών ειόδου Rule #(j) w 1j w 2j w 3j w 4j Πινάκας : Κέντρα των προυναπτικών βαρών Rule #(j) w 1j w 2j w 3j w 4j Πινάκας : ιαπορές των προυναπτικών βαρών Rule #(j) v j1 v j2 v j Πινάκας : Κέντρα των µεταυναπτικών βαρών Rule #(j) v j1 v j2 v j Πινάκας : ιαπορές των µεταυναπτικών βαρών 216

217 Παράρτηµα 3 Τιµές µετά την επανεκπαίδευη, για το ύνολο µε 7 κανόνες x 1 x 2 x 3 x Πινάκας : ιαπορές των ααφοποιητών ειόδου Rule #(j) w 1j w 2j w 3j w 4j Πινάκας : Κέντρα των προυναπτικών βαρών Rule #(j) w 1j w 2j w 3j w 4j Πινάκας : ιαπορές των προυναπτικών βαρών Rule #(j) v j1 v j2 v j e e e e Πινάκας : Κέντρα των µεταυναπτικών βαρών Rule #(j) v j1 v j2 v j Πινάκας : ιαπορές των µεταυναπτικών βαρών 217

218 Π 3.2 louds Π Τιµές αρχικές πριν την εκπαίδευη (τυχαίες) για το ύνολο µε 6 κανόνες x 1 x Πινάκας : ιαπορές των ααφοποιητών ειόδου Rule #(j) w 1j w 2j Πινάκας : Κέντρα των προυναπτικών βαρών Rule #(j) w 1j w 2j Πινάκας : ιαπορές των προυναπτικών βαρών Rule #(j) v j1 v j Πινάκας : Κέντρα των µεταυναπτικών βαρών Rule #(j) v j1 v j Πινάκας : ιαπορές των µεταυναπτικών βαρών 218

219 Παράρτηµα 3 Τιµές αρχικές πριν την εκπαίδευη (τυχαίες), για το ύνολο µε 4 κανόνες x 1 x Πινάκας : ιαπορές των ααφοποιητών ειόδου Rule #(j) w 1j w 2j Πινάκας : Κέντρα των προυναπτικών βαρών Rule #(j) w 1j w 2j Πινάκας : ιαπορές των προυναπτικών βαρών Rule #(j) v j1 v j Πινάκας : Κέντρα των µεταυναπτικών βαρών Rule #(j) v j1 v j Πινάκας : ιαπορές των µεταυναπτικών βαρών 219

220 Τιµές αρχικές πριν την εκπαίδευη (τυχαίες), για το ύνολο µε 8 κανόνες x 1 x Πινάκας : ιαπορές των ααφοποιητών ειόδου Rule #(j) w 1j w 2j Πινάκας : Κέντρα των προυναπτικών βαρών Rule #(j) w 1j w 2j Πινάκας : ιαπορές των προυναπτικών βαρών Rule #(j) v j1 v j Πινάκας : Κέντρα των µεταυναπτικών βαρών Rule #(j) v j1 v j Πινάκας : ιαπορές των µεταυναπτικών βαρών 220

221 Παράρτηµα 3 Π Τιµές µετά την εκπαίδευη για το ύνολο µε 6 κανόνες x 1 x Πινάκας : ιαπορές των ααφοποιητών ειόδου Rule #(j) w 1j w 2j Πινάκας : Κέντρα των προυναπτικών βαρών Rule #(j) w 1j w 2j Πινάκας : ιαπορές των προυναπτικών βαρών Rule #(j) v j1 v j Πινάκας : Κέντρα των µεταυναπτικών βαρών Rule #(j) v j1 v j Πινάκας : ιαπορές των µεταυναπτικών βαρών 221

222 Τιµές µετά την εκπαίδευη, για το ύνολο µε 4 κανόνες x 1 x Πινάκας : ιαπορές των ααφοποιητών ειόδου Rule #(j) w 1j w 2j Πινάκας : Κέντρα των προυναπτικών βαρών Rule #(j) w 1j w 2j Πινάκας : ιαπορές των προυναπτικών βαρών Rule #(j) v j1 v j Πινάκας : Κέντρα των µεταυναπτικών βαρών Rule #(j) v j1 v j Πινάκας : ιαπορές των µεταυναπτικών βαρών 222

223 Παράρτηµα 3 Τιµές µετά την εκπαίδευη, για το ύνολο µε 8 κανόνες x 1 x Πινάκας : ιαπορές των ααφοποιητών ειόδου Rule #(j) w 1j w 2j Πινάκας : Κέντρα των προυναπτικών βαρών Rule #(j) w 1j w 2j Πινάκας : ιαπορές των προυναπτικών βαρών Rule #(j) v j1 v j Πινάκας : Κέντρα των µεταυναπτικών βαρών Rule #(j) v j1 v j Πινάκας : ιαπορές των µεταυναπτικών βαρών 223

224 Π Τιµές µετά την επανεκπαίδευη για το ύνολο µε 6 κανόνες x 1 x Πινάκας : ιαπορές των ααφοποιητών ειόδου Rule #(j) w 1j w 2j Πινάκας : Κέντρα των προυναπτικών βαρών Rule #(j) w 1j w 2j Πινάκας : ιαπορές των προυναπτικών βαρών Rule #(j) v j1 v j Πινάκας : Κέντρα των µεταυναπτικών βαρών Rule #(j) v j1 v j Πινάκας : ιαπορές των µεταυναπτικών βαρών 224

225 Παράρτηµα 3 Τιµές µετά την επανεκπαίδευη, για το ύνολο µε 4 κανόνες x 1 x Πινάκας : ιαπορές των ααφοποιητών ειόδου Rule #(j) w 1j w 2j Πινάκας : Κέντρα των προυναπτικών βαρών Rule #(j) w 1j w 2j Πινάκας : ιαπορές των προυναπτικών βαρών Rule #(j) v j1 v j Πινάκας : Κέντρα των µεταυναπτικών βαρών Rule #(j) v j1 v j Πινάκας : ιαπορές των µεταυναπτικών βαρών 225

226 Τιµές µετά την επανεκπαίδευη, για το ύνολο µε 8 κανόνες x 1 x Πινάκας : ιαπορές των ααφοποιητών ειόδου Rule #(j) w 1j w 2j Πινάκας : Κέντρα των προυναπτικών βαρών Rule #(j) w 1j w 2j Πινάκας : ιαπορές των προυναπτικών βαρών Rule #(j) v j1 v j Πινάκας : Κέντρα των µεταυναπτικών βαρών Rule #(j) v j1 v j Πινάκας : ιαπορές των µεταυναπτικών βαρών 226

227 Π 3.3 ionosphere Π Τιµές αρχικές πριν την εκπαίδευη (τυχαίες) για το ύνολο µε 12 κανόνες x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 x 10 x 11 x 12 x 13 x 14 x 15 x 16 x x 18 x 19 x 20 x 21 x 22 x 23 x 24 x 25 x 26 x 27 x 28 x 29 x 30 x 31 x 32 x 33 x Πινάκας : ιαπορές των ααφοποιητών ειόδου Rule #(j) w 1j w 2j w 3j w 4j w 5j w 6j w 7j w 8j w 9j w 10j w 11j w 12j w 13j

228 w 14j w 15j w 16j w 17j w 18j w 19j w 20j w 21j w 22j w 23j w 24j w 25j w 26j w 27j w 28j w 29j w 30j w 31j w 32j w 33j w 34j Πινάκας : Κέντρα των προυναπτικών βαρών Rule #(j) w 1j w 2j w 3j w 4j w 5j

229 w 6j w 7j w 8j w 9j w 10j w 11j w 12j w 13j w 14j w 15j w 16j w 17j w 18j w 19j w 20j w 21j w 22j w 23j w 24j w 25j w 26j w 27j w 28j w 29j w 30j w 31j w 32j w 33j w 34j Πινάκας : ιαπορές των προυναπτικών βαρών

230 Rule #(j) v j1 v j2 Rule #(j) v j1 v j Πινάκας : Κέντρα των µεταυναπτικών βαρών Πινάκας : ιαπορές των µεταυναπτικών βαρών

231 Τιµές αρχικές πριν την εκπαίδευη (τυχαίες), για το ύνολο µε 7 κανόνες x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 x 10 x 11 x 12 x 13 x 14 x 15 x 16 x x 18 x 19 x 20 x 21 x 22 x 23 x 24 x 25 x 26 x 27 x 28 x 29 x 30 x 31 x 32 x 33 x Πινάκας : ιαπορές των ααφοποιητών ειόδου Rule #(j) w 1j w 2j w 3j w 4j w 5j w 6j w 7j w 8j w 9j w 10j w 11j w 12j w 13j w 14j w 15j w 16j w 17j w 18j

232 w 19j w 20j w 21j w 22j w 23j w 24j w 25j w 26j w 27j w 28j w 29j w 30j w 31j w 32j w 33j w 34j Πινάκας : Κέντρα των προυναπτικών βαρών Rule #(j) w 1j w 2j w 3j w 4j w 5j w 6j w 7j w 8j w 9j w 10j

233 w 11j w 12j w 13j w 14j w 15j w 16j w 17j w 18j w 19j w 20j w 21j w 22j w 23j w 24j w 25j w 26j w 27j w 28j w 29j w 30j w 31j w 32j w 33j w 34j Πινάκας : ιαπορές των προυναπτικών βαρών

234 Rule #(j) v j1 v j2 Rule #(j) v j1 v j Πινάκας : Κέντρα των µεταυναπτικών βαρών Πινάκας : ιαπορές των µεταυναπτικών βαρών

235 Τιµές αρχικές πριν την εκπαίδευη (τυχαίες), για το ύνολο µε 17 κανόνες x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 x 10 x 11 x 12 x 13 x 14 x 15 x 16 x x 18 x 19 x 20 x 21 x 22 x 23 x 24 x 25 x 26 x 27 x 28 x 29 x 30 x 31 x 32 x 33 x Πινάκας : ιαπορές των ααφοποιητών ειόδου Rule #(j) w 1j w 2j w 3j w 4j w 5j w 6j w 7j w 8j w 9j w 10j w 11j w 12j w 13j w 14j w 15j w 16j w 17j

236 w 18j w 19j w 20j w 21j w 22j w 23j w 24j w 25j w 26j w 27j w 28j w 29j w 30j w 31j w 32j w 33j w 34j Πινάκας : Κέντρα των προυναπτικών βαρών Rule #(j) w 1j w 2j w 3j w 4j w 5j w 6j w 7j w 8j w 9j w 10j

237 w 11j w 12j w 13j w 14j w 15j w 16j w 17j w 18j w 19j w 20j w 21j w 22j w 23j w 24j w 25j w 26j w 27j w 28j w 29j w 30j w 31j w 32j w 33j w 34j Πινάκας : ιαπορές των προυναπτικών βαρών

238 Rule #(j) v j1 v j2 Rule #(j) v j1 v j Πινάκας : Κέντρα των µεταυναπτικών βαρών Πινάκας : ιαπορές των µεταυναπτικών βαρών

239 Π Τιµές µετά την εκπαίδευη για το ύνολο µε 12 κανόνες x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 x 10 x 11 x 12 x 13 x 14 x 15 x 16 x x 18 x 19 x 20 x 21 x 22 x 23 x 24 x 25 x 26 x 27 x 28 x 29 x 30 x 31 x 32 x 33 x Πινάκας : ιαπορές των ααφοποιητών ειόδου Rule #(j) w 1j w 2j w 3j w 4j w 5j w 6j w 7j w 8j w 9j w 10j w 11j w 12j w 13j w 14j w 15j w 16j

240 w 17j w 18j w 19j w 20j w 21j w 22j w 23j w 24j w 25j w 26j w 27j w 28j w 29j w 30j w 31j w 32j w 33j w 34j Πινάκας : Κέντρα των προυναπτικών βαρών Rule #(j) w 1j w 2j w 3j w 4j w 5j w 6j w 7j w 8j

241 w 9j w 10j w 11j w 12j w 13j w 14j w 15j w 16j w 17j w 18j w 19j w 20j w 21j w 22j w 23j w 24j w 25j w 26j w 27j w 28j w 29j w 30j w 31j w 32j w 33j w 34j Πινάκας : ιαπορές των προυναπτικών βαρών

242 Rule #(j) v j1 v j2 Rule #(j) v j1 v j Πινάκας : Κέντρα των µεταυναπτικών βαρών Πινάκας : ιαπορές των µεταυναπτικών βαρών

243 Τιµές µετά την εκπαίδευη, για το ύνολο µε 7 κανόνες x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 x 10 x 11 x 12 x 13 x 14 x 15 x 16 x x 18 x 19 x 20 x 21 x 22 x 23 x 24 x 25 x 26 x 27 x 28 x 29 x 30 x 31 x 32 x 33 x Πινάκας : ιαπορές των ααφοποιητών ειόδου Rule #(j) w 1j w 2j w 3j w 4j w 5j w 6j w 7j w 8j w 9j w 10j w 11j w 12j w 13j w 14j w 15j w 16j w 17j

244 w 18j w 19j w 20j w 21j w 22j w 23j w 24j w 25j w 26j w 27j w 28j w 29j w 30j w 31j w 32j w 33j w 34j Πινάκας : Κέντρα των προυναπτικών βαρών Rule #(j) w 1j w 2j w 3j w 4j w 5j w 6j w 7j w 8j w 9j e

245 w 10j w 11j w 12j w 13j w 14j w 15j w 16j w 17j w 18j w 19j w 20j w 21j w 22j w 23j w 24j w 25j w 26j w 27j w 28j w 29j w 30j w 31j w 32j w 33j w 34j Πινάκας : ιαπορές των προυναπτικών βαρών

246 Rule #(j) v j1 v j2 Rule #(j) v j1 v j Πινάκας : Κέντρα των µεταυναπτικών βαρών Πινάκας : ιαπορές των µεταυναπτικών βαρών

247 Τιµές µετά την εκπαίδευη, για το ύνολο µε 17 κανόνες x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 x 10 x 11 x 12 x 13 x 14 x 15 x 16 x x 18 x 19 x 20 x 21 x 22 x 23 x 24 x 25 x 26 x 27 x 28 x 29 x 30 x 31 x 32 x 33 x Πινάκας : ιαπορές των ααφοποιητών ειόδου Rule #(j) w 1j w 2j w 3j w 4j w 5j w 6j w 7j w 8j w 9j w 10j w 11j w 12j w 13j w 14j w 15j w 16j

248 w 17j w 18j w 19j w 20j w 21j w 22j w 23j w 24j w 25j w 26j w 27j w 28j w 29j w 30j w 31j w 32j w 33j w 34j Πινάκας : Κέντρα των προυναπτικών βαρών Rule #(j) w 1j w 2j w 3j w 4j w 5j w 6j w 7j w 8j w 9j

249 w 10j w 11j w 12j w 13j w 14j w 15j w 16j w 17j w 18j w 19j w 20j w 21j w 22j w 23j w 24j w 25j w 26j w 27j w 28j w 29j w 30j w 31j w 32j w 33j w 34j e Πινάκας : ιαπορές των προυναπτικών βαρών

250 Rule #(j) v j1 v j Rule #(j) v j1 v j Πινάκας : Κέντρα των µεταυναπτικών βαρών Πινάκας : ιαπορές των µεταυναπτικών βαρών

251 Π Τιµές µετά την επανεκπαίδευη για το ύνολο µε 12 κανόνες x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 x 10 x 11 x 12 x 13 x 14 x 15 x 16 x x 18 x 19 x 20 x 21 x 22 x 23 x 24 x 25 x 26 x 27 x 28 x 29 x 30 x 31 x 32 x 33 x Πινάκας : ιαπορές των ααφοποιητών ειόδου Rule #(j) w 1j w 2j w 3j w 4j w 5j w 6j w 7j w 8j w 9j w 10j w 11j w 12j w 13j w 14j w 15j w 16j

252 w 17j w 18j w 19j w 20j w 21j w 22j w 23j w 24j w 25j w 26j w 27j w 28j w 29j w 30j w 31j w 32j w 33j w 34j Πινάκας : Κέντρα των προυναπτικών βαρών Rule #(j) w 1j w 2j w 3j w 4j w 5j w 6j w 7j w 8j

253 w 9j w 10j w 11j w 12j w 13j w 14j w 15j w 16j w 17j w 18j w 19j w 20j w 21j w 22j w 23j w 24j w 25j w 26j w 27j w 28j w 29j w 30j w 31j w 32j w 33j w 34j Πινάκας : ιαπορές των προυναπτικών βαρών

254 Rule #(j) v j1 v j2 Rule #(j) v j1 v j Πινάκας : Κέντρα των µεταυναπτικών βαρών Πινάκας : ιαπορές των µεταυναπτικών βαρών

255 Τιµές µετά την επανεκπαίδευη, για το ύνολο µε 7 κανόνες x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 x 10 x 11 x 12 x 13 x 14 x 15 x 16 x x 18 x 19 x 20 x 21 x 22 x 23 x 24 x 25 x 26 x 27 x 28 x 29 x 30 x 31 x 32 x 33 x Πινάκας : ιαπορές των ααφοποιητών ειόδου Rule #(j) w 1j w 2j w 3j w 4j w 5j w 6j w 7j w 8j w 9j w 10j w 11j w 12j w 13j w 14j w 15j w 16j w 17j

256 w 18j w 19j w 20j w 21j w 22j w 23j w 24j w 25j w 26j w 27j w 28j w 29j w 30j w 31j w 32j w 33j w 34j Πινάκας : Κέντρα των προυναπτικών βαρών Rule #(j) w 1j w 2j w 3j w 4j w 5j w 6j w 7j w 8j w 9j e

257 w 10j w 11j w 12j w 13j w 14j w 15j w 16j w 17j w 18j w 19j w 20j w 21j w 22j w 23j w 24j w 25j w 26j w 27j w 28j w 29j w 30j w 31j w 32j w 33j w 34j Πινάκας : ιαπορές των προυναπτικών βαρών

258 Rule #(j) v j1 v j2 Rule #(j) v j1 v j Πινάκας : Κέντρα των µεταυναπτικών βαρών Πινάκας : ιαπορές των µεταυναπτικών βαρών

259 Τιµές µετά την επανεκπαίδευη, για το ύνολο µε 17 κανόνες x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 x 10 x 11 x 12 x 13 x 14 x 15 x 16 x x 18 x 19 x 20 x 21 x 22 x 23 x 24 x 25 x 26 x 27 x 28 x 29 x 30 x 31 x 32 x 33 x Πινάκας : ιαπορές των ααφοποιητών ειόδου Rule #(j) w 1j w 2j w 3j w 4j w 5j w 6j w 7j w 8j w 9j w 10j w 11j w 12j w 13j w 14j w 15j w 16j

260 w 17j w 18j w 19j w 20j w 21j w 22j w 23j w 24j w 25j w 26j w 27j w 28j w 29j w 30j w 31j w 32j w 33j w 34j Πινάκας : Κέντρα των προυναπτικών βαρών Rule #(j) w 1j w 2j w 3j w 4j w 5j w 6j w 7j w 8j w 9j

261 w 10j w 11j w 12j w 13j w 14j w 15j w 16j w 17j w 18j w 19j w 20j w 21j w 22j w 23j w 24j w 25j w 26j w 27j w 28j w 29j w 30j w 31j w 32j w 33j w 34j e Πινάκας : ιαπορές των προυναπτικών βαρών

262 Rule #(j) v j1 v j Rule #(j) v j1 v j Πινάκας : Κέντρα των µεταυναπτικών βαρών Πινάκας : ιαπορές των µεταυναπτικών βαρών

263 Παράρτηµα 4 Τεχνικά Χαρακτηριτικά Συκευών 263

264 264

265 Παράρτηµα 4 Παράρτηµα 4 Τεχνικά Χαρακτηριτικά Συκευών Π 4.1 PDA - Φορητή Συκευή Η φορητή υκευή είναι Hewlett Pakard µοντέλο i-paq ειρά Η5450. Η οθόνη είναι υγρών κρυτάλλων τύπου TFT χρωµάτων µε διατάεις εικονοτοιχείου 0.24mm. Έχει µνήµη 64ΜΒ και φέρει υποδοχές USB για να υνδέεται είτε την βάη της είτε απευθείας ε PC. Το εγκατετηµένο λειτουργικό ύτηµα είναι το Mirosoft Windows for PoketPC έκδοη Επιπλέον απαιτεί παροχή ρεύµατος 1250 mah και διαθέτει µπαταρία πολυµερών Λιθίου (επαναφορτιζόµενη και αποπώµενη). Ο επεξεργατής του είναι Intel XSCALE ε υχνότητα 400 MHz, µε εωτερική µνήµη 48ΜΒ τύπου flash ROM. Υπάρχει η δυνατότητα εγκατάταης της JVM Jeode. Η JVM είναι µια εικονική µηχανή πλήρως υµβατή µε την Personal Java 1.2 και µπορεί χρηιµοποιηθεί είτε αν πρόθετο πρόγραµµα το i-paq για να εκτελούνται applets είτε αν ξεχωριτό πρόγραµµα για να εκτελούνται εφαρµογές Java. Π 4.2 Αιθητήρες - Εξυπηρετητής Οι αιθητήρες εκτελούνται ε ένα φορητό υπολογιτή (laptop) Pentium III 500 MHz µε µνήµη RAM 128MB ενώ ο εξυπηρετητής εκτελείται ε PC Pentium IV 3000 MHz µε µνήµη RAM 1GB Π 4.3 Αύρµατες Συνδέεις Το πρότυπο πάνω το οποίο βαίτηκαν οι αύρµατες υνδέεις είναι το IEEE Επιπλέον χρηιµοποιήθηκαν: ένας προαρµογέας PCMCIA Texas Instrument PCI-1225 CardBus για να επιτευχθεί η αύρµατη ύνδεη PDA και φορητού υπολογιτή. ένα aess point για την ύνδεη του PDA µε το δίκτυο κορµού. Π Αύρµατος Προαρµογέας O προαρµογέας είναι µια αύρµατη κάρτα τύπου PCMCIA που υλοποιεί το πρωτόκολλο ΙΕΕΕ και είναι υµβατή κατά Wi-Fi (επιτροπή προτυποποίηης προϊόντων αύρµατων τοπικών δικτύων που βαίζονται το πρωτόκολλο αυτό). Το εύρος υχνοτήτων είναι από 2.4 GHz έως GHz. Η τεχνική µετάδοης είναι DSSS (Diret Sequene Spread Spetrum). H διεπαφή είναι 32-bit CardBus. O ρυθµός µετάδοης δεδοµένων είναι δυναµικός και διαβαθµίζεται τα 11/5.5/2/1 Mbps. Η εµβέλεια λειτουργίας ε εωτερικό χώρο είναι από 35 έως 100 µέτρα, ενώ ε εξωτερικό περιβάλλον είναι από 200 έως 350 µέτρα. Τέλος το χρηιµοποιούµενο MAC πρωτόκολλο είναι το CSMA/CA µε ACK. 265

266 Οι ρυθµίεις του προαρµογέα επιτυγχάνονται µέω γραφικού περιβάλλοντος. Status: η κατάταη την οποία βρίκεται η ύνδεη ("Assoiated" ή "Ad-Ho" ή ανεπιτυχής) SSID: το αναγνωριτικό του εκάτοτε αύρµατου τοπικού δικτύου Channel: δείχνει το κανάλι το οποίο χρηιµοποιείται είτε από Infrastruture είτε από Ad Ho δίκτυα Ma Address: δείχνει την Ma διεύθυνη του ταθµού Connetion State: δείχνει τον τρόπο αύρµατης ύνδεης IP Address: δείχνει την ΙΡ διεύθυνη Link Quality / Signal Strength: δείκτης της ποιότητας του ήµατος και της ποιότητας της ύνδεης Τx Rate: δείχνει τον ρυθµό µετάδοης δεδοµένων 266

267 Παράρτηµα 4 Στο ταµπλό "Configuration" υπάρχει η δυνατότητα ειαγωγής και τροποποίηης των ρυθµίεων ενός δικτύου. Στο ταµπλό "Enryption" δίνεται η δυνατότητα καθοριµού της αφάλειας ενός δικτύου. Κάθε ταθµός το δίκτυο θα πρέπει να έχει ενεργοποιηµένη την υνάρτηη Enryption και οι τιµές του πεδίου Network Key θα πρέπει να είναι κοινές. Από το µενού του Key Format παρέχονται οι επόµενες επιλογές: Manual 64-bit ASCII: ορίζεται κλειδί κρυπτογράφηης από 8 χαρακτήρες Manual 128-bit ASCII: ορίζεται κλειδί κρυπτογράφηης από 16 χαρακτήρες Manual 64-bit Hex: επιτρέπει τιµές 8 χαρακτήρων από τα πεδία 0~9 και a/a~f/f (για τον καθοριµό του κλειδιού κρυπτογράφηης) Manual 128-bit Hex: επιτρέπει τιµές 16 χαρακτήρων από τα πεδία 0~9 και a/a~f/f (για τον καθοριµό του κλειδιού κρυπτογράφηης) 64-bit Passphrase: ε αυτή την επιλογή µόλις πληκτρολογηθεί η λέξη pass, δηµιουργείται αυτόµατα κλειδί κρυπτογράφηης 8 byte το Key 1 πεδίο 128-bit Passphrase: ε αυτή την επιλογή µόλις πληκτρολογηθεί η λέξη pass, δηµιουργείται αυτόµατα κλειδί κρυπτογράφηης 16 byte το Key 1 πεδίο 267

Εκπαίδευση Νευρο-ασαφούς Ταξινοµητή Προτύπων Με Τη Χρήση Τεχνικών Επιβλεπόµενης Μάθησης ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ

Εκπαίδευση Νευρο-ασαφούς Ταξινοµητή Προτύπων Με Τη Χρήση Τεχνικών Επιβλεπόµενης Μάθησης ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Εκπαίδευη Νευρο-ααφούς Ταξινοµητή Προτύπων Με Τη Χρήη Τεχνικών Επιβλεπόµενης

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

ΔΕΙΓΜΑΤΙΚΕΣ ΚΑΤΑΝΟΜΕΣ (Sampling Distributions)

ΔΕΙΓΜΑΤΙΚΕΣ ΚΑΤΑΝΟΜΕΣ (Sampling Distributions) ΚΕΦΑΛΑΙΟ 0 ΔΕΙΓΜΑΤΙΚΕΣ ΚΑΤΑΝΟΜΕΣ (amplig Distibutios) Ένα χαρακτηριτικό των επιτημονικών μελετών τις οποίες απαιτείται η χρήη των διαδικαιών της Στατιτικής Συμπεραματολογίας είναι η ύπαρξη τυχαιότητας

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

Παρουσίαση 4 η : Στοιχεία στατιστικής αξιολόγησης εκτιμήσεων

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

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

( ) ( ) ( ( )) (( ) ) ( t) ( t) ( ) ( ) Επικαµπύλια ολοκληρώµατα. σ = και την σ, δηλαδή την. συνεχής πραγµατική συνάρτηση. Έστω U R ανοικτό σύνολο και

( ) ( ) ( ( )) (( ) ) ( t) ( t) ( ) ( ) Επικαµπύλια ολοκληρώµατα. σ = και την σ, δηλαδή την. συνεχής πραγµατική συνάρτηση. Έστω U R ανοικτό σύνολο και 9 Έτω U R ανοικτό ύνολο και Επικαµπύλια ολοκληρώµατα f : U R R C καµπύλη :[, ] U υνεχής πραγµατική υνάρτηη. Θεωρούµε µια ώτε ( t) x( t), y( t), z( t) ύνθετη υνάρτηη fo :[, ] R t [, ] f x( t), y( t), z(

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

1. Η κανονική κατανοµή

1. Η κανονική κατανοµή . Η κανονική κατανοµή Η κανονική κατανοµή είναι η ηµαντικότερη κατανοµή πιθανοτήτων µε τις περιότερες εφαρµογές. Μελετήθηκε αρχικά από τον De Moire (667-754) και από τον Lple (749-87) οι οποίοι απέδειξαν

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

ρ. Ευστρατία Μούρτου

ρ. Ευστρατία Μούρτου ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ Ι ΡΥΜΑ ΠΑΤΡΩΝ ΣΧΟΛΗ ΕΠΑΓΓΕΛΜΑΤΩΝ ΥΓΕΙΑΣ ΚΑΙ ΠΡΟΝΟΙΑΣ ΤΜΗΜΑ ΝΟΣΗΛΕΥΤΙΚΗΣ ΕΞΑΜΗΝΟ : Ε ΑΚΑ ΗΜΑΪΚΟ ΕΤΟΣ : 009-010 ΜΑΘΗΜΑ «ΒΙΟΣΤΑΤΙΣΤΙΚΗ» ΚΕΦ. 4 ΚΑΤΑΝΟΜΕΣ ΠΙΘΑΝΟΤΗΤΩΝ ρ. Ευτρατία

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

Παρουσίαση 3 η : Αρχές εκτίμησης παραμέτρων Μέρος 2 ο

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

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

( ) ( ) ( ( )) (( ) ) ( t) ( t) ( ) ( ) Επικαµπύλια ολοκληρώµατα. σ = και την σ, δηλαδή την. συνεχής πραγµατική συνάρτηση. Έστω U R ανοικτό σύνολο και

( ) ( ) ( ( )) (( ) ) ( t) ( t) ( ) ( ) Επικαµπύλια ολοκληρώµατα. σ = και την σ, δηλαδή την. συνεχής πραγµατική συνάρτηση. Έστω U R ανοικτό σύνολο και 9 Έτω U R ανοικτό ύνολο και Επικαµπύλια ολοκληρώµατα f : U R R C καµπύλη :[, ] U υνεχής πραγµατική υνάρτηη Θεωρούµε µια ώτε ( t) x( t), y( t), z( t) ύνθετη υνάρτηη fo :[, ] R t [, ] f x( t), y( t), z(

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

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

5. ΘΕΩΡΙΑ ΕΙΓΜΑΤΟΛΗΨΙΑΣ 5 5. ΘΕΩΡΙΑ ΕΙΓΜΑΤΟΛΗΨΙΑΣ ΠΛΗΘΥΣΜΟΣ ΚΑΙ ΕΙΓΜΑ. ΣΤΑΤΙΣΤΙΚΗ ΣΥΜΠΕΡΑΣΜΑΤΟΛΟΓΙΑ Στην πράξη θέλουµε υχνά να βγάλουµε υµπεράµατα για µια µεγάλη οµάδα ατόµων ή αντικειµένων. Αντί να µελετήουµε ολόκληρη την οµάδα,

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

ηµοκρίτειο Πανεπιστήµιο, Τµήµα ΜηχανικώνΠαραγωγής& ιοίκησης 1

ηµοκρίτειο Πανεπιστήµιο, Τµήµα ΜηχανικώνΠαραγωγής& ιοίκησης 1 Στατιτική υµπεραµατολογία για τη διαδικαία της ποιότητας Στο προηγούµενο κεφάλαιο κάναµε την παραδοχή και υποθέαµε ότι οι παράµετροι των κατανοµών των πιθανοτήτων άρα και οι παράµετροι της διαδικαίας ήταν

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

Γ D µε αρχικό σηµείο το ( a, ( ) ( ) είναι µια άλλη και καταλήγει στο ( x, τότε (1) Γ ξεκινούν από το σηµείο (, ) και ( x,

Γ D µε αρχικό σηµείο το ( a, ( ) ( ) είναι µια άλλη και καταλήγει στο ( x, τότε (1) Γ ξεκινούν από το σηµείο (, ) και ( x, 69 Θα αποδείξουµε την υνέχεια- ως εφαρµογή του θεωρήµατος του Greenτην κατεύθυνη (ιι (ι του θεωρήµατος που χαρακτηρίζει τα υντηρητικά πεδία F : R R, όπου απλά υνεκτικός τόπος του R ( Θεώρηµα Αν R είναι

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

Το θεώρηµα του Green

Το θεώρηµα του Green 57 58 Το θεώρηµα του Green :, Υπενθυµίζουµε ότι µια απλή κλειτή καµπύλη [ ] κλειτή καµπύλη ( = ) ώτε ο περιοριµός [, ) R είναι µια να είναι απεικόνιη Μια απλή κλειτή καµπύλη του επιπέδου ονοµάζεται και

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟΥ ΠΑΤΡΩΝ ΕΚΠΑΙ ΕΥΣΗΣ ΑΠΟ ΑΠΟΣΤΑΣΗ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΕΚΠΑΙ ΕΥΣΗΣ ΑΠΟ ΑΠΟΣΤΑΣΗ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ P-INF-003 : ΠΛΗΡΟΦΟΡΙΚΗ : ΝΕΥΡΩΝΙΚΑ ΙΚΤΥΑ ΚΑΙ ΓΕΝΕΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΕΚΠΑΙ ΕΥΤΙΚΟ ΥΛΙΚΟ ΤΕΤΑΡΤΟ ΚΕΦΑΛΑΙΟ

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

Σχ. 1 Eναλλασσόμενες καταπονήσεις

Σχ. 1 Eναλλασσόμενες καταπονήσεις Πανεπιτήμιο Θεαλίας Διδάκων: Αλ. Κερμανίδης Σχεδιαμός Στοιχείων Μηχανών ε μεταβαλλόμενα φορτία Μεταβαλλόμενα με τον χρόνο φορτία χαρακτηρίζονται τα φορτία που μεταβάλλουν το μέγεθος ή την διεύθυνη τους

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΝΕΥΡΩΝΙΚΑ ΙΚΤΥΑ ΘΕΜΑ ο (.5 µονάδες) ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ίνεται το παρακάτω ύνολο εκπαίδευης: ΝΕΥΡΩΝΙΚΑ ΙΚΤΥΑ Τελικές εξετάεις 3 Ιουνίου 005 ιάρκεια:

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

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

ΤΕΧΝΙΚΗ ΜΗΧΑΝΙΚΗ IΙ ΕΦΕΛΚΥΣΜΟΣ ΘΛΙΨΗ ΡΑΒ ΩΤΩΝ ΦΟΡΕΩΝ ΤΕΧΝΙΚΗ ΜΗΧΑΝΙΚΗ IΙ ΕΦΕΛΚΥΣΜΟΣ ΘΛΙΨΗ ΡΑΒ ΩΤΩΝ ΦΟΡΕΩΝ Η περίπτωη του εφελκυμού και της θλίψης των ραβδωτών φορέων είναι ενδεικτική για την αφετηρία της μελέτης παραμορφώιμων τερεών. Πρόκειται για προβλήματα

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

Μεθοδολογία των Επιστημών του Ανθρώπου: Στατιστική

Μεθοδολογία των Επιστημών του Ανθρώπου: Στατιστική Μεθοδολογία των Επιτημών του Ανθρώπου: Στατιτική Ενότητα 2: Βαίλης Γιαλαμάς Σχολή Επιτημών της Αγωγής Τμήμα Εκπαίδευης και Αγωγής την Προχολική Ηλικία Περιεχόμενα ενότητας Παρουιάζονται οι βαικές έννοιες

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

ΕΙΣΑΓΩΓΙΚΕΣ ΔΙΑΛΕΞΕΙΣ ΒΑΣΙΚΟΥ ΕΡΓΑΣΤΗΡΙΟΥ ΦΥΣΙΚΗΣ I

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

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

Ψηφιακός Έλεγχος. 8 η διάλεξη Σφάλματα. Ψηφιακός Έλεγχος 1

Ψηφιακός Έλεγχος. 8 η διάλεξη Σφάλματα. Ψηφιακός Έλεγχος 1 Ψηφιακός Έλεγχος 8 η διάλεξη Σφάλματα Ψηφιακός Έλεγχος Δυαδική αριθμητική και μήκος λέξης Ένας αριθμός μπορεί να αναπαραταθεί απο C+ bits που ονομάζονται λέξη. Το μήκος της λέξης είναι πάντα πεπεραμένο,

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

Είδη σφαλµάτων. Σφάλµατα στις παρατηρήσεις. Θεωρία Σφαλµάτων ΑΚΡΙΒΕΙΕΣ ΙΕΙΚΟΝΙΚΩΝ ΑΠΟ ΟΣΕΩΝ

Είδη σφαλµάτων. Σφάλµατα στις παρατηρήσεις. Θεωρία Σφαλµάτων ΑΚΡΙΒΕΙΕΣ ΙΕΙΚΟΝΙΚΩΝ ΑΠΟ ΟΣΕΩΝ Είδη φαλµάτων Σφάλµα µετρηµένη αληθής τιµή Τυχαία - Εµφανίζονται χεδόν ε όλες τις παρατηρήεις και ακολουθούν υνήθως κανονική κατανοµή. Συτηµατικά - Εµφανίζονται ε όλες τις παρατηρήεις και µπορεί να µοντελοποιηθούν

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

Χάραξη γραφηµάτων/lab Graphing

Χάραξη γραφηµάτων/lab Graphing Χάραξη γραφηµάτων/lb Grphng Η χάραξη ή γραφηµάτων (ή γραφικών παρατάεων είναι µια πολύ ηµαντική εργαία τη πειραµατική φυική. Γραφήµατα παρέχουν ένα αποδοτικό τρόπο για να απεικονίζεται η χέη µεταξύ των

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

Κεφάλαιο 5 ΜΕΤΡΗΣΗ ΤΗΣ ΣΥΝΘΕΤΗΣ ΑΝΤΙΣΤΑΣΗΣ ΤΩΝ ΙΣΤΩΝ

Κεφάλαιο 5 ΜΕΤΡΗΣΗ ΤΗΣ ΣΥΝΘΕΤΗΣ ΑΝΤΙΣΤΑΣΗΣ ΤΩΝ ΙΣΤΩΝ Κεφάλαιο 5 ΜΕΤΡΗΣΗ ΤΗΣ ΣΥΝΘΕΤΗΣ ΑΝΤΙΣΤΑΣΗΣ ΤΩΝ ΙΣΤΩΝ 5.1. Ειαγωγή Στο κεφάλαιο αυτό γίνεται µία ύντοµη περιγραφή µερικών επιπλέον θεµάτων τα οποία οι βιοηλεκτρικές αρχές έχουν εφαρµογή. Τα θέµατα που περιγράφονται

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

S συµβολίζονται ως. Είδη φορτίων: (α) επιφανειακά (π.χ. λόγω επαφής του θεωρούµενου σώµατος µε άλλα σώµατα),

S συµβολίζονται ως. Είδη φορτίων: (α) επιφανειακά (π.χ. λόγω επαφής του θεωρούµενου σώµατος µε άλλα σώµατα), ΑΝΑΛΥΣΗ ΤΩΝ ΤΑΣΕΩΝ Η έννοια του ελκυτή (tracto): M(υνιταµένη ροπή) F (υνιταµένη δύναµη) Θεωρείται παραµορφώιµο τερεό ε ιορροπία υπό εξωτερική φόρτιη (αποκλείονται ταχέως µεταβαλλόµενες φορτίεις και εποµένως

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

S AB = m. S A = m. Υ = m

S AB = m. S A = m. Υ = m χολή αγρονόµων και τοπογράφων µηχανικών ο εξάµηνο Άκηη Απλοί γεωµετρικοί υπολογιµοί ίνεται το τετράπλευρο ΑΒΓ που φαίνεται το χήµα. Στο ύπαιθρο µετρήθηκαν οι οριζόντιες πλευρές (µήκη) ΑΒ και Α. Επίης είναι

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

ΘΕΡΜΙΟΝΙΚΗ ΕΚΠΟΜΠΗ ΗΛΕΚΤΡΟΝΙΩΝ

ΘΕΡΜΙΟΝΙΚΗ ΕΚΠΟΜΠΗ ΗΛΕΚΤΡΟΝΙΩΝ ΘΕΡΜΙΟΝΙΚΗ ΕΚΠΟΜΠΗ ΗΛΕΚΤΡΟΝΙΩΝ Η ερµιονική εκποµπή ηλεκτρονίων είναι ένα φαινόµενο το οποίο βαίζεται η λειτουργία της λυχνίας κενού. Η δίοδος λυχνία κενού αποτελεί ορόηµο τον πολιτιµό του ύγχρονου ανρώπου

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

Απόκλιση και στροβιλισµός ενός διανυσµατικού πεδίου. R και ( ) y z z x x y

Απόκλιση και στροβιλισµός ενός διανυσµατικού πεδίου. R και ( ) y z z x x y 5 Απόκλιη και τροβιλιµός ενός διανυµατικού πεδίου Έτω F ένα C διανυµατικό πεδίο του R, δηλαδή υνάρτηη µε D ανοικτό το F = F, F, F. R και F : D R R Στο διανυµατικό πεδίο F αντιτοιχούµε ένα άλλο διανυµατικό

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΑΝΑΛΥΣΗ Ε ΟΜΕΝΩΝ ΣΗΜΕΙΩΣΕΙΣ ΕΙΓΜΑΤΟΛΗΨΙΑΣ Β. Α. ΑΓΓΕΛΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΑΝΑΛΥΣΗ Ε ΟΜΕΝΩΝ ΣΗΜΕΙΩΣΕΙΣ ΕΙΓΜΑΤΟΛΗΨΙΑΣ Β. Α. ΑΓΓΕΛΗΣ ΧΙΟΣ 009 ΠΕΡΙΕΧΟΜΕΝΑ. Ειαγωγή... 3. ιαιθητική ειγµατοληψία... 6 3. ειγµατοληψία Κατά Πιθανότητα...

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

σ.π.π. της 0.05 c 0.1

σ.π.π. της 0.05 c 0.1 6 Έλεγχοι Υποθέεων Σε αρκετές εφαρµογές παρουιάζεται η ανάγκη λήψης αποφάεων χετικών µε την κατανοµή ενός πληθυµού Πιο υγκεκριµένα, ε πολλές περιπτώεις πρέπει, βάει ενός τδ Χ, Χ,, Χ από έναν πληθυµό µε

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

ΒΑΣΙΚΕΣ ΣΥΝΕΧΕΙΣ ΚΑΤΑΝΟΜΕΣ (ΣΥΝΕΧΕΙΑ)

ΒΑΣΙΚΕΣ ΣΥΝΕΧΕΙΣ ΚΑΤΑΝΟΜΕΣ (ΣΥΝΕΧΕΙΑ) (ΣΥΝΕΧΕΙΑ) Χαράλαµπος Α. Χαραλαµπίδης 9 εκεµβρίου 2009 Η ηµαντικότερη κατανοµή πιθανότητας της Θεωρίας Πιθανοτήτων και της Στατιτικής, µε µεγάλο πεδίο εφαρµογών, είναι η κανονική κατανοµή. Η κατανοµή αυτή

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

5. ιαστήµατα Εµπιστοσύνης

5. ιαστήµατα Εµπιστοσύνης 5 ιατήµατα Εµπιτούνης Στο προηγούµενο κεφάλαιο αχοληθήκαµε εκτενώς µε την εκτίµηη των παραµέτρων διαφόρων κατανοµών Για παράδειγµα είδαµε ότι η καλύτερη εκτιµήτρια για την εκτίµηη της µέης τιµής ενός κανονικού

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

Εκτιµητική. Boutsikas M.V. (2003), Σηµειώσεις Στατιστικής ΙΙΙ, Τµήµα Οικονοµικής Επιστήµης, Πανεπιστήµιο Πειραιώς.

Εκτιµητική. Boutsikas M.V. (2003), Σηµειώσεις Στατιστικής ΙΙΙ, Τµήµα Οικονοµικής Επιστήµης, Πανεπιστήµιο Πειραιώς. 4 Εκτιµητική Σύνδεη θεωρίας πιθανοτήτων - περιγραφικής τατιτικής H περιγραφική τατιτική (ΣΤΑΤΙΣΤΙΚΗ Ι αφορά κυρίως τη µελέτη κάποιων «µεγεθών» (πχ µέη τιµή, διαπορά, διάµεος, κοκ ενός «δείγµατος» υγκεκριµένων

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

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

ΜΗΧΑΝΙΚΗ ΣΥΜΠΕΡΙΦΟΡΑ ΥΛΙΚΩΝ ΜΗΧΑΝΙΚΗ ΣΥΜΠΕΡΙΦΟΡΑ ΥΛΙΚΩΝ IΙ. ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΙ ΤΑΣΕΩΝ ΚΥΡΙΕΣ ΤΑΣΕΙΣ 1. Τάεις γύρω από ένα Σηµείο Όπως αναφέρθηκε ε προηγούµενη ενότητα, υχνά είναι πιο εύχρητο να αναλύονται οι τάεις γύρω από ένα ηµείο

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

ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΜΑΘΗΜΑΤΙΚΑ Ι (ΘΕ ΠΛΗ 12) ΤΕΛΙΚΗ ΕΞΕΤΑΣΗ 13 Ιουνίου 2010

ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΜΑΘΗΜΑΤΙΚΑ Ι (ΘΕ ΠΛΗ 12) ΤΕΛΙΚΗ ΕΞΕΤΑΣΗ 13 Ιουνίου 2010 ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΜΑΘΗΜΑΤΙΚΑ Ι (ΘΕ ΠΛΗ ) ΤΕΛΙΚΗ ΕΞΕΤΑΣΗ Ιουνίου Θέμα ( μονάδες) Έτω αβγδ,,, και V = αβγδ,,,, όπου α= (,,), β= (,,), γ= (,5,), δ= (5,,). i)

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

ΘΕΩΡΗΤΙΚΗ ΜΗΧΑΝΙΚΗ Ι Σεπτέµβριος β) Υλικό σηµείο µάζας m κινείται στον άξονα Οx υπό την επίδραση του δυναµικού

ΘΕΩΡΗΤΙΚΗ ΜΗΧΑΝΙΚΗ Ι Σεπτέµβριος β) Υλικό σηµείο µάζας m κινείται στον άξονα Οx υπό την επίδραση του δυναµικού ΘΕΩΡΗΤΙΚΗ ΜΗΧΑΝΙΚΗ Ι Σεπτέµβριος 1 ΘΕΜΑ 1 α) Υλικό ηµείο µάζας κινείται τον άξονα x Οx υπό την επίδραη του δυναµικού V=V(x) Αν για t=t βρίκεται τη θέη x=x µε ενέργεια Ε δείξτε ότι η κίνηή του δίνεται από

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

, της Χ που έχουμε διαθέσιμες μετά από μια πραγματοποίηση του τυχαίου δείγματος X, X, 2

, της Χ που έχουμε διαθέσιμες μετά από μια πραγματοποίηση του τυχαίου δείγματος X, X, 2 Στατιτικές Συναρτήεις και Δειγματοληπτικές Κατανομές Στατιτικές Συναρτήεις και Δειγματοληπτικές Κατανομές Στην ενότητα «Από τις Πιθανότητες τη Στατιτική» εξηγήαμε ότι τη Στατιτική «όλα αρχίζουν από τα

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

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

ΠΡΟΒΛΗΜΑ ΡΟΗΣ ΥΠΕΡΑΝΩ ΤΟΠΙΚΗΣ ΑΝΥΨΩΣΕΩΣ ΠΡΟΒΛΗΜΑ ΡΟΗΣ ΥΠΕΡΑΝΩ ΤΟΠΙΚΗΣ ΑΝΥΨΩΣΕΩΣ Ενέργειας Η ανάλυη του προβλήµατος γίνεται µε την χρήη του διαγράµµατος Ειδικής (α) Υποκρίιµη ροή τα ανάντη επί Ήπιας Κλίεως Πυθµένα το Σχήµα 1 Έτω ότι οµοιόµορφη,

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

Σχήµα 5.1 : Η κανονική κατανοµή, όπου τ = (x-μ)/σ

Σχήµα 5.1 : Η κανονική κατανοµή, όπου τ = (x-μ)/σ 5 Μοντέλα θυάνου του Gauss Όπως προαναφέρθηκε η δηµοφιλέτερη µεθοδολογία υπολογιµού της ατµοφαιρικής διαποράς ε πρακτικές εφαρµογές βαίζεται την εξίωη θυάνου του Gauss. Κάτω από υγκεκριµένες υνθήκες, τα

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

Πανεπιστήμιο Πελοποννήσου

Πανεπιστήμιο Πελοποννήσου Πανεπιτήμιο Πελοποννήου Εκτιμήεις Διατήματα Εμπιτούνης Έλεγχοι Υποθέεων Stefao G. Giakoumato Εκτιμητική Οι κατανομές των τατιτικών έχουν άγνωτες παραμέτρους, οι οποίες πρέπει να εκτιμηθούν Εκτιμητές ε

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

Νόμος των Wiedemann-Franz

Νόμος των Wiedemann-Franz Άκηη 38 Νόμος των Widmann-Franz 38.1 Σκοπός Σκοπός της άκηης αυτής είναι η μέτρηη της ταθεράς Lorntz ε δύο διαφορετικά μέταα οι ιδιότητες των οποίων διαφέρουν ημαντικά. Η ταθερά του Lorntz μετράται μέω

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

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

ΕΛΕΓΧΟΙ ΥΠΟΘΕΣΕΩΝ ΓΙΑ ΔΙΑΚΥΜΑΝΣΕΙΣ ΚΕΦΑΛΑΙΟ ΕΛΕΓΧΟΙ ΥΠΟΘΕΣΕΩΝ ΓΙΑ ΔΙΑΚΥΜΑΝΣΕΙΣ ΕΛΕΓΧΟΙ ΥΠΟΘΕΣΕΩΝ ΓΙΑ ΤΗΝ ΔΙΑΚΥΜΑΝΣΗ ΕΝΟΣ ΠΛΗΘΥΣΜΟΥ Έχουμε ήδη δει την εκτιμητική ότι αν ο υπό μελέτη πληθυμός είναι κανονικός, τότε: [ Χi Χ] ( n 1) i= 1 = =

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

Γραπτή Εξέταση Περιόδου Φεβρουαρίου 2012

Γραπτή Εξέταση Περιόδου Φεβρουαρίου 2012 Εργατήριο Μαθηματικών & Στατιτικής Μάθημα: Στατιτική Γραπτή Εξέταη Περιόδου Φεβρουαρίου για τα Τμήματα Ε.Τ.Τ. και Γ.Β. 6// ο Θέμα [] Η ποότητα, έτω Χ, φυτικών ινών που περιέχεται ε ψωμί ολικής άλεης με

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

Άσκηση 19 Εξαναγκασμένες ηλεκτρικές ταλαντώσεις και συντονισμός

Άσκηση 19 Εξαναγκασμένες ηλεκτρικές ταλαντώσεις και συντονισμός Μιχάλης Καλογεράκης 9 ο Εξάμηνο ΣΕΜΦΕ ΑΜ:987 Υπεύθυνος Άκηης: Κα Μανωλάτου Συνεργάτις: Ζάννα Βιργινία Ημερομηνία Διεξαγωγής:8//5 Άκηη 9 Εξαναγκαμένες ηλεκτρικές ταλαντώεις και υντονιμός ) Ειαγωγή: Σκοπός

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

οι ενήλικες στην περιοχή Β, ο φοιτητής γνωρίζει ότι X ~ N(

οι ενήλικες στην περιοχή Β, ο φοιτητής γνωρίζει ότι X ~ N( Σημειακή Εκτίμηη & Εκτίμηη με Διάτημα Εμπιτούνης Σημειακή Εκτίμηη & Εκτίμηη με Διάτημα Εμπιτούνης Αρκετά τρόφιμα περιέχουν το ιχνοτοιχείο ελήνιο το οποίο, όταν προλαμβάνεται ε μικρές ποότητες ημερηίως,

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

και ονομάζεται μηδενική υπόθεση (null hypothesis), και η άλλη με H

και ονομάζεται μηδενική υπόθεση (null hypothesis), και η άλλη με H Στατιτικός Έλεγχος Υποθέεων Ένας νέος τύπος τιγάρων βρίκεται το τάδιο ποιοτικού ελέγχου. Αν το τμήμα ποιοτικού ελέγχου της καπνοβιομηχανίας παραγωγής, ενδιαφέρεται να γνωρίζει τη μέη ποότητα νικοτίνης

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

5η ΣΕΙΡΑ ΑΣΚΗΣΕΩΝ - ΑΠΑΝΤΗΣΕΙΣ ΚΑΙ ΣΧΟΛΙΑ

5η ΣΕΙΡΑ ΑΣΚΗΣΕΩΝ - ΑΠΑΝΤΗΣΕΙΣ ΚΑΙ ΣΧΟΛΙΑ ΜΑΘΗΜΑ : ΕΑΦΟΜΗΧΑΝΙΚΗ Ι - 5 ο Εξ. Πολιτικών Μηχανικών - Ακαδημαϊκό Έτος : 00 004 5η ΣΕΙΡΑ ΑΣΚΗΣΕΩΝ - ΑΠΑΝΤΗΣΕΙΣ ΚΑΙ ΣΧΟΛΙΑ Επιμέλεια : Γιάννης Κουκούλης, Υποψήφιος ιδάκτορας ΕΜΠ Λίγα «Θεωρητικά»!!! Η παρούα

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

ΑΡΙΣΤΗ ΣΥΝΘΕΣΗ ΧΑΡΤΟΦΥΛΑΚΙΩΝ. 4.1 Εισαγωγή

ΑΡΙΣΤΗ ΣΥΝΘΕΣΗ ΧΑΡΤΟΦΥΛΑΚΙΩΝ. 4.1 Εισαγωγή Κεφάλαιο 4 ΑΡΙΣΤΗ ΣΥΝΘΕΣΗ ΧΑΡΤΟΦΥΛΑΚΙΩΝ 4. Ειαγωγή Στο προηγούμενο κεφάλαιο εξετάαμε πώς ένας επενδυτής που αποτρέφεται τον κίνδυνο απώλειας ειοδήματος επιλέγει επενδυτικά χέδια κάτω από υνθήκες αβεβαιότητας.

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

Επεξεργασία. Μέθοδοι Monte Carlo Εφαρμογές στην Επίλυση Προβλημάτων

Επεξεργασία. Μέθοδοι Monte Carlo Εφαρμογές στην Επίλυση Προβλημάτων Υπολογιτικές Εφαρμογές την Στατιτική Επεξεργαία Δεδομένων Στα πλαίια του μαθήματος ΠΙΘΑΝΟΤΗΤΕΣ, ΣΤΑΤΙΣΤΙΚΗ & ΣΤΟΙΧΕΙΑ ΑΡΙΘΜΗΤΙΚΗΣ ΑΝΑΛΥΣΗΣ Δ. Φαουλιώτης, Ε. Στυλιάρης ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ, 3 3 Μέθοδοι Monte

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

ΕΟ31 ΧΡΗΜΑΤΟΟΙΚΟΝΟΜΙΚΗ ΙΟΙΚΗΣΗ. Τόμος : Θεωρία Χαρτοφυλακίου

ΕΟ31 ΧΡΗΜΑΤΟΟΙΚΟΝΟΜΙΚΗ ΙΟΙΚΗΣΗ. Τόμος : Θεωρία Χαρτοφυλακίου ΕΟ3 ΧΡΗΜΑΤΟΟΙΚΟΝΟΜΙΚΗ ΙΟΙΚΗΣΗ Τόμος : Θεωρία Χαρτοφυλακίου Μάθημα 0: Απόδοη και κίνδυνος Σε αυτή την ενότητα θα μάθουμε να υπολογίζουμε την απόδοη και τον κίνδυνο κάθε αξιόγραφου. Ειδικότερα θα διαχωρίουμε

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

και ονομάζεται μηδενική υπόθεση (null hypothesis), και η άλλη με H

και ονομάζεται μηδενική υπόθεση (null hypothesis), και η άλλη με H Στατιτικός Έλεγχος Υποθέεων Ένας νέος τύπος τιγάρων βρίκεται το τάδιο ποιοτικού ελέγχου. Αν το τμήμα ποιοτικού ελέγχου της καπνοβιομηχανίας παραγωγής, ενδιαφέρεται να γνωρίζει τη μέη ποότητα νικοτίνης

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

Ολοκληρωτικός Λογισμός πολλών μεταβλητών

Ολοκληρωτικός Λογισμός πολλών μεταβλητών Ολοκληρωτικός Λογιμός πολλών μεταβλητών Πρόχειρες ημειώεις Μιχάλης Παπαδημητράκης Τμήμα Μαθηματικών Πανεπιτήμιο Κρήτης η εβδομάδα. Θεωρούμε ένα ορθογώνιο παραλληλόγραμμο τον 2 και μια πραγματική υνάρτηη

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

Σεισμολογία. Ελαστική Τάση, Παραμόρφωση (Κεφ.2, Σύγχρονη Σεισμολογία)

Σεισμολογία. Ελαστική Τάση, Παραμόρφωση (Κεφ.2, Σύγχρονη Σεισμολογία) Σειμολογία Ελατική Τάη, Παραμόρφωη (Κεφ., Σύγχρονη Σειμολογία) Τι είναι Σειμός O ειμός είναι η γένεη και μετάδοη ελατικών κυμάτων μέα από το φλοιό της γης, τα κύματα δημιουργούνται από τη διάρρηξη των

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

Το θεώρηµα του Green

Το θεώρηµα του Green 58 Το θεώρηµα του Green :, Υπενθυµίζουµε ότι µια απλή κλειτή καµπύλη [ ] κλειτή καµπύλη ( = ) ώτε ο περιοριµός [, ) R είναι µια να είναι απεικόνιη Μια απλή κλειτή καµπύλη του επιπέδου ονοµάζεται και καµπύλη

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

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

ΗΜΟΚΡΙΤΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΡΑΚΗΣ ΤΜΗΜΑ ΑΓΡΟΤΙΚΗΣ ΑΝΑΠΤΥΞΗΣ ΚΟΥΤΡΟΥΜΑΝΙ ΗΣ Θ. ΖΑΦΕΙΡΙΟΥ Ε. ΗΜΟΚΡΙΤΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΡΑΚΗΣ ΤΜΗΜΑ ΑΓΡΟΤΙΚΗΣ ΑΝΑΠΤΥΞΗΣ Γ Ε Ω Ρ Γ Ι Κ Ο Σ Π Ε Ι Ρ Α Μ Α Τ Ι Σ Μ Ο Σ ΚΟΥΤΡΟΥΜΑΝΙ ΗΣ Θ. ΖΑΦΕΙΡΙΟΥ Ε. Αν. Καθηγητής.Π.Θ. Υπ. ιδάκτορας Ορετιάδα 007 ΠΕΡΙΕΧΟΜΕΝΑ Κεφάλαιο ο

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

ΘΕΩΡΗΤΙΚΗ ΜΗΧΑΝΙΚΗ Ι - ΙΟΥΝΙΟΣ Θέµατα και Λύσεις

ΘΕΩΡΗΤΙΚΗ ΜΗΧΑΝΙΚΗ Ι - ΙΟΥΝΙΟΣ Θέµατα και Λύσεις ΘΕΩΡΗΤΙΚΗ ΜΗΧΑΝΙΚΗ Ι - ΙΟΥΝΙΟΣ Θέµατα και Λύεις ΘΕΜΑ Υλικό ηµείο κινείται τον άξονα x ' Ox υπό την επίδραη του δυναµικού ax x V( x) = a x, a > α) Βρείτε τα ηµεία ιορροπίας και την ευτάθειά τους β) Για

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

4 e. υ (Γ) υ (Δ) 1 (Ε) 1+ i

4 e. υ (Γ) υ (Δ) 1 (Ε) 1+ i . Αν τα 4 6 8 δ, i, d, i και d αντιτοιχούν όλα το ίδιο αποτελεματικό επιτόκιο, τότε i 6 i 6 4 4 d 4 8 d 8 6 4 e δ (Α) 3 υ (Β) υ (Γ) υ (Δ) (Ε) + i . Ένα 0ετές αφαλιτικό προϊόν εγγυάται απόδοη 7% τα πρώτα

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

Κεφάλαιο 1: Εισαγωγή... 11

Κεφάλαιο 1: Εισαγωγή... 11 Περιεχόμενα Πρόλογος... 7 Ειαγωγικό ημείωμα... 9 Κεφάλαιο : Ειαγωγή.... Η Παγκόμια Χρηματοπιτωτική Κρίη.... Το Αντικείμενο και ο Στόχος του Βιβλίου... 9.3 Η Δομή του Βιβλίου... 0 Κεφάλαιο : Η ιαχείριη

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

Θεωρία Στοχαστικών Σηµάτων: Εκτίµηση Φάσµατος. Παραµετρικά µοντέλα

Θεωρία Στοχαστικών Σηµάτων: Εκτίµηση Φάσµατος. Παραµετρικά µοντέλα ΒΕΣ 6 Προαρµοτικά Συτήµατα τις Τηλεπικοιννίες Θερία Στοχατικών Σηµάτν: Εκτίµηη φάµατος, Παραµετρικά µοντέλα Ειαγγή Μοντέλα Στοχατικών Βιβλιογραφία Ενότητας uto []: Κεφάλαιo Widrow [985]: Chaptr 3 Hayi

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

3. Κατανομές πιθανότητας

3. Κατανομές πιθανότητας 3. Κατανομές πιθανότητας Τυχαία Μεταβλητή τυχαία μεταβλητή (τ.μ. ( είναι μια υνάρτηη που ε κάθε απλό ενδεχόμενο (ω ενός δειγματικού χώρου (Ω αντιτοιχεί έναν αριθμό. Ω ω (ω R ιακριτή τ.μ. : παίρνει πεπεραμένο

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

Η ΕΝΝΟΙΑ ΤΗΣ ΤΥΧΑΙΑΣ ΜΕΤΑΒΛΗΤΗΣ

Η ΕΝΝΟΙΑ ΤΗΣ ΤΥΧΑΙΑΣ ΜΕΤΑΒΛΗΤΗΣ Η ΕΝΝΟΙΑ ΤΗΣ ΤΥΧΑΙΑΣ ΜΕΤΑΒΛΗΤΗΣ Η απεικόνιη των εκβάεων ενός πειράµατος τύχης την ευθεία των πραγµατικών αριθµών οδηγεί την τυχαία µεταβλητή. 9 3 6 ( ω ω 9 36 44 Τα αποτελέµατα ενός πειράµατος τύχης ορίζουν

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

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

ΔΙΑΣΤΗΜΑΤΑ ΕΜΠΙΣΤΟΣΥΝΗΣ ΓΙΑ ΤΗΝ ΔΙΑΦΟΡΑ ΜΕΣΩΝ ΤΙΜΩΝ ΚΑΝΟΝΙΚΩΝ ΠΛΗΘΥΣΜΩΝ ΚΕΦΑΛΑΙΟ 14 ΔΙΑΣΤΗΜΑΤΑ ΕΜΠΙΣΤΟΣΥΝΗΣ ΓΙΑ ΤΗΝ ΔΙΑΦΟΡΑ ΜΕΣΩΝ ΤΙΜΩΝ ΚΑΝΟΝΙΚΩΝ ΠΛΗΘΥΣΜΩΝ Έτω Χ 1, Χ,..., Χ και Υ 1, Υ,..., Υ m δύο τυχαία δείγματα μεγέθους και m αντίτοιχα από δύο ανεξάρτητους κανονικούς πληθυμούς

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

Ασκήσεις για έκτες PIN και έκτες µε Οπτική Προενίσχυση

Ασκήσεις για έκτες PIN και έκτες µε Οπτική Προενίσχυση ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟ ΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΙΚΤΥΑ ΟΠΤΙΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ Καθηγητής. Συβρίδης Ακήεις για έκτες PIN και έκτες µε Οπτική Προενίχυη

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

[ ] = ( ) ( ) ( ) = { }

[ ] = ( ) ( ) ( ) = { } Πρόταη: Δίνεται η θετική τμ, δηλαδή 1 [ ] ανιότητα Mrkov: P{ } P > = Εάν >, έχουμε την Εάν υποθέουμε ότι η ~ f είναι υνεχής, τότε για κάθε > ιχύει ότι x f x dx x f x dx f x dx P [ ] = = { } Παρατηρείτε

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

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

ΕΚΠ 413 / ΕΚΠ 606 Αυτόνοµοι (Ροµ οτικοί) Πράκτορες ΕΚΠ 43 / ΕΚΠ 66 Αυτόνοµοι (Ροµ οτικοί) Πράκτορες Χρονικά Πιθανοτικά Μοντέλα Temporal Probabilistic Models Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υ ολογιτών Πολυτεχνείο Κρήτης ΕΚΠ 43/66 Αυτόνοµοι Πράκτορες

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

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

ΚΕΦΑΛΑΙΟ 8 ΜΕΤΑ ΟΣΗ ΤΩΝ ΤΑΣΕΩΝ ΛΟΓΩ ΕΠΙΒΟΛΗΣ ΕΞΩΤΕΡΙΚΩΝ ΦΟΡΤΙΩΝ Μετάδοη Τάεων λόγω Επιβολής Φορτίων Σελίδα ΚΕΦΑΛΑΙΟ 8 ΜΕΤΑ ΟΣΗ ΤΩΝ ΤΑΣΕΩΝ ΛΟΓΩ ΕΠΙΒΟΛΗΣ ΕΞΩΤΕΡΙΚΩΝ ΦΟΡΤΙΩΝ 8. Ειαγωγή Ένα ύνηθες αποτέλεµα των έργων Πολιτικού Μηχανικού είναι η επιβολή φορτίων το έδαφος

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

1 Το Μεθοδολογικό Πλαίσιο Μέσου- ιακύμανσης... 11

1 Το Μεθοδολογικό Πλαίσιο Μέσου- ιακύμανσης... 11 Περιεχόμενα Πρόλογος... 7 Ειαγωγικό ημείωμα... 9 Το Μεθοδολογικό Πλαίιο Μέου- ιακύμανης.... Ειαγωγή.... Απόδοη και Κίνδυνος....3 Διαφοροποίηη Χαρτοφυλακίων... 5.4 Το Αποτελεματικό Μέτωπο... 7.5 Τεχνικές

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

Στοχαστική Προσοµοίωση ισδιάστατων Τυχαίων Πεδίων µε ιατήρηση της Εµµονής

Στοχαστική Προσοµοίωση ισδιάστατων Τυχαίων Πεδίων µε ιατήρηση της Εµµονής Στοχατική Προοµοίωη ιδιάτατων Τυχαίων Πεδίων µε ιατήρηη της Εµµονής Παρουίαη ιπλωµατικής Εργαίας 22/07/2004 Νίκος Θεοδωράτος Επιβλέπων:. Κουτογιάννης, Αν. Καθηγητής Εθνικό Μετόβιο Πολυτεχνείο Σχολή Πολιτικών

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

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

ΜΗΧΑΝΙΚΗ ΣΥΜΠΕΡΙΦΟΡΑ ΥΛΙΚΩΝ ΜΗΧΑΝΙΚΗ ΣΥΜΠΕΡΙΦΟΡΑ ΥΛΙΚΩΝ VIII. ΜΗΧΑΝΙΚΗ ΣΥΜΠΕΡΙΦΟΡΑ ΣΕ ΥΝΑΜΙΚΕΣ ΚΑΤΑΠΟΝΗΣΕΙΣ 1. Ειαγωγή Ήδη από το 180 είχε διαπιτωθεί ότι τα µεταλλικά υλικά, όταν καταπονούνται από επαναλαµβανόµενες ή χρονικά µεταβαλλόµενες

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

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

ΕΛΛΕΙΨΕΙΣ ΕΜΠΙΣΤΟΣΥΝΗΣ ΣΤΑ ΠΑΡΑΓΟΝΤΙΚΑ ΕΠΙΠΕΔΑ ΤΗΣ AFC Ελληνικό Στατιτικό Ιντιτούτο Πρακτικά 18 ου Πανελληνίου Συνεδρίου Στατιτικής (005) ελ.57-65 ΕΛΛΕΙΨΕΙΣ ΕΜΠΙΣΤΟΣΥΝΗΣ ΣΤΑ ΠΑΡΑΓΟΝΤΙΚΑ ΕΠΙΠΕΔΑ ΤΗΣ AFC Γεώργιος Μενεξές, Άγγελος Μάρκος, Γιάννης Παπαδημητρίου

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

( ) 2. Β3) Βέλτιστος Οµοιόµορφος Κβαντιστής µε Κώδικα σταθερού µήκους (R=log 2 (N)). ΛΥΣΗ. R bits/sample. = 10 log10. Θεώρηµα Shannon: = H log 2 (N)

( ) 2. Β3) Βέλτιστος Οµοιόµορφος Κβαντιστής µε Κώδικα σταθερού µήκους (R=log 2 (N)). ΛΥΣΗ. R bits/sample. = 10 log10. Θεώρηµα Shannon: = H log 2 (N) ΠΡΟΒΛΗΜΑ 1 Α)Με βάη το θεώρηµα Shannon για την κωδικοποίηη αναλογικού ήµατος να χαράξετε το διάγραµµα της χέης (S/N) =(), =bit/sample για ένα ήµα µε Gaussian κατανοµή. Β) Χρηιµοποιείτε τους Πίνακες 6.

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

( α ). Να δηλωθεί η συνάρτηση με την genter. ( β ). Να εφαρμοστεί τον αντίστροφο μετασχηματισμό Laplace και να αποδειχθεί Θεωρητικά.

( α ). Να δηλωθεί η συνάρτηση με την genter. ( β ). Να εφαρμοστεί τον αντίστροφο μετασχηματισμό Laplace και να αποδειχθεί Θεωρητικά. Δίνεται η υνάρτηη μεταφοράς ενός αυτόματου υτήματος πλοήγηης υπερηχητικού αεροπλάνου, το οποίο επικουρεί την αεροδυναμική ευτάθεια του, κάνοντας την πτήη ποιο ταθερή και ποιο άνετη. Ζητείται να μελετηθεί

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

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

ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΟΡΥΚΤΩΝ ΠΟΡΩΝ ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΟΡΥΚΤΩΝ ΠΟΡΩΝ ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ «Μελέτη εντατικοπαραµορφωιακής κατάταης ρηγµατωµένων τερεών ωµάτων µε τη µέθοδο των αυνεχών µετατοπίεων» ΤΣΟΥΤΣΟΥΒΑ ΜΑΡΙΑ ΕΞΕΤΑΣΤΙΚΗ

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

Εφαρµογή κριτηρίου παραβολοειδούς εκ περιστροφής στη Βραχοµηχανική

Εφαρµογή κριτηρίου παραβολοειδούς εκ περιστροφής στη Βραχοµηχανική Εφαρµογή κριτηρίου παραβολοειδούς εκ περιτροφής τη Βραχοµηχανική Appliaion of a paaboloid ieion in Rok Mehanis ΣΑΚΕΛΛΑΡΙΟΥ, Μ.Γ., ρ Μηχ., Π.Μ. & Α.Τ.Μ., Αναπληρωτής Καθηγητής, Ε.Μ.Π. ΠΕΡΙΛΗΨΗ : Στο παρόν

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

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

ΑΝΑΛΥΣΗ ΚΑΙ ΙΑΧΕΙΡΙΣΗ ΧΑΡΤΟΦΥΛΑΚΙΟΥ ΚΑΙ ΧΡΗΜΑΤΙΣΤΗΡΙΑΚΕΣ ΕΠΕΝ ΥΣΕΙΣ ΣΗΜΕΙΩΣΕΙΣ ΜΑΘΗΜΑΤΟΣ ΑΝΑΛΥΣΗ ΚΑΙ ΙΑΧΕΙΡΙΣΗ ΧΑΡΤΟΦΥΛΑΚΙΟΥ ΚΑΙ ΧΡΗΜΑΤΙΣΤΗΡΙΑΚΕΣ ΕΠΕΝ ΥΣΕΙΣ ΣΗΜΕΙΩΣΕΙΣ ΜΑΘΗΜΑΤΟΣ 1 1. ΕΙΣΑΓΩΓΗ 1. Η Αγορά Κεφαλαίου Η αγορά κεφαλαίου αποτελεί ένα από τους ηµαντικότερους χρηµατοοικονοµικούς θεµούς

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

ΙΑΡΘΡΩΣΗ ΜΑΘΗΜΑΤΟΣ. Εξίσωση Schrıdinger. Χρησιµότητα Εξαγωγή της εξίσωσης Schrıdinger. Περιοχές κυµατοδήγησης οπτικού παλµού

ΙΑΡΘΡΩΣΗ ΜΑΘΗΜΑΤΟΣ. Εξίσωση Schrıdinger. Χρησιµότητα Εξαγωγή της εξίσωσης Schrıdinger. Περιοχές κυµατοδήγησης οπτικού παλµού ΙΑΡΘΡΩΣΗ ΜΑΘΗΜΑΤΟΣ Εξίωη Schrıdinger Χρηιµότητα Εξαγωγή της εξίωης Schrıdinger Περιοχές κυµατοδήγηης οπτικού παλµού Αλληλεπίδραη µη γραµµικών φαινοµένων και διαποράς Αµελητέα η διαπορά και τα µη γραµµικά

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

ΚΡΙΤΗΡΙΑ ΙΑΡΡΟΗΣ (YIELD CRITERIA)- ΝΟΜΟΙ ΡΟΗΣ- ΑΝΙΣΟΤΡΟΠΙΑ

ΚΡΙΤΗΡΙΑ ΙΑΡΡΟΗΣ (YIELD CRITERIA)- ΝΟΜΟΙ ΡΟΗΣ- ΑΝΙΣΟΤΡΟΠΙΑ ΚΡΙΤΗΡΙΑ ΙΑΡΡΟΗΣ YIELD CRITERIA- ΝΟΜΟΙ ΡΟΗΣ- ΑΝΙΣΟΤΡΟΠΙΑ Κριτήριο διαρροής είναι η µαθηµατική υνθήκη που περιγράφει την εντατική κατάταη ε ένα ηµείο της µάζας του υλικού, ώτε το ηµείο αυτό να υµβαίνει

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

ΚΕΦΑΛΑΙΟ 2 Ο ΤΥΧΑΙΕΣ ΜΕΤΑΒΛΗΤΕΣ ΚΑΙ ΚΑΤΑΝΟΜΕΣ ΤΟΥΣ

ΚΕΦΑΛΑΙΟ 2 Ο ΤΥΧΑΙΕΣ ΜΕΤΑΒΛΗΤΕΣ ΚΑΙ ΚΑΤΑΝΟΜΕΣ ΤΟΥΣ ΚΕΦΑΛΑΙΟ Ο ΤΥΧΑΙΕΣ ΜΕΤΑΒΛΗΤΕΣ ΚΑΙ ΚΑΤΑΝΟΜΕΣ ΤΟΥΣ. Τυχαίες µεταβητές Ποές φορές ε ένα πείραµα τύχης δεν µας ενδιαφέρει ο δειγµατοχώρος του ο οποίος όπως είδαµε µπορεί να είναι και µη-αριθµητικό ύνοο αά

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

ΚΕΦΑΛΑΙΟ 2. Μετρήσεις, Σφάλµατα και Στατιστικά Μεγέθη

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Τµήµα Μηχανολόγων Μηχανικών Τοµέας Ρευστών Εργαστήριο Θερµικών Στροβιλοµηχανών

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Τµήµα Μηχανολόγων Μηχανικών Τοµέας Ρευστών Εργαστήριο Θερµικών Στροβιλοµηχανών ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Τµήµα Μηχανολόγων Μηχανικών Τοµέας Ρευτών Εργατήριο Θερµικών Στροβιλοµηχανών Υπολογιτικό θέµα : «Η βέλτιτη χεδίαη πτερύγωης τροβιλοµηχανής και η δηµιουργία χετικού µεταπροτύπου»

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

1. Έλεγχος Υποθέσεων. 1.1 Έλεγχοι για την µέση τιµή πληθυσµού

1. Έλεγχος Υποθέσεων. 1.1 Έλεγχοι για την µέση τιµή πληθυσµού . Έλεγχος Υποθέεων. Έλεγχοι για την µέη τιµή πληθυµού Ας υποθέουµε ένα πληθυµό µε µέη τιµή (µ.τ.) µ και τυπική απόκλιη (τ.α.). Έχει δειχτεί το κεφ.0 ο έλεγχος µιας µηδενικής υπόθεης H 0 δεδοµένης µιας

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

ΕΦΑΡΜΟΓΕΣ ΘΕΩΡΙΑΣ ΕΛΑΣΤΙΚΟΤΗΤΑΣ

ΕΦΑΡΜΟΓΕΣ ΘΕΩΡΙΑΣ ΕΛΑΣΤΙΚΟΤΗΤΑΣ 1 ΤΟΜΕΑΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΤΩΝ ΚΑΤΑΣΚΕΥΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΕΦΑΡΜΟΓΕΣ ΘΕΩΡΙΑΣ ΕΛΑΣΤΙΚΟΤΗΤΑΣ ΣΗΜΕΙΩΣΕΙΣ ( Κυρίως επιλεγµένα και ελεύθερα µεταφραµένα

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

12.1 Σχεδιασμός αξόνων

12.1 Σχεδιασμός αξόνων 1.1 Σχεδιαμός αξόνων Επιδιώκοντας τον χεδιαμό αξόνων αναζητούμε τις διαμέτρους τα διάφορα ημεία αλλαγής διατομών ή επιβολής φορτίων και τα μήκη του άξονα που αντιτοιχούν τις διαμέτρους, την ακτίνα καμπυλότητας

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

Γιατί; Το παραδοσιακό υπόδειγμα: y t = β 1 + β 2 x 2t β k x kt + u t, ή y = Xβ + u. Υποθέτουμε u t. N(0,σ 2 ).

Γιατί; Το παραδοσιακό υπόδειγμα: y t = β 1 + β 2 x 2t β k x kt + u t, ή y = Xβ + u. Υποθέτουμε u t. N(0,σ 2 ). Υποδείγματα GARCH Γιατί; Κίνητρο: υποδείγματα που υποθέτουν γραμμική δομή δεν μπορούν να εξηγήουν ημαντικά χαρακτηρίτηκα των χρηματοοικονομικών χρονοειρών - λεπτοκύρτοη - volaili clusering Το παραδοιακό

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

Σχεδιασµός, Μεθοδολογία και Λογισµικό Παρακολούθησης Συγκλίσεων Σηράγγων µε Μεθόδους Τεχνικής Γεωδαισίας

Σχεδιασµός, Μεθοδολογία και Λογισµικό Παρακολούθησης Συγκλίσεων Σηράγγων µε Μεθόδους Τεχνικής Γεωδαισίας Σχεδιαµός, Μεθοδολογία και Λογιµικό Παρακολούθηης Συγκλίεων Σηράγγων µε Μεθόδους Τεχνικής Γεωδαιίας Κ. ΛΑΚΑΚΗΣ Λέκτορας Α.Π.Θ Σ. Π. ΧΑΛΙΜΟΥΡ ΑΣ Υπ. ιδάκτωρ Α.Π.Θ Π. ΣΑΒΒΑΪ ΗΣ Καθηγητής Α.Π.Θ. Περίληψη

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

Αποδοτικότητα Χαρτοφυλακίου

Αποδοτικότητα Χαρτοφυλακίου Αποδοτικότητα Χαρτοφυλακίου n E( R ) ΣWE( R ) P i i i όπου: E(Ri) : αντιπροωπεύει την προδοκώµενη αποδοτικότητα από το τοιχείο i. Wi : το ποοτό που αντιπροωπεύει η αξία του τοιχείου αυτού τη υνολική αξία

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

Γραπτή Εργασία 2 Διαχείριση Χαρτοφυλακίου. Γενικές οδηγίες

Γραπτή Εργασία 2 Διαχείριση Χαρτοφυλακίου. Γενικές οδηγίες ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Πρόγραμμα Σπουδών: ΔΙΟΙΚΗΣΗ ΕΠΙΧΕΙΡΗΣΕΩΝ και ΟΡΓΑΝΙΣΜΩΝ Θεματική Ενότητα: ΔΕΟ 3 Χρηματοοικονομική Διοίκηη Ακαδημαϊκό Έτος: 009-0 Γραπτή Εργαία Διαχείριη Χαρτοφυλακίου Γενικές

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

Διαφορές μεταξύ Ασφαλίσεων Ζωής και Γενικών

Διαφορές μεταξύ Ασφαλίσεων Ζωής και Γενικών Διαφορές μεταξύ Αφαλίεων Ζωής και Γενικών Ζωής Αφαλιμένο κεφάλαιο (γνωτό Ένα υμβάν 3 Μικρή εξέλιξη ζημιάς (πχ άνατος, το μααίνεις αμέως Γενικές Μπορεί να είναι γνωτό, μπορεί και όχι (πχ το πίτι αν κατατραφεί

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

ΕΝΟΤΗΤΑ Γ ΘΕΩΡΙΑ ΕΙΓΜΑΤΟΛΗΨΙΑΣ. Καθηγητή Κων/νου Ευσταθίου, Εργαστήριο Αναλυτικής Χηµείας Πανεπιστηµίου Αθηνών

ΕΝΟΤΗΤΑ Γ ΘΕΩΡΙΑ ΕΙΓΜΑΤΟΛΗΨΙΑΣ. Καθηγητή Κων/νου Ευσταθίου, Εργαστήριο Αναλυτικής Χηµείας Πανεπιστηµίου Αθηνών ΕΝΟΤΗΤΑ Γ ΘΕΩΡΙΑ ΕΙΓΜΑΤΟΛΗΨΙΑΣ Καθηγητή Κων/νου Ευταθίου, Εργατήριο Αναλυτικής Χηµείας Πανεπιτηµίου Αθηνών Η χρηιµότητα ενός αναλυτικού αποτελέµατος ποτέ δεν µπορεί να είναι καλύτερη από την ποιότητα του

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

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

ΔΙΑΣΤΗΜΑΤΑ ΕΜΠΙΣΤΟΣΥΝΗΣ ΓΙΑ ΔΙΑΚΥΜΑΝΣΕΙΣ ΚΕΦΑΛΑΙΟ 16 ΔΙΑΣΤΗΜΑΤΑ ΕΜΠΙΣΤΟΣΥΝΗΣ ΓΙΑ ΔΙΑΚΥΜΑΝΣΕΙΣ Α. Περίπτωη Ενός Πληθυμού Αν μας ενδιαφέρει να κατακευάουμε ένα διάτημα εμπιτούνης για την διακύμανη ενός πληθυμού, χρηιμοποιούμε το γεγονός ότι αν

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

05_01_Εκτίμηση παραμέτρων και διαστημάτων. Γούργουλης Βασίλειος Καθηγητής Τ.Ε.Φ.Α.Α. Σ.Ε.Φ.Α.Α. Δ.Π.Θ.

05_01_Εκτίμηση παραμέτρων και διαστημάτων. Γούργουλης Βασίλειος Καθηγητής Τ.Ε.Φ.Α.Α. Σ.Ε.Φ.Α.Α. Δ.Π.Θ. Ν161_Στατιτική τη Φυική Αγωγή 05_01_Εκτίμηη παραμέτρων και διατημάτων Γούργουλης Βαίλειος Καθηγητής Τ.Ε.Φ.Α.Α. Σ.Ε.Φ.Α.Α. Δ.Π.Θ. 1 Για την περιγραφή μιας μεταβλητής, που μετριέται ε έναν πληθυμό ή ε ένα

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

ΚΕΦΑΛΑΙΟ 9. Σχετική κίνηση

ΚΕΦΑΛΑΙΟ 9. Σχετική κίνηση ΚΕΦΑΛΑΙΟ 9 Σχετική κίνηη 1 Υλικό ηµείο µάζας m=1 κινείται πάνω ε επίπεδο Ο που περιτρέφεται γύρω από τον άξονα Ο µε γωνιακή ταχύτηταω = ωk, όπου ω=1/ s -1 Αν κάποια τιγµή το ώµα βρίκεται ε απόταη r=1 m

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

και ονομάζεται μηδενική υπόθεση (null hypothesis), και η άλλη με H

και ονομάζεται μηδενική υπόθεση (null hypothesis), και η άλλη με H Στατιτικός Έλεγχος Υποθέεων Ένας νέος τύπος τιγάρων βρίκεται το τάδιο ποιοτικού ελέγχου Αν το τμήμα ποιοτικού ελέγχου της καπνοβιομηχανίας παραγωγής, ενδιαφέρεται να γνωρίζει τη μέη ποότητα νικοτίνης που

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

Οριζόντια βολή. Επιλέγοντας την ταχύτητα βολής.

Οριζόντια βολή. Επιλέγοντας την ταχύτητα βολής. η Εφαρμογή (Το επιτυχημένο service) Οριζόντια βολή. Επιλέγοντας την ταχύτητα βολής. Νεαρός τενίτας που έχει ύψος h ν =,6m εκτελεί service και το μπαλάκι φεύγει από ύψος h =,4m πάνω από το κεφάλι του με

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

Επιλογή του τρόπου κρούσης και απώλεια επαφής Β Γ

Επιλογή του τρόπου κρούσης και απώλεια επαφής Β Γ Επιλογή του τρόπου κρούης και απώλεια επαφής Οι δύο µικρές φαίρες και του χήµατος έχουν ίες µάζες και κινούνται το λείο οριζόντιο δάπεδο. Οι φαίρες υγκρούονται και η κρούη τους είναι κεντρική και πλατική.

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

ΔΙΑΛΕΞΗ 2 Τάσεις και παραμορφώσεις γύρω από κυκλικές σήραγγες. Κατανομές τάσεων και παραμορφώσεων γύρω από κυκλική σήραγγα - Παραδοχές

ΔΙΑΛΕΞΗ 2 Τάσεις και παραμορφώσεις γύρω από κυκλικές σήραγγες. Κατανομές τάσεων και παραμορφώσεων γύρω από κυκλική σήραγγα - Παραδοχές ΕΠΟΠΤΙΚΟ ΥΛΙΚΟ ΔΙΑΛΕΞΕΩΝ ΤΟΥ ΜΑΘΗΜΑΤΟΣ «ΕΙΔΙΚΑ ΓΕΩΤΕΧΝΙΚΑ ΕΡΓΑ - Γεωτεχνική Σηράγγων» 9ο Εξ. ΠΟΛ. ΜΗΧ. - Ακαδ. Ετος 5-6 ΔΙΑΛΕΞΗ Τάεις και παραμορφώεις γύρω από κυκλικές ήραγγες 5.8.5 Κατανομές τάεων και

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

Σχεδιασµός Φορέων από Σκυρόδεµα µε βάση τον Ευρωκώδικα 2

Σχεδιασµός Φορέων από Σκυρόδεµα µε βάση τον Ευρωκώδικα 2 Πολυτεχνική Σχολή Τµήµα Πολιτικών Μηχανικών Τοµέας οµικών Κατακευών Εργατήριο Ωπλιµένου Σκυροδέµατος Κωνταντίνος Χαλιορής, ρ. Πολιτικός Μηχανικός, Λέκτορας τηλ./fax: 54107963 Ε-mail: haliori@ivil.duth.gr

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

ΚΕΦΑΛΑΙΟ 7. Ροπή και Στροφορµή Μέρος πρώτο

ΚΕΦΑΛΑΙΟ 7. Ροπή και Στροφορµή Μέρος πρώτο ΚΕΦΑΛΑΙΟ 7 Ροπή και Στροφορµή Μέρος πρώτο Μέχρι εδώ εξετάαµε την κίνηη ενός υλικού ηµείου υπό την επίδραη µιας δύναµης. Τα πράγµατα αλλάζουν δραµατικά αν αντί υλικού ηµείου έχοµε ένα τερεό ώµα. Η µελέτη

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

Συμμετρία μορίων και θεωρία ομάδων

Συμμετρία μορίων και θεωρία ομάδων Συμμετρία μορίων και θεωρία ομάδων Συμμετρία πολυατομικών μορίων Τι μας χρειάζεται; Προβλέπει τη φαματοκοπία και τη υμπεριφορά ατόμων και μορίων Πράξεις Συμμετρίας: κινήεις του μορίου κατά τις οποίες η

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

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

ΑΠΑΝΤΗΣΕΙΣ ΤΡΙΤΗΣ ΟΜΑ ΑΣ ΑΣΚΗΣΕΩΝ ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟ ΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΙΚΤΥΑ ΟΠΤΙΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ Καθηγητής. Συβρίδης ΑΠΑΝΤΗΣΕΙΣ ΤΡΙΤΗΣ ΟΜΑ ΑΣ ΑΣΚΗΣΕΩΝ Άκηη ιαθέτουµε

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

Πιθανότητες & Τυχαία Σήματα

Πιθανότητες & Τυχαία Σήματα Πιθανότητες & Τυχαία Σήματα Συχέτιη Διγαλάκης Βαίλης Η έννοια της υχέτιης Για τυχαίες μεταβλητές ΧΥ: Συχέτιη: ΕΧ Υ Συμμεταβλητότητα: Συντελετής υχέτιης: ρ / Έτω ΧΥ Τ.Μ. με ΥΧb και ΕΧμ Χ ΕΧ-μ Χ Χ Υπολογίτε

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