Τεχνητά Νευρωνικά Δίκτυα, Μάθηση, Το μοντέλο του τεχνητού νευρώνα Δίκτυο Perceptron Αλγόριθμός Perceptron, Πολύ Επίπεδα Perceptron Αλγόριθμος Error Back Propagation, Δίκτυα Kohonen, Αυτό-οργανωμένοι χάρτες χαρακτηριστικών, Δίκτυα Hopfield, Επίλυση του TSP με τη χρήση Hopfield.
Linear Algebra and Machine Learning
18
Η παρούσα διπλωματική εργασία εξετάζει τη μέθοδο Gradient Descent και τον
ρόλο της στην εκπαίδευση τεχνητών νευρωνικών δικτύων, συνδυάζοντας τη
θεωρητική ανάλυση με μια πρακτική εφαρμογή σε περιβάλλον Python.
Αρχικά παρουσιάζονται οι βασικές έννοιες της Τεχνητής Νοημοσύνης, της
Μηχανικής Μάθησης και των Τεχνητών Νευρωνικών Δικτύων, καθώς και η
ιστορική εξέλιξη που οδήγησε από το μοντέλο του Perceptron στα σύγχρονα
συστήματα Βαθιάς Μάθησης. Στη συνέχεια παρουσιάζονται οι θεμελιώδεις έννοιες
της Γραμμικής Άλγεβρας, όπως τα διανύσματα, οι πίνακες, οι γραμμικοί
μετασχηματισμοί, οι συναρτήσεις ενεργοποίησης και οι συναρτήσεις σφάλματος,
οι οποίες αποτελούν τη μαθηματική βάση της λειτουργίας των νευρωνικών
δικτύων.
Έπειτα παρουσιάζεται αναλυτικά η μέθοδος Gradient Descent ως πρόβλημα
βελτιστοποίησης, περιγράφεται ο τρόπος με τον οποίο ενημερώνονται τα βάρη
ενός νευρωνικού δικτύου, εξετάζεται η επίδραση του ρυθμού μάθησης στη
σύγκλιση του αλγορίθμου και γίνεται σύγκριση των κυριότερων παραλλαγών της
μεθόδου (Batch, Stochastic και Mini-batch Gradient Descent). Παράλληλα
αναφέρονται βασικές δυσκολίες που εμφανίζονται κατά την εκπαίδευση των
μοντέλων.
Στο πρακτικό μέρος της εργασίας αναπτύσσεται ένα απλό μοντέλο Perceptron με
χειροκίνητη υλοποίηση του αλγορίθμου Gradient Descent, χωρίς χρήση έτοιμων
αλγορίθμων εκπαίδευσης. Η υλοποίηση πραγματοποιείται σε περιβάλλον Jupyter
Notebook με τη γλώσσα προγραμματισμού Python και αξιοποιεί πραγματικό
σύνολο δεδομένων για την πρόβλεψη της τελικής επίδοσης μαθητών.
Παρουσιάζονται όλα τα στάδια της διαδικασίας, από την προεπεξεργασία των
δεδομένων και την εκπαίδευση του μοντέλου έως την αξιολόγηση της απόδοσής
του με κατάλληλους δείκτες και την ερμηνεία των αποτελεσμάτων.
Η εργασία αναδεικνύει τη στενή σχέση μεταξύ της Γραμμικής Άλγεβρας, των
μεθόδων βελτιστοποίησης και των νευρωνικών δικτύων, δείχνοντας πώς οι
θεωρητικές μαθηματικές έννοιες μπορούν να εφαρμοστούν στην πράξη για την
ανάπτυξη ενός απλού αλλά λειτουργικού συστήματος πρόβλεψης.
This thesis examines the Gradient Descent optimization method and its role in the
training of artificial neural networks by combining theoretical analysis with a
practical implementation developed in Python.
The first part of the thesis introduces the fundamental concepts of Artificial
Intelligence, Machine Learning and Artificial Neural Networks, presenting their
historical evolution from the Perceptron model to modern Deep Learning
architectures. It also discusses the mathematical foundations of neural networks
through the concepts of vectors, matrices, linear transformations, activation
functions and loss functions, highlighting the essential contribution of Linear
Algebra to their operation.
The thesis then focuses on the Gradient Descent algorithm as a numerical
optimization technique for training neural networks. Its mathematical formulation,
the influence of the learning rate on convergence, and the main variants of the
algorithm, namely Batch, Stochastic and Mini-batch Gradient Descent, are
presented and analyzed. In addition, common challenges encountered during the
training process are discussed.
The practical part of the thesis presents the implementation of a simple Perceptron
model using a manually implemented Gradient Descent algorithm without relying
on built-in optimization routines. The implementation was developed in Python
using Jupyter Notebook and applied to a real educational dataset for predicting
students' final academic performance. The complete workflow, including data
preprocessing, model training, evaluation and interpretation of the obtained results,
is described in detail.
Overall, this work demonstrates the close relationship between Linear Algebra,
optimization techniques and Artificial Neural Networks, illustrating how
fundamental mathematical concepts can be effectively applied to the development
of an interpretable machine learning model.