Συντάχθηκε 13-06-2025 08:51
Ενημερώθηκε:
13-06-2025 09:05
Τόπος:
Σύνδεσμος τηλεδιάσκεψης
Έναρξη: 17/06/2025 11:00
Λήξη: 17/06/2025 12:00
ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ
Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Πρόγραμμα Προπτυχιακών Σπουδών
ΠΑΡΟΥΣΙΑΣΗ ΔΙΠΛΩΜΑΤΙΚΗΣ ΕΡΓΑΣΙΑΣ
Μιχαήλ Μαρκετάκη
με θέμα
Μηχανή Συνδυαστικής Μηχανικής Μάθησης με χρήση Kafka και Kafka Streams Mικροϋπηρεσιών
An Ensemble Learning Engine with Kafka and Kafka Streams Microservices
Εξεταστική Επιτροπή
Επίκουρος Καθηγητής Νικόλαος Γιατράκος (επιβλέπων)
Αναπληρωτής Καθηγητής Βασίλειος Σαμολαδάς
Καθηγητής Θρασύβουλος Σπυρόπουλος
Περίληψη
Η παρούσα διπλωματική εργασία παρουσιάζει το ELaaMS (Ensemble Learning as a Microservice), μια αρχιτεκτονική μικροϋπηρεσιών καθοδηγούμενη από γεγονότα, σχεδιασμένη για την παροχή αξιόπιστων, συνδυαστικών προβλέψεων σε πραγματικό χρόνο, από πολλαπλά μοντέλα μηχανικής μάθησης ροής που εκτελούνται παράλληλα. Η αρχιτεκτονική είναι βασισμένη στην πλατφόρμα Apache Kafka και Kafka Streams. Στο πλαίσιο του ELaaMS, κάθε μοντέλο μηχανικής μάθησης εκτελείται ως μια ανεξάρτητη εφαρμογή Kafka Streams, καταναλώνει δεδομένα ροής, εκπαιδεύεται επαυξητικά με τη χρήση της βιβλιοθήκης Massive Online Analysis (MOA) και δημοσιεύει προβλέψεις σε πραγματικό χρόνο. Μια υπηρεσία συγκέντρωσης συνόλου συνδυάζει δυναμικά αυτές τις εξόδους, εφαρμόζοντας πλειοψηφική ψηφοφορία για προβλήματα ταξινόμησης και απλό μέσο όρο για προβλήματα παλινδρόμησης. Παράλληλα, ένας ενσωματωμένος κατάλογος αλγορίθμων μηχανικής μάθησης ροής καθιστά το σύστημα άμεσα αξιοποιήσιμο και εύκολα επεκτάσιμο, μέσω της ενσωμάτωσης νέων αλγορίθμων και μεθόδων. Η αρχιτεκτονική είναι σχεδιασμένη ώστε να υποστηρίζει ισχυρή κλιμακωσιμότητα. Η Οριζόντια κλιμακωσιμότητα επιτυγχάνεται αξιοποιώντας την ικανότητα του Kafka να κατανέμει τον φόρτο εργασίας σε επιπλέον instances της εφαρμογής, αυξάνοντας έτσι τη συνολική επεξεργαστική ικανότητα και την απόδοση. Η Κάθετη κλιμακωσιμότητα ορίζεται ως η ικανότητα κλιμάκωσης του υπολογισμού ανάλογα με τον αριθμό των επεξεργαζόμενων ροών δεδομένων.
Abstract
This thesis introduces ELaaMS (Ensemble Learning as a MicroService), an event-driven microservice architecture designed to deliver robust, real-time ensemble predictions from multiple streaming machine-learning models running concurrently, built on top of Apache Kafka and Kafka Streams. Within ELaaMS, each learner runs as an independent Kafka Streams application that consumes streaming data, trains incrementally with the Massive Online Analysis (MOA) library, and publishes live predictions. A lightweight ensemble aggregator service fuses these outputs on the fly—applying majority voting for classifi cation and simple averaging for regression tasks —while a built-in catalog of streaming machine learning algorithms makes the system usable out of the box and readily extensi ble through the integration of new algorithms and methods. This architecture is designed to support robust scalability. Horizontal scalability is achieved by leveraging Kafka’s ca pability to distribute the workload across additional instances of the application, thereby increasing overall processing capacity and throughput. Vertical scalability is the ability to scale the computation with the number of processed streams.