261 lines
19 KiB
TeX
261 lines
19 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}
|
||
|
||
|
||
% =====================================================================
|
||
\subsection{Επίλογος}
|
||
Αναπτύξαμε
|
||
\end{document}
|