Browse Source

Grammar and other fixes, Spell check

master
Apostolos Fanakis 6 years ago
parent
commit
5d1cc9ea6c
No known key found for this signature in database GPG Key ID: 56CE2DEDE9F1FB78
  1. 10
      report/3.features_and_preprocessing.tex
  2. 96
      report/4.models.tex
  3. BIN
      report/main.pdf

10
report/3.features_and_preprocessing.tex

@ -86,8 +86,9 @@ To spectral complexity ή αλλιώς η φασματική πολυπλοκό
\begin{table}[H] \begin{table}[H]
\centering \centering
\begin{tabular}{ l l l } \begin{tabular}{@{} l l r @{}}
\textbf{Μοντέλο} & \textbf{Μέθοδοι προεπεξεργασίας} & \textbf{Ακρίβεια} \\ \toprule \toprule
\textbf{Μοντέλο} & \textbf{Μέθοδοι προεπεξεργασίας} & \textbf{Ακρίβεια} \\ \midrule
& Χωρίς προεπεξεργασία & 0.49 \\ & Χωρίς προεπεξεργασία & 0.49 \\
& Scaling & 0.89 \\ & Scaling & 0.89 \\
& Κανονικοποίηση & 0.49 \\ & Κανονικοποίηση & 0.49 \\
@ -112,8 +113,9 @@ To spectral complexity ή αλλιώς η φασματική πολυπλοκό
\begin{table}[H] \begin{table}[H]
\centering \centering
\begin{tabular}{ l r r r } \begin{tabular}{@{} l r r r @{}}
\textbf{Accuracy} & \textbf{Individually} & \textbf{With best first\textsuperscript{1}} & \textbf{With best second\textsuperscript{1}} \\ \toprule \toprule
\textbf{Accuracy} & \textbf{Individually} & \textbf{With best first\textsuperscript{1}} & \textbf{With best second\textsuperscript{1}} \\ \midrule
4Hz Mod & 0.58 & 0.66 & 0.73 \\ 4Hz Mod & 0.58 & 0.66 & 0.73 \\
Flat & 0.63 & 0.71 & 0.75 \\ Flat & 0.63 & 0.71 & 0.75 \\
HFC & 0.58 & 0.65 & 0.72 \\ \midrule HFC & 0.58 & 0.65 & 0.72 \\ \midrule

96
report/4.models.tex

@ -1,10 +1,10 @@
\section{Machine Learning Model} \section{Machine Learning Models}
Στη συνέχεια αναφέρεται συνοπτικά η λειτουργία των μοντέλων που χρησιμοποιήθηκαν για την εκπαίδευση των δεδομένων (Οι ορισμοί είναι σύμφωνα με την ιστοσελίδα της analytics vidhya \footnote{https://www.analyticsvidhya.com/}) ενώ στο τέλος παρατίθεται ένας πίνακας στο οποίο φαίνονται οι διάφορες μέθοδοι και οι ακρίβειες που επιτεύχθησαν. Στη συνέχεια αναφέρεται συνοπτικά η λειτουργία των μοντέλων που δοκιμάστηκαν για την εκπαίδευση των δεδομένων (οι ορισμοί είναι σύμφωνα με την ιστοσελίδα της analytics vidhya \footnote{https://www.analyticsvidhya.com/}) ενώ στο τέλος παρατίθεται ένας πίνακας στον οποίο φαίνονται οι διάφορες μέθοδοι και οι ακρίβειες που επιτεύχθηκαν.
\subsection{Support Vector Machine - SVM} \subsection{Support Vector Machine - SVM}
Τα SVMs ανήκουν στα μοντέλα επιβλεπόμενης μάθησης, και ο σκοπός τους είναι η εύρεση ενός γραμμικού υπερεπιπέδου (σύνορο απόφασης) το οποίο θα διαχωρίσει τα δεδομένα. Σε αυτόν τον αλγόριθμο, σχεδιάζουμε κάθε δεδομένο ως ένα σημείο σε έναν ν-διάστατο χώρο (όπου ν είναι ο αριθμός των features) με την τιμή κάθε feature να είναι η τιμή της εκάστοτε συντεταγμένης. Έπειτα, κατηγοριοποιούμε βρίσκοντας ένα υπερεπίπεδο το οποίο διαχωρίζει τις 2 κλάσεις καλύτερα. Τα SVMs ανήκουν στα μοντέλα επιβλεπόμενης μάθησης, και ο σκοπός τους είναι η εύρεση ενός γραμμικού υπερεπιπέδου (σύνορο απόφασης) το οποίο θα διαχωρίσει τα δεδομένα. Σε αυτόν τον αλγόριθμο, σχεδιάζουμε κάθε δεδομένο ως ένα σημείο σε έναν ν-διάστατο χώρο (όπου ν είναι ο αριθμός των features) με την τιμή κάθε feature να είναι η τιμή της εκάστοτε συντεταγμένης. Έπειτα, κατηγοριοποιούμε βρίσκοντας το υπερεπίπεδο το οποίο διαχωρίζει τις 2 κλάσεις καλύτερα.
\subsection{Decision Trees} \subsection{Decision Trees}
@ -12,73 +12,57 @@
\subsection{Multilayer Perceptron} \subsection{Multilayer Perceptron}
Ένα perceptron, μπορεί να κατανοηθεί ως οτιδήποτε δέχεται πολλαπλές εισόδους και παράγει μία έξοδο. Ο τρόπος όμως με τον οποίο συσχετίζεται η είσοδος την έξοδο εμφανίζει ενδιαφέρον. Αρχικά σε κάθε είσοδο προστίθεται ένα βάρος, το οποίο σημαίνει ουσιαστικά το πόσο σημασία να δοθεί σε κάθε μία ενώ στην έξοδο ένα κατώφλι.Τέλος, προστίθεται και μία πόλωση η οποία μπορεί να θεωηθεί ως το ποσό ευελιξίας του perceptron.Για λόγους απόδοσης, χρησιμοποιούνται πολλά perceptrons σε layers, τα οποία είναι πλήρως συνδεδεμένα μεταξύ τους. Ένα perceptron, μπορεί να κατανοηθεί ως οτιδήποτε δέχεται πολλαπλές εισόδους και παράγει μία έξοδο. Ο τρόπος όμως με τον οποίο συσχετίζεται η είσοδος την έξοδο εμφανίζει ενδιαφέρον. Αρχικά σε κάθε είσοδο ανατίθεται ένα βάρος, το οποίο εκφράζει τη σημασία της, ενώ στην έξοδο ένα κατώφλι. Τέλος, υπολογίζεται μία πόλωση η οποία μπορεί να θεωρηθεί ως το ποσό ευελιξίας του perceptron. Για λόγους απόδοσης, χρησιμοποιούνται πολλά perceptrons σε layers, τα οποία είναι πλήρως συνδεδεμένα μεταξύ τους.
\subsection{Naive Bayes} \subsection{Naive Bayes}
Είναι μία τεχνική ταξινόμησης η οποία βασίζεται στο θεώρημα του Bayes\footnote{https://en.wikipedia.org/wiki/Bayes\%27\_theorem}με την υπόθεση ανεξαρτησίας ανάμεσα στους προβλέπτες. Με απλά λόγια, ο ταξινομητής Naive Bayes, υποθέτει ότι η ύπαρξη ενός συγκεκριμένου feature σε μια κλάση είναι ασυσχέτιστη με την υπάρξη οποιουδήποτε άλλου. Είναι μία τεχνική ταξινόμησης η οποία βασίζεται στο θεώρημα του Bayes με την υπόθεση ανεξαρτησίας ανάμεσα στους προβλέπτες. Με απλά λόγια, ο ταξινομητής Naive Bayes, υποθέτει ότι η ύπαρξη ενός συγκεκριμένου feature σε μια κλάση είναι ασυσχέτιστη με την υπάρξη οποιουδήποτε άλλου.
\subsection{Random Forest} \subsection{Random Forest}
O Random Forest είναι ένας αλγόριθμος τύπου Bootstrap, με δένδρα απόφασης. Αυτό που πορσπαθεί να κάνει, είναι να φτιάξει δίαφορα δένδρα με διαφορετικά δείγματα και διαφορετικές αρχικές τιμές. Επαναλαμβάνει την διαδικασία και κάνει μια τελική πρόβλεψη για κάθε παρατήρηση, η οποία είναι συνάρτηση όλων των προβλέψεων. O Random Forest είναι ένας αλγόριθμος τύπου Bootstrap, με δένδρα απόφασης. Αυτό που πορσπαθεί να κάνει, είναι να φτιάξει δίαφορα δένδρα με διαφορετικά δείγματα και διαφορετικές αρχικές τιμές. Επαναλαμβάνει την διαδικασία και κάνει μια τελική πρόβλεψη για κάθε παρατήρηση, η οποία είναι συνάρτηση όλων των προβλέψεων.
\hfill
% \begin{table}[h]
% \begin{tabular}{llllll}
% {\ul \textbf{Method}} & {\ul \textbf{Fold-0}} & {\ul \textbf{Fold-1}} & {\ul \textbf{Fold-2}} & {\ul \textbf{Fold-3}} & {\ul \textbf{Fold-4}} \\
% SVM & 95.47\% & 95.05\% & 95.60\% & 95.44\% & \textbf{96.06}\% \\
% Decision Tree & 85.96\% & 86.15\% & 86.40\% & \textbf{86.51}\% & 86.20\% \\
% MultiLayer Perceptron & 90.22\% & \textbf{90.34}\% & 88.65\% & 89.83\% & 90.34\% \\
% Naive Bayes & \textbf{70.25}\% & 69.83\% & 69.59\% & 69.39\% & 68.75\% \\
% Random Forest & 95.29\% & 94.36\% & 95.42\% & 95.33\% & \textbf{95.49}\%
% \end{tabular}
% \end{table}
\section{Αξιολόγηση μοντέλων} \section{Αξιολόγηση μοντέλων}
Για την αξιολόγηση των μοντέλων, δοκιμάστηκαν πολλοί τρόποι για τις διάφορες μεθόδους ταξινόμησης μέχρι να βρεθεί ο βέλτιστος. Στον πίνακα \ref{table:tab1} φαίνονται ενδεικτικά για καποιους ταξινομητές οι τρόποι αξιολόγησης που δοκιμάστηκαν και οι αντίστοιχες ακρίβειες τους. Κατά την αξιολόγηση των μοντέλων, δοκιμάστηκε ποικιλία από τεχνικές εκπαίδευσης για τις διάφορες μεθόδους ταξινόμησης, μέχρι να βρεθεί ο βέλτιστος ταξινομητής. Μετά από πληθώρα δοκιμών, τα μοντέλα SVM και Random Forest αποδείχθηκαν τα καλύτερα στην ταξινόμηση, με βάση τη μετρική της ακρίβειας. Στον πίνακα \ref{table:tab1} φαίνεται η ακρίβεια των μοντέλων αυτών για διάφορους τρόπους εκπαίδευσης που δοκιμάστηκαν. Σε κάθε περίπτωση προηγήθηκε ανακάτεμα (shuffle) των εγγραφών του σετ δεδομένων.
\begin{table}[H] \begin{table}[ht]
\begin{tabular}{|l|l|l|} \centering
\hline \begin{tabular}{@{} l p{9cm} r @{}}
\textbf{Μέθοδος} & \textbf{Τρόπος αξιολόγησης} & \textbf{Ακρίβεια} \\ \hline \toprule
\multirow{4}{*}{SVM} & Κλιμακοποίηση + τυχαίο split & 0.94 \\ \cline{2-3} \textbf{Μοντέλο} & \textbf{Μέθοδος εκπαίδευσης} & \textbf{Ακρίβεια} \\ \midrule
& Κλιμακοποίηση + k-fold cross validation & \textbf{0.96} (best fold) \\ \cline{2-3} \multirow[m]{6}{*}{SVM} & Κλιμακοποίηση και τυχαίο split & 0.94 \\
& Κλιμακοποίηση + PCA + τυχαίο split & 0.92 \\ \cline{2-3} & Κλιμακοποίηση και 5-fold cross validation & \textbf{0.96} \\
& Κλιμακοποίηση + PCA + k-fold cross validation & 0.93 (best fold) \\ \hline & Κλιμακοποίηση, PCA (μείωση σε 10 χαρακτηριστικά) και τυχαίο split & 0.92 \\
\multirow{2}{*}{Random Forest} & Κλιμακοποίηση + k-fold cross validation & 0.95 (best fold) \\ \cline{2-3} & Κλιμακοποίηση, PCA (μείωση σε 10 χαρακτηριστικά) και 5-fold cross validation & 0.93 \\ \midrule
& Κλιμακοποίηση + PCA + k-fold cross validation & 0.94 (best fold) \\ \hline \multirow[m]{3}{*}{Random Forest} & Κλιμακοποίηση και 5-fold cross validation & 0.95 \\
\end{tabular} & Κλιμακοποίηση, PCA (μείωση σε 10 χαρακτηριστικά) και 5-fold cross validation & 0.94 \\ \bottomrule
\caption{Τρόποι αξιολόγησης για διάφορα μοντέλα} \end{tabular}
\label{table:tab1} \caption{Ακρίβεια των δύο καλύτερων μοντέλων (SVM και Random Forest) για διάφορες μεθόδους εκπαίδευσης. \small
Όπου χρησιμοποιήθηκε cross validation κρατήθηκε η ακρίβεια του καλύτερου fold.}
\label{table:tab1}
\end{table} \end{table}
Είναι φανερό ότι η καλύτερη ακρίβεια που επιτυγχάνεται είναι 0.96 με κλιμακοποίηση και k-fold cross validation. Συνεπώς, επιλέχθηκαν για την τελική υλοποίηση ενώ χρησιμοποιήθηκε για το k-fold cross validation, k=4. Η μέγιστη ακρίβεια που επιτυγχάνεται είναι 96\% με κλιμακοποίηση και 5-fold cross validation χρησιμοποιώντας SVM μοντέλο με γκαουσιανό (Radial Basis Function ή RBF) πυρήνα.
\section{Συμπεράσματα} \section{Συμπεράσματα}
Παρατίθεται στη συνέχεια ο πίνακας στον οποίο φαίνονται οι ακρίβειες των μοντέλων για την ταξινόμηση. Παρατίθεται στη συνέχεια ο πίνακας στον οποίο φαίνεται η μέγιστη ακρίβεια που επιτεύχθηκε για κάθε μοντέλο που δοκιμάστηκε.
\begin{table}[H] \begin{table}[h]
\begin{tabular}{|l|l|} \centering
\hline \begin{tabular}{@{} l r @{}}
\textbf{Method} & \textbf{Αccuracy}\\\hline \toprule
SVM & \textbf{96.06} \\\hline \textbf{Method} & \textbf{Αccuracy}\\\midrule
Decision Tree & 86.51 \\\hline SVM & \textbf{96.06} \\
MultiLayer Perceptron & 90.34 \\\hline Decision Tree & 86.51 \\
Naive Bayes & 70.25 \\\hline MultiLayer Perceptron & 90.34 \\
Random Forest & 95.49 \\\hline Naive Bayes & 70.25 \\
SVM (PCA(10)) & 90.02 \\\hline Random Forest & 95.49 \\
\end{tabular} SVM (PCA(10)) & 90.02 \\ \bottomrule
\caption{Ακρίβεια ταξινομητών} \end{tabular}
\caption{Ακρίβεια μοντέλων ταξινομητών που δοκιμάστηκαν}
\end{table} \end{table}
Όπως φαίνεται, η καλύτερες μέθοδοι είναι τα Support Vector Machines και ο αλγόριθμος Random Forest με 96\% και 95\% ακρίβεια αντίστοιχα, ενώ κοντά βρίσκεται και ο αλγόριθμος του Multilayer perceptron. Παράλληλα, βλέπουμε ότι ο χειρότερος είναι ο Naive Bayes με περίπου 70\% ακρίβεια.Τέλος, η εφαρμογή του PCA είναι φανερό ότι μείωσε αρκετά την ακρίβεια του μοντέλου και για αυτόν τον λόγο συνίσταται μόνο στην περίπτωση που υπάρχει κάποιος χρονικός περιορισμός καθώς, λόγω της μείωσης των χαρακτηριστικών από 27 σε 10, η υλοποίηση θα εκτελείται πιο γρήγορα. Όπως φαίνεται, τα Support Vector Machines και ο αλγόριθμος Random Forest αποδίδουν τα καλύτερα αποτελέσματα με 96\% και 95\% ακρίβεια αντίστοιχα, ενώ αρκετά καλά αποδίδουν και τα Multilayer perceptrons. Παράλληλα, βλέπουμε ότι τα χειρότερα αποτελέσματα στη ταξινόμηση δίνει ο Naive Bayes με περίπου 70\% ακρίβεια. Τέλος, η εφαρμογή του PCA είναι φανερό ότι μείωσε αρκετά την ακρίβεια των μοντέλων και για αυτόν τον λόγο συνίσταται μόνο στην περίπτωση που υπάρχει κάποιος σοβαρός χρονικός περιορισμός κατά την ταξινόμηση καθώς, λόγω της μείωσης των χαρακτηριστικών από 27 σε 10, αυτή θα εκτελείται πιο γρήγορα.
%αναλυση γενικα για τον κωδικα (διαφανειες wrapper και execution} για τις συναρτησεις 4hz modulation, random forest, kFCrossValid

BIN
report/main.pdf

Binary file not shown.
Loading…
Cancel
Save