403 lines
32 KiB
TeX
403 lines
32 KiB
TeX
%
|
||
% !TEX TS-program = xelatex
|
||
% !TEX encoding = UTF-8 Unicode
|
||
% !TEX spellcheck = el-GR
|
||
%
|
||
% Fuzzy Systems Assignment 4
|
||
%
|
||
% Requires compilation with pdfLaTeX or XeLaTeX
|
||
%
|
||
% authors:
|
||
% Χρήστος Χουτουρίδης ΑΕΜ 8997
|
||
% cchoutou@ece.auth.gr
|
||
%
|
||
\documentclass[a4paper, 11pt, mainlang=greek, english]{AUThReport/AUThReport}
|
||
|
||
\CurrentDate{\today}
|
||
|
||
% Greek report document setup suggestions
|
||
%---------------------------------
|
||
% \WorkGroup{Ομάδα Χ}
|
||
|
||
\AuthorName{Χρήστος Χουτουρίδης}
|
||
\AuthorAEM{8997}
|
||
\AuthorMail{cchoutou@ece.auth.gr}
|
||
|
||
%\CoAuthorName{Όνομα Επίθετο}
|
||
%\CoAuthorAEM{1234}
|
||
%\CoAuthorMail{xxx@ece.auth.gr}
|
||
|
||
\DocTitle{Εργασία 4}
|
||
\DocSubTitle{Επίλυση προβλήματος ταξινόμησης με χρήση μοντέλων TSK}
|
||
|
||
\Department{Τμήμα ΗΜΜΥ. Τομέας Ηλεκτρονικής}
|
||
\ClassName{Ασαφή Συστήματα (Υπολογιστική Νοημοσύνη)}
|
||
|
||
\InstructorName{Θεοχάρης Ιωάννης}
|
||
\InstructorMail{theochar@ece.auth.gr}
|
||
|
||
\CoInstructorName{Χαδουλός Χρήστος}
|
||
\CoInstructorMail{christgc@auth.gr}
|
||
|
||
% -------------------------------------------------------
|
||
% Packages
|
||
% -------------------------------------------------------
|
||
\usepackage{float}
|
||
\usepackage{minted}
|
||
\usepackage{xcolor}
|
||
\usepackage{amsmath, amssymb, amsfonts}
|
||
\usepackage{diagbox}
|
||
\usepackage{subcaption} % για υποεικόνες με ξεχωριστά captions
|
||
|
||
\setminted[cpp]{
|
||
fontsize=\small,
|
||
breaklines,
|
||
autogobble,
|
||
baselinestretch=1.1,
|
||
tabsize=2,
|
||
numbersep=8pt,
|
||
gobble=0
|
||
}
|
||
|
||
\newcommand{\repo}{https://git.hoo2.net/hoo2/FuzzySystems/src/branch/master/Work\%204}
|
||
\usepackage{hyphenat}
|
||
%\hyphenation{Sup-er-con-du-cti-vi-ty}
|
||
|
||
\begin{document}
|
||
|
||
% Request a title page or header
|
||
\InsertTitle
|
||
%\InsertTitle[img/background.png][0.8\textwidth][2cm]
|
||
|
||
% =====================================================================
|
||
\section{Εισαγωγή}
|
||
Η παρούσα εργασία εστιάζει στην επίλυση προβλημάτων \textbf{ταξινόμησης} μέσω ασαφών συστημάτων τύπου \textbf{Takagi–Sugeno–Kang (TSK)}.
|
||
Η ταξινόμηση αποτελεί μια από τις βασικότερες εφαρμογές της υπολογιστικής νοημοσύνης, καθώς συνδυάζει στοιχεία λογικής, στατιστικής και μηχανικής μάθησης για τη λήψη αποφάσεων με αβεβαιότητα.
|
||
Τα μοντέλα TSK προσφέρουν ένα ευέλικτο πλαίσιο, στο οποίο η γνώση αναπαρίσταται με τη μορφή κανόνων τύπου \emph{IF–THEN}, ενώ η εκπαίδευση των παραμέτρων μπορεί να γίνει με υβριδικούς αλγορίθμους (Least Squares + Gradient Descent) όπως ο \textsc{anfis}.
|
||
|
||
Η εργασία χωρίζεται σε δύο πειραματικά σενάρια:
|
||
\begin{itemize}
|
||
\item \textbf{Σενάριο~1}: Εφαρμογή σε ένα απλό, χαμηλής διαστασιμότητας dataset (Haberman), με στόχο τη σύγκριση των προσεγγίσεων \textit{class-independent} και \textit{class-dependent Subtractive Clustering}.
|
||
\item \textbf{Σενάριο~2}: Εφαρμογή σε πιο σύνθετο πρόβλημα ταξινόμησης με δεδομένα υψηλής διαστασιμότητας, όπου αξιολογούνται τεχνικές προ-επεξεργασίας και επιλογής χαρακτηριστικών.
|
||
\end{itemize}
|
||
Μέσω των δύο σεναρίων εξετάζεται η διαδικασία εκπαίδευσης, αξιολόγησης και βελτιστοποίησης ενός ασαφούς συστήματος, καθώς και ο τρόπος με τον οποίο η παραμετροποίηση επηρεάζει την απόδοση, την ερμηνευσιμότητα και την υπολογιστική πολυπλοκότητα.
|
||
|
||
|
||
\subsection{Παραδοτέα}
|
||
Τα παραδοτέα της εργασίας αποτελούνται από:
|
||
\begin{itemize}
|
||
\item Την παρούσα αναφορά.
|
||
\item Τον κατάλογο \textbf{source}, με τον κώδικα της \textsc{Matlab}.
|
||
\item Το \href{\repo}{σύνδεσμο με το αποθετήριο} που περιέχει τον κώδικα της \textsc{Matlab} καθώς και αυτόν της αναφοράς.
|
||
\end{itemize}
|
||
|
||
|
||
|
||
% =====================================================================
|
||
\section{Υλοποίηση}
|
||
|
||
Για την υλοποίηση ακολουθήθηκε μια κοινή ροή επεξεργασίας και ανάλυσης δεδομένων, με στόχο τη μέγιστη επαναχρησιμοποίηση κώδικα μεταξύ των δύο σεναρίων.
|
||
Συγκεκριμένα, δημιουργήθηκαν ανεξάρτητες συναρτήσεις για:
|
||
\begin{enumerate}
|
||
\item Τον διαχωρισμό των δεδομένων (\textit{split\_data}).
|
||
\item Την προ-επεξεργασία (\textit{preprocess\_data}).
|
||
\item Την αξιολόγηση των αποτελεσμάτων (\textit{evaluate\_classification}).
|
||
\item Και τη συστηματική εμφάνιση/αποθήκευση γραφημάτων (\textit{plot\_results1, plot\_results2}).
|
||
\end{enumerate}
|
||
|
||
Έτσι, η εκτέλεση κάθε σεναρίου πραγματοποιείται αυτόνομα μέσω των scripts \texttt{scenario1.m} και \texttt{scenario2.m}, τα οποία συντονίζουν τα παραπάνω στάδια.
|
||
Η δομή αυτή εξασφαλίζει καθαρότερο κώδικα, ευκολότερη συντήρηση και πλήρη αναπαραγωγιμότητα των αποτελεσμάτων.
|
||
|
||
\subsection{Διαχωρισμός δεδομένων — \textit{split\_data()}}
|
||
Η συνάρτηση \textit{split\_data()} αναλαμβάνει να διαχωρίσει το αρχικό dataset σε τρία υποσύνολα: εκπαίδευσης, ελέγχου (validation) και δοκιμής (test).
|
||
Η διαδικασία βασίζεται σε τυχαία δειγματοληψία με καθορισμένο seed, ώστε τα ίδια σύνολα να μπορούν να αναπαραχθούν σε επόμενες εκτελέσεις.
|
||
Ο διαχωρισμός είναι στρωματοποιημένος, ώστε η αναλογία των κλάσεων να παραμένει ίδια σε όλα τα υποσύνολα.
|
||
|
||
\subsection{Προ-επεξεργασία δεδομένων — \textit{preprocess\_data()}}
|
||
Η προ-επεξεργασία εφαρμόζεται για να βελτιωθεί η σταθερότητα της εκπαίδευσης και να εξισορροπηθούν οι τιμές των εισόδων.
|
||
Στο πλαίσιο της εργασίας επιλέχθηκε κανονικοποίηση τύπου \textbf{z-score}, δηλαδή:
|
||
\[
|
||
x_i' = \frac{x_i - \mu_i}{\sigma_i}
|
||
\]
|
||
όπου $\mu_i$ και $\sigma_i$ είναι ο μέσος και η τυπική απόκλιση κάθε χαρακτηριστικού.
|
||
Η συνάρτηση \textit{preprocess\_data()} εφαρμόζει αυτόματα την κανονικοποίηση στα train/validation/test σύνολα και επιστρέφει τα απαραίτητα στατιστικά για τυχόν επαναφορά στις αρχικές κλίμακες.
|
||
|
||
\subsection{Αξιολόγηση αποτελεσμάτων — \textit{evaluate\_classification()}}
|
||
Η συνάρτηση \textit{evaluate\_classification()} συγκρίνει τις προβλέψεις του μοντέλου με τις πραγματικές ετικέτες και υπολογίζει τις μετρικές αξιολόγησης (OA, PA, UA, $\kappa$).
|
||
Επιπλέον, παράγει και επιστρέφει τη μήτρα σύγχυσης.
|
||
Η υλοποίηση έγινε ώστε να υποστηρίζει οποιονδήποτε αριθμό κλάσεων, ενώ παρέχει και normalized εκδόσεις των μετρικών, διευκολύνοντας τη συγκριτική ανάλυση μεταξύ μοντέλων.
|
||
|
||
\subsection{Απεικόνιση αποτελεσμάτων}
|
||
Για τη γραφική παρουσίαση των αποτελεσμάτων δημιουργήθηκαν οι συναρτήσεις \textit{plot\_results1()} και \textit{plot\_results2()}, οι οποίες παράγουν και αποθηκεύουν αυτόματα όλα τα ζητούμενα γραφήματα κάθε σεναρίου.
|
||
Κάθε γράφημα αποθηκεύεται σε υποκατάλογο (\texttt{figures\_scn1}, \texttt{figures\_scn2}) με συνεπή ονοματολογία, ώστε να διευκολύνεται η ενσωμάτωσή τους στην αναφορά.
|
||
Η σχεδίαση περιλαμβάνει μήτρες σύγχυσης, καμπύλες εκπαίδευσης, συναρτήσεις συμμετοχής πριν και μετά την εκπαίδευση, καθώς και συγκεντρωτικά διαγράμματα OA–$\kappa$ και Rules–Accuracy.
|
||
|
||
Το επόμενο τμήμα παρουσιάζει το πρώτο σενάριο και τα αποτελέσματά του, εφαρμόζοντας τη μεθοδολογία που περιγράφηκε παραπάνω.
|
||
|
||
|
||
\section{Σενάριο 1 — Εφαρμογή σε απλό Dataset}
|
||
|
||
Το πρώτο σενάριο αφορά την επίλυση ενός προβλήματος \textbf{δυαδικής ταξινόμησης} χρησιμοποιώντας μοντέλα TSK με σταθερές (singleton) εξόδους.
|
||
Ως dataset χρησιμοποιήθηκε το \textit{Haberman’s Survival Dataset}, το οποίο περιλαμβάνει 306 δείγματα με τρεις αριθμητικές εισόδους (ηλικία, έτος εγχείρησης, αριθμός λεμφαδένων) και μία δυαδική ετικέτα που δηλώνει αν ο ασθενής επέζησε για τουλάχιστον πέντε έτη μετά την εγχείρηση.
|
||
|
||
Ο στόχος είναι η εκπαίδευση και αξιολόγηση μοντέλων TSK που προκύπτουν μέσω \textbf{Subtractive Clustering (SC)} τόσο στην \textit{class-independent} όσο και στην \textit{class-dependent} παραλλαγή, καθώς και η διερεύνηση της επίδρασης του παραμέτρου ακτίνας $r_a$ στην πολυπλοκότητα και την απόδοση του συστήματος.
|
||
|
||
\subsection{Πειραματική διαδικασία}
|
||
|
||
Το σύνολο δεδομένων χωρίστηκε στρωματοποιημένα σε τρία υποσύνολα (60 \% train, 20 \% validation, 20 \% test).
|
||
Η κανονικοποίηση των εισόδων έγινε με \textbf{z-score}, ενώ οι ετικέτες παρέμειναν ακέραιες.
|
||
Για κάθε mode (class-independent και class-dependent) δοκιμάστηκαν δύο τιμές ακτίνας, $r_a{=}\{0.20,0.80\}$, ώστε να προκύψουν τέσσερα μοντέλα συνολικά.
|
||
Η εκπαίδευση πραγματοποιήθηκε με \textbf{anfis} για 100 εποχές και με validation έλεγχο για αποφυγή υπερεκπαίδευσης.
|
||
|
||
Οι μετρικές αξιολόγησης που χρησιμοποιήθηκαν ήταν:
|
||
\begin{itemize}
|
||
\item \textbf{Overall Accuracy (OA)},
|
||
\item \textbf{Producer’s Accuracy (PA)} και \textbf{User’s Accuracy (UA)} ανά κλάση,
|
||
\item και ο \textbf{συντελεστής συμφωνίας $\kappa$ του Cohen}.
|
||
\end{itemize}
|
||
|
||
\subsection{Αποτελέσματα}
|
||
|
||
\paragraph{Μήτρες σύγχυσης.}
|
||
Το σχήμα~\ref{fig:conf_mats} παρουσιάζει τις μήτρες σύγχυσης και για τα τέσσερα μοντέλα.
|
||
Και στις δύο προσεγγίσεις, η απόδοση για την κλάση 1 είναι σταθερά υψηλότερη, γεγονός που σχετίζεται με την ανισορροπία του dataset (\textasciitilde 73 \% δείγματα κλάσης 1).
|
||
Η αύξηση της ακτίνας μειώνει τον αριθμό κανόνων και οδηγεί σε απλούστερα μοντέλα χωρίς σημαντική απώλεια ακρίβειας.
|
||
|
||
\begin{figure}[H]
|
||
\centering
|
||
\includegraphics[width=0.47\textwidth]{../source/figures_scn1/cm_run01_class-independent_r0.20_rules32}
|
||
\includegraphics[width=0.47\textwidth]{../source/figures_scn1/cm_run02_class-independent_r0.80_rules3}\\[4pt]
|
||
\includegraphics[width=0.47\textwidth]{../source/figures_scn1/cm_run03_class-dependent_r0.20_rules51}
|
||
\includegraphics[width=0.47\textwidth]{../source/figures_scn1/cm_run04_class-dependent_r0.80_rules4}
|
||
\caption{Μήτρες σύγχυσης για όλα τα μοντέλα (\textit{class-independent} και \textit{class-dependent}, $r_a{=}0.20,0.80$).}
|
||
\label{fig:conf_mats}
|
||
\end{figure}
|
||
|
||
\paragraph{Μετρικές PA/UA.}
|
||
Το σχήμα~\ref{fig:pa_ua_all} απεικονίζει την ακρίβεια παραγωγού (PA) και χρήστη (UA) ανά κλάση για κάθε μοντέλο.
|
||
Η ανισορροπία των δεδομένων οδηγεί σε χαμηλότερες τιμές PA/UA για τη μειοψηφούσα κλάση 2, ωστόσο η συνολική τάση παραμένει σταθερή μεταξύ των modes.
|
||
|
||
\begin{figure}[H]
|
||
\centering
|
||
\includegraphics[width=0.47\textwidth]{../source/figures_scn1/pa_ua_run01_class-independent_r0.20_rules32}
|
||
\includegraphics[width=0.47\textwidth]{../source/figures_scn1/pa_ua_run02_class-independent_r0.80_rules3}\\[4pt]
|
||
\includegraphics[width=0.47\textwidth]{../source/figures_scn1/pa_ua_run03_class-dependent_r0.20_rules51}
|
||
\includegraphics[width=0.47\textwidth]{../source/figures_scn1/pa_ua_run04_class-dependent_r0.80_rules4}
|
||
\caption{PA (recall) και UA (precision) ανά κλάση για όλα τα μοντέλα.}
|
||
\label{fig:pa_ua_all}
|
||
\end{figure}
|
||
|
||
\paragraph{Καμπύλες εκπαίδευσης.}
|
||
Οι καμπύλες εκπαίδευσης του σχήματος~\ref{fig:learning_curves_all} δείχνουν τη σύγκλιση του ANFIS για κάθε περίπτωση.
|
||
Για μικρό $r_a$, το training error μηδενίζεται γρήγορα (υπερεκπαίδευση), ενώ για μεγάλο $r_a$ η εκπαίδευση είναι πιο ομαλή και το validation error σταθεροποιείται χαμηλότερα, δείχνοντας καλύτερη γενίκευση.
|
||
|
||
\begin{figure}[H]
|
||
\centering
|
||
\includegraphics[width=0.47\textwidth]{../source/figures_scn1/learning_run01_class-independent_r0.20_rules32}
|
||
\includegraphics[width=0.47\textwidth]{../source/figures_scn1/learning_run02_class-independent_r0.80_rules3}\\[4pt]
|
||
\includegraphics[width=0.47\textwidth]{../source/figures_scn1/learning_run03_class-dependent_r0.20_rules51}
|
||
\includegraphics[width=0.47\textwidth]{../source/figures_scn1/learning_run04_class-dependent_r0.80_rules4}
|
||
\caption{Καμπύλες εκπαίδευσης (training / validation error vs epoch) για όλα τα μοντέλα.}
|
||
\label{fig:learning_curves_all}
|
||
\end{figure}
|
||
|
||
\paragraph{Συναρτήσεις συμμετοχής.}
|
||
Τα σχήματα~\ref{fig:mfs_indep} και \ref{fig:mfs_dep} απεικονίζει τις MFs πριν και μετά την εκπαίδευση για όλα τα μοντέλα.
|
||
Για μικρό $r_a$, παρατηρείται υπερβολική επικάλυψη και πλήθος κανόνων· για μεγάλο $r_a$ λιγότερες MFs και πιο ομαλές μεταβάσεις.
|
||
Η μεταβολή των MFs επιβεβαιώνει τη σωστή προσαρμογή των παραμέτρων στο σύνολο εκπαίδευσης.
|
||
|
||
\begin{figure}[H]
|
||
\centering
|
||
\includegraphics[width=0.85\textwidth]{../source/figures_scn1/mfs_run01_class-independent_r0.20_rules32}\\[4pt]
|
||
\includegraphics[width=0.85\textwidth]{../source/figures_scn1/mfs_run02_class-independent_r0.80_rules3}
|
||
\caption{Συναρτήσεις συμμετοχής (before/after) για τα class-independent μοντέλα .}
|
||
\label{fig:mfs_indep}
|
||
\end{figure}
|
||
|
||
\begin{figure}[H]
|
||
\centering
|
||
\includegraphics[width=0.85\textwidth]{../source/figures_scn1/mfs_run03_class-dependent_r0.20_rules51}\\[4pt]
|
||
\includegraphics[width=0.85\textwidth]{../source/figures_scn1/mfs_run04_class-dependent_r0.80_rules4}
|
||
\caption{Συναρτήσεις συμμετοχής (before/after) για τα class-dependent μοντέλα.}
|
||
\label{fig:mfs_dep}
|
||
\end{figure}
|
||
|
||
|
||
\paragraph{Συνολικές μετρικές και συσχετίσεις.}
|
||
Το σχήμα~\ref{fig:summary_metrics} παρουσιάζει την OA και $\kappa$ για κάθε μοντέλο, ενώ το σχήμα~\ref{fig:rules_accuracy} δείχνει τη σχέση αριθμού κανόνων -- ακρίβειας.
|
||
Παρατηρείται ότι η μέγιστη OA ($\approx73\%$) και ο υψηλότερος $\kappa$ προκύπτουν στα μοντέλα με $r_a{=}0.80$ (3–4 κανόνες), επιβεβαιώνοντας ότι η απλούστευση δεν μειώνει την απόδοση.
|
||
|
||
\begin{figure}[H]
|
||
\centering
|
||
\includegraphics[width=0.48\textwidth]{../source/figures_scn1/overall_accuracy_across_models}
|
||
\includegraphics[width=0.48\textwidth]{../source/figures_scn1/kappa_across_models}
|
||
\caption{Συνολική OA και συντελεστής $\kappa$ για όλα τα μοντέλα.}
|
||
\label{fig:summary_metrics}
|
||
\end{figure}
|
||
|
||
\begin{figure}[H]
|
||
\centering
|
||
\includegraphics[width=0.65\textwidth]{../source/figures_scn1/rules_vs_accuracy}
|
||
\caption{Σχέση αριθμού κανόνων και Overall Accuracy.}
|
||
\label{fig:rules_accuracy}
|
||
\end{figure}
|
||
|
||
\subsection{Συμπεράσματα}
|
||
|
||
Συνοψίζοντας:
|
||
\begin{itemize}
|
||
\item Οι TSK μοντελοποιήσεις μέσω SC παρείχαν σταθερή ταξινόμηση ακόμη και σε ανισόρροπα δεδομένα.
|
||
\item Η αύξηση του αριθμού κανόνων δεν βελτίωσε σημαντικά την απόδοση αλλά μείωσε την ερμηνευσιμότητα.
|
||
\item Η class-dependent εκδοχή δεν υπερείχε σημαντικά, υποδεικνύοντας μικρή διακριτότητα των κλάσεων.
|
||
\item Οι καμπύλες εκμάθησης και οι MFs δείχνουν ομαλή εκπαίδευση χωρίς αστάθειες.
|
||
\item Το \textbf{class-independent μοντέλο με $r_a{=}0.80$} παρουσιάζει την καλύτερη ισορροπία μεταξύ ακρίβειας, απλότητας και γενίκευσης.
|
||
\end{itemize}
|
||
|
||
|
||
|
||
|
||
|
||
% =====================================================================
|
||
\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}
|