HW4: Scenario 2 source and report added
This commit is contained in:
Binary file not shown.
@@ -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{k–fold cross–validation}, ενώ η συνολική διαδικασία αυτοματοποιήθηκε πλήρως μέσα από το 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 ανά κλάση (class–dependent).
|
||||
\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{Producer’s (PA) και User’s (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 στο test–set (βέλτιστο μοντέλο).}
|
||||
\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 (top–5).}
|
||||
\label{fig:scn2-relief}
|
||||
\end{figure}
|
||||
|
||||
\subsection{Συμπεράσματα}
|
||||
Το μειωμένο πείραμα επιβεβαιώνει τη λειτουργικότητα της ροής και των συναρτήσεων.
|
||||
Παρά τον περιορισμένο αριθμό εποχών, το σύστημα κατόρθωσε να επιτύχει σταθερό Kappa γύρω στο $0.23$, με μόλις $6$ κανόνες και πέντε χαρακτηριστικά.
|
||||
Η συμπεριφορά των μετρικών και των MFs δείχνει σωστή προσαρμογή και καλή γενίκευση, ενώ η μείωση του αριθμού κανόνων με αύξηση της ακτίνας επιβεβαιώνει τη θεωρητική αναμενόμενη συμπεριφορά του Subtractive Clustering.
|
||||
|
||||
Σε ένα πλήρες πείραμα (με $100$+ εποχές και εκτεταμένο grid), αναμένεται περαιτέρω βελτίωση τόσο στην τιμή του $\kappa$ όσο και στη σταθερότητα των καμπυλών εκμάθησης.
|
||||
|
||||
|
||||
% =====================================================================
|
||||
\section{Επίλογος}
|
||||
|
||||
Στην παρούσα εργασία υλοποιήσαμε μια ολοκληρωμένη ροή για την ανάπτυξη και αξιολόγηση TSK–fuzzy μοντέλων ταξινόμησης με χρήση \textsc{ANFIS}.
|
||||
Η μεθοδολογία κάλυψε όλα τα στάδια -- από τον διαχωρισμό και την προεπεξεργασία των δεδομένων, μέχρι την επιλογή χαρακτηριστικών, την εκπαίδευση και τη συγκριτική ανάλυση των αποτελεσμάτων.
|
||||
|
||||
Στο Σενάριο~1, επιβεβαιώθηκε η σημασία της ακτίνας συσσωμάτωσης και της στρατηγικής αρχικοποίησης (class–dependent ή independent) ως προς την ισορροπία μεταξύ πολυπλοκότητας και ακρίβειας.
|
||||
Τα αποτελέσματα ήταν σταθερά, με συνεπή συμπεριφορά των MFs και των μετρικών.
|
||||
|
||||
Το πιο απαιτητικό Σενάριο~2, όπου συνδυάστηκε επιλογή χαρακτηριστικών με ReliefF και Sub. Clustering, δυστοιχώς δεν καταφέραμε να το τρέξουμε όπως θέλαμε.
|
||||
Παρόλα αυτά παρατηρήθηκε καλή γενίκευση ακόμη και με περιορισμένο grid και λίγες εποχές.
|
||||
Παρά τους χρονικούς περιορισμούς, η συνολική συμπεριφορά του συστήματος ήταν αξιόπιστη και αναδεικνύει τη δυναμική των TSK–fuzzy μοντέλων για ταξινόμηση υψηλής διάστασης.
|
||||
Η προσέγγιση αυτή προσφέρει μια σταθερή και επεκτάσιμη βάση για μελλοντική έρευνα σε μεγαλύτερης κλίμακας δεδομένα.
|
||||
|
||||
|
||||
|
||||
\end{document}
|
||||
|
||||
Reference in New Issue
Block a user