Browse Source

minor fixes

master
Christina Theodoridou 6 years ago
parent
commit
8d06c94cdf
  1. 41
      presentation/features_and_preprocessing.tex
  2. BIN
      presentation/main.pdf
  3. 5
      presentation/main.tex
  4. 16
      presentation/models.tex

41
presentation/features_and_preprocessing.tex

@ -115,33 +115,38 @@ To flatness ή αλλιώς επιπεδότητα του ήχου, είναι
\end{figure}
\section{Προεπεξεργασία}
Για την προεπεξεργασία των δεδομένων, δοκιμάστηκαν διάφορες τεχνικές έτσι ώστε να βρεθεί ο βέλτιστος συνδυασμός μεθόδων. Οι μέθοδοι που δοκιμάστηκαν είναι οι κλιμακοποίηση, κανονικοποίηση, μείωση μεταβλητών (PCA?) και ο συνδυασμός τους μαζί με κάποιες παραμέτρους. Τα αποτελέσματα παρουσιάζονται στον πίνακα \ref{table:tab}
Στην κλιμακοποίηση όλα τα χαρακτηριστικά έχουν μέσο 0 και απόκλιση ίση με 1 ενώ στην κανονικοποίηση, μετατρέπονται οι τιμές τους ώστε να ανήκουν στο εύρος [0,1]
\section{Προεπεξεργασία δεδομένων}
Για την προεπεξεργασία των δεδομένων, δοκιμάστηκαν διάφορες τεχνικές έτσι ώστε να βρεθεί ο βέλτιστος συνδυασμός μεθόδων. Οι τρόποι που δοκιμάστηκαν είναι οι κλιμακοποίηση, κανονικοποίηση, VarianceThreshold, PercentileSelection και ο συνδυασμός τους μαζί με την αλλαγή κάποιων παραμέτρων. Τα αποτελέσματα παρουσιάζονται στον πίνακα \ref{table:tab}
Στην κλιμακοποίηση όλα τα χαρακτηριστικά έχουν μέσο 0 και απόκλιση ίση με 1 ενώ στην κανονικοποίηση, μετατρέπονται οι τιμές τους ώστε να ανήκουν στο εύρος [0,1]. Στο VarianceThreshold και PercentileSelection, που είναι συναρτήσεις της βιβλιοθήκης feature\_selection της sklearn, γίνεται μείωση χαρακτηριστικών. Στο VarianceThreshold, η μείωση γίνεται με όρους διακύμανσης, δηλαδή
αφαιρεί όλα τα χαρακτηριστικά των οποίων η διακύμανση δεν ξεπερνά κάποιο κατώφλι, ενώ η PercentileSelection καταργεί όλα τα ποσοστά των χαρακτηριστικών, εκτός από αυτά με καθορισμένο από το χρήστη καλύτερη ποσοστιαία κατάταξη . % removes all but a user-specified highest scoring percentage of features -> better translate?
\begin{table}[H]
\begin{tabular}{|l|l|l|}
\hline
\textbf{Μέθοδος} & \textbf{Τρόπος προεπεξεργασίας} & \textbf{Ακρίβεια} \\ \hline
& Χωρίς προεπεξεργασία & 0.49 \\ \cline{2-3}
& Κλιμακοποίηση & \textbf{0.89} \\ \cline{2-3}
& Κανονικοποίηση & 0.49 \\ \cline{2-3}
& Κλιμακοποίηση και μετά κανονικοποίηση & 0.78 \\ \cline{2-3}
& Μείωση μεταβλητών και κλιμακοποίηση & 0.88 \\ \cline{2-3}
& perReduced Dataset(?) και κλιμακοποίηση & 0.81 \\ \cline{2-3}
& Μείωση μεταβλητών, κλιμακοποίηση και gamma=scale & 0.88 \\ \cline{2-3}
& Μείωση μεταβλητών, κλιμακοποίηση και sigmoid kernel & 0.58 \\ \cline{2-3}
\multirow{-9}{*}{SVM} & Μείωση μεταβλητών, κλιμακοποίηση και poly kernel dgr & 0.84 \\ \hline
Decision Tree & Μείωση μεταβλητών και κλιμακοποίηση & 0.75 \\ \hline
Multi-Layer Perceptron & Μείωση μεταβλητών, κλιμακοποίηση και rndState = 2 & 0.86 \\ \hline
Naive Bayes & Μείωση μεταβλητών και κλιμακοποίηση & 0.65 \\ \hline
\textbf{Μέθοδος} & \textbf{Τρόπος προεπεξεργασίας} & \textbf{Ακρίβεια} \\ \hline
& Χωρίς προεπεξεργασία & 0.49 \\ \cline{2-3}
& Κλιμακοποίηση & 0.89 \\ \cline{2-3}
& Κανονικοποίηση & 0.49 \\ \cline{2-3}
& Κλιμακοποίηση + μετά κανονικοποίηση & 0.78 \\ \cline{2-3}
& VarianceThreshold + κλιμακοποίηση & 0.88 \\ \cline{2-3}
& PercentileSelection + κλιμακοποίηση & 0.81 \\ \cline{2-3}
& VarianceThreshold, κλιμακοποίηση + gamma=scale & 0.88 \\ \cline{2-3}
& VarianceThreshold, κλιμακοποίηση + sigmoid kernel & 0.58 \\ \cline{2-3}
\multirow{-9}{*}{SVM} & VarianceThreshold, κλιμακοποίηση + poly kernel dgr & 0.84 \\ \hline
Decision Tree & VarianceThreshold + κλιμακοποίηση & 0.75 \\ \hline
Multi-Layer Perceptron & VarianceThreshold, κλιμακοποίηση + rndState = 2 & 0.86 \\ \hline
Naive Bayes & VarianceThreshold + κλιμακοποίηση & 0.65 \\ \hline
\end{tabular}
\caption{Τρόποι προεπεξεργασίας για διάφορα μοντέλα}
\label{table:tab}
\end{table}
Eπιπλέον, ελέγξαμε όλα τα χαρακτηριστικά ένα προς ένα έτσι ώστε να δούμε εάν υπάρχει τρόπος να φτάσουμε την πλήρη ακρίβεια του μοντέλου μας με λιγότερα ή να φτάσουμε αρκετά κοντά ίσως ακόμα και με μόνο ένα χαρακτηριστικό.
Tα αποτελέσματα έδειξαν ότι κανένα χαρακτηριστικό από μόνο του δεν είναι ικανό να δώσει ικανοποιητικό ποσοστό ακρίβειας στο μοντέλο. Αν πάρουμε το καλύτερο σε όρους ακρίβειας και το δοκιμάσουμε σε συνδυασμό με τα επόμενα καλύτερα, φαίνεται ότι η ακρίβεια αυξάνεται λίγο αλλά όχι αρκετά.
Εν τέλει, αποφασίστηκε να χρησιμοποιηθεί μόνο η κλιμακοποίηση καθώς το κέρδος σε ταχύτητα των παραπάνω τρόπων μείωσης μεταβλητών δεν ήταν αρκετό συγκριτικά με την μείωση της ακρίβειας ώστε να παραμείνουν στην υλοποίηση. Βοήθησαν παρ'όλα αυτά στον προσδιορισμό των χαρακτηριστικών που είναι κάπως καλύτερα από τα άλλα.
Στη συνεχεια, για να γίνει κατανοητό εάν τα χαρακτηριστικά που είναι καλύτερα, είναι ικανά να δώσουν μεγάλο ποσοστό ακρίβειας στο μοντέλο, απομονώθηκαν όλα και ελέχθηκαν ένα ένα.
Tα αποτελέσματα έδειξαν ότι, τελικά, κανένα χαρακτηριστικό από μόνο του δεν είναι ικανό να δώσει ικανοποιητικό ποσοστό ακρίβειας0. Ακόμα και αν πάρουμε το καλύτερο σε όρους ακρίβειας και το δοκιμάσουμε σε συνδυασμό με τα επόμενα καλύτερα, φαίνεται ότι η ακρίβεια αυξάνεται λίγο αλλά όχι αρκετά.
Τέλος, αν επαναληφθεί ακόμα μία φορά η διαδικασία, φαίνεται ότι έχουμε και πάλι μια μικρή αύξηση στην ακρίβεια, η οποία όμως είναι αρκετά μακρυά από την ακρίβεια που επιτυγχάνεται εν τέλει.
\begin{table}[H]

BIN
presentation/main.pdf

Binary file not shown.

5
presentation/main.tex

@ -7,7 +7,6 @@
\usepackage{titlesec}
\usepackage{titling}
\usepackage{float}
\usepackage{caption}
\usepackage{subcaption}
\usepackage[nonumeralsign]{xgreek}
\usepackage{fancyhdr}
@ -34,7 +33,7 @@
\pagestyle{fancy}
\lhead{Τεχνολογία Ήχου και Εικόνας 2018}
\rhead{Θεοδωρίδου, Μπλάννινγκ, Φανάκης}
\rhead{}
\renewcommand{\headrulewidth}{0.4pt}
\renewcommand{\footrulewidth}{0.4pt}
\setlength{\headheight}{14pt}
@ -48,7 +47,7 @@
\tableofcontents
\newpage
!
\input{intro.tex}
\input{2.past_implementations.tex}
% \input{3.our_implementation.tex}

16
presentation/models.tex

@ -46,13 +46,13 @@ O Random Forest είναι ένας αλγόριθμος τύπου Bootstrap,
\begin{table}[H]
\begin{tabular}{|l|l|l|}
\hline
\textbf{Μέθοδος} & \textbf{Τρόπος αξιολόγησης} & \textbf{Ακρίβεια} \\ \hline
\multirow{4}{*}{SVM} & Κλιμακοποίηση + τυχαίο split & 0.94 \\ \cline{2-3}
& Κλιμακοποίηση + k-fold cross validation & \textbf{0.96} (best fold) \\ \cline{2-3}
& Κλιμακοποίηση + PCA + τυχαίο split & 0.92 \\ \cline{2-3}
& Κλιμακοποίηση + PCA + k-fold cross validation & 0.93(best fold) \\ \hline
\multirow{2}{*}{Random Forest} & Κλιμακοποίηση + k-fold cross validation & 0.95(best fold) \\ \cline{2-3}
& Κλιμακοποίηση + PCA + k-fold cross validation & 0.94(best fold) \\ \hline
\textbf{Μέθοδος} & \textbf{Τρόπος αξιολόγησης} & \textbf{Ακρίβεια} \\ \hline
\multirow{4}{*}{SVM} & Κλιμακοποίηση + τυχαίο split & 0.94 \\ \cline{2-3}
& Κλιμακοποίηση + k-fold cross validation & \textbf{0.96} (best fold) \\ \cline{2-3}
& Κλιμακοποίηση + PCA + τυχαίο split & 0.92 \\ \cline{2-3}
& Κλιμακοποίηση + PCA + k-fold cross validation & 0.93 (best fold) \\ \hline
\multirow{2}{*}{Random Forest} & Κλιμακοποίηση + k-fold cross validation & 0.95 (best fold) \\ \cline{2-3}
& Κλιμακοποίηση + PCA + k-fold cross validation & 0.94 (best fold) \\ \hline
\end{tabular}
\caption{Τρόποι αξιολόγησης για διάφορα μοντέλα}
\label{table:tab1}
@ -78,7 +78,7 @@ SVM (PCA(10)) & 90.02 \\\hline
\caption{Ακρίβεια ταξινομητών}
\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 perceptron. Παράλληλα, βλέπουμε ότι ο χειρότερος είναι ο Naive Bayes με περίπου 70\% ακρίβεια.Τέλος, η εφαρμογή του PCA είναι φανερό ότι μείωσε αρκετά την ακρίβεια του μοντέλου και για αυτόν τον λόγο συνίσταται μόνο στην περίπτωση που υπάρχει κάποιος χρονικός περιορισμός καθώς, λόγω της μείωσης των χαρακτηριστικών από 27 σε 10, η υλοποίηση θα εκτελείται πιο γρήγορα.
%αναλυση γενικα για τον κωδικα (διαφανειες wrapper και execution} για τις συναρτησεις 4hz modulation, random forest, kFCrossValid
Loading…
Cancel
Save