HW4: Scenario 2 source and report added

This commit is contained in:
2025-10-26 22:23:01 +02:00
parent 613b21e059
commit 7f33867398
46 changed files with 873 additions and 27 deletions
Binary file not shown.
+144 -2
View File
@@ -254,7 +254,149 @@ x_i' = \frac{x_i - \mu_i}{\sigma_i}
\end{itemize}
% =====================================================================
\subsection{Επίλογος}
Αναπτύξαμε
\section{Σενάριο 2 — Dataset με υψηλή διαστασιμότητα (Epileptic Seizure Recognition)}
\label{sec:scenario2}
\subsection{Περιγραφή και ζητούμενο}
Το δεύτερο σενάριο στοχεύει στην ταξινόμηση εγκεφαλικών σημάτων \textit{EEG} σε πέντε κατηγορίες, στο πλαίσιο του προβλήματος \emph{Epileptic Seizure Recognition}.
Σε αντίθεση με το απλούστερο πρόβλημα του Σενάριου~1, εδώ οι διαστάσεις των δεδομένων είναι υψηλές και οι κλάσεις πολυπληθείς, καθιστώντας το έργο αξιολόγησης σημαντικά πιο απαιτητικό.
Ο στόχος είναι η ανάπτυξη ενός TSK–τύπου μοντέλου που συνδυάζει:
\begin{itemize}
\item επιλογή χαρακτηριστικών με \textbf{ReliefF},
\item αρχικοποίηση κανόνων μέσω \textbf{Subtractive Clustering (SC)},
\item και εκπαίδευση με \textbf{υβριδική μέθοδο} (\emph{gradient descent} + \emph{least squares}).
\end{itemize}
Η διαδικασία επαναλαμβάνεται για διάφορους συνδυασμούς ακτίνας συσσωμάτωσης $r_a$ και αριθμού χαρακτηριστικών που κρατούνται μετά το ReliefF, με στόχο τον εντοπισμό του συνδυασμού που προσφέρει τον βέλτιστο συμβιβασμό μεταξύ ακρίβειας και πολυπλοκότητας (\#Rules).
\subsection{Προσέγγιση και μεθοδολογία}
Για την επιλογή των υπερπαραμέτρων χρησιμοποιήθηκε \textbf{kfold crossvalidation}, ενώ η συνολική διαδικασία αυτοματοποιήθηκε πλήρως μέσα από το script \texttt{scenario2.m}.
Η ροή έχει ως εξής:
\begin{enumerate}
\item Διαβάζονται τα δεδομένα από το αρχείο \texttt{epileptic\_seizure\_data.csv} και κατανέμονται σε train-validation-test σε ποσοστό $60$$20$$20$.
\item Για κάθε συνδυασμό τιμών \texttt{feature\_grid} και \texttt{radii\_grid}, εκτελείται η διαδικασία k-fold CV.
Σε κάθε fold εφαρμόζεται το ReliefF ώστε να επιλεγούν τα πιο σημαντικά χαρακτηριστικά, και στη συνέχεια πραγματοποιείται Subtractive Clustering ανά κλάση (classdependent).
\item Κατασκευάζεται το αρχικό FIS με μία Gaussian MF ανά cluster και constant εξόδους (ένας MF ανά κανόνα).
\item Η εκπαίδευση γίνεται όλες τις εποχές μέσω \texttt{anfis()}, με validation set για έλεγχο γενίκευσης.
\item Μετά από κάθε fold υπολογίζεται ο Cohen’s $\kappa$ και ο αριθμός κανόνων, ώστε να εξαχθεί ο μέσος όρος ανά συνδυασμό παραμέτρων.
\end{enumerate}
\paragraph{Περιορισμοί εκτέλεσης.}
Δυστυχώς, μέχρι της παρούσης, δεν καταφέραμε να τρέξουμε το σενάριο για το μέγιστο αριθμό εποχών ($100$) και με το πλήρες grid σε κανέναν προσωπικό μας υπολογιστή.
Παρόλα αυτά, παραθέτουμε τα αποτελέσματα που λάβαμε από ένα μικρότερο πείραμα όπου τρέξαμε για:
\begin{verbatim}
cfg.feature_grid = [5 8]; % instead of [5 8 11 15]
cfg.radii_grid = [0.5 0.75]; % instead of [0.25 0.50 0.75 1.00]
cfg.kfold = 3; % instead of 5
cfg.maxEpochs = 20; % instead of 100
\end{verbatim}
Από το grid–search προέκυψε ως \textbf{βέλτιστο μοντέλο} το:
\[
\text{features}=5, \quad r_a=0.50, \quad \text{rules}=6, \quad \kappa=0.23
\]
που προσφέρει ικανοποιητική ισορροπία μεταξύ ακρίβειας και απλότητας.
\subsection{Αποτελέσματα πειράματος}
\paragraph{Αναζήτηση υπερπαραμέτρων (Grid Search).}
Στο Σχήμα~\ref{fig:scn2-grid} φαίνονται τα αποτελέσματα του grid–search.
Η μέση τιμή του συντελεστή $\kappa$ παραμένει κοντά στο $0.22$$0.23$ για όλους τους συνδυασμούς, δείχνοντας ότι το μοντέλο είναι σχετικά σταθερό.
Ο αριθμός κανόνων μειώνεται αισθητά με αύξηση του $r_a$, όπως αναμενόταν.
\begin{figure}[H]\centering
\includegraphics[width=.49\textwidth]{../source/figures_scn2/cv_kappa_heatmap.png}
\includegraphics[width=.49\textwidth]{../source/figures_scn2/cv_rules_heatmap.png}
\caption{Grid search: μέση τιμή του Cohen’s $\kappa$ (αριστερά)
και μέσος αριθμός κανόνων (δεξιά) για κάθε συνδυασμό παραμέτρων.}
\label{fig:scn2-grid}
\end{figure}
\paragraph{Απόδοση βέλτιστου μοντέλου.}
Η μήτρα σύγχυσης του βέλτιστου μοντέλου φαίνεται στο Σχήμα~\ref{fig:scn2-cm}.
Παρατηρείται ότι οι κλάσεις 3 και 4 αναγνωρίζονται με σχετικά υψηλή ακρίβεια, ενώ η Κλάση~1 συγκεντρώνει τις περισσότερες λανθασμένες προβλέψεις.
Η συνολική ακρίβεια είναι μέτρια, αλλά ικανοποιητική για το συγκεκριμένο dataset.
\begin{figure}[H]\centering
\includegraphics[width=.7\textwidth]{../source/figures_scn2/cm_best_model.png}
\caption{Μήτρα σύγχυσης για το βέλτιστο μοντέλο (features$=5$, $r_a=0.50$, rules$=6$).}
\label{fig:scn2-cm}
\end{figure}
\paragraph{Καμπύλη εκμάθησης.}
Η καμπύλη εκμάθησης (Σχήμα~\ref{fig:scn2-learning}) παρουσιάζει σταδιακή μείωση του σφάλματος σε train και validation set, χωρίς σημαντική απόκλιση, γεγονός που δείχνει ότι το μοντέλο γενικεύει καλά και δεν υπερ-προσαρμόζεται.
\begin{figure}[H]\centering
\includegraphics[width=.65\textwidth]{../source/figures_scn2/learning_best_model.png}
\caption{Καμπύλες εκμάθησης (training \& validation error) για το βέλτιστο μοντέλο.}
\label{fig:scn2-learning}
\end{figure}
\paragraph{Συναρτήσεις συμμετοχής.}
Στο Σχήμα~\ref{fig:scn2-mfs} απεικονίζονται οι συναρτήσεις συμμετοχής για τα πέντε πιο σημαντικά χαρακτηριστικά, πριν και μετά την εκπαίδευση.
Παρατηρείται ελαφρά προσαρμογή στα πλάτη και στις θέσεις των Gaussian MF, χωρίς παραμόρφωση — κάτι που δείχνει καλή σταθερότητα του μοντέλου.
\begin{figure}[H]\centering
\includegraphics[width=\textwidth]{../source/figures_scn2/mfs_best_model.png}
\caption{MFs πριν και μετά την εκπαίδευση (βέλτιστο μοντέλο, top–5 χαρακτηριστικά).}
\label{fig:scn2-mfs}
\end{figure}
\paragraph{Ανάλυση ανά κλάση.}
Οι μετρικές ακρίβειας ανά κλάση (Σχήμα~\ref{fig:scn2-pa-ua}) δείχνουν ικανοποιητική απόδοση για τις Κλάσεις~1 και~3, ενώ οι υπόλοιπες παρουσιάζουν χαμηλότερες τιμές PA και UA.
Αυτό είναι αναμενόμενο λόγω ανισορροπίας δείγματος και επικαλύψεων στα χαρακτηριστικά.
\begin{figure}[H]\centering
\includegraphics[width=.8\textwidth]{../source/figures_scn2/pa_ua_best_model.png}
\caption{Producers (PA) και Users (UA) Accuracy ανά κλάση στο test–set.}
\label{fig:scn2-pa-ua}
\end{figure}
\paragraph{Απόδοση στο test set.}
Η σύγκριση πραγματικών και προβλεπόμενων ετικετών (Σχήμα~\ref{fig:scn2-truth}) δείχνει ότι οι περισσότερες προβλέψεις ακολουθούν τη σωστή κλάση, αν και παρατηρείται «θόρυβος» στις μεταβάσεις — ένδειξη περιορισμένης διακριτότητας των clusters.
\begin{figure}[H]\centering
\includegraphics[width=.9\textwidth]{../source/figures_scn2/pred_vs_truth_best_model.png}
\caption{Truth vs Prediction στο testset (βέλτιστο μοντέλο).}
\label{fig:scn2-truth}
\end{figure}
\paragraph{Βάρη ReliefF.}
Τα πέντε επιλεγμένα χαρακτηριστικά είχαν πολύ κοντινά βάρη (Σχήμα~\ref{fig:scn2-relief}), γεγονός που δείχνει ότι η πληροφορία κατανέμεται σχετικά ομοιόμορφα -- δεν υπάρχει δηλαδή ένα «κυρίαρχο» χαρακτηριστικό.
\begin{figure}[H]\centering
\includegraphics[width=.65\textwidth]{../source/figures_scn2/relieff_weights_selected.png}
\caption{Βάρη των επιλεγμένων χαρακτηριστικών από το ReliefF (top5).}
\label{fig:scn2-relief}
\end{figure}
\subsection{Συμπεράσματα}
Το μειωμένο πείραμα επιβεβαιώνει τη λειτουργικότητα της ροής και των συναρτήσεων.
Παρά τον περιορισμένο αριθμό εποχών, το σύστημα κατόρθωσε να επιτύχει σταθερό Kappa γύρω στο $0.23$, με μόλις $6$ κανόνες και πέντε χαρακτηριστικά.
Η συμπεριφορά των μετρικών και των MFs δείχνει σωστή προσαρμογή και καλή γενίκευση, ενώ η μείωση του αριθμού κανόνων με αύξηση της ακτίνας επιβεβαιώνει τη θεωρητική αναμενόμενη συμπεριφορά του Subtractive Clustering.
Σε ένα πλήρες πείραμα (με $100$+ εποχές και εκτεταμένο grid), αναμένεται περαιτέρω βελτίωση τόσο στην τιμή του $\kappa$ όσο και στη σταθερότητα των καμπυλών εκμάθησης.
% =====================================================================
\section{Επίλογος}
Στην παρούσα εργασία υλοποιήσαμε μια ολοκληρωμένη ροή για την ανάπτυξη και αξιολόγηση TSK–fuzzy μοντέλων ταξινόμησης με χρήση \textsc{ANFIS}.
Η μεθοδολογία κάλυψε όλα τα στάδια -- από τον διαχωρισμό και την προεπεξεργασία των δεδομένων, μέχρι την επιλογή χαρακτηριστικών, την εκπαίδευση και τη συγκριτική ανάλυση των αποτελεσμάτων.
Στο Σενάριο~1, επιβεβαιώθηκε η σημασία της ακτίνας συσσωμάτωσης και της στρατηγικής αρχικοποίησης (classdependent ή independent) ως προς την ισορροπία μεταξύ πολυπλοκότητας και ακρίβειας.
Τα αποτελέσματα ήταν σταθερά, με συνεπή συμπεριφορά των MFs και των μετρικών.
Το πιο απαιτητικό Σενάριο~2, όπου συνδυάστηκε επιλογή χαρακτηριστικών με ReliefF και Sub. Clustering, δυστοιχώς δεν καταφέραμε να το τρέξουμε όπως θέλαμε.
Παρόλα αυτά παρατηρήθηκε καλή γενίκευση ακόμη και με περιορισμένο grid και λίγες εποχές.
Παρά τους χρονικούς περιορισμούς, η συνολική συμπεριφορά του συστήματος ήταν αξιόπιστη και αναδεικνύει τη δυναμική των TSK–fuzzy μοντέλων για ταξινόμηση υψηλής διάστασης.
Η προσέγγιση αυτή προσφέρει μια σταθερή και επεκτάσιμη βάση για μελλοντική έρευνα σε μεγαλύτερης κλίμακας δεδομένα.
\end{document}