From e54d969bac6092dd1c8a19e17a46e262c1cd7615 Mon Sep 17 00:00:00 2001 From: Christina Theodoridou Date: Fri, 11 Jan 2019 12:10:45 +0200 Subject: [PATCH] semi final changes --- presentation/features_and_preprocessing.tex | 12 ++++++------ presentation/main.tex | 13 ++++++++----- presentation/models.tex | 8 ++++---- 3 files changed, 18 insertions(+), 15 deletions(-) diff --git a/presentation/features_and_preprocessing.tex b/presentation/features_and_preprocessing.tex index 88ae6e4..c28d9f5 100644 --- a/presentation/features_and_preprocessing.tex +++ b/presentation/features_and_preprocessing.tex @@ -1,6 +1,8 @@ \section{Χαρακτηριστικά και προεπεξεργασία δεδομένων} -Για την εξαγωγή των χαρακτηριστικών που φαίνονται στο από τα αρχεία ήχουν του σετ δεδομένων, αρχικά τμηματήσαμε κάθε σήμα αρχείου σε frames με μέγεθος 6144 δείγματα. Έπειτα, τα frames αυτά, παραθυροποιήθηκαν με παράθυρο τύπου Hamming, ίσου μεγέθους. Στη συνέχεια, έγινε η εξαγωγή των χαρακτηριστικών στο πεδίο του χρόνου, καθώς και στο πεδίο της συχνότητας.Παράλληλα, έγινε και η εξαγωγή των συντελεστών MFCC έτσι ώστε να είναι εφικτός ο υπολογισμός της διαμόρφωσης της ενέργειας σήματος στα 4 hz. Τα χαρακτηριστικά που εξήχθηκαν είναι 27 και θα αναλυθούν στη συνέχεια. Ως προεπεξεργασία, τα δεδομένα κλιμακοποιήθηκαν έτσι ώστε να έχουν μέσο 0 και τυπική απόκλιση ίση με 1 για κάθε συνιστώσα. Τέλος, δίνουμε την δυνατότητα στον κώδικά μας να εφαρμοστεί και η μέθοδος Principal Component Analysis - PCA,αν αυτή είναι αναγκαία, έτσι ώστε να μειωθούν οι τελικές διαστάσεις των χαρακτηριστικών.Η χρήση της αυτής της μεθόδου, μειώνει τις διαστάσεις σε 10 από τις 27 που έχουμε τώρα αλλά ρίχνει την απόδοση στο 89.72\% , μικρότερη από αυτήν που πετυχαίνουμε εν τέλη όπως θα δούμε στη συνέχεια. +Για την εξαγωγή των χαρακτηριστικών που φαίνονται στο από τα αρχεία ήχουν του σετ δεδομένων, αρχικά τμηματήσαμε κάθε σήμα αρχείου σε frames με μέγεθος 6144 δείγματα, το οποίο προέκυψε μετά από επαναλαμβανόμενες δοκιμές. + Έπειτα, τα frames αυτά, παραθυροποιήθηκαν με παράθυρο τύπου Hamming, ίσου μεγέθους. + Στη συνέχεια, έγινε η εξαγωγή των χαρακτηριστικών στο πεδίο του χρόνου, καθώς και στο πεδίο της συχνότητας, με την βοήθεια της βιβλιοθήκης essentia.Παράλληλα, έγινε και η εξαγωγή των συντελεστών MFCC έτσι ώστε να είναι εφικτός ο υπολογισμός της διαμόρφωσης της ενέργειας σήματος στα 4 hz. Τα χαρακτηριστικά που εξήχθηκαν είναι 27 και θα αναλυθούν στη συνέχεια. Ως προεπεξεργασία, τα δεδομένα κλιμακοποιήθηκαν με την βοήθεια της συνάρτησης scale που ανήκει στο module preprocessing της βιβλιοθήκης sklearn, έτσι ώστε να έχουν μέσο 0 και τυπική απόκλιση ίση με 1 για κάθε συνιστώσα. Τέλος, με την συνάρτηση PCA του module decomposition του sklearn, δίνουμε την δυνατότητα στον κώδικά μας να εφαρμοστεί και η μέθοδος Principal Component Analysis - PCA,αν αυτή είναι αναγκαία, έτσι ώστε να μειωθούν οι τελικές διαστάσεις των χαρακτηριστικών. Στην δική μας υλοποίηση, μειώνουμε τις διαστάσεις από 27 σε 10, έτσι ώστε να έχουν αξιοσημείωτη μείωση και να ελέγξουμε τι γίνεται σε αυτήν την περίπτωση με την απόδοση. %pinakas me arxikes kai telikes diastaseis xarakthristikwn % \begin{center} @@ -92,12 +94,10 @@ To flatness ή αλλιώς επιπεδότητα του ήχου, είναι είναι μια αναπαράσταση του βραχυπρόθεσμου φάσματος έντασης ενός ήχου, βασισμένου σε έναν γραμμικό μετασχηματισμό συνημιτόνου του λογαριθμισμένου φάσματος έντασης σε μια μη γραμμική κλίμακα της συχνότητας (μη γραμμικής κλίμακας Mel). Οι συντελεστές του cepstrum συχνότητας Μελ (MFCCs – Mel Frequency Cepstrum Coefficients) είναι οι συντελεστές εκείνοι που αποτελούν στο σύνολο τους το φάσμα MFC. - - - \subsection{4Hz Energy Modulation} Τα φωνητικά σήματα έχουν χαρακτηριστικό μέγιστο στη διαμόρφωση ενέργειας γύρω στα 4Hz του ρυθμού συλλαβών. Για να μοντελοποιηθεί αυτή η ιδιότητα ακολουθείται η παρακάτω διαδικασία:\footnote{https://www.irit.fr/recherches/SAMOVA/FeaturesExtraction.htm\#me4hz} Το σήμα τμηματοποιείται σε frames και εξάγονται οι Mel Frequency Spectrum Coefficients \footnote{https://en.wikipedia.org/wiki/Mel-frequency\_cepstrum} και υπολογίζεται η ενέργεια σε 40 κανάλια αντίληψης. Αυτή η ενέργεια έπειτα φιλτράρεται με ένα ζωνοδιαβατό φίλτρο, κεντραρισμένο στα 4Hz. Η ενέργεια αθροίζεται για όλα τα κανάλια, και κανονικοποιείται με βάση το μέσο του κάθε frame. Η διαμόρφωση δίνεται από τον υπολογισμό της μεταβλητότητας της φιλτραρισμένης ενέργειας σε dB σε ένα δευτερόλεπτο του σήματος. Η φωνή περιέχει περισσότερη διαμόρφωση από την μουσική. +%Leptomeries gia tin diki mas ulopoihsh, epilogh timwn ktl Παρακάτω φαίνονται ενδεικτικά κάποια από τα παραπάνω χαρακτηριστικά και το πόσο αποτελεσματικά είναι στον διαχωρισμό: @@ -114,7 +114,7 @@ To flatness ή αλλιώς επιπεδότητα του ήχου, είναι Eπιπλέον, ελέγξαμε όλα τα χαρακτηριστικά ένα προς ένα έτσι ώστε να δούμε εάν υπάρχει τρόπος να φτάσουμε την πλήρη ακρίβεια του μοντέλου μας με λιγότερα ή να φτάσουμε αρκετά κοντά ίσως ακόμα και με μόνο ένα. Tα αποτελέσματα έδειξαν ότι κανένα χαρακτηριστικό από μόνο του δεν είναι ικανό να δώσει ικανοποιητικό ποσοστό απόδοσης στο μοντέλο. Αν πάρουμε το καλύτερο feature και το δοκιμάσουμε σε συνδυασμό με τα υπόλοιπα βλέπουμε ότι η ακρίβεια αυξάνεται λίγο αλλά όχι αρκετά. -Τέλος, αν συνδυάσουμε ξανά αυτά τα features που δίνουν το καλύτερο αποτέλεσμα βλέπουμε ότι έχουμε και πάλι μια μικρή αύξηση στην ακρίβεια ,η οποία όμως είναι αρκετά μακρυά από την ακρίβεια που πετυχαίνουμε εν τέλει. +Τέλος, αν συνδυάσουμε ξανά αυτά τα features με τα επόμενα καλύτερα βλέπουμε ότι έχουμε και πάλι μια μικρή αύξηση στην ακρίβεια ,η οποία όμως είναι αρκετά μακρυά από την ακρίβεια που πετυχαίνουμε εν τέλει. \begin{table}[h] \begin{tabular}{llll} @@ -149,7 +149,7 @@ mfcc12 & 0.54 & 0.67 \end{tabular} \end{table} - +%Διαγραμμα features-απόδοσης; Άρα, είναι προφανές ότι δεν είναι κάποιο συγκεκριμένο feature το οποίο ευθύνεται για το μεγαλύτερο ποσοστό της ακρίβειας του μοντέλου αλλά ο συνδυασμός τους. diff --git a/presentation/main.tex b/presentation/main.tex index f9434fd..87f688c 100644 --- a/presentation/main.tex +++ b/presentation/main.tex @@ -4,25 +4,26 @@ \geometry{a4paper, top=2.5cm, bottom=2.5cm, left=2.2cm, right=2.2cm} \usepackage{fontspec} -<<<<<<< HEAD \usepackage{titlesec} \usepackage{titling} \usepackage{float} \usepackage{caption} \usepackage{subcaption} -======= ->>>>>>> 9840d5f98437e155f3cd7fd430f31db16441f777 \usepackage[nonumeralsign]{xgreek} \usepackage{fancyhdr} \usepackage{hyperref} \usepackage{enumitem} \usepackage{cite} + \usepackage{graphicx} + \usepackage[normalem]{ulem} + \useunder{\uline}{\ul}{} + \usepackage{amsmath} \setmainfont{Lato} \setmonofont{Consolas} \title{Τεχνολογία Ήχου και Εικόνας 2018\\ - Παραδοτεό 1} + Εργασία 2018-2019} \author{Χριστίνα Θεοδωρίδου - 8055\\ Φρανκ Μπλάννινγκ - 6698\\ Αποστόλης Φανάκης - 8261} @@ -47,7 +48,9 @@ \input{intro.tex} \input{2.past_implementations.tex} - \input{3.our_implementation.tex} + % \input{3.our_implementation.tex} + \input{features_and_preprocessing.tex} + \input{models.tex} \bibliographystyle{ieeetr} \bibliography{cites}{} diff --git a/presentation/models.tex b/presentation/models.tex index 28c1834..0983333 100644 --- a/presentation/models.tex +++ b/presentation/models.tex @@ -1,6 +1,6 @@ \section{Machine Learning Model} -Για την υλοποίηση του ταξινομητή δοκιμάστηκαν διάφορες μέθοδοι οι οποίες πετυχαίνουν διαφορετική ακρίβεια. Επίσης , για την μέτρηση της απόδοσης των μοντέλων εφαρμόστηκε η μέθοδος K-Fold cross validation.Στη συνέχεια αναφέρεται συνοπτικά η λειτουργία των μοντέλων που χρησιμοποιήθηκαν (Οι ορισμοί είναι σύμφωνα με την ιστοσελίδα της analytics vidhya \footnote{https://www.analyticsvidhya.com/}) ενώ στο τέλος παρατίθεται ένας πίνακας στο οποίο φαίνονται οι διάφορες μέθοδοι και οι ακρίβειες που πέτυχαν. +Για την υλοποίηση του ταξινομητή δοκιμάστηκαν διάφορες μέθοδοι οι οποίες πετυχαίνουν διαφορετική ακρίβεια. Για την εκπαίδευση των μοντέλων, χρησιμοποιήθηκε η βιβλιοθήκη numpy και sklearn. Επίσης , για την μέτρηση της απόδοσης των μοντέλων εφαρμόστηκε η μέθοδος K-Fold cross validation.Στη συνέχεια αναφέρεται συνοπτικά η λειτουργία των μοντέλων που χρησιμοποιήθηκαν (Οι ορισμοί είναι σύμφωνα με την ιστοσελίδα της analytics vidhya \footnote{https://www.analyticsvidhya.com/}) ενώ στο τέλος παρατίθεται ένας πίνακας στο οποίο φαίνονται οι διάφορες μέθοδοι και οι ακρίβειες που πέτυχαν. \subsection{Support Vector Machine - SVM} @@ -24,13 +24,13 @@ 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{95.78}\% \\ +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\% \\ @@ -38,4 +38,4 @@ Random Forest & 95.29\% & 94.36\% & 95.4 \end{tabular} \end{table} -Όπως φαίνεται παραπάνω, η καλύτερες μέθοδοι είναι τα Support Vector Machines και ο αλγόριθμος Random Forest με 95\% ακρίβεια, ενώ κοντά βρίσκεται και ο αλγόριθμος του Multilayer perceptron. Τέλος, βλέπουμε ότι ο χειρότερος είναι ο Naive Bayes με περίπουτ 70\% ακρίβεια. +Όπως φαίνεται παραπάνω, η καλύτερες μέθοδοι είναι τα Support Vector Machines και ο αλγόριθμος Random Forest με 96\% και 95\% ακρίβεια αντίστοιχα, ενώ κοντά βρίσκεται και ο αλγόριθμος του Multilayer perceptron. Τέλος, βλέπουμε ότι ο χειρότερος είναι ο Naive Bayes με περίπουτ 70\% ακρίβεια.