Machine Learning paper on Multi-layer Perceptron: Regression with Conjugate Gradient and Levenberg Marquardt Algorithms (Presentation in Greek language).
This technical report discusses WiFi Direct technology, which allows devices to directly communicate with each other over WiFi without an Internet connection or wireless access point. It describes how WiFi Direct uses device discovery, role negotiation, and security provisioning to enable devices to form groups and communicate securely. WiFi Direct supports data rates up to 250Mbps and has a coverage range of about 200 meters. It works in the 2.4GHz band and implements power management features to reduce power consumption for portable devices.
Low power consumption and wide area coverage are two important factors that build LPWA technology. SigFox is the operator of a cellular network dedicated to low throughput communication for connected devices. Company’s patented UNB technology achieves a broad scale connection to M2M/IoT devices over large distances. Low bit rate transmissions allows greater autonomy and saving energy at end devices.
The document discusses opportunities and challenges around capturing value from the Internet of Things (IoT). It notes that IoT offers opportunities across many industries to optimize operations through connecting devices and collecting data. However, IoT projects often fail due to technical challenges around standards, security, and interoperability, as well as difficulties with organizational change management. To successfully capture value from IoT, the document recommends focusing on solving real business problems, justifying initiatives with applications and data analytics, seeking quick wins, transforming organizational culture along with technology, and integrating IoT with business processes.
Gougousis Dimitris: Development of an automated machine learning system for p...Manos Tsardoulias
The benefits of machine learning are undeniable in most, if not all the aspects of human activity. From weather forecasting to classifying a tumor as benign or malignant the use of machine learning speeds up and facilitates solving the problem at hand. However, the deployment of the most suitable machine learning model for the problem at hand is a time consuming process that requires knowledge gained through experience and continuous practice on the subject. The aforementioned obstacles can be removed by means of automated machine learning which, as the name suggests, attempts to automate the development process of machine learning models, and thus the benefits of the former to become broadly available. Contributing towards that end is the field of meta-learning, which studies the performance of different machine learning models in a wide range of tasks and uses this experience to "predict" the most suitable model for a given task, avoiding the process of trial and error. This thesis deals with the task of automating machine learning by employing meta-learning techniques specifically for regression problems. The aim of this work is the development of a system able to decide the exact optimal values for the hyperparameters of three algorithms, given the data to process. In that way a great deal of time is saved during the deployment of the model and the use of machine learning becomes available to more groups of people.
This technical report discusses WiFi Direct technology, which allows devices to directly communicate with each other over WiFi without an Internet connection or wireless access point. It describes how WiFi Direct uses device discovery, role negotiation, and security provisioning to enable devices to form groups and communicate securely. WiFi Direct supports data rates up to 250Mbps and has a coverage range of about 200 meters. It works in the 2.4GHz band and implements power management features to reduce power consumption for portable devices.
Low power consumption and wide area coverage are two important factors that build LPWA technology. SigFox is the operator of a cellular network dedicated to low throughput communication for connected devices. Company’s patented UNB technology achieves a broad scale connection to M2M/IoT devices over large distances. Low bit rate transmissions allows greater autonomy and saving energy at end devices.
The document discusses opportunities and challenges around capturing value from the Internet of Things (IoT). It notes that IoT offers opportunities across many industries to optimize operations through connecting devices and collecting data. However, IoT projects often fail due to technical challenges around standards, security, and interoperability, as well as difficulties with organizational change management. To successfully capture value from IoT, the document recommends focusing on solving real business problems, justifying initiatives with applications and data analytics, seeking quick wins, transforming organizational culture along with technology, and integrating IoT with business processes.
Gougousis Dimitris: Development of an automated machine learning system for p...Manos Tsardoulias
The benefits of machine learning are undeniable in most, if not all the aspects of human activity. From weather forecasting to classifying a tumor as benign or malignant the use of machine learning speeds up and facilitates solving the problem at hand. However, the deployment of the most suitable machine learning model for the problem at hand is a time consuming process that requires knowledge gained through experience and continuous practice on the subject. The aforementioned obstacles can be removed by means of automated machine learning which, as the name suggests, attempts to automate the development process of machine learning models, and thus the benefits of the former to become broadly available. Contributing towards that end is the field of meta-learning, which studies the performance of different machine learning models in a wide range of tasks and uses this experience to "predict" the most suitable model for a given task, avoiding the process of trial and error. This thesis deals with the task of automating machine learning by employing meta-learning techniques specifically for regression problems. The aim of this work is the development of a system able to decide the exact optimal values for the hyperparameters of three algorithms, given the data to process. In that way a great deal of time is saved during the deployment of the model and the use of machine learning becomes available to more groups of people.
Συνεχής έμμεση αυθεντικοποίηση χρηστών κινητού τηλεφώνου με συνδυασμό των δεδ...ISSEL
Τα έξυπνα κινητά τηλέφωνα (smartphones) έχουν γίνει πλέον αναπόσπαστο κομμάτι της καθημερινότητας και οι πληροφορίες που αποθηκεύονται σε αυτά συνεχώς αυξάνονται. Προκύπτει λοιπόν το ζήτημα της ασφάλειας αυτών των συσκευών, που είναι κρίσιμο για την εξασφάλιση της προστασίας των δεδομένων του ιδιοκτήτη ενός smartphone από κακόβουλους χρήστες. Οι περισσότερες συσκευές πλέον προσφέρουν ένα επίπεδο ασφάλειας χρησιμοποιώντας διάφορους τρόπους αυθεντικοποίησης, που όμως έχουν χαρακτηριστεί ευάλωτοι και έτσι έχει δημιουργηθεί η ανάγκη για την υλοποίηση καινούργιων μεθοδολογιών. Λύση στο πρόβλημα έρχονται να δώσουν τεχνικές συνεχούς – έμμεσης αυθεντικοποίησης, δηλαδή συστήματα που εκτελούνται συνεχώς στο παρασκήνιο της συσκευής, χωρίς να χρειάζονται την εκτέλεση ενεργειών από την πλευρά του χρήστη. Τα συστήματα αυτά συνήθως χρησιμοποιούν διάφορα δεδομένα του κινητού τηλεφώνου ή άλλων συσκευών, μοντελοποιούν την συμπεριφορά του χρήστη και στην συνέχεια παρέχουν ένα μοναδικό ή συμπληρωματικό επίπεδο ασφαλείας, που εξετάζει αν η συμπεριφορά του χρήστη συμβαδίζει με αυτή του ιδιοκτήτη. Στη συγκεκριμένη εργασία, το σύστημα βασίζει τη λειτουργία του σε δεδομένα αισθητήρων που είναι ήδη εγκατεστημένοι στα περισσότερα smartphones, όπως το επιταχυνσιόμετρο, το γυροσκόπιο και η οθόνη αφής. Η συμπεριφορά του ιδιοκτήτη μοντελοποιείται με αυτά τα δεδομένα μέσω της χρήσης μοντέλων μηχανικής μάθησης που, στη συνέχεια, μπορούν να πάρουν κατάλληλες αποφάσεις. Αυτό που κάνει το εν λόγω σύστημα να ξεχωρίζει είναι η χρήση ενός συνόλου μοντέλων μηχανών διανυσμάτων υποστήριξης μίας κλάσης (One Class Support Vector Machines), με ένα εύρος τιμών για τις παραμέτρους, για κάθε τύπο δεδομένων, που παράγει την πιθανότητα μια συμπεριφορά να συμβαδίζει με αυτή του ιδιοκτήτη και στην συνέχεια καλεί ένα σύστημα εμπιστοσύνης να αποφασίσει αν θα πραγματοποιηθεί το κλείδωμα της συσκευής. Όπως αποδεικνύεται, ένα τέτοιο σύστημα είναι εύκολα υλοποιήσιμο, μπορεί να προσαρμόζεται στον τύπο δεδομένων που είναι διαθέσιμος κάθε στιγμή και έτσι μπορεί να επιφέρει σημαντικές βελτιώσεις στην αυθεντικοποίηση του χρήστη με έναν συνεχή αλλά και μη παρεμβατικό τρόπο.
System Development for Prediction of Static Analysis Metrics of Source CodeISSEL
Nowadays, the pace of technological development and the uninterrupted use of online sources have resulted in rapid software development processes. In the numerous projects that are constantly being implemented, what is becoming more and more evident is the smooth development of the source code around a number of criteria that define its quality. This problem is especially magnified when there are dilemmas of reusing snippets of code and doubts arise about the best choice. Therefore, such issues make it necessary to assess the quality of code fragments that are candidates for reuse based on their maintainability. The process of evaluating the quality of the source code of a software project is a time consuming and costly operation, as it involves a high degree of complexity depending on the languages the project has been implemented in and its scope. At the same time, the contribution of many developers to a project always increases the difficulties of correct evaluation. Consequently, such issues require techniques and tools that take into account multiple parameters in order to rigorously and reasonably assess the quality of a project in terms of its maintainability. One of the most prevalent techniques is the analysis of source code using static metrics that rigorously evaluate the characteristics of the software project. This is what this thesis is based on, as it focuses on static source code analysis and methods that will contribute to the evaluation of software quality through them. This is done as long as there is the availability of open source projects in repositories such as GitHub and can be used to build tools aiming at solving the issue. The static analysis of open-source projects through metrics is the basis of the system designed in the current thesis. The system designed and built in this thesis is to create a reliable and functionally useful process that is capable of predicting the future values of static analysis metrics. This tool essentially attempts to detect patterns of behavior of static metrics for past metrics and predict similar behavior in the future using memory. This is implemented using LSTM and GRU networks as their architecture focuses on holding information in memory for long periods of time. Since software production is growing at an increasingly rapid pace, such a tool will be a key element in a smooth and well-guided source code development path.
Ανάπτυξη συστήματος πρόβλεψης της εξέλιξης των μετρικών στατικής ανάλυσης πηγ...ISSEL
Στις μέρες μας, ο ρυθμός ανάπτυξης της τεχνολογίας και η αδιάλειπτη χρήση του διαδικτύου έχουν ως αποτέλεσμα την εξέλιξη της διαδικασίας ανάπτυξης λογισμικού με ταχύτατους ρυθμούς. Στα πολυάριθμα έργα που υλοποιούνται συνεχώς, αυτό που προβληματίζει όλο και περισσότερο τους ειδικούς στον τομέα, είναι η ομαλή ανάπτυξη του πηγαίου κώδικα γύρω από ένα πλήθος κριτηρίων που ορίζουν την ποιότητά του. Αυτό το πρόβλημα διογκώνεται κυρίως όταν υπάρχουν διλήμματα επαναχρησιμοποίησης τμημάτων κώδικα και προκύπτουν ενδοιασμοί για τη σωστότερη επιλογή. Επομένως, τέτοιου είδους θέματα καθιστούν αναγκαία την αξιολόγηση της ποιότητας τμημάτων κώδικα που είναι υποψήφια για επαναχρησιμοποίηση βάση της συντηρησιμότητάς τους. Η διαδικασία αξιολόγησης της ποιότητας του πηγαίου κώδικα ενός έργου λογισμικού αποτελεί μια χρονοβόρα και κοστοβόρα λειτουργία, καθώς περιέχει υψηλό βαθμό περιπλοκότητας ανάλογα με τις γλώσσες που περιλαμβάνει το έργο αλλά και την έκταση του. Παράλληλα, η συμβολή πολλών και διαφορετικών προγραμματιστών στην ανάπτυξη του έργου, αποτελεί καθοριστικό παράγοντα στην αύξηση των δυσκολιών σωστής αξιολόγησης. Καθώς το έργο αναπτύσσεται, η ανάγκη για έλεγχο συντηρησιμότητας τόσο από την πλευρά του μηχανικού όσο και από την πλευρά του πελάτη γίνεται πρωταρχικός σκοπός. Συνεπώς, τέτοια ζητήματα απαιτούν τεχνικές και εργαλεία που θα λαμβάνουν υπόψιν πλήθος παραμέτρων με στόχο την αυστηρή και λογική αξιολόγηση της ποιότητας ενός έργου ως προς την συντηρησιμότητα του. Μια από τις επικρατέστερες τεχνικές είναι η ανάλυση του πηγαίου κώδικα με χρήση μετρικών που αξιολογούν με αυστηρά κριτήρια τα χαρακτηριστικά του έργου λογισμικού. Πάνω σε αυτό βασίστηκε και η παρούσα διπλωματική, καθώς εστιάζει στη στατική ανάλυση πηγαίου κώδικα και σε μεθόδους που θα συμβάλλουν στην αξιολόγηση της ποιότητας λογισμικού μέσω αυτών. Αυτό γίνεται εφόσον υπάρχει διαθεσιμότητα έργων ανοιχτού κώδικα τα οποία βρίσκονται διαθέσιμα σε αποθετήρια όπως το GitHub και μπορούν να αξιοποιηθούν για τη δημιουργία εργαλείων που στοχεύουν στην επίλυση του ζητήματος. Η στατική ανάλυση έργων ανοιχτού κώδικα μέσω μετρικών αποτελεί την βάση δεδομένων του συστήματος της παρούσας διπλωματικής. Σκοπός του συστήματος που ερευνούμε σε αυτή την διπλωματική είναι η δημιουργία μιας αξιόπιστης και λειτουργικά χρήσιμης διαδικασίας που θα είναι ικανή να προβλέπει τις μελλοντικές τιμές των μετρικών στατικής ανάλυσης. Αυτό το εργαλείο ουσιαστικά προσπαθεί να ανιχνεύσει μοτίβα συμπεριφοράς των στατικών μετρικών για μετρήσεις του παρελθόντος και να προβλέπει όμοιες συμπεριφορές στο μέλλον με χρήση της μνήμης. Η υλοποίηση αυτή γίνεται με δίκτυα LSTM και GRU καθώς η αρχιτεκτονική τους εστιάζει στην συγκράτηση πληροφοριών στη μνήμη για μεγάλα χρονικά διαστήματα. Από την στιγμή που η παραγωγή λογισμικού αυξάνεται με όλο και πιο ραγδαίους ρυθμούς, ένα τέτοιο εργαλείο θα αποτελέσει βασικό στοιχείο στην ομαλή και σωστά καθοδηγούμενη πορεία ανάπτυξης του πηγαίου κώδικα.
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...ISSEL
Τις τελευταίες δεκαετίες, τα έργα λογισµικού γίνονται όλο και µεγαλύτερα, χρησιµότερα και διεισδύουν σε όλο και περισσότερες πτυχές του ανθρώπινου ϐίου. Κατά την ανάπτυξη και τη συντήρηση λογισµικού, οι προγραµµατιστές σπαταλούν µεγάλο µέρος του χρόνου τους στον εντοπισµό και τη διόρθωση σφαλµάτων. Τα εργαλεία στατικής ανάλυσης κώδικα αυτοµατοποιούν τη διαδικασία εντοπισµού των σφαλµάτων. Η χρήση τους, ωστόσο, παραµένει περιορισµένη, καθώς η κατανόηση και η διόρθωση σφαλµάτων παραµένουν ευθύνες των προγραµµατιστών. Τα τελευταία χρόνια, πραγµατοποιούνται έρευνες για την εξόρυξη προτύπων διόρθωσης τέτοιων σφαλµάτων άλλα και την ανάπτυξη συστηµάτων αυτοµατοποιηµένης διόρθωσης σφαλµάτων. Οι πρώτες στοχεύουν στην κατανόηση του τρόπου που οι προγραµµατιστές αντιµετωπίζουν τέτοια προβλήµατα, και πολλές ϕορές τα αποτελέσµατα τους αποτελούν ϐάση για τις δεύτερες. Η παρούσα διπλωµατική, στοχεύει στην εξόρυξη χρήσιµων προτύπων διόρ ϑωσης σφαλµάτων για σφάλµατα που ανήκουν στους κανόνες του εργαλείου στατικής ανάλυσης PMD. Αρχικά, µέσω κατάλληλων ερωτηµάτων στο API του Github, αναζητο ύνται commits που αφορούν διορθώσεις τέτοιων σφαλµάτων και λαµβάνονται οι εκδόσεις των αρχείων πριν και µετά των αλλαγών των commits. Στη συνέχεια, µέσω εκτέλεσης του PMD στις δύο εκδόσεις, εντοπίζονται οι επιµέρους διορθώσεις και δηµιουργείται κα τάλληλο σύνολο δεδοµένων, αποτελούµενο αποκλειστικά από διορθώσεις σφαλµάτων, κανόνων του PMD. Οι επιµέρους διορθώσεις αναλύονται και µε αξιοποίηση της αναπα ϱάστασης κώδικα srcML και του αλγορίθµου απόστασης επεξεργασίας δέντρου Gumtree, είναι εφικτή η εξαγωγή µιας ακολουθίας όρων που είναι αντιπροσωπευτικοί για κάθε διόρθωση. ΄Ετσι, µε εύρεση του µήκους της µέγιστης κοινής υπακολουθίας µεταξύ δύο διορθώσεων, είναι εφικτή η ανάπτυξη ενός µοντέλου οµοιότητας για τις διορθώσεις συνολικά και κατ΄ επέκταση, η οµαδοποίηση τους και η εξαγωγή προτύπων διόρθω σης. Πραγµατοποιήθηκαν δύο διαφορετικά πειράµατα οµαδοποίησης : στο ένα αξιοποιήθηκε ο αλγόριθµος K-medoids και στο άλλο ο DBSCAN. Και στα δύο πειράµα τα, άλλα ιδιαίτερα σε αυτό µε τον DBSCAN, σχεδόν κάθε εξαγόµενη οµάδα αποτελείται κυρίως από διορθώσεις σφαλµάτων ενός κανόνα του PMD. Παράλληλα, µε τον υπο λογισµό του αριθµού των commits και των αποθετηρίων από τα οποία προέρχονται οι διορθώσεις κάθε οµάδας - προτύπου, ϕανερώνεται ότι οι περισσότερες οµάδες προκύπτουν από διορθώσεις προερχόµενες από µεγάλο αριθµό commits και αποθετηρίων. ΄Ετσι αντανακλούν τον τρόπο που αρκετοί προγραµµατιστές ϑα αντιµετώπιζαν παρόµοια προβλήµατα. Συνεπώς, τα εξαγόµενα πρότυπα ϑα µπορούσαν να αποτελέσουν αφετη ϱία για κάποιον µηχανισµό αυτοµατοποιηµένης διόρθωσης σφαλµάτων, ϐασιζόµενο στο PMD για τον εντοπισµό τους.
Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V...ISSEL
Contemporary Software products are getting larger and more complex. Dur ing the processes of software development and maintenance, developers spend a significant amount of their work time on detecting and fixing bugs. Static Analysis Tools automate the process of bug detection. Their application, however, is lim ited as the process of understanding and fixing of bugs, remains part of developer’s responsibilities. Lately, several research approaches aspire to extract useful bug fix patterns, or to automate the bug fixing process. The first approaches focus on understanding how developers face similar problems and frequently they serve as groundwork for systems for automated bug fixing. Our research aims at the extraction of useful bug fix patterns, for bugs that trigger the rules of the static analysis tool PMD. Initially, by querying the Github API, we search for commits that correspond to fixes of these categories of bugs. Both the before and after the commit versions of the commits’ files are downloaded. Then, by executing PMD on the two versions of each file, individual fixes are detected and a proper dataset is crafted. The dataset comprises fixes of bugs detectable from rules of PMD. The fixes are analyzed, and by utilizing srcML code representation and tree edit distance algorithm Gumtree, a representative sequence is extracted from each fix. Afterwards, by utilizing the metric of longest common subsequence between two sequences of two fixes, we develop a similarity scheme for the dataset’s fixes. This similarity scheme, operates as the base for the clustering of fixes and pattern extraction. In order to cluster the fixes, two separate experiments were conducted, one with K-medoids and one with the DBSCAN algorithm. In both experiments, but mostly with the DBSCAN algorithm, almost each cluster groups mostly bug fixes of a certain PMD rule. Alongside, by computing the number of commits and repositories from which the fixes of each cluster come from, it becomes obvious, that most of the clusters arise from fixes coming from a large number of commits and repositories. Thus, the extracted patterns correspond to the way in which similar problems are faced, by a number of different developers. Consequently, our extracted patterns, can be utilized as groundwork for an automated bug fixing system, where PMD will serve for bug detection.
A rule-based approach for the real-time semantic annotation in context-aware ...Nikolaos Konstantinou
Typically, a context-aware system is able to collect vast amounts of information coming from data collected by sensors. The problem that occurs lies mainly in how this information can be integrated and used at a semantic level, without a significant reduction in system performance. In the scope of this talk, we analyse a middleware-based pilot system, in order to study problems that concern context-aware systems that incorporate and exploit semantic information in real time. We analyze the data flow in the system and, more specifically, we present how with the use of a middleware, rules, and web services, (experimental) data can flow into the system and form a semantic Knowledge Base, able to answer semantic queries. Particular reference is made to the real-time processing of the results but also to the synchronous and asynchronous procedures that can take place in order to assure system operation and scalability.
Ανάλυση αθλητικών επιδόσεων με τη χρήση του συστήματος REMEDESISSEL
Η επιστήμη των δεδομένων αν και προϋπήρχε, στις μέρες μας κυριαρχεί και ενδέχεται να κάνει το ίδιο στο μέλλον. Η ύπαρξη τεράστιου αποθηκευτικού χώρου και ισχυρών επεξεργαστών, ικανών να διαχειριστούν αντίστοιχου μεγέθους βάσεις δεδομένων, έχουν δώσει τη δυνατότητα συλλογής πληροφορίας σε κάθε εργασιακό χώρο, από τον κλάδο της ιατρικής και των μηχανικών, μέχρι τις τέχνες και τον αθλητισμό. Στη συγκεκριμένη διπλωματική εργασία θα σταθούμε στο χώρο του επαγγελματικού αθλητισμού και συγκεκριμένα της καλαθοσφαίρισης (Basketball). Αρχικά θα παρουσιαστούν βασικές γνώσεις γύρω από το άθλημα, θα αναφερθούν κάποια από τα εργαλεία συλλογής πληροφορίας και θα αναλυθεί η σημασία και ο ρόλος των δεδομένων στην προπόνηση, στην προετοιμασία των αθλητών αλλά και στις αποφάσεις των προπονητών. Στη συνέχεια, έχοντας συλλέξει δεδομένα με τη χρήση του συστήματος REMEDES πάνω σε συγκεκριμένο ασκησιολόγιο καλαθοσφαίρισης, αναπτύχθηκε ένα σύστημα αξιολόγησης αθλητικών επιδόσεων, χρησιμοποιώντας τη γλώσσα προγραμματισμού Python και διάφορες τεχνικές επεξεργασίας και προ-επεξεργασίας δεδομένων (Data Preprocessing) και μηχανικής μάθησης (Machine Learning). Σκοπός του εν λόγω συστήματος είναι η όσο το δυνατόν πιο αντιπροσωπευτική αξιολόγηση μη αθλητών, αθλητών και αθλητών Basketball σε συγκεκριμένες ασκήσεις που αφορούν φυσικά την καλαθοσφαίριση. Κατά τη διάρκεια της ανάλυσης αλλά και με την προσεκτική παρακολούθηση των αποτελεσμάτων, προέκυψαν κάποια πολύ ενδιαφέροντα συμπεράσματα που θα παρουσιαστούν και θα ερμηνευθούν στην παρούσα διπλωματική εργασία.
Basketball data analytics via Machine Learning techniques using the REMEDES s...ISSEL
Data science although pre-existing, now days dominates and may do the same in the future. The existence of huge storage space and powerful processors capable of managing corresponding-sized databases, have enabled information to be collected in every workplace, from the medical and engineering sectors to the arts and sports. In this diploma thesis we will stand in the field of professional sport and in particular basketball. Initially basic knowledge about the sport will be presented, some of the information collection tools will be mentioned and we will analyze the importance and role of data in training, in the preparation of athletes and in the decisions of coaches. Subsequently, having collected data using the "REMEDES" system on a specific basketball set of drills, a sports performance evaluation system was developed using the "Python" programming language and various Data Preprocessing and Machine Learning techniques. The purpose of this system is to evaluate as representatively as possible non-athletes, athletes and Basketball athletes in a specific set of drills that obviously concern basketball. During the analysis and through careful monitoring of the results we have drawn some very interesting conclusions that will be presented and interpreted in this report along the way.
Συνεχής έμμεση αυθεντικοποίηση χρηστών κινητού τηλεφώνου με συνδυασμό των δεδ...ISSEL
Τα έξυπνα κινητά τηλέφωνα (smartphones) έχουν γίνει πλέον αναπόσπαστο κομμάτι της καθημερινότητας και οι πληροφορίες που αποθηκεύονται σε αυτά συνεχώς αυξάνονται. Προκύπτει λοιπόν το ζήτημα της ασφάλειας αυτών των συσκευών, που είναι κρίσιμο για την εξασφάλιση της προστασίας των δεδομένων του ιδιοκτήτη ενός smartphone από κακόβουλους χρήστες. Οι περισσότερες συσκευές πλέον προσφέρουν ένα επίπεδο ασφάλειας χρησιμοποιώντας διάφορους τρόπους αυθεντικοποίησης, που όμως έχουν χαρακτηριστεί ευάλωτοι και έτσι έχει δημιουργηθεί η ανάγκη για την υλοποίηση καινούργιων μεθοδολογιών. Λύση στο πρόβλημα έρχονται να δώσουν τεχνικές συνεχούς – έμμεσης αυθεντικοποίησης, δηλαδή συστήματα που εκτελούνται συνεχώς στο παρασκήνιο της συσκευής, χωρίς να χρειάζονται την εκτέλεση ενεργειών από την πλευρά του χρήστη. Τα συστήματα αυτά συνήθως χρησιμοποιούν διάφορα δεδομένα του κινητού τηλεφώνου ή άλλων συσκευών, μοντελοποιούν την συμπεριφορά του χρήστη και στην συνέχεια παρέχουν ένα μοναδικό ή συμπληρωματικό επίπεδο ασφαλείας, που εξετάζει αν η συμπεριφορά του χρήστη συμβαδίζει με αυτή του ιδιοκτήτη. Στη συγκεκριμένη εργασία, το σύστημα βασίζει τη λειτουργία του σε δεδομένα αισθητήρων που είναι ήδη εγκατεστημένοι στα περισσότερα smartphones, όπως το επιταχυνσιόμετρο, το γυροσκόπιο και η οθόνη αφής. Η συμπεριφορά του ιδιοκτήτη μοντελοποιείται με αυτά τα δεδομένα μέσω της χρήσης μοντέλων μηχανικής μάθησης που, στη συνέχεια, μπορούν να πάρουν κατάλληλες αποφάσεις. Αυτό που κάνει το εν λόγω σύστημα να ξεχωρίζει είναι η χρήση ενός συνόλου μοντέλων μηχανών διανυσμάτων υποστήριξης μίας κλάσης (One Class Support Vector Machines), με ένα εύρος τιμών για τις παραμέτρους, για κάθε τύπο δεδομένων, που παράγει την πιθανότητα μια συμπεριφορά να συμβαδίζει με αυτή του ιδιοκτήτη και στην συνέχεια καλεί ένα σύστημα εμπιστοσύνης να αποφασίσει αν θα πραγματοποιηθεί το κλείδωμα της συσκευής. Όπως αποδεικνύεται, ένα τέτοιο σύστημα είναι εύκολα υλοποιήσιμο, μπορεί να προσαρμόζεται στον τύπο δεδομένων που είναι διαθέσιμος κάθε στιγμή και έτσι μπορεί να επιφέρει σημαντικές βελτιώσεις στην αυθεντικοποίηση του χρήστη με έναν συνεχή αλλά και μη παρεμβατικό τρόπο.
System Development for Prediction of Static Analysis Metrics of Source CodeISSEL
Nowadays, the pace of technological development and the uninterrupted use of online sources have resulted in rapid software development processes. In the numerous projects that are constantly being implemented, what is becoming more and more evident is the smooth development of the source code around a number of criteria that define its quality. This problem is especially magnified when there are dilemmas of reusing snippets of code and doubts arise about the best choice. Therefore, such issues make it necessary to assess the quality of code fragments that are candidates for reuse based on their maintainability. The process of evaluating the quality of the source code of a software project is a time consuming and costly operation, as it involves a high degree of complexity depending on the languages the project has been implemented in and its scope. At the same time, the contribution of many developers to a project always increases the difficulties of correct evaluation. Consequently, such issues require techniques and tools that take into account multiple parameters in order to rigorously and reasonably assess the quality of a project in terms of its maintainability. One of the most prevalent techniques is the analysis of source code using static metrics that rigorously evaluate the characteristics of the software project. This is what this thesis is based on, as it focuses on static source code analysis and methods that will contribute to the evaluation of software quality through them. This is done as long as there is the availability of open source projects in repositories such as GitHub and can be used to build tools aiming at solving the issue. The static analysis of open-source projects through metrics is the basis of the system designed in the current thesis. The system designed and built in this thesis is to create a reliable and functionally useful process that is capable of predicting the future values of static analysis metrics. This tool essentially attempts to detect patterns of behavior of static metrics for past metrics and predict similar behavior in the future using memory. This is implemented using LSTM and GRU networks as their architecture focuses on holding information in memory for long periods of time. Since software production is growing at an increasingly rapid pace, such a tool will be a key element in a smooth and well-guided source code development path.
Ανάπτυξη συστήματος πρόβλεψης της εξέλιξης των μετρικών στατικής ανάλυσης πηγ...ISSEL
Στις μέρες μας, ο ρυθμός ανάπτυξης της τεχνολογίας και η αδιάλειπτη χρήση του διαδικτύου έχουν ως αποτέλεσμα την εξέλιξη της διαδικασίας ανάπτυξης λογισμικού με ταχύτατους ρυθμούς. Στα πολυάριθμα έργα που υλοποιούνται συνεχώς, αυτό που προβληματίζει όλο και περισσότερο τους ειδικούς στον τομέα, είναι η ομαλή ανάπτυξη του πηγαίου κώδικα γύρω από ένα πλήθος κριτηρίων που ορίζουν την ποιότητά του. Αυτό το πρόβλημα διογκώνεται κυρίως όταν υπάρχουν διλήμματα επαναχρησιμοποίησης τμημάτων κώδικα και προκύπτουν ενδοιασμοί για τη σωστότερη επιλογή. Επομένως, τέτοιου είδους θέματα καθιστούν αναγκαία την αξιολόγηση της ποιότητας τμημάτων κώδικα που είναι υποψήφια για επαναχρησιμοποίηση βάση της συντηρησιμότητάς τους. Η διαδικασία αξιολόγησης της ποιότητας του πηγαίου κώδικα ενός έργου λογισμικού αποτελεί μια χρονοβόρα και κοστοβόρα λειτουργία, καθώς περιέχει υψηλό βαθμό περιπλοκότητας ανάλογα με τις γλώσσες που περιλαμβάνει το έργο αλλά και την έκταση του. Παράλληλα, η συμβολή πολλών και διαφορετικών προγραμματιστών στην ανάπτυξη του έργου, αποτελεί καθοριστικό παράγοντα στην αύξηση των δυσκολιών σωστής αξιολόγησης. Καθώς το έργο αναπτύσσεται, η ανάγκη για έλεγχο συντηρησιμότητας τόσο από την πλευρά του μηχανικού όσο και από την πλευρά του πελάτη γίνεται πρωταρχικός σκοπός. Συνεπώς, τέτοια ζητήματα απαιτούν τεχνικές και εργαλεία που θα λαμβάνουν υπόψιν πλήθος παραμέτρων με στόχο την αυστηρή και λογική αξιολόγηση της ποιότητας ενός έργου ως προς την συντηρησιμότητα του. Μια από τις επικρατέστερες τεχνικές είναι η ανάλυση του πηγαίου κώδικα με χρήση μετρικών που αξιολογούν με αυστηρά κριτήρια τα χαρακτηριστικά του έργου λογισμικού. Πάνω σε αυτό βασίστηκε και η παρούσα διπλωματική, καθώς εστιάζει στη στατική ανάλυση πηγαίου κώδικα και σε μεθόδους που θα συμβάλλουν στην αξιολόγηση της ποιότητας λογισμικού μέσω αυτών. Αυτό γίνεται εφόσον υπάρχει διαθεσιμότητα έργων ανοιχτού κώδικα τα οποία βρίσκονται διαθέσιμα σε αποθετήρια όπως το GitHub και μπορούν να αξιοποιηθούν για τη δημιουργία εργαλείων που στοχεύουν στην επίλυση του ζητήματος. Η στατική ανάλυση έργων ανοιχτού κώδικα μέσω μετρικών αποτελεί την βάση δεδομένων του συστήματος της παρούσας διπλωματικής. Σκοπός του συστήματος που ερευνούμε σε αυτή την διπλωματική είναι η δημιουργία μιας αξιόπιστης και λειτουργικά χρήσιμης διαδικασίας που θα είναι ικανή να προβλέπει τις μελλοντικές τιμές των μετρικών στατικής ανάλυσης. Αυτό το εργαλείο ουσιαστικά προσπαθεί να ανιχνεύσει μοτίβα συμπεριφοράς των στατικών μετρικών για μετρήσεις του παρελθόντος και να προβλέπει όμοιες συμπεριφορές στο μέλλον με χρήση της μνήμης. Η υλοποίηση αυτή γίνεται με δίκτυα LSTM και GRU καθώς η αρχιτεκτονική τους εστιάζει στην συγκράτηση πληροφοριών στη μνήμη για μεγάλα χρονικά διαστήματα. Από την στιγμή που η παραγωγή λογισμικού αυξάνεται με όλο και πιο ραγδαίους ρυθμούς, ένα τέτοιο εργαλείο θα αποτελέσει βασικό στοιχείο στην ομαλή και σωστά καθοδηγούμενη πορεία ανάπτυξης του πηγαίου κώδικα.
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...ISSEL
Τις τελευταίες δεκαετίες, τα έργα λογισµικού γίνονται όλο και µεγαλύτερα, χρησιµότερα και διεισδύουν σε όλο και περισσότερες πτυχές του ανθρώπινου ϐίου. Κατά την ανάπτυξη και τη συντήρηση λογισµικού, οι προγραµµατιστές σπαταλούν µεγάλο µέρος του χρόνου τους στον εντοπισµό και τη διόρθωση σφαλµάτων. Τα εργαλεία στατικής ανάλυσης κώδικα αυτοµατοποιούν τη διαδικασία εντοπισµού των σφαλµάτων. Η χρήση τους, ωστόσο, παραµένει περιορισµένη, καθώς η κατανόηση και η διόρθωση σφαλµάτων παραµένουν ευθύνες των προγραµµατιστών. Τα τελευταία χρόνια, πραγµατοποιούνται έρευνες για την εξόρυξη προτύπων διόρθωσης τέτοιων σφαλµάτων άλλα και την ανάπτυξη συστηµάτων αυτοµατοποιηµένης διόρθωσης σφαλµάτων. Οι πρώτες στοχεύουν στην κατανόηση του τρόπου που οι προγραµµατιστές αντιµετωπίζουν τέτοια προβλήµατα, και πολλές ϕορές τα αποτελέσµατα τους αποτελούν ϐάση για τις δεύτερες. Η παρούσα διπλωµατική, στοχεύει στην εξόρυξη χρήσιµων προτύπων διόρ ϑωσης σφαλµάτων για σφάλµατα που ανήκουν στους κανόνες του εργαλείου στατικής ανάλυσης PMD. Αρχικά, µέσω κατάλληλων ερωτηµάτων στο API του Github, αναζητο ύνται commits που αφορούν διορθώσεις τέτοιων σφαλµάτων και λαµβάνονται οι εκδόσεις των αρχείων πριν και µετά των αλλαγών των commits. Στη συνέχεια, µέσω εκτέλεσης του PMD στις δύο εκδόσεις, εντοπίζονται οι επιµέρους διορθώσεις και δηµιουργείται κα τάλληλο σύνολο δεδοµένων, αποτελούµενο αποκλειστικά από διορθώσεις σφαλµάτων, κανόνων του PMD. Οι επιµέρους διορθώσεις αναλύονται και µε αξιοποίηση της αναπα ϱάστασης κώδικα srcML και του αλγορίθµου απόστασης επεξεργασίας δέντρου Gumtree, είναι εφικτή η εξαγωγή µιας ακολουθίας όρων που είναι αντιπροσωπευτικοί για κάθε διόρθωση. ΄Ετσι, µε εύρεση του µήκους της µέγιστης κοινής υπακολουθίας µεταξύ δύο διορθώσεων, είναι εφικτή η ανάπτυξη ενός µοντέλου οµοιότητας για τις διορθώσεις συνολικά και κατ΄ επέκταση, η οµαδοποίηση τους και η εξαγωγή προτύπων διόρθω σης. Πραγµατοποιήθηκαν δύο διαφορετικά πειράµατα οµαδοποίησης : στο ένα αξιοποιήθηκε ο αλγόριθµος K-medoids και στο άλλο ο DBSCAN. Και στα δύο πειράµα τα, άλλα ιδιαίτερα σε αυτό µε τον DBSCAN, σχεδόν κάθε εξαγόµενη οµάδα αποτελείται κυρίως από διορθώσεις σφαλµάτων ενός κανόνα του PMD. Παράλληλα, µε τον υπο λογισµό του αριθµού των commits και των αποθετηρίων από τα οποία προέρχονται οι διορθώσεις κάθε οµάδας - προτύπου, ϕανερώνεται ότι οι περισσότερες οµάδες προκύπτουν από διορθώσεις προερχόµενες από µεγάλο αριθµό commits και αποθετηρίων. ΄Ετσι αντανακλούν τον τρόπο που αρκετοί προγραµµατιστές ϑα αντιµετώπιζαν παρόµοια προβλήµατα. Συνεπώς, τα εξαγόµενα πρότυπα ϑα µπορούσαν να αποτελέσουν αφετη ϱία για κάποιον µηχανισµό αυτοµατοποιηµένης διόρθωσης σφαλµάτων, ϐασιζόµενο στο PMD για τον εντοπισµό τους.
Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V...ISSEL
Contemporary Software products are getting larger and more complex. Dur ing the processes of software development and maintenance, developers spend a significant amount of their work time on detecting and fixing bugs. Static Analysis Tools automate the process of bug detection. Their application, however, is lim ited as the process of understanding and fixing of bugs, remains part of developer’s responsibilities. Lately, several research approaches aspire to extract useful bug fix patterns, or to automate the bug fixing process. The first approaches focus on understanding how developers face similar problems and frequently they serve as groundwork for systems for automated bug fixing. Our research aims at the extraction of useful bug fix patterns, for bugs that trigger the rules of the static analysis tool PMD. Initially, by querying the Github API, we search for commits that correspond to fixes of these categories of bugs. Both the before and after the commit versions of the commits’ files are downloaded. Then, by executing PMD on the two versions of each file, individual fixes are detected and a proper dataset is crafted. The dataset comprises fixes of bugs detectable from rules of PMD. The fixes are analyzed, and by utilizing srcML code representation and tree edit distance algorithm Gumtree, a representative sequence is extracted from each fix. Afterwards, by utilizing the metric of longest common subsequence between two sequences of two fixes, we develop a similarity scheme for the dataset’s fixes. This similarity scheme, operates as the base for the clustering of fixes and pattern extraction. In order to cluster the fixes, two separate experiments were conducted, one with K-medoids and one with the DBSCAN algorithm. In both experiments, but mostly with the DBSCAN algorithm, almost each cluster groups mostly bug fixes of a certain PMD rule. Alongside, by computing the number of commits and repositories from which the fixes of each cluster come from, it becomes obvious, that most of the clusters arise from fixes coming from a large number of commits and repositories. Thus, the extracted patterns correspond to the way in which similar problems are faced, by a number of different developers. Consequently, our extracted patterns, can be utilized as groundwork for an automated bug fixing system, where PMD will serve for bug detection.
A rule-based approach for the real-time semantic annotation in context-aware ...Nikolaos Konstantinou
Typically, a context-aware system is able to collect vast amounts of information coming from data collected by sensors. The problem that occurs lies mainly in how this information can be integrated and used at a semantic level, without a significant reduction in system performance. In the scope of this talk, we analyse a middleware-based pilot system, in order to study problems that concern context-aware systems that incorporate and exploit semantic information in real time. We analyze the data flow in the system and, more specifically, we present how with the use of a middleware, rules, and web services, (experimental) data can flow into the system and form a semantic Knowledge Base, able to answer semantic queries. Particular reference is made to the real-time processing of the results but also to the synchronous and asynchronous procedures that can take place in order to assure system operation and scalability.
Ανάλυση αθλητικών επιδόσεων με τη χρήση του συστήματος REMEDESISSEL
Η επιστήμη των δεδομένων αν και προϋπήρχε, στις μέρες μας κυριαρχεί και ενδέχεται να κάνει το ίδιο στο μέλλον. Η ύπαρξη τεράστιου αποθηκευτικού χώρου και ισχυρών επεξεργαστών, ικανών να διαχειριστούν αντίστοιχου μεγέθους βάσεις δεδομένων, έχουν δώσει τη δυνατότητα συλλογής πληροφορίας σε κάθε εργασιακό χώρο, από τον κλάδο της ιατρικής και των μηχανικών, μέχρι τις τέχνες και τον αθλητισμό. Στη συγκεκριμένη διπλωματική εργασία θα σταθούμε στο χώρο του επαγγελματικού αθλητισμού και συγκεκριμένα της καλαθοσφαίρισης (Basketball). Αρχικά θα παρουσιαστούν βασικές γνώσεις γύρω από το άθλημα, θα αναφερθούν κάποια από τα εργαλεία συλλογής πληροφορίας και θα αναλυθεί η σημασία και ο ρόλος των δεδομένων στην προπόνηση, στην προετοιμασία των αθλητών αλλά και στις αποφάσεις των προπονητών. Στη συνέχεια, έχοντας συλλέξει δεδομένα με τη χρήση του συστήματος REMEDES πάνω σε συγκεκριμένο ασκησιολόγιο καλαθοσφαίρισης, αναπτύχθηκε ένα σύστημα αξιολόγησης αθλητικών επιδόσεων, χρησιμοποιώντας τη γλώσσα προγραμματισμού Python και διάφορες τεχνικές επεξεργασίας και προ-επεξεργασίας δεδομένων (Data Preprocessing) και μηχανικής μάθησης (Machine Learning). Σκοπός του εν λόγω συστήματος είναι η όσο το δυνατόν πιο αντιπροσωπευτική αξιολόγηση μη αθλητών, αθλητών και αθλητών Basketball σε συγκεκριμένες ασκήσεις που αφορούν φυσικά την καλαθοσφαίριση. Κατά τη διάρκεια της ανάλυσης αλλά και με την προσεκτική παρακολούθηση των αποτελεσμάτων, προέκυψαν κάποια πολύ ενδιαφέροντα συμπεράσματα που θα παρουσιαστούν και θα ερμηνευθούν στην παρούσα διπλωματική εργασία.
Basketball data analytics via Machine Learning techniques using the REMEDES s...ISSEL
Data science although pre-existing, now days dominates and may do the same in the future. The existence of huge storage space and powerful processors capable of managing corresponding-sized databases, have enabled information to be collected in every workplace, from the medical and engineering sectors to the arts and sports. In this diploma thesis we will stand in the field of professional sport and in particular basketball. Initially basic knowledge about the sport will be presented, some of the information collection tools will be mentioned and we will analyze the importance and role of data in training, in the preparation of athletes and in the decisions of coaches. Subsequently, having collected data using the "REMEDES" system on a specific basketball set of drills, a sports performance evaluation system was developed using the "Python" programming language and various Data Preprocessing and Machine Learning techniques. The purpose of this system is to evaluate as representatively as possible non-athletes, athletes and Basketball athletes in a specific set of drills that obviously concern basketball. During the analysis and through careful monitoring of the results we have drawn some very interesting conclusions that will be presented and interpreted in this report along the way.
3. Νευρωνικά Δίκτυα Πολλαπλών Στρωμάτων
(Multilayer Perceptron - MLP) 1/3
είναι δίκτυα εμπρόσθιας τροφοδότησης (feedforward)
εκπαιδεύονται μετά από μια διαδικασία, η οποία
παρουσιάζει στο δίκτυο σετ δεδομένων εισόδου και
εξόδους – στόχους
χρησιμοποιούν μη γραμμικές συναρτήσεις ενεργοποίησης
χαρακτηρίζονται από την ιδιότητα της καθολικής
προσέγγισης (global approximation)
ο πιο διαδεδομένος κανόνας για την εκπαίδευσή τους είναι
ο backpropagation (BP)
4. Νευρωνικά Δίκτυα Πολλαπλών Στρωμάτων
(Multilayer Perceptron - MLP) 2/3
Αποτελούνται από:
ένα σύνολο κόμβων εισόδου,
ένα ή περισσότερα κρυφά
στρώματα που αποτελούνται από
νευρώνες που εκτελούν
υπολογισμούς και
ένα στρώμα εξόδου, το οποίο
επίσης αποτελείται από νευρώνες
που εκτελούν υπολογισμούς
Γενική τοπολογία ενός δικτύου MLP
5. Νευρωνικά Δίκτυα Πολλαπλών Στρωμάτων
(Multilayer Perceptron - MLP) 3/3
Σύμφωνα με την ιδιότητα της καθολικής προσέγγισης, ένα
MLP δίκτυο δύο στρωμάτων, μπορεί να προσεγγίσει όσο καλά
επιθυμούμε οποιαδήποτε συνεχή συνάρτηση, αρκεί:
να έχουμε αρκετούς κρυφούς νευρώνες
οι νευρώνες του κρυφού στρώματος να έχουν την
συνάρτηση ενεργοποίησης υπερβολικής εφαπτομένης
(MatLab - tansig)
οι νευρώνας εξόδου να έχουν τη γραμμική συνάρτηση
ενεργοποίησης (MatLab - purelin)
Υπερβολική
εφαπτομένη
Γραμμική
συνάρτηση
6. Εκπαίδευση ενός Τεχνητού
Νευρωνικού Δικτύου (ΤΝΔ)
Βασικός στόχο της εκπαίδευσης ενός ΤΝΔ είναι να βρεθεί
ένας τρόπος αλλαγής των βαρών που θα έχει σαν
αποτέλεσμα την αύξηση της ικανότητας του δικτύου να
παρέχει στο μέλλον μία επιθυμητή έξοδο μετά από μία
δεδομένη είσοδο.
Supervised learning: η έξοδος είναι εκ των προτέρων
γνωστή
Unsupervised learning: έχουμε μόνο τις εισόδους
Reinforcement Learning: δεν έχουμε άμεση πρόσβαση
στην "σωστή" έξοδο, αλλά μπορούμε να πάρουμε κάποια
μέτρηση της ποιότητας μιας εξόδου μετά την είσοδο
6
8. Δίκτυα Backpropagation (BP) 1/2
8
Είναι Feedforward (FF) ΤΝΔ
Supervised learning - Για κάθε είσοδο που δίνεται στο
δίκτυο, υπολογίζονται οι έξοδοι εφαρμόζοντας τις
συναρτήσεις μετάβασης σε κάθε μονάδα κρυφού ή
εξωτερικού στρώματος.
Διαδικασία Βackpropagation - Οι διαφορές μεταξύ του
υπολογιζόμενου και του επιθυμητού αποτελέσματος
λαμβάνονται υπ' όψιν και προπαγανδίζονται προς τα πίσω
στις κρυμμένες μονάδες έτσι ώστε να καθορίσουν τις
απαραίτητες αλλαγές (κανόνας εκμάθησης) στα βάρη
σύνδεσης μεταξύ των μονάδων.
10. Παλινδρόμηση (Regression)
Είναι η διαδικασία προσδιορισμού της σχέσης μιας
μεταβλητής y (εξαρτημένη μεταβλητή ή έξοδος) µε µια ή
περισσότερες άλλες μεταβλητές x1, x2, …, xn (ανεξάρτητες
μεταβλητές ή είσοδοι).
Σκοπός της είναι η πρόβλεψη της τιμής της εξόδου όταν είναι
γνωστές οι είσοδοι.
Το πιο διαδεδομένο μοντέλο είναι το γραμμικό (linear), όπου η
αναμενόμενη τιμή της εξόδου μοντελοποιείται µε µία
γραμμική συνάρτηση.
Αφορά στη δημιουργία μοντέλων πρόβλεψης αριθμητικών
τιμών (π.χ. πρόβλεψη ισοτιμίας νομισμάτων ή τιμής μετοχής).
10
11. Conjugate Gradient BP (CG)
Λέγεται και Συζυγής Κατάβαση Δυναμικού με
Οπισθοδρόμηση,
μπορεί να χρησιμοποιηθεί στην εκπαίδευση δικτύων
πολλών στρωμάτων,
δεν απαιτεί τον υπολογισμό της δεύτερης παραγώγου,
έχει τη δυνατότητα της τετραγωνικής σύγκλισης,
στο MatLab, ο αλγόριθμος εκπαίδευσης που
χρησιμοποιήθηκε είναι ο Fletcher-Powell Conjugate
Gradient αλγόριθμος (traincgf).
11
12. Levenberg – Marquardt BP (LM)
Ο αλγόριθμος αυτός μπορεί να θεωρηθεί σαν γενίκευση
του αλγορίθμου Ελάχιστων Μέσων Τετραγώνων,
βασίζεται στον κανόνα μάθησης με ανάστροφη διόρθωση,
είναι γρήγορος και έχει σταθερή σύγκλιση,
στα ΤΝΔ είναι κατάλληλος για την επίλυση μικρού και
μεσαίου μεγέθους προβλημάτων,
στο Matlab, η υλοποίησή του πραγματοποιείται με τη
χρήση της συνάρτησης trainlm, η οποία ενημερώνει τις
τιμές βάρους και πόλωσης σύμφωνα με τη βελτιστοποίηση
του LM.
12
13. Wine Quality Dataset 1/2
13
Το σύνολο των δεδομένων προέρχεται από το Κέντρο
Εκμάθησης Μηχανών και Ευφυών Συστημάτων του UC
Irvine (http://cml.ics.uci.edu) μέσα από την έρευνα
των των Ρ. Cortez, Α. Cerdeira, F. Almeida, Τ. Matos
και J. Reis,
είναι οργανωμένα σε δύο αρχεία, το πρώτο με 1599
κόκκινα κρασιά και το δεύτερο με 4898 λευκά κρασιά,
το κάθε δεδομένο περιέχει 11 χημικά χαρακτηριστικά
καθώς και ένα χαρακτηριστικό ποιότητας (βαθμός 1
έως 10).
15. Μέθοδοι Αξιολόγησης Αποτελεσμάτων 1/6
Hold-out 1/2
15
το σύνολο δεδομένων διαχωρίζεται σε δύο ανεξάρτητα
σύνολα δεδομένων:
εκπαίδευσης (training set): χρησιμοποιείται για την
εκπαίδευση του ταξινομητή και κρατάμε συνήθως το 80%
του συνόλου των δεδομένων
ελέγχου (test set): χρησιμοποιείται για δοκιμές ελέγχου
(εκτίμηση του σφάλματος)
Διαχωρισμός δειγμάτων σε test και training
16. Μέθοδοι Αξιολόγησης Αποτελεσμάτων 2/6
Hold-out 2/2
16
Η μέθοδος hold-out είναι µια απλή μέθοδος η οποία
είναι εύκολη στην υλοποίηση, παρόλα αυτά, έχει δύο
βασικά μειονεκτήματα:
Στην περίπτωση που έχουμε μικρό σύνολο δεδομένων,
δεν είναι δυνατό να κρατήσουμε δείγματα για δοκιμή.
Μπορεί ο χωρισμός στις δύο ομάδων να είναι τέτοιος
που να παραπλανήσει το σφάλμα.
Λύση στα παραπάνω προβλήματα – το cross-validation
17. Μέθοδοι Αξιολόγησης Αποτελεσμάτων 3/6
Cross-Validation
17
Στις μεθόδους cross-validation χρησιμοποιείται ολόκληρο
το σύνολο δεδομένων για εκπαίδευση και για έλεγχο,
διεξάγονται πολλαπλάσια πειράματα εις βάρος του
υψηλότερου υπολογιστικού κόστους,
περιλαμβάνονται:
Random Subsampling (τυχαία δειγματοληψία),
K-Fold Cross-Validation (διασταυρωμένη επικύρωση
σε Κ μέρη) και
Leave-one-out Cross-Validation (εξαίρεσε ένα)
18. Μέθοδοι Αξιολόγησης Αποτελεσμάτων 4/6
random subsampling 1/3
18
Ακολουθεί παρόμοια λογική µε την hold-out
Εφαρμόζουμε τυχαία δειγματοληψία χωρίς
επανατοποθέτηση,
επιλέγουμε Ν πρότυπα για το σύνολο ελέγχου,
τα εναπομένοντα πρότυπα σχηματίζουν το σύνολο
εκπαίδευσης
μειώνεται η επιρροή που μπορεί να επιφέρει η κατανομή των
στιγμιότυπων στο σύνολο δεδομένων.
διαδικασία επαναλαμβάνεται Κ φορές ώστε να επιτευχθεί η
μεγαλύτερη δυνατή μείωση της επιρροής
19. Μέθοδοι Αξιολόγησης Αποτελεσμάτων 5/6
random subsampling 2/3
19
Τυχαία δειγματοληψία
Το συνολικό ποσοστό λάθους Ε υπολογίζεται ως ο μέσος όρος των
σφαλμάτων Εi
21. Διακοπή εκπαίδευσης στην
βέλτιστη εποχή
21
Ξεκινάμε με
τυχαία βάρη,
άρα υψηλό
σφάλμα γιατί
είναι
ανεκπαίδευτο
Βέλτιστη
πολυπλοκότητα
Εδώ σταματά η
εκπαίδευση.
Βρισκόμαστε ανάμεσα
στην υπομοντελοποίηση
και υπερμοντελοποίηση.
33. Συμπεράσματα
Το δίκτυο δεν εκπαιδεύεται σωστά σε υψηλές και χαμηλές
βαθμολογίες λόγω μικρού μεγέθους δείγματος.
Ο αλγόριθμος LM είναι πολύ πιο ταχύτερος από τον CG.
Ο αλγόριθμος LM απαιτεί πολύ μικρότερο αριθμό εποχών
σε σχέση με τον CG.
Το ποσοστό του συντελεστή συσχέτισης μεταξύ
προβλέψεων και στόχων R (που δίνει η παλινδρόμηση),
καθώς και το ποσοστό σφάλματος είναι περίπου ίδιο και
για τους δύο αλγόριθμους, στην αντίστοιχη κατηγορία
κρασιών.
33
Σε ένα πολύ-επίπεδο δίκτυο το πρώτο επίπεδο που συναντούν τα δεδομένα εισαγωγής ονομάζεται επίπεδο εισόδου (input layer), το τελευταίο ονομάζεται επίπεδο εξόδου (output layer) και τα ενδιάμεσα ονομάζονται κρυφά επίπεδα (hidden layers).
Τα multilayer feedforward backpropagation δίκτυα αποτελούνται από επίπεδα νευρώνων τα οποία συνδέονται μεταξύ τους νευρώνα προς νευρώνα.
Λόγω του ότι επιθυμούμε το δίκτυο να μας επιλύσει μη-γραμμικά προβλήματα, η συνάρτηση μεταφοράς που θα υλοποιεί ο κάθε νευρώνας θα πρέπει να είναι μη-γραμμική.
Η συνάρτηση που χρησιμοποιούμε για την εκπαίδευση του δικτύου είναι η train() και συντάσσεται ως εξής:
net = train(net, X, T);
όπου net είναι το αρχικοποιημένο δίκτυο, Χ είναι το διάνυσμα εισόδου, και Τ είναι το διάνυσμα του στόχου
Αποδεκτά χαμηλό το σφάλμα
To validation set χρησιμοποιείται για εύρεση της καλύτερης εποχής ώστε να διακόψει την εκπαίδευση. By default οι εποχές είναι 1000.
Υπάρχει και η λύση του κατώτατου ορίου σφάλματος.
Ο λόγος που επιλέξαμε διακοπή εκπαίδευσης με validation set είναι για να αποφύγουμε την υπερμοντελοποίηση που μειώνει την ικανότητα γενίκευσης.