\section{Σχεδιασμός υλοποίησης} Μετά από μελέτη των προηγούμενων υλοποιήσεων και πειραματισμό με την εξαγωγή διάφορων χαρακτηριστικών (features) στη Matlab αποφασίσαμε να ακολουθήσουμε την παρακάτω πορεία αντιμετώπισης του προβλήματος. \subsection{Παραθυροποίηση} Για την παραθυροποίηση του σήματος θα γίνει χρήση Hamming παραθύρων με επικάλυψη 50\%. Η τελική χρονική διάρκεια των παραθύρων αναμένεται να είναι στο πεδίο του μισού με ενός δευτερολέπτου (0.5-1 sec) και θα καθοριστεί στη πορεία μέσω trial and error τεχνικών. \subsection{Χαρακτηριστικά} Τα χαρακτηριστικά που έχουν επιλεγεί είναι τα εξής: \begin{enumerate}[noitemsep] \item ΜFCCs (Mel Frequency Cepstral Coefficients) \item Silence ratio \item ZCR (Zero-Crossing Rate) \item SC (Spectral Centroid) \item SR (Spectral Rolloff) \item SF (Specral Flux) \item 4Hz modulation \item Minimum Energy Density (MED) \end{enumerate} Τα συγκεκριμένα χαρακτηριστικά εμφανίζουν τις μεγαλύτερες ακρίβειες στη ταξινόμηση ενώ ταυτόχρονα έχουν μικρή ετεροσυσχέτιση. Άλλα χαρακτηριστικά μπορεί να προστεθούν στη πορεία μετά από αναλυτικότερη έρευνα της βιβλιογραφίας. \subsection{Μοντέλο ταξινόμησης} Από την βιβλιογραφική έρευνα διαπιστώθηκε ότι οι διαφορετικές επιλογές χαρακτηριστικών επηρεάζουν την ακρίβεια των μοντέλων. Έτσι με μία συγκεκριμένη επιλογή χαρακτηριστικών μπορεί τα πιθανοτικά μοντέλα (Naive Bayes, GMM, κ.α.) να είναι αποτελεσματικότερα των SVM ή των νευρωνικών. Αλλά με επιλογή διαφορετικών features να ισχύει το αντίθετο. Για τον λόγο αυτό είναι απαραίτητο, αφού αποφασιστεί το σετ των χαρακτηριστικών να γίνει εκπαίδευση και testing πολλών μοντέλων πριν την τελική επιλογή. Έτσι η πρόταση μας είναι η δοκιμή των περισσότερων ευραίως διαδεδομένων μοντέλων, όπως: Decision trees, Bayesian networks, Gaussian mixture model, Hidden Markov Model, SVMs, Artificial Neural networks, Genetic Algorithms. \subsection{Preprocessing, άλλες τεχνικές} Περισσότερες και πιο εξεζητημένες τεχνικές θα χρησιμοποιηθούν στο πρακτικό κομμάτι που θα υλοποιηθεί αργότερα. Κατά το preprocessing των δεδομένων μέθοδοι όπως data rescaling, data standardization, data binarization, data cleaning, data integration, data transformation ενδέχεται να φανούν χρήσιμες. Ακόμα, κατά την εκπαίδευση διάφορες γνωστοί μέθοδοι validation όπως το k-fold cross-validation, leave one out, bootstrap, hold out θα δοκιμαστούν. \subsection{Stack} Τόσο για την εξερεύνηση του χώρου των χαρακτηριστικών όσο και για την εκπαίδευση και τον έλεγχο του μοντέλου θα χρησιμοποιηθεί το προγραμματιστικό περιβάλλον της R. Το περιβάλλον αυτό είναι ειδικά σχεδιασμένο για στατιστικούς υπολογισμούς (statistical computing) και αποτελεί (μαζί με την python) το στάνταρ της βιομηχανίας μηχανικής μάθησης. Επίσης παρέχεται αφθονία βιβλιοθηκών έτοιμων machine learning αλγορίθμων από τις οποίες θα χρησιμοποιηθούν μεταξύ άλλων οι: 'e1071', 'rpart', 'nnet', 'random forest'. Σε διάφορα στάδια της εργασίας ενδέχεται να χρησιμοποιηθεί και η γλώσσα Matlab λόγω της ευκολίας που προσφέρει στους μαθηματικούς υπολογισμούς.