Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is...

123
Εργαστήριο Βιοϊατρικής Απεικόνισης και Εφαρμοσμένης Οπτικής Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Πανεπιστήμιο Κύπρου Ανάλυση Φωνής για Αναγνώριση Λέξεων που Μπορούν να Χρησιμοποιηθούν για Ενεργοποίηση Εντολών με Φωνή Υποβάλλεται στο Πανεπιστήμιο Κύπρου ως μερική συμπλήρωση των απαιτήσεων για την απόκτηση Πτυχίου Ηλεκτρολόγου Μηχανικού Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Μάιος 2009 από τον Ηλία Ηλία

Transcript of Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is...

Page 1: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

Εργαστήριο Βιοϊατρικής Απεικόνισης και Εφαρμοσμένης Οπτικής

Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών – Πανεπιστήμιο Κύπρου

Ανάλυση Φωνής για Αναγνώριση Λέξεων που Μπορούν να Χρησιμοποιηθούν για Ενεργοποίηση

Εντολών με Φωνή

Υποβάλλεται στο Πανεπιστήμιο Κύπρου ως μερική συμπλήρωση των απαιτήσεων για την απόκτηση

Πτυχίου Ηλεκτρολόγου Μηχανικού

Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Μάιος 2009

από τον Ηλία Ηλία

Page 2: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,
Page 3: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

AΝΑΛΥΣΗ ΦΩΝΗΣ ΓΙΑ ΑΝΑΓΝΩΡΙΣΗ ΛΕΞΕΩΝ ΠΟΥ ΜΠΟΡΟΥΝ ΝΑ ΧΡΗΣΙΜΟΠΟΙΗΥΘΟΥΝ ΓΙΑ ΕΝΕΡΓΟΠΟΙΗΣΗ ΕΝΤΟΛΩΝ ΜΕ

ΦΩΝΗ

από τον Ηλία Ηλία

Υποβάλλεται στο Πανεπιστήμιο Κύπρου ως μερική συμπλήρωση των απαιτήσεων για την απόκτηση Πτυχίου Ηλεκτρολόγου Μηχανικού

Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Μάιος 2009

Page 4: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

AΝΑΛΥΣΗ ΦΩΝΗΣ ΓΙΑ ΑΝΑΓΝΩΡΙΣΗ ΛΕΞΕΩΝ ΠΟΥ ΜΠΟΡΟΥΝ ΝΑ ΧΡΗΣΙΜΟΠΟΙΗΘΟΥΝ ΓΙΑ ΕΝΕΡΓΟΠΟΙΗΣΗ ΕΝΤΟΛΩΝ ΜΕ

ΦΩΝΗ

από τον Ηλία Ηλία

Εξεταστική επιτροπή: Κωνσταντίνος Πίτρης, Επίκουρος Καθηγητής, Τμήμα ΗΜΜΥ, Ακαδημαϊκός Σύμβουλος Γεώργιος Μίτσης, Λέκτορας, Τμήμα ΗΜΜΥ, Μέλος Επιτροπής

Page 5: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

i

Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the

future, in voice activated devices. Different methods of analysis were examined. The

methods were ascending sorting, using the power spectral density, and a logarithmic

histogram. Neural networks which were able to recognize pre-trained words and also to

separate male from female voice were created. The neural networks effectiveness was

evaluated using three different approaches.

A word database was created from recordings performed in our laboratory, where

the amount of background noise was controlled. The recordings were carried out in

conditions where there was very little background noise. We will later be able to add

noise to the sound signal if required. The data set of voice recordings included 30 human

speakers (15 male, 15 female) to assure that there are adequate speech samples from a

variety of different people with various accents and voice qualities (e.g. low-pitched

voices, high-pitched voices). A computer was set up with a microphone and custom

software to record sound. The sound was recorded at a sampling rate of 100 kHz. The

high sampling rate would be downsampled later to lower sampling rates as required. Each

sound recording lasted for 2 seconds. The procedure required each speaker to sit at the

computer in front of the microphone and, when ready, press a button to initiate the

recording program. Once the button was pressed, the program record and then continue to

the next word automatically until all words are recorded. Each speaker recorded 10

samples for each of 100 preselected words (1000 recordings/speaker.) This number can

be increased in the future by adding more words to the data set.

Different features of each word were selected for each experiment. In each case a

neural network was trained with a number of the samples and then tested on the

remaining samples. The sampling rate was reduced to 8 kHz sampling for these

experiments. The features included ascending sorting, power spectral density, and

logarithmic histogram. Initially half of the samples were used for training, and the other

half for testing. We also experimented using a different number of samples in the training

and test sets. The training parameters of the neural networks were also varied.

After evaluations of all the methods, the best method and parameters were

selected for each case. For separating male from female voices (word “Hello”) using the

Page 6: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

ii

power spectral density resulted in 93.3% success. In two word separation the success

varied from 80.6 % (“on” and “off”) to 93.9 % (“open” and “close”) with power spectral

density. Finally, for ten word separation the success was 78.8% using the log histogram

method. These results are very encouraging and warrant further investigation in the

future.

Page 7: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

iii

Περίληψη Η διπλωματική αυτή αφορά την ενεργοποίηση εντολών με τη φωνή. Σε γενικές

γραμμές πήραμε δείγματα από άτομα σε συγκεκριμένες λέξεις και τις αναλύσαμε με

διαφορετικές μεθόδους. Οι μέθοδοι αυτοί ήταν η κατά αύξουσα ταξινόμηση, η χρήση της

πυκνότητας κατανομής φασματικής ισχύος και λογαριθμικό ιστόγραμμα. Κατόπιν

δημιουργήσαμε διάφορα νευρωνικά δίκτυα τα οποία ήταν ικανά να αναγνωρίσουν λέξεις

και το φύλο του δείγματος και ελέγξαμε την αποτελεσματικότητα των δικτύων σε λέξεις

τις οποίες εκπαιδεύσαμε τα νευρωνικά μας δίκτυα. Τέλος είδαμε την αποδοτικότητα της

κάθε μεθόδου με τρεις διαφορετικούς κώδικες απόδοσης.

Οι ηχογραφήσεις έγιναν στο εργαστήριο μας όπου ο θόρυβος ήταν ελεγχόμενος.

Ο θόρυβος σε αυτές τις ηχογραφήσεις ήταν ελάχιστος. Αν χρειαστεί, αργότερα, μπορεί

να προστεθεί θόρυβος στο σήμα φωνής. Η βάση δεδομένων από ηχογραφημένες φωνές

δημιουργήθηκε με 15 άντρες και 15 γυναίκες . Χρησιμοποιήσαμε ένα ηλεκτρονικό

υπολογιστή με μικρόφωνο και συγκεκριμένο πρόγραμμα για την ηχογράφηση των

λέξεων. Η δειγματοληψία του ήχου ήταν στα 100kHz. Θέσαμε ψηλή δειγματοληψία

ώστε να μπορούμε να την μειώσουμε αργότερα σε όποιο σημείο θέλαμε. Κάθε

ηχογραφημένη λέξη διαρκούσε 2 δευτερόλεπτα. Η διαδικασία προέβλεπε τον χρήστη να

κάθεται μπροστά από τον ηλεκτρονικό υπολογιστή με το μικρόφωνο, και όταν ήταν

ετοιμος με το πάτημα του πλήκτρου ξεκινούσε η ηχογράφηση. Το πρόγραμμα

προχωρούσε στην επόμενη λέξη αυτόματα μέχρι να τις ηχογραφήσει όλες. Από τα άτομα

ζητήθηκε να πουν 100 λέξεις από 10 φορές τη κάθε μια, σύνολο 1000 για κάθε άτομο.

Διαφορετικές μέθοδοι ανάλυσης χρησιμοποιήθηκαν σε κάθε πείραμα. Σε κάθε

περίπτωση το νευρωνικό δίκτυο εκπαιδευόταν με ένα μέρος των δειγμάτων και

ελεγχόταν με τα υπόλοιπα. Τα πειράματα μας χρησιμοποιούσαν ρυθμό δειγματοληψίας

στα 8kHz. Οι μέθοδοι ανάλυσης ήταν η κατά αύξουσα ταξινόμηση, η χρήση της

πυκνότητας κατανομής φασματικής ισχύος και λογαριθμικό ιστόγραμμα. Αρχικά τα μισά

δείγματα χρησιμοποιήθηκαν για εκμάθηση και τα υπόλοιπα για έλεγχο.

Πειραματιστήκαμε επίσης με διαφορετικές αναλογίας για εκμάθηση και έλεγχο καθώς

και διαφορετικές παραμέτρους των νευρωνικών δικτύων.

Μετά από αξιολόγηση όλων των μεθόδων, προσδιορίστηκε η καλύτερη μέθοδος

για κάθε περίπτωση. Για διαχωρισμό ανδρών από γυναίκες (με βάση τη λέξη “Hello”)

Page 8: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

iv

χρησιμοποιώντας την πυκνότητα φασματικής ισχύος είχαμε 93.3% επιτυχία. Για

διαχωρισμό δύο λέξεων, η επιτυχία κυμαινόταν από 80.6% (“on” και “off”) σε 93.9%

(“open”και “close”) επίσης με πυκνότητα φασματικής ισχύος. Τέλος, για διαχωρισμό 10

λέξεων, η επιτυχία ήταν 78.8% χρησιμοποιώντας λογαριθμικό ιστόγραμμα. Αυτά τα

αποτελέσματα είναι πολύ ενθαρρυντικά και δικαιολογούν περαιτέρω διερεύνηση στο

μέλλον.

Page 9: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

v

Πίνακας Περιεχομένων

1. Εισαγωγή…………………………………………………………………………1

2. Μέθοδοι…………………………………………………………………………...4

2.1. Ιστόγραμμα………………………………………………………………..4

2.2. Ταξινόμηση………………………………………………………………..6

2.3. Φάσμα Συχνοτήτων……………………………………………………….7

2.3.1. Ανάλυση Φάσματος………………………………………………8

2.3.2. Διακριτός Μετασχηματισμός Φουριέ……………………………9

2.3.4. Μεθοδολογία Welch…………………………………..…………10

3. Νευρωνικά Δύκτια……………………………………………………………...11

3.1. Τι είναι τα νευρωνικά δύκτια………………………………………..…...11

3.2. Νευρωνικά μοντέλα……………………………………………………...13

3.3. Συναρτήσεις Μεταφοράς………………………………………………...14

3.3.1. Hard-limit Transfer function……………………………………..14

3.3.2. Linear Transfer Function………………………………………...14

3.3.3. Sigmoid transfer function………………………………………..15

3.4. Νευρώνας με είσοδο διάνυσα ………………………………………….15

3.5. Αρχιτεκτονικές δικτύων………………………………………………….17

3.5.1. Μονό Στρώμα Νευρώνα…………………………………………17

3.5.2. Πολλαπλά στρώματα νευρώνων…………………………………18

4. Μέθοδοι Εκπαίδευσης………………………………………………………….19

4.1. Backpropagation…………………………………………………………19

4.2. Αρχιτεκτονική……………………………………………………………20

4.3. Feedforward Δίκτυα……………………………………………………..22

4.4. Αλγόριθμοι Backpropagation……………………………………………22

4.4.1. Batch Training…………………………………………...23

4.4.2. Batch Gradient Descent (traingd)………………………..23

4.4.3. Levenberg-Marquardt (TrainLM)………………………..24

Page 10: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

vi

5. Επεξήγηση Εργαλείων………………………………………………………….26

5.1. Speech Record GUI……………………………………………………...26

5.2. NNTOOL………………………………………………………………...27

6. Διαδικασία………………………………………………………………………34

6.1. Simulations Classification……………………………………………….35

6.2. Κατηγοριοποίηση

Πειραμάτων…………………………………………...38

6.3. Εκτενέστερη εξήγηση κώδικα…………………………………………...40

6.3.1. Κώδικας Δημιουργίας Πινάκων Εκμάθησης-Ελέγχου 2 Ταξεων..40

6.3.2.Κωδικας Δημιουργίας Πινάκων Εκμάθησης-Ελέγχου 10 Τάξεων...46

6.3.3. Κώδικας Απόδοσης………………………………………………50

7. Αποτελέσματα......................................................................................................54

References ........................................................................................................................60

Codes……………….Appendix A ..................................................................................61

Words List.................Appendix B ..................................................................................74

Recording Info……Appendix C...................................................................................75

Results……………...Appendix D...................................................................................76

Page 11: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

1

Εισαγωγή

Η αναγνώριση λέξεων(επίσης γνωστή ως αυτόματη αναγνώριση λέξεων) μετατρέπει τις

προφορικές λέξεις σε είσοδο η οποία αναγνωρίζεται σε γλώσσα μηχανής από τους

υπολογιστές. Ο όρος " αναγνώριση φωνής" μερικές φορές ανακριβώς χρησιμοποιείται

για να αναφερθεί στη αναγνώριση λέξεων, στην πραγματικότητα αναφέρεται στην

αναγνώριση ομιλητών, η οποία προσπαθεί να προσδιορίσει το πρόσωπο που μιλά, σε

αντιδιαστολή με αυτό που λέγεται. Λόγω αυτής της σύγχυσης εννοιών , οι

δημοσιογράφοι και οι κατασκευαστές των συσκευών που χρησιμοποιούν τη αναγνώριση

λέξεων, χρησιμοποιούν συνήθως τον όρο αναγνώριση φωνής αλλά εννοούν αναγνώριση

λέξης.

Οι εφαρμογές της αναγνώρισης λέξεων περιλαμβάνουν τη κλίση από τηλέφωνο

με φωνή (π.χ., " Κάλεσε Σπίτι"), δρομολόγηση κλήσης, έλεγχος συσκευών και έρευνα

βασισμένη στην προφορική ακουστική αναζήτηση, απλή εισαγωγή δεδομένων (π.χ., που

εισάγουν έναν αριθμό πιστωτικής κάρτας), προετοιμασία των δομημένων εγγράφων

(π.χ., μια έκθεση ακτινολογίας), της επεξεργασίας ομιλία--κειμένων (π.χ., επεξεργαστές

κειμένου ή ηλεκτρονικά ταχυδρομεία), και στα πιλοτήρια αεροσκαφών (που καλούνται

συνήθως φωνή που εισάγεται την άμεση).

Σε αυτή τη διπλωματική δημιουργήσαμε μια βάση δεδομένων. Δεν μπορούσαμε

να βρούμε μια δωρεάν βάση δεδομένων με τις δικές μας προδιαγραφές, για αυτό

φτιάξαμε τη δική μας την οποία μπορούμε να χρησιμοποιήσουμε στο μέλλον για

οποιαδήποτε άλλη περαιτέρω έρευνα. Δημιουργήσαμε βάση δεδομένων με λέξεις οι

οποίες έχουν ουσία για την έρευνα μας και ο τρόπος με τον οποίο την κάναμε μας δίνει

τη δυνατότητα να επιλέγουμε οποιαδήποτε λέξη θέλουμε. Επιπλέον μέσα σε αυτές τις

λέξεις έχουμε και όμοιες μεταξύ τους για να ελέγξουμε πόσο confusable μπορεί να είναι

ένα νευρωνικό δίκτυο όπως επίσης τα δείγματα μας είναι 50% αρσενικά και θηλυκά.

Page 12: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

2

Όμως ο σημαντικότερος λόγος που έγινε αυτή η διπλωματική είναι για να έχουμε

μέτρα σύγκρισης με άλλες μεθόδους. Η δική μας μέθοδος ήταν η κλασσική παραδοσιακή

χρήση νευρωνικών δικτύων. Όμως αυτή η διπλωματική υπάγεται σε μια μεγαλύτερη

ερεύνα.

Η έρευνα αυτή είναι η δημιουργία νευρωνικών δικτύων με rank order coding. Αυτή η

μέθοδος είναι η επανάσταση των νευρωνικών δικτύων η οποία προσπαθεί να μιμηθεί όσο

πιο πολλά γίνεται τον ανθρώπινο εγκέφαλο. Έτσι έπρεπε να συγκριθεί με τον

παλιομοδίτικο τρόπο για να δούμε αν πράγματι αξίζει αυτή η νέα προσέγγιση των

νευρωνικών δικτύων. Στο μέλλον θα γίνει εξέλιξη των νευρωνικών δικτύων για ακόμα

περισσότερες λέξεις και συνδυασμούς.

Στη δική μας έρευνα θα δημιουργήσουμε ένα νευρωνικό δίκτυο το οποίο θα έχει την

ικανότητα να ξεχωρίζει αν η λέξη προηλθε από αρσενικό η θηλυκό άτομο.

Επίσης δυο άλλα δίκτυα θα έχουν την ικανότητα να ξεχωρίζουν δυο λέξεις το καθένα. Το

ένα δυο όμοιες ακουστικά λέξεις και το άλλο δυο ανόμοιες ακουστικά λέξεις. Το τελικό

μας πείραμα θα ήταν η δημιουργία νευρωνικού δικτύου με την ικανότητα αναγνώρισης

10 διαφορετικών λέξεων.

Για τα πειράματα μας θα χρησιμοποιήσουμε τρεις διαφορετικές μεθόδους. Αυτές

είναι:

1. Αύξουσα Ταξινόμηση

2. Λογαριθμικό ιστόγραμμα

3. Πυκνότητα Κατανομής Ισχύος(Welch method)

Σε κάθε μέθοδο χρησιμοποιήσαμε τις διάφορες παραμέτρους, οι οποίες για κάθε

πείραμα ήταν οι ίδιες μεταξύ του ώστε να μπορέσουμε να συγκρίνουμε τα αποτελέσματα

μεταξύ τους. Συνολικά κάναμε 4 βασικά πειράματα τα οποία είναι:

1. Αναγνώριση Φύλου

2. Αναγνώριση 2 όμοιων ακουστικά λέξεων

3. Αναγνώριση 2 μη όμοιων ακουστικά λέξεων

4. Αναγνώριση 10 διαφορετικών λέξεων

Page 13: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

3

Τα πρώτα 3 ήταν η προετοιμασία για το 4ο. Με βάση των πρώτων 3 επιλέξαμε τις

καταλληλότερες μεθόδους και παραμέτρους για το τελικό μας πείραμα.

Επιπλέον για το τελικό μας πείραμα χρησιμοποιήσαμε 3 διαφορετικές μεθόδους ελέγχου

απόδοσης του νευρωνικού δικτυού.

Σε αυτή την αναφορά θα εξετάσουμε τις μεθόδους που έχουμε χρησιμοποίηση σε αυτή

τη διπλωματική. Θα δείξουμε οδηγίες χρήσης του εργαλείου για την κατασκευή των

νευρωνικών δικτύων και για όλα τα εργαλεία που χρησιμοποιήσαμε. Θα υπάρξει

λεπτομερής επεξήγηση του κώδικα και πίνακες με όλα τα αποτελέσματα του κάθε

πειράματος ξεχωριστά.

Page 14: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

4

Κεφάλαιο 2. Μεθόδοι

2.1 Ιστόγραμμα

Στις στατιστικές, ένα ιστόγραμμα είναι μια γραφική επίδειξη των ταξινομημένων σε

πίνακες, που παρουσιάζονται ως στήλες. Παρουσιάζει ποιο ποσοστό των περιπτώσεων

εμπίπτει σε κάθε μια από διάφορες κατηγορίες: είναι μια μορφή στοιχείων. Οι

κατηγορίες διευκρινίζονται συνήθως όπως μη-επικαλύπτοντας διαστήματα κάποιας

μεταβλητής. Οι κατηγορίες φραγμοί πρέπει να είναι παρακείμενες. Τα διαστήματα (ή

ζώνες, ή δοχεία) είναι γενικά του ίδιου μεγέθους, αυτό καθιστά ευκολότερη την ερμηνεία

ενός ιστογράμματος. Επιπλέον θεωρείται ευρέως αποδεκτό η κάθε ζώνη να έχει το ίδιο

μέγεθος.

Τα ιστόγραμμα χρησιμοποιούνται σε διάφορες περιπτώσεις. Παραδείγματος χάρη

στην κατά προσέγγιση πυκνότητα των στοιχείων όπως να βρίσκει προσεγγιστικά την

συνάρτηση πυκνότητας πιθανότητας.

Αξίζει να σημειωθεί ότι πάντα η συνολική περιοχή ενός ιστόγραμμου είναι ίση με τη

μονάδα (1).

Το ιστόγραμμα είναι μια συνοπτική γραφική παράσταση που παρουσιάζει μια

αρίθμηση των σημείων στοιχείων που εμπίπτουν στις διάφορες σειρές. Η επίδραση είναι

μια τραχιά προσέγγιση της διανομής συχνότητας των στοιχείων. Οι ομάδες στοιχείων

καλούνται κατηγορίες, και στα πλαίσια ενός ιστόγραμμου είναι γνωστές ως δοχεία,

επειδή κάποιο μπορεί να σκεφτεί τις ως εμπορευματοκιβώτια που συσσωρεύουν τα

στοιχεία και γεμίζει σε ένα ποσοστό ίσο με τη συχνότητα εκείνης της κατηγορίας

στοιχείων.

Page 15: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

5

Ένα μικρό παράδειγμα για να καταλάβουμε καλύτερα τι είναι το ιστόγραμμα.

Ένας καθηγητής έχει κάνει εξέταση στους μαθητές του και θέλει να ελέγξει την απόδοση

των μαθητών με βάση ένα ιστόγραμμα.. Τα αποτελέσματα της εξέτασης είναι τα πιο

κάτω.

Κατηγορία 0-9 10-19 20-29 30-39 40-49 50-59 60-69 70-79 80-89 90-99

Συχνότητα 1 2 3 4 5 4 3 2 2 1

Ιστόγραμμα

Τη μέθοδο του ιστογράμματος έχουμε χρησιμοποιήσει σε μια από αναλύσεις δεδομένων

μας.

Page 16: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

6

2.2 Ταξινόμηση

Τί είναι η ταξινόμηση;

Η ταξινόμηση είναι η διαδικασία στην οποία τοποθετώ τα στοιχεία σε σημαντική

διαταγή έτσι ώστε μπορείτε να τα αναλύσουμε αποτελεσματικότερα.

Υπάρχουν διαφόρων ειδών ταξινομήσεων. Μπορούμε να ξεκινήσουμε από τις πιο

απλές ταξινομήσεις και να καταλήξουμε σε πολύπλοκες.

Όπως είδαμε και πιο πάνω μπορούμε να χαρακτηρίσουμε και το ιστόγραμμα ως ένα

είδος ταξινόμησης.

Η πιο απλή μορφή ταξινόμησης που θα μπορούσαμε να χρησιμοποιήσουμε είναι να

βάλουμε σε μια ανοδική η καθοδική σειρά τα δεδομένα.

Παραδείγματος χάριν έχω 10 στοιχειά τα οποία παίρνω τυχαίες τιμές από μια κατανομή

Poisson

rp = random('Poisson',1:10,1,10)

rp =0 2 4 4 3 4 7 13 11 7

rp=rp' (το κάνουμε στήλη, θα εξηγήσουμε αργότερα)

rp =

0

2

4

4

3

4

7

13

11

7

sorted=sort(rp,1,'ascend') sorted = 0 2 3 4 4 4 7 7 11 13

sorted=sort(rp,1,'descend') sorted = 13 11 7 7 4 4 4 3 2 0

Δίπλα είναι τα τυχαία

αποτελέσματα μας σε

καθοδική και ανοδική

ταξινόμηση

αντίστοιχα.

Page 17: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

7

2.3 Φάσμα Συχνοτήτων

Μια πηγή φωτός μπορεί να αναμίξει πολλά χρώματα μαζί και στα διαφορετικά

ποσά, εντάσεις. Ένα ουράνιο τόξο, ή το πρίσμα, στέλνει τις διαφορετικές συχνότητες

στις διαφορετικές κατευθύνσεις, που καθιστούν τις χωριστά ορατές στις διαφορετικές

γωνίες. Μια γραφική παράσταση της έντασης που σχεδιάζεται σε σχέση με τη συχνότητα

και παρουσιάζει το ποσό κάθε χρώματος, είναι το φάσμα συχνότητας του φωτός. Όταν

όλες οι ορατές συχνότητες είναι παρούσες στα ίσα ποσά, η επίδραση είναι το " color" το

λευκό, και το φάσμα είναι μια επίπεδη γραμμή. Επομένως, τα φάσματα επίπεδος-

γραμμών γενικά αναφέρονται συχνά ως άσπρα, εάν αντιπροσωπεύουν το φως ή το κάτι

άλλο.

Ομοίως, μια πηγή ήχου μπορεί να αναμίξει πολλές διαφορετικές συχνότητες από

κοινού. Κάθε συχνότητα υποκινεί έναν διαφορετικό δέκτη μήκους στα αυτιά μας. Όταν

μόνο ένα μήκος είναι κυρίως υποκινημένο, ακούμε μια σημείωση. Ένας σταθερός hissing

ήχος ή μια ξαφνική συντριβή υποκινεί όλους τους δέκτες, έτσι λέμε ότι περιέχει μερικά

ποσά όλων των συχνοτήτων στην ευδιάκριτη σειρά μας. Τα πράγματα στο περιβάλλον

μας στο οποίο αναφερόμαστε ως θόρυβος περιλαμβάνουν συχνά πολλές διαφορετικές

συχνότητες. Επομένως, όταν το υγιές φάσμα είναι επίπεδο, καλείται άσπρος θόρυβος.

Αυτός ο όρος μεταφέρει σε άλλους τύπους φασμάτων από υγιείς. Κάθε ραδιόφωνο και

τηλεοπτικό κανάλι ραδιοφωνικής μετάδοσης μεταδίδουν ένα κύμα σε ένα ορισμένο πεδίο

συχνότητας. Μια ραδιο-κεραία τους προσθέτει όλους μαζί σε μια ενιαία λειτουργία του

εύρους (τάση) εναντίον του χρόνου. Ο ραδιο-δέκτης διαλέγει ένα κανάλι τη φορά, όπως

κάθε έναν από τους δέκτες στα αυτιά μας. Μερικά κανάλια είναι ισχυρότερα από άλλα.

Εάν κάναμε μια γραφική παράσταση της δύναμης κάθε καναλιού εναντίον της

συχνότητας του δέκτη, θα ήταν το φάσμα συχνότητας του σήματος κεραιών.

Page 18: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

8

2.3.1. Ανάλυση φάσματος

Η ανάλυση σημαίνει να μεταφέρω κάτι σύνθετο στα απλούστερα, πιο βασικά

μέρη. Δεδομένου ότι έχουμε δει, υπάρχει μια φυσική βάση για το φως, τον ήχο, και τα

ραδιο-κύματα τα οποία αποτελούνται από τα διάφορα ποσά όλων των διαφορετικών

συχνοτήτων. Οποιαδήποτε διαδικασία που ποσολογεί τα διάφορα ποσά εναντίον της

συχνότητας μπορεί να κληθεί ανάλυση φάσματος. Μπορεί να γίνει σε πολλά σύντομα

τμήματα του χρόνου, ή λιγότερο συχνά στα πιο μακροχρόνια τμήματα, ή ακριβώς μια

φορά για μια συνάρτηση(όπως ).

Ο μετασχηματισμός Φουριέ μιας λειτουργίας παράγει ένα φάσμα από το οποίο η

αρχική λειτουργία μπορεί να αναδημιουργηθεί από μια αντίστροφη μετατροπή, που

καθιστά την αντιστρέψιμη. Προκειμένου να κάνει ότι, συντηρεί όχι μόνο το μέγεθος

κάθε τμήματος συχνότητας, αλλά και τη φάση του. Αυτές οι πληροφορίες μπορούν να

αντιπροσωπευθούν ως 2 διαστάσεων διάνυσμα ή ως σύνθετο αριθμό, ή ως μέγεθος και

φάση (πολικές συντεταγμένες). Στις γραφικές αντιπροσωπεύσεις, συχνά μόνο το τμήμα

μεγέθους (ή τετράγωνο μέγεθος) παρουσιάζεται. Αυτό αναφέρεται επίσης ως φάσμα

ισχύς.

Λόγω της αντιστρεψιμότητας, ο μετασχηματισμός Φουριέ καλείται

αντιπροσώπευση της λειτουργίας, από την άποψη της συχνότητας αντί του χρόνου,

επομένως, αυτό είναι μια αντιπροσώπευση πεδίου συχνότητας. Οι γραμμικές διαδικασίες

που θα μπορούσαν να εκτελεστούν στη χρονική περιοχή έχουν τα αντίστοιχα που

μπορούν συχνά να εκτελεστούν ευκολότερα στο πεδίο συχνότητας. Είναι επίσης χρήσιμο

ακριβώς για την κατανόηση και την ερμηνεία των αποτελεσμάτων των διάφορων

διαδικασιών χρόνος-περιοχών, και γραμμικών και μη γραμμικών. Για παράδειγμα, μόνο

οι μη γραμμικές διαδικασίες μπορούν να δημιουργήσουν τις νέες συχνότητες στο φάσμα.

Ο μετασχηματισμός Φουριέ ενός τυχαίου κυματοειδούς είναι επίσης τυχαίος.

Κάποιο είδος υπολογισμού μέσου όρου απαιτείται προκειμένου να δημιουργηθεί μια

σαφής εικόνα του περιεχομένου συχνότητας. Χαρακτηριστικά, το στοιχείο διαιρείται σε

χρόνο-τμήματα μιας επιλεγμένης διάρκειας, και οι μετατροπές εκτελούνται σε καθεμία.

Κατόπιν τα τμήματα μεγέθους ή των μετατροπών αθροίζονται σε μια μέση μετατροπή.

Page 19: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

9

Αυτό είναι μια πολύ κοινή λειτουργία που εκτελείται στα ψηφιακά χρόνο-

στοιχεία, που χρησιμοποιούν τον διακριτό μετασχηματισμό Φουριέ. Όταν το αποτέλεσμα

είναι επίπεδο, όπως έχουμε πει, αναφέρεται συνήθως ως άσπρος θόρυβος.

2.3.2. Διακριτός Μετασχηματισμός Φουριέρ

Στα μαθηματικά, ο μετασχηματισμός Φουριέ είναι μια λειτουργία που

μετασχηματίζει μια συνάρτηση πραγματικών μεταβλητής σε άλλη. Η νέα συνάρτηση,

έχει αντιπροσώπευση στο πεδίο συχνότητας της αρχικής συνάρτησης, περιγράφει ποιες

συχνότητες είναι παρούσες στην αρχική λειτουργία. Αυτό είναι σε παρόμοιο πνεύμα

στον τρόπο ότι μια χορδή της μουσικής μπορεί να περιγράφει από τις σημειώσεις που

παίζονται.

Στην πραγματικότητα, ο μετασχηματισμός Φουριέ αποσυνθέτει μια λειτουργία σε

άλλες συναρτήσεις ταλαντώσεων.. Σε αυτήν την συγκεκριμένη περίπτωση, και οι

περιοχές της αρχικής λειτουργίας και της αντιπροσώπευσης πεδίου συχνότητάς της είναι

συνεχείς και απεριόριστες. Ο μετασχηματισμός κατά Φουριέ όρου μπορεί να αναφερθεί

και στην αντιπροσώπευση πεδίου συχνότητας μιας συνάρτησης.

Ο discrete-time μετασχηματισμός κατά Φουριέ (DTFT) είναι μια από τις

συγκεκριμένες μορφές ανάλυσης Fourier. Αλλά το DTFT απαιτεί μια είσοδο δεδομένων

Page 20: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

10

που είναι διακριτή. Τέτοιες είσοδοι δημιουργούνται με τη δειγματοληψία μιας συνεχούς

συνάρτησης, όπως είναι η φωνή ενός άτομο.

2.3.4. Μεθοδολογία Welch

Στη φυσική, την εφαρμοσμένη μηχανική, και τα εφαρμοσμένα μαθηματικά,

Welch' η μέθοδος του s, που ονομάζεται μετά από P.D. Welch, χρησιμοποιείται για τον

υπολογισμό της ισχύς ενός σήματος σε σχέση με τη συχνότητα, η οποία μέθοδος μειώνει

το θόρυβο έναντι άλλων μεθόδων. Η μέθοδος Welch είναι βασισμένη στην έννοια της

χρησιμοποίησης periodοgrams, τα οποία μετατρέπουν ένα σήμα από τη χρονική περιοχή

στο πεδίο συχνότητας. Η μέθοδος Welch είναι μια βελτίωση στην τυποποιημένα

periodgram και τη μέθοδο του Bartlett η οποία μειώνει το θόρυβο στα φάσματα ισχύος

σε αντάλλαγμα τη μείωσης της ανάλυσης συχνότητας. Λόγω του θορύβου που

προκαλείται από τα ατελή και πεπερασμένα στοιχεία, η μείωση θορύβου από μέθοδο

Welch επιδιώκεται συχνά.

Επιστρέφει τη πυκνότητας φασματικής ισχύς Power Spectral Density (PSD), ενός

discrete-time διανύσματος Χ σημάτων που χρησιμοποιεί Welch' s που υπολογίζεται κατά

μέσο όρο, τροποποιημένη periodgram μέθοδος.

Page 21: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

11

Κεφάλαιο 3. Νευρωνικά Δίκτυα

Η συντριπτική πλειονότητα των επιστημονικών ανακαλύψεων πηγάζει από τη

παρατήρηση φυσικών φαινομένων, ζωντανών πλασμάτων και από την μελέτη και έρευνα

λειτουργιών από ζώα, έντομα, μικροοργανισμούς, γενικά όλους τους οργανισμούς αλλά

και από την μελέτη του ίδιου του ανθρώπινου οργανισμού.

Πάρα πολλά τεχνολογικά επιτεύγματα, ανακαλύψεις βασίζονται στη παρατήρηση των

λειτουργιών των ζωτικών οργάνων μας.

Ένα από τα όργανα του ανθρώπινου σώματος το οποίο μελετήθηκε, μελετείται αλλά και

θα συνεχίσει να μελετείται είναι ο ανθρώπινος εγκέφαλος. Οι ικανότητες που έχει το

όργανο αυτό αφήνει άναυδους όλους τους επιστήμονες καθώς προσπαθούν να

ανακαλύψουν όσο περισσότερα μπορούν.

Η δομή του ανθρώπινου εγκεφάλου βασίζεται στα νευρωνικά δίκτυα, σε ένα

πολύπλοκο σύμπλεγμα νευρωνικών δικτύων τα οποία συνεργάζονται με απίστευτη

ακρίβεια και ομαλότητα μεταξύ τους για να ελέγχουν σχεδόν τα πάντα στο ανθρώπινο

σώμα.

Έρευνες έχουν γίνει και γίνονται για την κατανόηση αυτών των νευρωνικών δικτύων.

Επιστήμονες έχουν αναπτύξει νευρωνικά δίκτυα τα οποία προσπαθούν αν μιμηθούν τον

εγκέφαλο, ώστε μέσα από την έρευνα και ανάπτυξη των τεχνολογιών αυτών να

εφαρμοστούν σε διάφορους τομείς.

3.1. Τι είναι τα νευρωνικά δίκτυα Τα νευρικά δίκτυα αποτελούνται από τα απλά στοιχεία που λειτουργούν

παράλληλα. Αυτά τα στοιχεία εμπνέονται από τα βιολογικά νευρικά συστήματα. Όπως

στη φύση, η λειτουργία δικτύων καθορίζεται κατά ένα μεγάλο μέρος από τις συνδέσεις

μεταξύ των στοιχείων. Μπορείτε να εκπαιδεύσετε ένα νευρικό δίκτυο για να εκτελέσετε

μια ιδιαίτερη λειτουργία με τη ρύθμιση των τιμών των συνδέσεων (βάρη) μεταξύ των

στοιχείων. Τα συνήθως νευρικά δίκτυα ρυθμίζονται, ή εκπαιδεύονται, έτσι ώστε μια

ιδιαίτερη εισαγωγή οδηγεί σε μια συγκεκριμένη παραγωγή στόχων. Μια τέτοια

κατάσταση παρουσιάζεται κατωτέρω. Εκεί, το δίκτυο ρυθμίζεται, βασισμένος σε μια

σύγκριση της παραγωγής και του στόχου, έως ότου ταιριάζει με η παραγωγή δικτύων το

Page 22: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

12

στόχο. Χαρακτηριστικά πολλοί τέτοια ζευγάρια εισαγωγής/στόχων απαιτούνται για να

εκπαιδεύσουν ένα δίκτυο.

Η κατάρτιση batch ενός δικτύου προχωρά με να καταστήσει το βάρος και τις

προκατειλημμένες αλλαγές βασισμένα σε ένα ολόκληρο σύνολο (batch) διανυσμάτων

εισαγωγής. Η επαυξητική κατάρτιση αλλάζει τα βάρη και τις προκαταλήψεις ενός

δικτύου όπως απαιτούνται μετά από την παρουσίαση κάθε μεμονωμένου διανύσματος

εισαγωγής. Η επαυξητική κατάρτιση αναφέρεται μερικές φορές ως τη «σε απευθείας

σύνδεση» ή «προσαρμοστική» κατάρτιση. Τα νευρικά δίκτυα έχουν εκπαιδευθεί για να

εκτελέσουν τις σύνθετες λειτουργίες σε διάφορο τομείς της εφαρμογής

συμπεριλαμβανομένης της αναγνώρισης σχεδίων, του προσδιορισμού, της ταξινόμησης,

της ομιλίας, του οράματος και των συστημάτων ελέγχου. Σήμερα τα νευρικά δίκτυα

μπορούν να εκπαιδευθούν για να λύσουν τα προβλήματα που είναι δύσκολα για τους

συμβατικούς υπολογιστές ή τα ανθρώπινα όντα.

Οι εποπτευόμενες μέθοδοι κατάρτισης χρησιμοποιούνται συνήθως, αλλά άλλα

δίκτυα μπορούν λαμβάνεται από τις ανεπίβλεπτες τεχνικές κατάρτισης ή από το άμεσο

σχέδιο μέθοδοι. Τα ανεπίβλεπτα δίκτυα μπορούν να χρησιμοποιηθούν, για παράδειγμα,

για να προσδιορίσουν τις ομάδες στοιχείων. Ορισμένα είδη γραμμικών δικτύων και

δικτύων φυτειών λυκίσκου σχεδιάζονται άμεσα. Ο τομέας των νευρικών δικτύων έχει μια

ιστορία περίπου πέντε δεκαετιών αλλά έχει βρει τη στερεά εφαρμογή μόνο στα

προηγούμενα δεκαπέντε έτη, και ο τομέας αναπτύσσεται ακόμα γρήγορα. Κατά

συνέπεια, είναι ευδιάκριτα διαφορετικό από τους τομείς των συστημάτων ελέγχου ή της

Page 23: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

13

βελτιστοποίησης όπου η ορολογία, τα βασικά μαθηματικά, και το σχέδιο οι διαδικασίες

έχουν καθιερωθεί σταθερά και έχουν εφαρμοστεί για πολλά έτη.

3.2. Νευρωνικά Μοντέλα

Ένας νευρώνας με μια μονή είσοδο και χωρίς bias εμφανίζεται στο αριστερό πιο κάτω

σχήμα. Το δεξιό είναι νευρώνας με bias.

Η κλιμακωτή εισαγωγή p διαβιβάζεται μέσω μιας σύνδεσης που πολλαπλασιάζει τη

δύναμή της με το κλιμακωτό βάρος w, για να διαμορφώσει το προϊόν wp, πάλι ένας

κλιμακωτός. Εδώ η σταθμισμένη εισαγωγή wp είναι το μόνο επιχείρημα της συνάρτησης

μεταφοράς f, η οποία παράγει την κλιμακωτή παραγωγή a. Ο νευρώνας στο δικαίωμα

έχει μια κλιμακωτό bias b. Μπορείτε να δείτε την προκατάληψη τόσο απλά που

προστίθεται στο προϊόν wp όπως παρουσιάζεται από τη σύνδεση αθροίσματος ή ως

μετατόπιση της συνάρτηση μεταφοράς στο αριστερό κατά ένα ποσό b. Το bias είναι σαν

ένα βάρος, εκτός από το ότι έχει μια σταθερή εισαγωγή 1.

Η είσοδος n, είναι πάλι κλιμακωτή συνάρτηση μεταφοράς, είναι το ποσό της

σταθμισμένης εισαγωγής WP και το bias b. Αυτό το ποσό είναι το αποτέλεσμα της

συνάρτησης μεταφοράς f.

Εδώ το f είναι συνάρτηση μεταφοράς , ένα νηματικό σήμα ή μια sigmoid

λειτουργία, η οποία παίρνει το επιχείρημα n και παράγει την έξοδο α.

Page 24: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

14

Σημειώστε ότι το W και το b είναι και οι δύο διευθετήσιμες κλιμακωτές

παράμετροι του νευρώνα. Η κεντρική ιδέα των νευρικών δικτύων είναι ότι τέτοιες

παράμετροι μπορούν να ρυθμιστούν έτσι ώστε το δίκτυο εκθέτει κάποια επιθυμητή ή

ενδιαφέρουσα συμπεριφορά. Κατά συνέπεια, μπορούμε να εκπαιδεύσουμε το δίκτυο για

να κάνουμε μια ιδιαίτερη εργασία με τη ρύθμιση του βάρους ή των προκατειλημμένων

παραμέτρων, ή ίσως το ίδιο το δίκτυο θα ρυθμίσει αυτές τις παραμέτρους για να επιτύχει

κάποιο επιθυμητό τέλος.

3.3. Συναρτήσεις Μεταφοράς

2.3.1 Hard-limit Transfer function

H συνάρτηση μεταφοράς hard-limit που φαίνεται πιο πάνω περιορίζει την έξοδο του

νευρώνα σε 0 εάν η είσοδος n είναι μικρότερη του 0 ή η έξοδος του νευρώνα

περιορίζεται σε 1 εάν το n n είναι ίσο ή μεγαλύτερο του 0.

3.3.2. Linear Transfer Function

Page 25: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

15

Οι νευρώνες αυτού του τύπου χρησιμοποιούνται ως linear approximators στα «γραμμικά

φίλτρα».

3.3.3. Sigmoid transfer function

Η sigmoid transfer function που παρουσιάζεται παραπάνω παίρνει την είσοδο, η

οποία μπορεί να έχει οποιαδήποτε αξία μεταξύ συν και μείον άπειρο, και συμπιέζει την

παραγωγή στη σειρά 0 έως 1.

Αυτή η συνάρτηση μεταφοράς χρησιμοποιείται συνήθως στα backpropagation δίκτυα, εν

μέρει επειδή είναι παραγωγίσιμο.

3.4. Νευρώνας με είσοδο διάνυσμα

Στο πείραμα μας χρησιμοποιήσαμε διανύσματα για είσοδο.

Ένας νευρώνας με ένα R-στοιχειά εισόδου φαίνεται πιο κάτω:

Page 26: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

16

Ο νευρώνας έχει ένα bias b το όποιο προστίθεται με τα weighted inputs για να

δημιουργήσουν την καθαρή είσοδο n. Το άθροισμα είναι η είσοδος για την συνάρτηση

μεταφοράς.

Εδώ η ανυσματική είσοδος p αντιπροσωπεύεται από το μαύρο κουτί στα

αριστερά. Οι διαστάσεις του p παρουσιάζονται κάτω από το σύμβολο p με αριθμό ως

Rx1. (Σημειώστε ότι θα χρησιμοποιήσουμε ένα κεφαλαίο το γράμμα, όπως το R στην

προηγούμενη πρόταση, κατά αναφορά στο μέγεθος ενός διανύσματος.) Κατά συνέπεια,

το p είναι ένα διάνυσμα των στοιχείων εισαγωγής R.

Οι είσοδοι πολλαπλασιάζουν τον πίνακα γραμμή R με πίνακα στήλη W. Όπως

πριν, μια σταθερά 1 εισάγει το νευρώνα ως εισαγωγή και πολλαπλασιάζετε με ένα bias b.

Η καθαρή είσοδος στη συνάρτησης μεταφοράς f είναι η n, η οποία είναι το άθροισμα του

bias b και του γινομένου WP. Αυτή είναι η είσοδος για την συνάρτηση μεταφοράς f για

να πάρει την έξοδο a του νευρώνα. Σημειώστε ότι εάν είχαμε περισσότερους από έναν

νευρώνες, η έξοδος των δικτύων θα ήταν ένα διάνυσμα όπως και στην περίπτωση μας.

Page 27: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

17

Ένα στρώμα ενός δικτύου ορίζεται όπως παρουσιάζεται ανωτέρω

αναπαράσταση. Ένα στρώμα περιλαμβάνει το συνδυασμό των βαρών, τον

πολλαπλασιασμό και το άθροισμα της λειτουργίας (που πραγματοποιούνται εδώ ως

διανυσματικό προϊόν WP), του bias b, και της συνάρτησης μεταφοράς f. O πίνακας

εισόδων, διάνυσμα p, δεν συμπεριλαμβάνεται στο στρώμα.

3.5. Αρχιτεκτονικές Δικτύων

3.5.1. Μονό Στρώμα Νευρώνα

Ένα μονό στρώμα δικτύου με R στοιχειά εισόδους και με S νευρώνες φαίνεται

πιο κάτω

Σε αυτό το δίκτυο, κάθε στοιχείο της διανυσματικής εισόδου p συνδέεται με κάθε

νευρώνα που εισάγεται μέσω του πίνακα βαρών W. Ο νιοστός νευρώνας έχει ένα

άθροισμα που συλλέγει τις σταθμισμένες εισαγωγές και το bias του για να διαμορφώσει

την κλιμακωτή έξοδο του n(i).

Τα διάφορα n(i) που παίρνονται μαζί διαμορφώνουν μια καθαρή διανυσματική

είσοδο n S-στοιχείων. Τέλος, οι έξοδοι του στρώματος νευρώνα διαμορφώνουν μια

στήλη διάνυσμα a.

Page 28: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

18

3.5.2 Πολλαπλά Στρώματα Νευρώνων Ένα δίκτυο μπορεί να έχει πολλά στρώματα νευρώνων. Το δικό μας δίκτυο έχει 2

στρώματα νευρώνων. Το κάθε στρώμα έχει το δικό του πίνακα στάθμισης W, τη

στάθμιση b και μια διανυσματική έξοδο a. Στην επόμενη σελίδα παρατίθεται ένα

σχεδιάγραμμα ενός νευρωνικού δικτύου με τρία στρώματα σε λεπτομερή μορφή. Πιο

κάτω σε απλή

Το δίκτυο που παρουσιάζεται παραπάνω έχει R1 τις εισόδους, S1 νευρώνες στο πρώτο

στρώμα, S2 τους νευρώνες στο δεύτερο στρώμα, κ.λπ. Είναι κοινό για τα διαφορετικά

στρώματα να υπάρξουν οι διαφορετικοί αριθμοί νευρώνων. Μια σταθερή είσοδος 1 είναι

η στάθμιση για κάθε νευρώνα.

Σημειώστε ότι τα αποτελέσματα έξοδοι κάθε ενδιάμεσου στρώματος είναι οι

είσοδοι στο ακόλουθο στρώμα. Κατά συνέπεια το στρώμα 2 μπορεί να αναλυθεί ως

Page 29: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

19

δίκτυο ένας-στρώματος με S1 τις εισαγωγές, S2 νευρώνες, και ένα πίνακα βαρών W2

S2xS1. Η είσοδος στο στρώμα 2 είναι έξοδος a1 και η έξοδος του είναι a2.

4. Μέθοδοι Εκπαίδευσης

4.1. Backpropagation

H μέθοδος backpropagation δημιουργήθηκε γενικεύοντας του κανόνα εκμάθησης

Widrow-Hoff στα δίκτυα πολλαπλών-στρωμάτων και τις μη γραμμικές differentiable

συναρτήσεις μεταφοράς. Τα διανύσματα εισόδου και τα αντίστοιχα διανύσματα στόχων

χρησιμοποιούνται για να εκπαιδεύσουν ένα δίκτυο έως ότου μπορεί να προσεγγίσει μια

συνάρτηση, να συνδέσει τα διανύσματα εισόδου με τα συγκεκριμένα διανύσματα εξόδου,

ή να ταξινομήσει τα διανύσματα εισόδου με έναν κατάλληλο τρόπο όπως καθορίζεται

από εμάς. Δίκτυα με σταθμίσεις, ένα sigmoid στρώμα, και ένα γραμμικό στρώμα εξόδου

είναι σε θέση να προσεγγίσουν οποιαδήποτε συνάρτηση με έναν πεπερασμένο αριθμό

συνεχειών.

Standard backpropagation είναι ένας αλγόριθμος καθοδικής κλίσης, όπως είναι

στον κανόνα εκμάθησης Widrow-Hoff, στον οποίο τα βάρη δικτύων κινούνται κατά

μήκος του αρνητικού της κλίσης της συνάρτησης απόδοσης.

Ο όρος backpropagation αναφέρεται στον τρόπο με τον οποίο η κλίση

υπολογίζεται για τα μη γραμμικά πολυστρωματικά δίκτυα. Υπάρχουν διάφορες

παραλλαγές στο βασικό αλγόριθμο που είναι βασισμένες σε άλλες τυποποιημένες

τεχνικές βελτιστοποίησης, όπως οι συζευγμένες μέθοδοι κλίσης και Newton.

Υπάρχουν γενικά τέσσερα βήματα στη διαδικασία κατάρτισης, στην διαδικασία

εκπαίδευσης:

1. Συγκέντρωση στοιχείων κατάρτισης.

2. Δημιουργεί δικτύου

3. Εκπαίδευση δικτύου

4. Προσημείωση του δικτύου με καινούριες εισόδους

4.2. Architecture

Page 30: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

20

Σε αυτό το κομμάτι θα δείξουμε μερικά σχεδιαγράμματα τα οποία έχουμε δει και

προηγουμένως. Από όσα έχουμε πει γνωρίζουμε τι κάνει σχεδόν το πιο κάτω σχήμα.

Δίκτυα με πολλά στρώματα συνήθως χρησιμοποιούν τη συνάρτηση log

sigmoid logsig

H συνάρτηση logsig δημιουργεί εξόδους μεταξύ 0 και 1 καθώς η καθαρή

είσοδος παίρνει τιμές από αρνητικό μέχρι θετικό άπειρο.

Επίσης μερικές φόρες δίκτυα με πολλά στρώματα μπορεί να

χρησιμοποιήσουν την συνάρτηση tan-sigmoid , tansig.

Page 31: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

21

Συχνά επίσης θα παρατηρήσουμε και γραμμική συνάρτηση να

χρησιμοποιείται σε backpropagation δίκτυα.

Εάν το τελευταίο στρώμα ενός πολυστρωματικού δικτύου έχει τους

sigmoid νευρώνες, τα αποτελέσματα του δικτύου περιορίζονται σε μια μικρή

εμβέλεια. Εάν στη θέση τους υπάρχουν γραμμικοί νευρώνες για έξοδο τότε τα

αποτελέσματα δικτύων μπορούν να πάρουν οποιαδήποτε τιμή.

Οι τρεις πιο πάνω συναρτήσεις μεταφοράς είναι οι πιο διαδεδομένες

συναρτήσεις που χρησιμοποιούνται σε δίκτυα με την μέθοδο εκπαίδευσης

backpropagation.

4.3. Feedforward Δίκτυα

Page 32: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

22

Feedforward δίκτυα έχουν συχνά ένα ή περισσότερα κρυμμένα στρώματα

me sigmoid νευρώνες που ακολουθούνται από ένα στρώμα γραμμικών νευρώνων

εξόδου. Τα πολλαπλά στρώματα των νευρώνων με τις μη γραμμικές συναρτήσεις

μεταφοράς επιτρέπουν στο δίκτυο να μάθουν τις μη γραμμικές και γραμμικές

σχέσεις μεταξύ των διανυσμάτων εισόδου και εξόδου. Το γραμμικό στρώμα

παραγωγής αφήνει το δίκτυο να παραγάγει τις τιμές έξω από την εμβέλεια του

-1 έως +1.

Από την άλλη μεριά εάν θα θέλαμε να περιορίσουμε τα αποτελέσματα του

δικτύου μας (πχ μεταξύ 0 και 1), τότε το στρώμα εξόδου πρέπει να

χρησιμοποιήσει μια sigmoid συνάρτηση μεταφοράς. Αυτό το πράγμα έχει γίνει

στη δική μας περίπτωση όπου τα δυο στρώματα νευρώνων στο δίκτυο μας

χρησιμοποιούν τη sigmoid συνάρτηση μεταφοράς.

4.4. Αλγόριθμοι Backpropagation

Υπάρχουν πολλές παραλλαγές του backpropagation αλγορίθμου. Η

απλούστερη εφαρμογή εκπαίδευσης backpropagation ενημερώνει τα βάρη και τις

στάθμες των δικτύων στην κατεύθυνση στην οποία η απόδοση της συνάρτησης

μειώνεται πιο γρήγορα - αρνητικά της κλίσης.

Μια μορφή αυτού του αλγορίθμου μπορεί να γραφτεί

4.4.1. Batch Training

Page 33: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

23

Στην batch μέθοδο τα βάρη και τα biases του δικτύου ανανεώνονται μόνο

μετά από την εφαρμογή ολόκληρου του συνόλου εκπαίδευσης στο δίκτυο. Οι

κλίσεις που υπολογίζονται σε κάθε παράδειγμα κατάρτισης προστίθενται μαζί

για να καθορίσουν την αλλαγή σε βάρη και biases.

4.4.2. Batch Gradient Descent (traingd)

H πιο καθοδικά απότομη συνάρτηση εκπαίδευσης είναι η traingd. Τα

βάρη και τα biases ανανεώνονται στην κατεύθυνση του αρνητικού της κλίσης

της απόδοσης της συνάρτησης.

Υπάρχουν επτά παράμετροι κατάρτισης που συνδέονται με την

συνάρτηση traingd. Αυτά είναι epochs, show,goal, time, min_grad, max_fail,

και lr. Το ποσοστό εκμάθησης lr πολλαπλασιάζετε με το αρνητικό της κλίσης

για να καθορίσει τις αλλαγές στα βάρη και τα biases. Όσο μεγαλύτερο το

ποσοστό εκμάθησης, τόσο μεγαλύτερο το βήμα. Εάν το ποσοστό εκμάθησης

γίνεται πάρα πολύ μεγάλο, ο αλγόριθμος γίνεται ασταθής.

Εάν το ποσοστό εκμάθησης τίθεται πάρα πολύ μικρό, ο αλγόριθμος

παίρνει αρκετή ώρα για να συγκλίνει.

Η κατάρτιση σταματά εάν ο αριθμός επαναλήψεων υπερβαίνει τα epochs,

εάν η λειτουργία απόδοσης μειώνεται κάτω από το στόχο, εάν το μέγεθος της

κλίσης είναι λιγότερο από το mingrad, ή εάν ο χρόνος κατάρτισης είναι πιο

μακροχρόνιος από τα χρονικά δευτερόλεπτα.

Η μέθοδος traingd έχει χρησιμοποιηθεί στο νευρωνικό μας δίκτυο για

εκπαίδευση. Στα δικά μας πειράματα έχουμε αφήσει τα default values για τις

παραμέτρους εκτός από τα epochs. Για όλα μας τα πειράματα ο αριθμός των

epochs ισούται με 1000.

Page 34: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

24

4.4.3 Levenberg-Marquardt (TrainLM)

Όπως τις quasi-Newton μεθόδους, ο αλγόριθμος Levenberg-

Marquardt σχεδιάστηκε στο να προσεγγίζει δευτέρας τάξης ταχύτητα

εκπαίδευσης χωρίς να πρέπει να υπολογιστεί ο πίνακας Hessian. Όταν η

λειτουργία απόδοσης έχει τη μορφή ενός ποσού των τετραγώνων (όπως είναι

χαρακτηριστικό σε δίκτυα feedforward κατάρτισης), κατόπιν η Hessian μήτρα

μπορεί να προσεγγιστεί όπως:

και η κλίση μπορεί να υπολογιστεί ως

Όπου J είναι ο πίνακας Jacobian που περιέχει τα πρώτα παράγωγα των λαθών

του δικτύου όσον αφορά τα βάρη και τα biases, και το e είναι ένα διάνυσμα

των λαθών των δικτύων.

Ο πίνακας Jacobian μπορεί να υπολογιστεί μέσω μιας τυποποιημένης

backpropagation τεχνικής που είναι πολύ λιγότερο σύνθετη από

υπολογίζοντας το πίνακα Hessian.

Ο αλγόριθμος Levenberg-Marquardt χρησιμοποιεί προσέγγιση στον πίνακα

Hessian στα εξής Newton-like update:

Όταν το μ είναι μηδέν, αυτό είναι ακριβώς η μέθοδος Newton, που

χρησιμοποιεί τον κατά προσέγγιση πίνακα Hessian. Όταν μ είναι μεγάλο,

αυτό γίνεται καθοδική κλίση με ένα μικρό μέγεθος βημάτων. Η μέθοδος

Newton είναι γρηγορότερη και ακριβέστερη κοντά σε ένα ελάχιστο λάθος,

έτσι ο στόχος πρόκειται να μετατοπιστεί προς τη μέθοδο Newton όσο το

δυνατόν γρηγορότερα. Κατά συνέπεια, το μ μειώνεται μετά από κάθε επιτυχές

βήμα (μείωση στην απόδοση συνάρτησης) και αυξάνεται μόνο όταν θα

αύξανε ένα δοκιμαστικό βήμα την απόδοση. Κατά αυτόν τον τρόπο, η

συνάρτηση απόδοσης θα μειωθεί πάντα σε κάθε επανάληψη του αλγορίθμου.

Page 35: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

25

Αξίζει να πούμε ότι θέλουμε όσο το δυνατό μικρότερη την απόδοση

συνάρτησης.

Οι παράμετροι κατάρτισης του trainlm είναι: epochs, show, goal, time,

min_grad, max_fail, mu, mu_dec, mu_inc, mu_max, και mem_reduc.

Η παράμετρος η mu είναι η αρχική τιμή για το μ. Αυτή η τιμή

πολλαπλασιάζετε με το mu_dec όποτε η λειτουργία απόδοσης μειώνεται κατά

ένα βήμα. Πολλαπλασιάζετε με το mu_inc όποτε ένα βήμα θα αύξανε τη

συνάρτηση απόδοσης. Εάν η mu γίνεται μεγαλύτερη από mu_max, ο

αλγόριθμος σταματά. Η παράμετρος mem_reduc χρησιμοποιείται για να

ελέγξει το ποσό μνήμης που χρησιμοποιείται από τον αλγόριθμο.

Στα δικά μας πειράματα έχουμε αφήσει τα default values για τις

παραμέτρους εκτός από τα epochs. Για όλα μας τα πειράματα ο αριθμός των

epochs ισούται με 1000

Σε αυτό το μέρος έχουμε μελετήσει τα νευρωνικά δίκτυα πως λειτουργούν.

Είδαμε δίκτυα με ένα νευρώνα με πολλούς νευρώνες , με ένα στρώμα και πολλά

στρώματα. Οι γνώσεις που έχουμε αποκτήσει τώρα είναι ιδανικές για να καταλάβουμε

ότι χρειάζεται για αυτή τη διπλωματική. Έχουμε δει τα training functions που έχουμε

χρησιμοποιήσει στα πειράματα μας και τα έχουμε μελετήσει με την απαραίτητη

λεπτομέρεια.

Το δικό μας το δίκτυο έχει αυτή τη μορφή. 2 hidden layers . To 2ο layer έχει έξοδο 2x1 η

10x1 νευρώνων ανάλογα με πιο πείραμα κάνουμε. Η είσοδος είναι ένας πίνακας

features x training_size

Κεφάλαιο 5. Επεξήγηση Εργαλείων

Page 36: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

26

5.1. Speech Record GUI Τις ηχογραφήσεις τις κάναμε χρησιμοποιώντας ένα speech recorder GUI

(SRGUI). Πιο κάτω φαίνεται ένα σχεδιάγραμμα του εργαλείου αυτού.

Τώρα πως λειτουργούσε το SRGUI. Αξίζει να σημειώσουμε πρώτα ότι οι ηχογραφήσεις

έγιναν σε περιβάλλον Linux.

Το πρόγραμμα έκανε save τα files στο directory που το κάναμε launch. Για κάθε

μια από τις 100 λέξεις είχε ένα ξεχωριστό μετρητή. Οι λέξεις ήταν ήδη μέσα στο

σύστημα και το πρόγραμμα γνώριζε ότι έπρεπε και από τις 100 λέξεις να έχει 10

δείγματα από τη κάθε μια, σύνολο 1000 λέξεις για κάθε άτομο.

Το SRGUI ξεκινούσε τις ηχογραφήσεις με το κουμπί εκκίνησης. Η επιλογή των

λέξεων για ηχογράφηση ήταν τυχαία από τις υπόλοιπες μη ηχογραφημένες. Αυτό φυσικά

για να μην είναι περισσότερο πιο βαρετό για τους εθελοντές μας από όσο ότι ήταν ήδη.

Για κάθε λέξη υπήρχε κενό 2 δευτερολέπτων. Το πρόγραμμα εμφάνιζε τη λέξη που ήθελε

ο χρήστης να πει. Από τη στιγμή που εμφανιζόταν η λέξη στην οθόνη το πρόγραμμα

άρχιζε να ηχογραφεί μετά από 0.4 sec. Αν η ένταση της λέξης ήταν χαμηλή το

πρόγραμμα αυτόματα ζητούσε από τον χρήστη να την επαναλάβει, το ίδιο αν η ένταση

της λέξης ήταν πολύ δυνατή. Σε περίπτωση που έπρεπε να διαγράψουμε μια λέξη αυτό

δεν ήταν κανένα πρόβλημα για το SRGUI. Αυτόματα ήξερε από τη συγκεκριμένη

κατηγορία μειώθηκε κατά μια λέξη και έπρεπε να την αναπληρώσει. Επιπλέον αν ο

χρήστης ήθελε διάλειμμα ούτε αυτό ήταν πρόβλημα διότι η επιλογή STOP επέτρεπε στο

χρήστη να κάνει παύση και μετά να συνεχίσει από εκεί που έμεινε.

5.2. NNTOOL

Page 37: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

27

Για την κατασκευή και εκπαίδευση ενός νευρωνικού δικτύου χρησιμοποιήσαμε

ένα Graphic User Interface (GUI), το nntool. Χρησιμοποιώντας αυτή τη συνάρτηση

μπορούσαμε αρχικά να κάνουμε πιο εύκολα τη δουλεία στη κατασκευή ενός νευρωνικού

δικτύου. Η συνάρτηση αυτή για αρχικά στάδια θεωρείται μεγάλη ευκολία αφού μπορείς

με ένα GUI να κατασκευάσεις αυτά που θέλεις χωρίς να μπλεχτείς ιδιαίτερα σε εντολές

και προγράμματα τα οποία απαιτούν περισσότερη γνώση. Δεν συστήνεται όμως για

μεγαλύτερες έρευνες. Ο πιο αποδοτικός τρόπος είναι η εκμάθηση των εντολών τις οποίες

αντικατέστησε το GUI. Με τον παραδοσιακό τρόπο, χωρίς το GUI, είναι τα «χεριά» σου

πιο ελευθέρα στο να γράψεις προγράμματα τα οποία μπορούν να κατασκευάσουν, να

εκπαιδεύσουν και να ελίξουν πολλά νευρωνικά δίκτυα μαζί.

Μέχρι τώρα η φύση της έρευνας μας δεν απαιτούσε τόση γνώση για αυτό

χρησιμοποιήσαμε το GUI, ένα εργαλείο το όποιο ευκόλυνε πολύ τη θέση μας στην αρχή.

Γράφοντας

>> nntool

στη matlab ένα καινούριο παράθυρο θα ανοίξει το όποιο είναι το GUI μας.

Page 38: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

28

Στην αριστερή στήλη βλέπουμε τις εισόδους το neural network μας. Η πρώτη

μας είσοδος είναι το input data και η άλλη το target data. Η δεξιά στήλη είναι η μεριά

των εξόδων του νευρωνικού δικτύου μας. Το πρώτο κουτί εξόδων είναι οι καθαρές

έξοδοι από το νευρωνικό δίκτυο και το δεύτερο είναι το error που έχει η εκπαίδευση του

δικτύου μας. Με την επιλογή import βάζουμε τα δεδομένα μας μέσα στο νευρωνικό μας

δίκτυο. Εισάγουμε με αυτό το τρόπο του πίνακες μας που είναι για έλεγχο η για

εκπαίδευση. Με την επιλογή New μπορούμε να δημιουργήσουμε το νευρωνικό δίκτυο

μας. Αφού το δημιουργήσουμε θα εμφανιστεί στη μεσαία στήλη. Επιλέγοντας την

επιλογή import θα ανοίξει το πιο κάτω παράθυρο.

Στη μεσαία στήλη εμφανίζονται όλες οι μεταβλητές που είναι διαθέσιμες.

Εννοείτε ότι για να χρησιμοποιήσουμε το GUI πρέπει πρώτα να τρέξουμε τις

συναρτήσεις μας για την δημιουργία των απαραίτητων μεταβλητών-πινάκων.

Αφού επιλέξουμε την κατάλληλη μεταβλητή πίνακα από την μεσαία στήλη το

όνομα της εμφανίζεται στη μπάρα διπλά. Επιπλέον πρέπει να επιλέξουμε την ιδιότητα

της εισόδου και κατόπιν να εισάγουμε την μεταβλητή μας.

Page 39: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

29

Με αυτό το τρόπο εισάγουμε όλες τις απαραίτητες μεταβλητές που χρειάζονται

για να εκπαιδευτεί και ελεγχθεί το νευρωνικό μας δίκτυο.

Κατόπιν από το κεντρικό παράθυρο επιλεγούμε το New για να δημιουργήσουμε

το νευρωνικό δίκτυο μας. Εμφανίζεται το πιο κάτω παράθυρο.

Input range: Είναι το εύρος τιμών που παίρνει η

είσοδος μας. Εμείς επιλεγούμε Get from input και

διαλέγουμε την ανάλογη μεταβλητή εισόδου.

Training Function: Επιλέγουμε την συνάρτηση

εκπαίδευσης του νευρωνικού δικτύου.

Number of layers: Καθορίζουμε τα layers του

νευρωνικού δικτύου.

Σε αυτό το κομμάτι καθορίζουμε τις ιδιότητες του

κάθε layer του νευρωνικού δικτύου.

Page 40: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

30

Αφού κατασκευάσουμε τα νευρωνικά δίκτυα μας αυτά θα εμφανιστούν στο

κεντρικό παράθυρο. Από εκεί θα προχωρήσουμε στη σημαντική διαδικασία εκπαίδευσης

του neural network. Το επιλεγούμε και μπορούμε να δούμε ένα σχηματικό του πως θα

είναι το νευρωνικό μας δίκτυο.

Όπως γνωρίζουμε τα training

function που έχουμε αποφασίσει να

χρησιμοποιήσουμε για αυτά τα

πειράματα είναι τα TrainLm και

TrainGd.

Ο αριθμός των νευρώνων στο layer 1

τον έχουμε καθορίσει και μπορείτε να

τον δείτε στη γενική επεξήγηση της

διαδικασίας.

Στο layer 2 πρέπει να καθοριστεί ένας

αριθμός νευρώνων που συμφωνά με

την έξοδο του κάθε πειράματος.

Page 41: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

31

Επιλέγοντας το Τrain θα μπούμε στο μέρος

όπου θα καθορίσουμε τα καθέκαστα για

την εκπαίδευση.

Σε αυτό το σημείο καθορίζουμε την είσοδο

πίνακα εκπαίδευσης και τον πίνακα

επιθυμητών αποτελεσμάτων για να

εκπαιδευτεί το δίκτυο.

Στην διπλανή στήλη είναι οι έξοδοι του

δικτύου μας.

Στο training parameters μπορούμε να

καθορίσουμε κάποιες extra παραμέτρους

όπως τον αριθμό epochs.

Τέλος επιλεγούμε Train Network για να

γίνει τελικά η εκπαίδευση

Αφού γίνει η εκπαίδευση το

σύστημα μας δημιουργεί αυτόματα μια

γραφική παράσταση για την απόδοση του

νευρωνικού μας δικτύου. Τώρα μένει να

προσομοιώσουμε το δίκτυο μας.

Page 42: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

32

Το μονό που μένει είναι κάνω export τις

μεταβλητές που θέλω στο workspace μου.

Αυτός ήταν ένας λεπτομερές οδηγός για το πως να χρησιμοποιήσετε το nntool

GUI για την δημιουργία, εκπαίδευση και έλεγχο ενός νευρωνικού δικτύου. Βέβαιος τα

πράγματα μπορεί να γίνουν ακόμα πιο περίπλοκα με ένα GUI όμως μείναμε στα πιο

βασικά.

Αυτή η μεθοδολογία χρήσης του GUI επαναλήφθηκε πάρα πολλές φόρες μέχρι να

πραγματοποιηθούν όλα τα απαιτούμενα πειράματα με αρκετούς συνδυασμούς. Όταν το

επαναλαμβάνεις αρκετές φόρες το ίδιο πράγμα τελικά σπαταλά περισσότερο χρόνο από

ότι να γλιτώσει. Έτσι έγινε και με το GUI. Αυτός είναι και ο λόγος που είχαμε πει στην

Προσωμειωση.Απλώς στο

παράθυρο επεξεργασίας του

νευρωνικού δικτύου επιλέγω το

Simulate.

Κατόπιν τον σωστό πινάκα ελέγχου.

Μπορώ να ονομάσω εγώ τη

μεταβλητή εξόδου με όποιο όνομα

θέλω.

Τέλος κάνω simulate και όλα είναι

σχεδόν έτοιμα.

Page 43: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

33

αρχή του κεφαλαίου ότι πιο «σωστό» προγραμματιστικά είναι να δημιουργήσεις του

νευρωνικό δίκτυο με εντολές και όχι από ένα GUI.

Το GUI είναι όμως ένα εξαιρετικό εργαλείο για την εκμάθηση νευρωνικών

δικτύων σε αρχικά στάδια. Είναι αρκετά βοηθητικό και σου παρέχει τις πρώτες βασικές

γνώσεις για επεξεργασία νευρωνικών δικτύων.

Page 44: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

34

Κεφάλαιο 6. Διαδικασία

Σε αυτό το μέρος θα δούμε όλη τη διαδικασία που ακολουθήθηκε για τα

πειράματα μας. Όταν ξεκινήσαμε έπρεπε να βρούμε ένα κατάλληλο δωμάτιο στο οποίο

θα γίνονταν οι ηχογραφήσεις, οι λήψεις των δεδομένων. Για αυτό επιλέξαμε το

εσωτερικό δωμάτιο του σε ένα από τα εργαστήρια που βρίσκονται στο ισόγειο του

κτιρίου Green Park. Το δωμάτιο έπρεπε να ηχομονωθεί για να μειώσουμε θόρυβο από

εξωτερικούς παράγοντες αλλά και από την ηχώ. Για αυτό επενδύσαμε τους τοίχους του

δωματίου με ηχομόνωση. Τώρα το δωμάτιο ήταν έτοιμο για να ξεκινήσουν οι

ηχογραφείς.

Οι ηχογραφήσεις θα γίνονταν με το πρόγραμμα που εξηγήσαμε στις

προηγούμενες σελίδες. Τώρα έπρεπε να βρούμε 30 άτομα τα οποία ήταν διαθέσιμα να

ξοδέψουν περίπου μια ώρα επαναλαμβάνοντας λέξεις. Αυτό δεν ήταν και το πιο εύκολο

εγχείρημα αφού δεν είχαν και οποιαδήποτε ανταμοιβή οι εθελοντές. Τα 30 άτομα ήταν

15 άντρες διαφόρων ηλικιών και 15 γυναίκες διαφόρων ηλικιών. Κατά πλειοψηφία όμως

τα άτομα ήταν φοιτητές.

Ο ρυθμός δειγματοληψίας ήταν 100kHz. Τα άτομα έπρεπε να πουν 10

επαναλήψεις της κάθε μιας λέξεις από τις 100 προεπιλεγμένες λέξεις μας. Αυτό σημαίνει

θα έδινε 1000 samples το κάθε άτομο. Συνολικά 30000 samples λέξεις. Το νευρωνικό

μας δίκτυο θα ήταν ικανό να αναγνωρίζει μονό από αυτές τις 100 λέξεις , στις οποίες θα

είχε εκπαιδευτεί. Οι λέξεις όμως θα τάχυναν κάποιας μικρής επεξεργασίας πριν. Θα

έπρεπε να τις κάνουμε downsampled στα 8kHz διότι αυτή ήταν προϋπόθεση για την

εκπαίδευση του νευρωνικού μας δικτύου. Τις 100 λέξεις που προεπιλέχτηκαν για

ηχογράφηση επισυνάπτονται στην αναφορά.

Τώρα είχαμε πάρει όλα μας τα δείγματα και ήμασταν έτοιμοι να ξεκινήσουμε την

επεξεργασία του νευρωνικού δικτύου μας. Στην αρχή κάναμε όλα μας τα δείγματα

downsample και normalize πριν καν τα επεξεργαστούμε. Αργότερα όμως αλλάξαμε

στυλ. To downsample και το normalize γίνονταν ταυτόχρονα με την επεξεργασία των

δεδομένων μας. Αυτό θα το δείτε στα προγράμματα τα οποία εξηγούνται αναλυτικά

παρακάτω. Είχαμε δημιουργήσει τους κώδικες μας οι οποίοι αναβαθμίζονταν συνεχώς

Page 45: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

35

ώστε να έχουμε καλύτερη απόδοση και αποτελέσματα. Οι τελικοί κώδικες

επισυνάπτονται στην αναφορά μας.

Οι κώδικες ήταν υπεύθυνοι για να δημιουργήσουν τους πίνακες εκπαίδευσης και

ελέγχου. Επίσης δημιουργούσαν πίνακες με τα αντίστοιχα αποτελέσματα των πινάκων

εκπαίδευσης για να εκπαιδευτεί το νευρωνικό δίκτυο αλλά και τα αναμενόμενα

αποτελέσματα από τους πίνακες ελέγχου για να ελέγχουμε την αποδοτικότητα του

δικτυού. Τώρα έχουμε όλα όσα χρειαζόμαστε για να δημιουργήσουμε το νευρωνικό μας

δίκτυο να το εκπαιδεύσουμε να το προσημειώσουμε και να δούμε την αποδοτικότητα

του. Για την δημιουργία των δικτύων μας είχαμε αποφασίσει τα εξής χαρακτηριστικά

που φαίνονται στην επόμενη σελίδα.

Τα παρακάτω ήταν όλες οι παράμετροι σε σχέση με τα νευρωνικά μας δίκτυα.

Συμφωνά με όλους τους συνδυασμούς αντιστοιχούσε για κάθε περίπτωση 48

διαφορετικά πειράματα. Συνολικά 144 πειράματα εκτός τα τελικά με τις 10 λέξεις. Όταν

θα τελειώναμε τα πειράματα και βλέπαμε τις αποδόσεις της κάθε περίπτωσης τότε θα

επιλέγαμε τις κατάλληλες τιμές των παραμέτρων για να κάνουμε ένα νευρωνικό δίκτυο

το όποιο θα ήταν ικανό να ξεχωρίζει μέχρι και 10 λέξεις.

6.1. Simulations Classification

Case 1-Separate males/females voice

Word: Hello

Create a neural network that will differentiate male from female voice.

Case 2-Separate 2 similar words

Words: on/off

Case 3-Separate 2 words

Words: open/close

Page 46: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

36

Parameters for the 3 experiments:

• Training set to Test set ratio:

a) 50%-50%

b) 70%-30%

• Number of features:

a) 10

b) 100

c) 500

d) 1000

• Training function:

a) traingd

b) trainlm

• Transfer function:

logsig

• Number of Input neurons:

a) Equal to the number of features

b) Half the number of features

c) Twice the number of features

• Number of output neurons:

Equal to the number of classes (2), (10)

Page 47: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

37

Τώρα προχωρούμε στη διαδικασία δημιουργίας, εκπαίδευσης, προσημείωσης και

ελέγχου απόδοσης των δικτύων. Όπως εξηγήσαμε πολύ απλά θα τα κάνουμε αυτά με ένα

εργαλείο της matlab το nntool. Με αυτό δημιουργήσαμε όλα μας τα δίκτυα και κάναμε

τους ελέγχους μας.

Οι έλεγχοι έγιναν με κώδικες τους οποίους δημιουργήσαμε. Παρακάτω τους

εξηγούμε εκτενέστερα. Τέλος συγκρίναμε όλα μας τα αποτελέσματα. Επιλέξαμε τις

καταλληλότερες μεθόδους και παραμέτρους και ξεκινήσαμε να φτιάχνουμε το νευρωνικό

δίκτυο και για τις 10 λέξεις. Το δημιουργήσαμε το ελέγξαμε και βγάλαμε αποτελέσματα.

Αξίζει να αναφέρουμε ότι στον τελικό έλεγχο της αποδοτικότητας του δικτύου για 10

λέξεις χρησιμοποιήσαμε 3 διαφορετικές μεθόδους ελέγχου.

Page 48: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

38

6.2. Κατηγοριοποίηση Πειραμάτων

Όπως έχουμε ήδη αναφέρει αποφασίσαμε να κάνουμε τα εξής πειράματα:

Πείραμα 1

Θα χρησιμοποιήσουμε μια κοινή λέξη και θα προσπαθήσουμε να εκπαιδεύσουμε

ένα νευρωνικό δίκτυο το οποίο θα αναγνωρίζει αν η φωνή προέρχεται από θηλυκό η

αρσενικό άτομο. Για αυτό το πείραμα χρησιμοποιήσαμε τη λέξη Hello.

Άρα έπρεπε να διαχωρίσουμε τις λέξεις ανάλογα με το φύλο του κάθε ατόμου.

Πείραμα 2

Σε αυτό το πείραμα πήραμε μια δυο λέξεις τις οποίες μπορούμε να τις

χρησιμοποιήσουμε σε διαφορές εφαρμογές. Οι λέξεις αυτές θέλαμε να είναι κοντινές

μεταξύ τους ώστε να δυσκολέψουμε το σύστημα μας και να δούμε πόσο αποτελεσματικά

μπορεί να εργαστεί. Θέλαμε λέξεις οι οποίες να έχουν παρόμοιο άκουσμα.

Για αυτό το κομμάτι επιλέξαμε τις λέξεις on και off. Εδώ δεν διαχωρίζουμε αρσενικά

άτομα από θηλυκά. Είναι απλός αναγνώριση λέξης και από τα δυο φύλα.

Πείραμα 3

Το τρίτο μας πείραμα είναι σχεδόν το ίδιο με το δεύτερο. Θέλαμε δυο λέξεις οι

οποίες μπορούν να χρησιμοποιηθούν σε διάφορες εφαρμογές. Η διαφορά εδώ όμως είναι

ότι δεν θέλαμε οι λέξεις μας να μοιάζουν ακουστικά. Επιλέξαμε λέξεις οι οποίες έχουν

διαφορετικό άκουσμα η μια από την άλλη. Για αυτό μας το πείραμα επιλέξαμε τις λέξεις

open και close. Εδώ δεν διαχωρίζουμε αρσενικά άτομα από θηλυκά. Είναι απλός

αναγνώριση λέξης και από τα δυο φύλα.

Page 49: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

39

Πείραμα 4

Το πείραμα αυτό ήταν το τελικό μας και αποτελούσε ιδιαίτερη πρόκληση για το

μελλοντικό μας σύστημα. Εκπαιδεύσαμε ένα νευρωνικό δίκτυο το όποιο θα μπορούσε να

ξεχωρίσει 10 ολόκληρες λέξεις. Αυτό ήταν μια ιδιαίτερη πρόκληση. Ιδιαίτερα για το πως

θα περνάμε τα αποτελέσματα μας. Για το πείραμα αυτό επιλέξαμε τις εξής δέκα λέξεις:

on, off, open, close, computer, TV, lights, door, curtains, telephone.

Για να μπορέσουμε να επεξεργαστούμε τα δεδομένα μας χωρίσαμε με τις

κατάλληλες κατηγοριοποιήσεις, τα δεδομένα μας σε διαφορετικούς φάκελους. Το

σχεδιάγραμμα πιο κάτω δείχνει πως ταξινομήθηκαν.

Main folder

Downsampled_on-off

Final_experiment

Σε καθε αντιστοιχει

μια λεξη

.

.

.

Downsampled_open-close

Περιέχει όλα τα αρσενικά και

θηλυκά δείγματα για τη λέξη

on

Περιέχει όλα τα αρσενικά και

θηλυκά δείγματα για τη λέξη

off

Περιέχει όλα τα αρσενικά

και θηλυκά δείγματα για τη

Περιέχει όλα τα αρσενικά

και θηλυκά δείγματα για τη

Downsampled_hello

Περιέχει όλα τα αρσενικά

δείγματα για τη λέξη hello

Περιέχει όλα τα θηλυκά

δείγματα για τη λέξη hello

Class1

Class10

Page 50: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

40

6.3. Εκτενέστερη Εξήγηση Κώδικα

6.3.1. Κώδικας Δημιουργίας Πινάκων Εκμάθησης-Ελέγχου 2 Τάξεων

Στο πιο κάτω κομμάτι θα εξηγήσουμε τον κώδικα που χρησιμοποιήσαμε στη matlab.

Θα κάνουμε flowchart για να δούμε γενικά ποια ήταν η διαδικασία. Κατόπιν θα

μελετήσουμε με λεπτομέρεια των κώδικα.

Διαβάζω τις λέξεις Κανονικοποίηση Επεξεργασία

Τυχαία επιλογή Δημιουργία πίνακα εκπαίδευσης

Δημιουργία πίνακα ελέγχου

Δημιουργία πίνακα επιθυμητών αποτελεσμάτων πίνακα εκπαίδευσης

Δημιουργία πίνακα επιθυμητών αποτελεσμάτων πίνακα ελέγχου

ΕΛΕΓΧΟΣ

NNTOOL

Page 51: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

41

Σε κάθε κώδικα έχουμε τέσσερεις βασικές εξόδους όπως φαίνεται πιο πάνω.

Πρώτα διαβάζουμε την κάθε λέξη. Κατόπιν την κανονικοποιούμε. Αφού την

κανονικοποιήσουμε την επεξεργαζόμαστε ανάλογα με τη μέθοδο. Όλες οι λέξεις

τοποθετούνται σε ένα πίνακα. Κατόπιν με τυχαία επιλογή σπάζω τον πίνακα σε πίνακα

εκπαίδευσης και πίνακα ελέγχου οι οποίοι πίνακες είναι οι είσοδοι μου για το νευρωνικό

δίκτυο. Επίσης κατασκευάζω πίνακες με τα επιθυμητά αποτελέσματα με τους οποίους θα

εκπαιδεύσω το νευρωνικό δίκτυο και να ελέγχω το ποσοστό επιτυχίας.

Αυτή είναι η βασική ιδέα του κώδικα.

training_size=150; nFeatures=10; words=300;

classes=10; low=-2.5; high=1; Fs=8000;

Οι πιο πάνω μεταβλητές καθορίζουν μερικές από τις βασικές μας παραμέτρους.

Η training_size είναι η μεταβλητή από την οποία καθορίζουμε το μέγεθος του

πίνακα εκπαίδευσης άρα και ταυτόχρονα τον πίνακα ελέγχου.

Η παρακάτω μεταβλητή nFeatures καθορίζει τον αριθμό των στοιχείων που έχει η

κάθε μου πληροφορία. Παραδείγματος χάρη αν κάνω τη μέθοδο διάταξη κατά αύξουσα

σειρά και θέλω να επιλέξω τους μεγαλύτερους 20 αριθμούς από τους 100 ο αριθμούς η

μεταβλητή αυτή είναι που καθορίζει πόσους θα πάρω, δηλαδή στη προκειμένη

περίπτωση το 20

Στην περίπτωση του ιστογράμματος είναι ο αριθμός που αντιστοιχεί στα bins(δοχεία).

Η words είναι ο αριθμός των λέξεων που θα επεξεργαστώ.

Η Classes είναι ο αριθμός των folders που αντιστοιχεί το κάθε folder σε μια λέξη.

Αυτή η μεταβλητή μπήκε μονό στο final_experiment διότι όταν έχεις πολλά folders

πρέπει να κάνεις μια πιο σωστή προγραμματιστικά διαδικασία.

Οι μεταβλητές low και high χρησιμοποιούνται για το λογαριθμικό ιστόγραμμα και

χρησιμοποιούνται για να καθορίσουν τα άκρα του όπως θα δείτε και πιο κάτω.

Page 52: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

42

Και τέλος η μεταβλητή Fs η οποία έχει την τιμή του ρυθμού δειγματοληψίας. Την

χρειάζομαι για να την χρησιμοποιήσω στην φασματική ανάλυση.

files1=dir('C:\Documents and

Settings\EliasPC\Desktop\Thesis\downsampled_on_off\downsampled_on\*.wav

');

Η πιο πάνω εντολή επιστρέφει στην μεταβλητή files1 ένα πινάκα με τις εξής

πληροφορίες

name -- filename

date -- modification date

bytes -- number of bytes allocated to the file

isdir -- 1 if name is a directory and 0 if not

datenum -- modification date as a MATLAB serial date number

Η επέκταση αυτή σημαίνει ότι στην μεταβλητή θα αποθηκευτούν μονό files με την

επέκταση .wav.

Δημιουργούμε τους πίνακες που θα χρησιμοποιήσουμε παρακάτω.

M1=[]; M2=[];

Το κομμάτι αυτό θα εκτελεστεί words φόρες για όλες τις λέξεις που περιέχει το folder

μας. for i=1:words

Η εντολή wavread αποθηκεύει στην μεταβλητή y1 τη λέξη σε μορφή πίνακα μιας

στήλης.

Το path έχει γραφτεί με ένα ειδικό τρόπο. Πρώτα γράφουμε το folder στο όποιο

βρίσκεται και συμπληρώνεται ανάλογα με πιο στοιχειό θέλουμε από το πινάκα files

y1=wavread(['downsampled_on\' files1(i).name]); y2=wavread(['downsampled_off\' files2(i).name]);

Page 53: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

43

Μια απλή κανονικοποίηση των τιμών μας y1=y1/(sqrt(sum(y1.^2)/length(y1))); y2=y2/(sqrt(sum(y2.^2)/length(y2)));

Μέθοδος ταξινόμησης.

y1=sort(y1,1,'descend'); y2=sort(y2,1,'descend');

Μέθοδος δημιουργίας λογαριθμικού ιστογράμματος.

features1=hist(y1,[fliplr(-

logspace(low,high,round(nFeatures/2))),logspace(low,high,round(nFeature

s/2))]);

Στο λογαριθμικό ιστόγραμμα πρέπει να κάνω και ένα normalize του ιστογράμματος το

όποιο γίνεται με τον πιο κάτω τρόπο. Το κάθε στοιχειό διαιρείται με το μέγιστο αριθμό

features που υπάρχουν σε κάθε bin.

features1=features1./max(features1);

Επιπλέον η συνάρτηση hist επιστρέφει την κάθε πληροφορία σε πίνακα γραμμή, το δικό

μας όμως νευρωνικό δίκτυο αναγνωρίζει την κάθε πληροφορία ως στήλη για αυτό και το

μετατρέπουμε σε στήλη.

features1=features1';

Μέθοδος λήψης στοιχείων από φασματική πυκνότητα ισχύος.

[features1,frequencies]=pwelch(y1,[],[],(nFeatures-1)*2,Fs);

Η μεταβλητή features παίρνει nFeatures αριθμώ στοιχείων

features1=y1(1:nFeatures); features2=y2(1:nFeatures);

Page 54: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

44

Τα στοιχεία έχουν μπει σε πίνακα. Κάθε στήλη είναι μια πληροφορία

M1=[M1 features1]; M2=[M2 features2];

end

Τυχαία ανακατανομή πληροφοριών όπου πιο κάτω δημιουργώ τους πίνακες εκπαίδευσης

και ελέγχου καθώς και τους πίνακες επιθυμητών αποτελεσμάτων οι οποίοι ο ένας είναι

για την εκπαίδευση του συστήματος και ο δεύτερος για εύρεση ποσοστού επιτυχίας

M1=M1(:,randperm(size(M1,2))); M2=M2(:,randperm(size(M2,2)));

Εδώ γίνεται ο διαχωρισμός του ενιαίοι πίνακα των πληροφοριών σε δυο άλλους πίνακες

οι οποίοι είναι ο πίνακας εκπαίδευσης και ο πίνακας ελέγχου νευρωνικού δικτύου.

Και οι δυο όπως αναφέραμε ξανά αποτελούν είσοδο για το νευρωνικό μας δίκτυο. Θα

τους χρησιμοποιήσουμε στο nntool GUI.

trainset=[M1(:,1:training_size) M2(:,1:training_size)]; testset=[M1(:,training_size+1:end) M2(:,training_size+1:end)];

Ταυτόχρονα δημιουργούμε, με ένα πολύ απλό τρόπο, ο οποίος είναι το επιθυμητό

αποτέλεσμα του πίνακα εκπαίδευσης και έναν για το αναμενόμενο αποτέλεσμα ελέγχου

target=[ones(1,training_size) zeros(1,training_size);

zeros(1,training_size) ones(1,training_size)];

target_test=[ones(1,words-training_size) zeros(1,words-training_size);

zeros(1,words-training_size) ones(1,words-training_size)];

Page 55: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

45

Τέλος καθαρίζουμε αχρείαστες μεταβλητές για να μην χάνουμε χώρο από τη μνήμη μας.

clear y* clear M* clear feat* clear files*

Page 56: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

46

6.3.2. Κωδικας Δημιουργιας Πινακων Εκμαθησης-Ελεγχου 10 Ταξεων

Παρακάτω θα έχουμε επεξήγηση του κώδικα για το final experiment.

Για κάθε περίπτωση έχουμε ήδη δημιουργήσει στην αρχή του προγράμματος τους

πίνακες οι οποίοι επεκτείνονται ανάλογα με το πόσες πληροφορίες (στήλες) προσθέτω

στο πίνακα.

trainset_sort=[]; testset_sort=[];

trainset_hist=[]; testset_hist=[];

trainset_spec=[]; testset_spec=[];

Αρχικά έχω ένα βρόγχο ο όποιος είναι υπεύθυνος να σαρώσει όλα τα folders (classes)

που περιέχουν τις λέξεις. Για κάθε class θα γίνεται η πιο κάτω επεξεργασία.

for i=1:classes

Δημιουργούμε ένα πίνακα τον όποιο θα χρειαστούμε παρακάτω. Σε αυτόν τον πίνακα θα

γίνεται η αρχική αποθήκευση όλων των πληροφοριών , όλων των λέξεων.

Mspec=[];

Με τον ίδιο τρόπο όπως στα προηγούμενα προγράμματα αποθηκεύω τις πληροφορίες

με επέκταση .wav.

Τα folders μας που περιέχουν τις λέξεις έχουν ονομαστεί classes1,classes2…classes10.

Page 57: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

47

Με την εντολή num2str κάνουμε τον αριθμό j σε string ώστε να συμπληρώσει το path για

να πάει στο κατάλληλο class ανάλογα με την τιμή του j η οποία εξαρτάται από το loop.

Αφού προχωρήσουμε στο κατάλληλο path τώρα πρέπει να «διαβάσουμε» όλες τις λέξεις

που περιέχει, δηλαδή και τις 300.

Για αυτό δημιουργούμε ένα άλλο loop μέσα στο loop το όποιο είναι υπεύθυνο για την πιο

πάνω δουλεία.

for j=1:words

Με τη χρήση της συνάρτησης num2str διαβάζουμε τα files μας , την κάθε λέξη αφού οι

κάθε λέξη έχει το βασικό όνομα και ένα αριθμό στο τέλος. Αυτά μπορείτε να τα δείτε

στην κατηγοριοποίηση των φακέλων.

y=wavread(['class' num2str(i) '\' files(j).name]);

Σε αυτό το πρόγραμμα παίρνουμε τα αρχικά δεδομένα για αυτό πρέπει να τα κάνουμε

resample στα 8KHz καθώς και το normalize.

ydown=resample(y,8,100); y=ydown/(sqrt(sum(ydown.^2)/length(ydown)));

Τα στοιχειά των πληροφοριών ταξινομούνται και εγώ παίρνω τα nFeatures μεγαλύτερα

στοιχειά. Κάθε πληροφορία προστίθεται στον πίνακα πληροφοριών κατά στήλη.

m=sort(y,1,'descend'); % y sorted features=m(1:nFeatures); % perno ta prota nFeatures M=[M features];

Page 58: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

48

Είναι η μέθοδος Welch που βασίζεται στη κατανομή φασματικής πυκνότητας από την

οποία παίρνω τα στοιχειά την κάθε πληροφορίας.

Όπως κάθε φορά τα προσθέτω σε ένα πίνακα πληροφοριών.

[features1,frequencies]=pwelch(y,[],[],(nFeatures-1)*2,Fs); features1=log10(features1); Mspec=[Mspec features1];

Εδώ είναι το λογαριθμικό ιστόγραμμα. Τα αποτελέσματα είναι ένας πίνακας γραμμής για

αυτό και εμείς τον μετατρέπουμε σε στήλη. Κατόπιν κανονικοποιούμε το ιστόγραμμα

μας και οι πληροφορίες προστίθενται στον πίνακα.

features2=hist(y,[fliplr(-

logspace(low,high,round(nFeatures/2))),logspace(low,high,round(nFeature

s/2))]); features2=features2./max(features2); features2=features2'; %Kano tis grammes stiles Mhist=[Mhist features2];

Εδώ τελειώνει το πρώτο loop το όποιο ήταν υπεύθυνο να σαρώσει όλες τις λέξεις

του παρόντος class. Κατόπιν θα προχωρήσει στο επόμενο.

end

Γίνεται η τυχαία ανακατανομή και κατόπιν ξεχωρίζω τον πίνακα εκπαίδευσης από τον

πίνακα ελέγχου.

Mspec=Mspec(:,randperm(size(Mspec,2)));

Η παράμετρος αυτή παίρνει τις πρώτες training_size πληροφορίες για εκπαίδευση trainset2=[Mspec(:,1:training_size)];

Η παράμετρος αυτή παίρνει τις πρώτες training_size πληροφορίες για έλεγχο. testset2=[Mspec(:,training_size+1:end)]; %

Page 59: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

49

Τοποθετούνται στους κατάλληλους πίνακες. Οι πληροφορίες όλων των λέξεων

προστίθενται σταδιακά σε αυτούς τους πίνακες. Στο τέλος του βρόγχου θα πίνακες που

θα περιέχουν και δέκα classes.

trainset_spec=[trainset_spec trainset2];

testset_spec=[testset_spec testset2];

Επιβάλλεται μετά το τέλος της διαδικασίας ανάγνωσης όλων των λέξεων που περιέχει το

class folder να καθαρίσω τους πίνακες M για να είναι έτοιμοι να δεχτούν τις πληροφορίες

της νέας λέξης.

clear M*

Εάν το loop είναι valid θα προχωρήσει στο επόμενο class.Αν όχι τελειώνει.

end

Και δημιουργώ τους πίνακες ελέγχου και εκπαίδευσης με την πιο κάτω εντολή.

targets=full(ind2vec(reshape(repmat(1:classes,training_size,1),[],1)));

target_test=full(ind2vec(reshape(repmat(1:classes,words-

training_size,1),[],1)));

clear y* clear i clear j clear words clear trainset2 clear testset2

Page 60: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

50

6.3.3. Κωδικας Αποδοσης

Ποιο κάτω θα δούμε το κώδικα με την πρώτη μέθοδο η οποία υπολογίζει την

αποδοτικότητα του δικτύου.

Ο πίνακας test1 ισούται με τον πίνακα εξόδου από το δίκτυο μας μετά από την

προσημείωση. Χρησιμοποιούμε τη συνάρτηση round για να πάρει τιμές 0 και

test1=round(test);

Μέσα στον πίνακα Α προσθέτουμε τον test1. Δηλαδή εδώ προσθέτει κατά στήλη όλα τα

στοιχειά.

A=sum(test1);

Ο Μ είναι ο πίνακας που αντιστοιχεί στα αναμενόμενα αποτελέσματα του πίνακα

ελέγχου. Επίσης βρίσκουμε και το συνολικό μέγεθος του.

M=target_test; sz=size(M,2);

Τώρα εάν το στοιχειό του πίνακα ελέγχου ισούται με το αναμενόμενο αποτέλεσμα ο

πίνακας Ο στην αντίστοιχη θέση παίρνει την τιμή 1, αν όχι τη τιμή 0. Κατόπιν βρίσκω το

άθροισμα της κάθε στήλης.

O=M==test1; S=sum(O);

Αν το άθροισμα είναι 10 τότε είναι όλα σωστά τα στοιχειά=> σωστή λέξη. (είναι για 10

λέξεις)

corrects=sum(S==10);

Page 61: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

51

Τώρα αν το άθροισμα της κάθε στήλης του πίνακα Α είναι 1 σημαίνει ότι αντιστοιχεί σε

μια λέξη και δεν είναι ένα άγνωστο αποτέλεσμα. Με το να αφαιρέσουμε την τιμή known

από sz βρίσκουμε όλα τα άγνωστα στοιχειά του πίνακα, στοιχειά τα οποία το δίκτυο δεν

κατάφερε να τα κατηγοριοποιήσει κάπου.

known=sum(A==1); % vrisko posa gnosta exo NA=sz-known; % me to simpliromatiko vrisko ta unknown

Κατόπιν υπολογίζουμε τα ποσοστά επιτυχίας-αποτυχίας και άγνωστων.

success=corrects/sz; unknown=NA/sz; fails=(sz-(corrects+NA))/sz;

success=success*100 fails=fails*100 unknown=unknown*100

Στον επόμενο τρόπο με μια διαφορετική μέθοδο καταφέρνουμε να υπολογίσουμε μονό

επιτυχίες και αποτυχίες.

Η πιο κάτω εντολή επιστρέφει τον πίνακα predicted_classes που είναι ένας πίνακας

γραμμή. Σε κάθε στήλη του φυλή τη θέση που ο πίνακας test είχε την μέγιστη τιμή του.

Το ίδιο γίνεται και με τον correct_classes. O πίνακας τεστ είναι η έξοδος του δικτύου μου

και ο πίνακας target_test είναι τα αναμενόμενα αποτελέσματα του test.

[V,predicted_classes]=max(test); %to opoio P ine to prediction matrix

apo to simulation

[V,correct_classes]=max(target_test); %opou to target test ine to

apotelesma p tha anamena apo to simulation an itan 100% sosto

Page 62: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

52

Συγκρίνοντας τα πιο πάνω βρίσκω με άλλο τρόπο των αριθμό των σωστών λέξεων. corrects=sum(predicted_classes==correct_classes);

M=target_test; sz=size(M,2);

success=corrects/sz; fails=(sz-corrects)/sz;

success=success*100 fails=fails*100

Με λίγα λόγια συγκρίνω αν το max value της εξόδου βρίσκεται στην ίδια θέση με το max

value του desired matrix.

Ο τελευταίος τρόπος είναι σχεδόν ο ίδιος με τον πρωτο τρόπο. Απλώς εδω κάνω manual

round των τιμών μου. Για κάθε στήλη υπολογίζω το δικό της threshold και δεν θεωρώ ότι

είναι το 0.5 και δημιουργώ ένα πίνακα με τα thresholds.

M=target_test; sz=size(M,2);

maxvalue=max(test); minvalue=min(test);

threshold=minvalue+(maxvalue-minvalue)/2; threshold=repmat(threshold,classes,1); O=test>=threshold; S=sum(O); corrects=sum(S==1); % sosta wrongs=sz-corrects; success=corrects/sz; fails=wrongs/sz; success=success*100 fails=fails*100

Page 63: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

53

Το πιο κάτω κομμάτι υπάρχει στο κώδικα που ελέγχει την απόδοση ενός νευρωνικού

δικτύου το οποίο ξεχωρίζει δυο μόνο λέξεις. Είναι παρόμοια λογική.

Ο target_test είναι τα desired values και ο test η έξοδος μας. Κάνουμε το round μας

M=target_test; test=round(test); sz=size(M,2);

Παρατηρούμε σε ποια κομμάτια έχουν ισότητα ο desired με την έξοδο και ανάλογα με

το άθροισμα της στήλης της ισότητας υπολογίζω τα σωστά, τα λάθος και τα άγνωστα.

O=M==test; S=sum(O); corrects=sum(S==2); wrongs=sum(S==0); NA=sum(S==1);

success=corrects/sz; fails=wrongs/sz; unknown=NA/sz;

success=success*100 fails=fails*100 unknown=unknown*100

Page 64: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

54

Κεφαλαιο 7. Αποτελέσματα

Έχοντας όλα τα αποτελέσματα από τα πειράματα τα μελετήσαμε προσεκτικά και

αποφασίσαμε ποιες παραμέτρους και μεθόδους θα κρατήσουμε ώστε να κάνουμε το

τελικό μας πείραμα με τις 10 λέξεις.

Σε κάθε πείραμα σημειώσαμε ποιες μεθόδους σε ποιες παραμέτρους είχε την

υψηλότερη αποδοτικότητα. Αναλυτικά είχαμε τα πιο κάτω:

Word On/Off: Sorting Method

Training Size Num of Features

Number of Input Neurons

Training Function

Results Results

210/300 1000 2000 TrainGD 2.1 success =73.8889 % fails = 24.4444 % unknown = 1.6667 %

150/300 1000 1000 TrainGD 2.27 success = 74.6667% fails =21% unknown =4.3333%

Word On/off Logarithmic Histogram Method Training Size

Num of Features

Number of Input Neurons

Training Function

Results Results

210/300 10 10 TrainLm 2.70 success =75% fails =25% unknown =0%

150/300 10 5 TrainLm 2.96 success =71.6667% fails =28.3333% unknown =0%

Words on/off – Power Spectral Density Method(Welch Method)

Training Size

Num of Features

Number of Input Neurons

Training Function

Results Results

210/300 1000 1000 TrainGD 2.99 success =80.5556% fails =13.3333% unknown =6.1111%

150/300 1000 2000 TrainGD 2.121 success =78% fails =15.6667% unknown =6.3333%

Page 65: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

55

Words open/close – Sorting

210/300 500 250 TrainGD 3.11 success =81.6667% fails =16.6667% unknown =1.6667%

150/300 1000 1000 TrainGD 3.27 success =81.6667% fails =17.3333% unknown =1%

Words open/close – Logarithmic Histogram

Training Size

Num of Features

Number of Input Neurons

Training Function

Results Results

210/300 10 10 TrainLm 3.70 success =74.4444% fails =25.5556% unknown = 0%

150/300 10 10 TrainLm 3.94 success =72.6667% fails =27.3333% unknown =0%

Words Open/Close Power Spectral Density Method(Welch Method)

Training Size

Num of Features

Number of Input Neurons

Training Function

Results Results

210/300 1000 1000 TrainGD 3.99 success =93.8889% fails =5% unknown =1.1111%

150/300 1000 2000 TrainGD 3.121 success =91.6667% fails =5.6667% unknown =2.6667%

Training Size

Num of Features

Number of Input Neurons

Training Function

Results Results

Page 66: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

56

Μελετήσαμε προσεκτικά τα αποτελέσματα, την αποδοτικότητα και τις

παραμέτρους του κάθε πειράματος. Αποφασίσαμε να θέσουμε το μέγεθος του πίνακα

εκπαίδευσης στα 150 δείγματα από τα 300.

Μελετώντας τα αποτελέσματα καταλήξαμε στα πιο κάτω συμπεράσματα.

Στη μέθοδο της αύξουσας ταξινόμησης παρατηρήσαμε ότι τις πλείστες φορές στα 1000

features έχουμε καλύτερα αποτελέσματα ενώ το αντίθετο έγινε με το λογαριθμικό

ιστόγραμμα το οποίο έχει τα καλυτέρα αποτελέσματα στα 10 features.

Όσον αφορά τη μέθοδο με την ανάλυση της πυκνότητας φασματικής ισχύς αποφασίσαμε

ότι θα χρησιμοποιήσουμε 1000 και 500 features.

Τώρα όσον αφορά τον αριθμό των νευρώνων αφήσαμε τις συνηθισμένες παραμέτρους οι

οποίες ήταν διπλάσιο με τον αριθμό των features ίσο και μισό. Ειδικά όμως για τη

μέθοδο ανάλυση της πυκνότητας φασματικής ισχύς στα 500 features χρησιμοποιήσαμε

μόνο διπλάσιο και ίσο αριθμό νευρώνων αφού δεν υπήρχε ουσία να χρησιμοποιήσουμε

τον μισό.

Page 67: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

57

Σε αυτό το πίνακα έχουμε τις κατηγορίες των μεθόδων που μας έδωσαν την πιο υψηλή

απόδοση. Τις μεθόδους και τις παραμέτρους αυτές χρησιμοποιήσαμε στο τελικό μας

πείραμα για να ελέγξουμε την απόδοση

Μέθοδος Τrain Size # Features # Neurons Training

function

Sorting 150/300 1000 2000 TrainGd

1000 TrainGd

500 TrainGd

Logarithmic

Histοgram

10 20 TrainLm

10 TrainLm

5 TrainLm

Πυκοντητα

Φασματικης Ισχυς

1000 2000 TrainGd

1000 TrainGd

500 TrainGd

500 1000 TrainGd

500 TrainGd

250 TrainGd

Οι πιο πάνω μέθοδοι και παράμετροι μας έχουν δώσει τα καλύτερα αποτελέσματα

για αυτό και εμείς τις χρησιμοποιήσαμε για τα πειράματα με τις 10 λέξεις.

Όπως θα καταλάβατε μέχρι τώρα για κάθε ομάδα πειραμάτων υπάρχει διαφορετικός

τρόπος εύρεσης απόδοσης του δικτύου μας.

Page 68: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

58

Τα υψηλοτέρα αποτελέσματα από τις τρεις διαφορετικές μεθόδους ελέγχου απόδοσης είναι οι πιο κάτω πίνακες. Είναι λογικό να είχαμε χαμηλές αποδόσεις γιατί το εγχείρημα μας ήταν δύσκολο. Όμως είναι αξιοπρόσεχτα τα αποτελέσματα με τις 2 τελευταίες μεθόδους ελέγχου απόδοσης όπου φτάνουμε στα 62% και στο πολύ καλό αποτέλεσμα του 78%.

1. Test_result_final :using round function(threshold=0.5)

2. Test_result_final2: using max value for each column

3. Test_result_final3:using variable threshold

Train Size

Num Ftrs

Num Neurons

Training Function

Results (sorting)

Results (logHist)

Results ( Power Spectral Density )

150/300 1000 2000 TrainGD success =27.2000% fails =5.1333% unknown =67.6667%

Train Size

Num Ftrs

Num Neurons

Training Function

Results (sorting)

Results (logHist)

Results ( Power Spectral Density )

150/300 1000 2000 TrainGD success =62.8667% fails =37.1333%

Train Size

Num Ftrs

Num Neurons

Training Function

Results (sorting)

Results (logHist)

Results (Power Spectral Density)

150/300 10 20 TrainLm success =78.8000% fails =21.2000%

Page 69: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

59

Στο τέλος της αναφοράς παρατίθενται όλα τα αποτελέσματα που έδωσε το κάθε

πείραμα που έχουμε κάνει. Όπως θα δείτε η μέθοδος ascending sorting έχει κάποια

αξιόλογα αποτελέσματα. Στην αρχή δεν πιστεύαμε ότι αυτή η μέθοδος θα έφτανε σε

τόσο ψηλά ποσοστά επιτυχίας. Αυτό το αποτέλεσμα δείχνει ότι και οι απλούστερες

μέθοδοι όταν αξιοποιηθούν σωστά έχουν σημαντικά αποτελέσματα.

Επιπλέον αναλόγως με την μέθοδο ταξινόμηση υπάρχει και η κατάλληλη

συνάρτηση εκπαίδευσης που ταιριάζει και έχει καλύτερα αποτελέσματα. Αυτό φάνηκε

και στα δικά μας πειράματα αφού στο λογαριθμικό ιστόγραμμα την πρωτιά την είχε η

συνάρτηση εκπαίδευσης Trainlm.

Το γενικό συμπέρασμα όμως είναι ότι και πάλι η Traingd έχει την πρωτιά. Η

συνάρτηση αυτή είναι ευρέως γνωστή για την αποδοτικότητα της και για αυτό

χρησιμοποιείται περισσότερο από τις υπόλοιπες.

Page 70: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

60

References http://en.wikipedia.org/wiki/Welch_method

http://en.wikipedia.org/wiki/Histogram

http://en.wikipedia.org/wiki/Sorting_algorithm

http://en.wikipedia.org/wiki/Spectrum_analyzer

http://en.wikipedia.org/wiki/Discrete_Fourier_transform

http://en.wikipedia.org/wiki/Fourier_transform

http://en.wikipedia.org/wiki/Spectrum

http://en.wikipedia.org/wiki/Frequency_spectrum

http://en.wikipedia.org/wiki/Power_spectrum

http://en.wikipedia.org/wiki/Spectrogram

Matlab Help

Page 71: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

61

Appendix A-Codes

Κώδικας Αυξητικής ταξινόμησης 2 τάξεων training_size=150; nFeatures=10; words=300; files1=dir('C:\Users\Administrator\Desktop\Thesis\downsampled_on_off\downsampled_on\*.wav'); files2=dir('C:\Users\Administrator\Desktop\Thesis\downsampled_on_off\downsampled_off\*.wav'); M1=[]; M2=[]; for i=1:words y1=wavread(['downsampled_on\' files1(i).name]); %diavazo ti leksi y2=wavread(['downsampled_off\' files2(i).name]); y1=y1/(sqrt(sum(y1.^2)/length(y1))); %normalize y2=y2/(sqrt(sum(y2.^2)/length(y2))); %normalize y1=sort(y1,1,'descend'); %tin kano sort y2=sort(y2,1,'descend'); %tin kano sort features1=y1(1:nFeatures); features2=y2(1:nFeatures); M1=[M1 features1]; M2=[M2 features2]; end M1=M1(:,randperm(size(M1,2))); M2=M2(:,randperm(size(M2,2))); trainset=[M1(:,1:training_size) M2(:,1:training_size)]; testset=[M1(:,training_size+1:end) M2(:,training_size+1:end)]; target=[ones(1,training_size) zeros(1,training_size); zeros(1,training_size) ones(1,training_size)]; %pinakas ekmathisis target_test=[ones(1,words-training_size) zeros(1,words-training_size); zeros(1,words-training_size) ones(1,words-training_size)]; %dimiourgeia pinaka elegxou clear y* clear M* clear feat* clear files*

Page 72: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

62

Κώδικας Λογαριθμικού ιστογράμματος 2 τάξεων training_size=150; nFeatures=10; words=300; low=-2.5; high=1; in_range_log=[]; b=[0,1]; files1=dir('C:\Users\Administrator\Desktop\Thesis\downsampled_on_off\downsampled_on\*.wav'); files2=dir('C:\Users\Administrator\Desktop\Thesis\downsampled_on_off\downsampled_off\*.wav'); M1=[]; M2=[]; for i=1:words y1=wavread(['downsampled_on\' files1(i).name]); %diavazo ti leksi y2=wavread(['downsampled_off\' files2(i).name]); y1=y1/(sqrt(sum(y1.^2)/length(y1))); %normalize y2=y2/(sqrt(sum(y2.^2)/length(y2))); %normalize %ydown1=resample(y1,8,100); %y1=ydown1/(sqrt(sum(ydown1.^2)/length(ydown1))); %ydown2=resample(y2,8,100); %y2=ydown2/(sqrt(sum(ydown2.^2)/length(ydown2))); features1=hist(y1,[fliplr(-logspace(low,high,round(nFeatures/2))),logspace(low,high,round(nFeatures/2))]); features2=hist(y2,[fliplr(-logspace(low,high,round(nFeatures/2))),logspace(low,high,round(nFeatures/2))]); features1=features1./max(features1); %normalize t histogramm features2=features2./max(features2); features1=features1'; %Kano tis grammes stiles features2=features2'; %Kano tis grammes stiles M1=[M1 features1]; M2=[M2 features2];

Page 73: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

63

end M1=M1(:,randperm(size(M1,2))); M2=M2(:,randperm(size(M2,2))); trainset=[M1(:,1:training_size) M2(:,1:training_size)]; testset=[M1(:,training_size+1:end) M2(:,training_size+1:end)]; target=[ones(1,training_size) zeros(1,training_size); zeros(1,training_size) ones(1,training_size)]; target_test=[ones(1,words-training_size) zeros(1,words-training_size); zeros(1,words-training_size) ones(1,words-training_size)]; %dimiourgeia pinaka elegxou clear y* clear M* clear feat*

Page 74: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

64

Κώδικας Ανάλυσης Πυκνότητας Φασματικής Ισχύς 2 τάξεων training_size=150; nFeatures=1000; words=300; Fs=8000; in_range_log=[]; b=[0,1]; files1=dir('C:\Documents and Settings\EliasPC\Desktop\Thesis\downsampled_on_off\downsampled_on\*.wav'); files2=dir('C:\Documents and Settings\EliasPC\Desktop\Thesis\downsampled_on_off\downsampled_off\*.wav'); M1=[]; M2=[]; for i=1:words y1=wavread(['downsampled_on\' files1(i).name]); %diavazo ti leksi y2=wavread(['downsampled_off\' files2(i).name]); y1=y1/(sqrt(sum(y1.^2)/length(y1))); %normalize y2=y2/(sqrt(sum(y2.^2)/length(y2))); [features1,frequencies]=pwelch(y1,[],[],(nFeatures-1)*2,Fs); [features2,frequencies]=pwelch(y2,[],[],(nFeatures-1)*2,Fs); features1=log10(features1); features2=log10(features2); M1=[M1 features1]; M2=[M2 features2]; end M1=M1(:,randperm(size(M1,2))); M2=M2(:,randperm(size(M2,2))); trainset=[M1(:,1:training_size) M2(:,1:training_size)]; testset=[M1(:,training_size+1:end) M2(:,training_size+1:end)]; target=[ones(1,training_size) zeros(1,training_size); zeros(1,training_size) ones(1,training_size)]; target_test=[ones(1,words-training_size) zeros(1,words-training_size); zeros(1,words-training_size) ones(1,words-training_size)]; clear y* clear M* clear feat* clear files*

Page 75: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

65

Κώδικας Ελέγχου Απόδοσης 2 τάξεων

M=target_test; test=round(test); sz=size(M,2); O=M==test; S=sum(O); corrects=sum(S==2); wrongs=sum(S==0); NA=sum(S==1); success=corrects/sz; fails=wrongs/sz; unknown=NA/sz; success=success*100 fails=fails*100 unknown=unknown*100

Page 76: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

66

Κώδικας Αυξητικής ταξινόμησης 10 τάξεων training_size=150; nFeatures=1000; classes=10; % number of classes words=300; %number of words trainset_sort=[]; testset_sort=[]; for i=1:classes M=[]; files=dir(['C:\Documents and Settings\EliasPC\Desktop\Thesis\finalexperiment\class' num2str(i) '\*.wav']); %load ola ta .wav files tou kathe class for j=1:words y=wavread(['class' num2str(i) '\' files(j).name]); %diavazo ti j leksi tou class(i) ydown=resample(y,8,100); %resample to y y=ydown/(sqrt(sum(ydown.^2)/length(ydown))); % y resampled k normalized m=sort(y,1,'descend'); % y sorted features=m(1:nFeatures); % perno ta prota nFeatures M=[M features]; %pinakas p exei ta features tis j leksis tou class(i) end M=M(:,randperm(size(M,2))); %randomize array trainset1=[M(:,1:training_size)]; % exei ti leksi t class(i) training_size fores testset1=[M(:,training_size+1:end)]; % exei tis ipoloipes fores ti leksi t class(i) trainset_sort=[trainset_sort trainset1]; % oles oi lekseis mazi tou train testset_sort=[testset_sort testset1];% oles oi lekseis mazi t test clear M* end targets=full(ind2vec(reshape(repmat(1:classes,training_size,1),[],1))); target_test=full(ind2vec(reshape(repmat(1:classes,words-training_size,1),[],1))); clear testset1 clear trainset1 clear y*

Page 77: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

67

Κώδικας Λογαριθμικού Ιστογράμματος 10 τάξεων training_size=150; nFeatures=10; classes=10; % number of classes words=300; %number of words low=-2.5; high=1; trainset_hist=[]; testset_hist=[]; for i=1:classes Mhist=[]; files=dir(['C:\Documents and Settings\EliasPC\Desktop\Thesis\finalexperiment\class' num2str(i) '\*.wav']); %load ola ta .wav files tou kathe class for j=1:words y=wavread(['class' num2str(i) '\' files(j).name]); %diavazo ti j leksi tou class(i) ydown=resample(y,8,100); %resample to y y=ydown/(sqrt(sum(ydown.^2)/length(ydown))); % y resampled k normalized features2=hist(y,[fliplr(-logspace(low,high,round(nFeatures/2))),logspace(low,high,round(nFeatures/2))]); features2=features2./max(features2); features2=features2'; %Kano tis grammes stiles Mhist=[Mhist features2]; end Mhist=Mhist(:,randperm(size(Mhist,2))); %randomize array trainset3=[Mhist(:,1:training_size)]; % exei ti leksi t class(i) training_size fores testset3=[Mhist(:,training_size+1:end)]; % exei tis ipoloipes fores ti leksi t class(i) trainset_hist=[trainset_hist trainset3]; % oles oi lekseis mazi tou train_spec testset_hist=[testset_hist testset3];% oles oi lekseis mazi t test_spec clear M* end

Page 78: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

68

targets=full(ind2vec(reshape(repmat(1:classes,training_size,1),[],1))); target_test=full(ind2vec(reshape(repmat(1:classes,words-training_size,1),[],1))); clear testset3 clear trainset3 clear y*

Page 79: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

69

Κώδικας Ανάλυσης Πυκνότητας Φασματικής Ισχύος 10 τάξεων

training_size=150; nFeatures=500; classes=10; % number of classes words=300; %number of words Fs=8000; trainset_spec=[]; testset_spec=[]; for i=1:classes Mspec=[]; %allocate pinaka files=dir(['C:\Users\Administrator\Desktop\Thesis\finalexperiment' num2str(i) '\*.wav']); %load ola ta .wav files tou kathe class for j=1:words y=wavread(['class' num2str(i) '\' files(j).name]); %diavazo ti j leksi tou class(i) ydown=resample(y,8,100); %resample to y y=ydown/(sqrt(sum(ydown.^2)/length(ydown))); % y resampled k normalized [features1,frequencies]=pwelch(y,[],[],(nFeatures-1)*2,Fs); %Spectrum features1=log10(features1); Mspec=[Mspec features1]; end Mspec=Mspec(:,randperm(size(Mspec,2))); %randomize array trainset2=[Mspec(:,1:training_size)]; % exei ti leksi t class(i) training_size fores testset2=[Mspec(:,training_size+1:end)]; % exei tis ipoloipes fores ti leksi t class(i) trainset_spec=[trainset_spec trainset2]; % oles oi lekseis mazi tou train_spec testset_spec=[testset_spec testset2];% oles oi lekseis mazi t test_spec clear M* end targets=full(ind2vec(reshape(repmat(1:classes,training_size,1),[],1)));

Page 80: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

70

target_test=full(ind2vec(reshape(repmat(1:classes,words-training_size,1),[],1))); clear y* clear i clear j clear words clear trainset2 clear testset2

Page 81: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

71

Κώδικας Ελέγχου 10 τάξεων με σταθερό threshold στο 0.5 (Test_result_final)

test1=round(test); % o test ine o prediction array A=sum(test1);%prediction array M=target_test; sz=size(M,2); O=M==test1; S=sum(O); corrects=sum(S==10); known=sum(A==1); % vrisko posa gnosta exo NA=sz-known; % me to simpliromatiko vrisko ta unknown success=corrects/sz; unknown=NA/sz; fails=(sz-(corrects+NA))/sz; success=success*100 fails=fails*100 unknown=unknown*100

Page 82: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

72

Κώδικας Ελέγχου 10 τάξεων με μεταβαλλόμενο threshold(Test_result_final2)

M=target_test; sz=size(M,2); maxvalue=max(test); minvalue=min(test); threshold=minvalue+(maxvalue-minvalue)/2; threshold=repmat(threshold,classes,1); O=test>=threshold; S=sum(O); corrects=sum(S==1); % sosta wrongs=sz-corrects; success=corrects/sz; fails=wrongs/sz; success=success*100 fails=fails*100

Page 83: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

73

Κώδικας Ελέγχου 10 τάξεων θεωρώντας το max value μόνο ότι έκανε fire ενας

νευρώνας

(Test_result_final3)

[V,predicted_classes]=max(test); %to opoio P ine to prediction matrix apo to simulation [V,correct_classes]=max(target_test); %opou to target test ine to apotelesma p tha anamena apo to simulation an itan 100% sosto corrects=sum(predicted_classes==correct_classes); M=target_test; sz=size(M,2); success=corrects/sz; fails=(sz-corrects)/sz; success=success*100 fails=fails*100

Page 84: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

74

Appendix B Λέξεις

1 computer 2 lights 3 curtains 4 door 5 on 6 off 7 open 8 close 9 telephone 10 TV 11 zero 12 one 13 two 14 three 15 four 16 five 17 six 18 seven 19 eight 20 nine 21 ten 22 eleven 23 twelve 24 thirteen 25 fourteen 26 fifteen 27 sixteen 28 seventeen 29 eighteen 30 nineteen 31 twenty 32 thirty 33 forty 34 fifty 35 sixty 36 seventy 37 eighty 38 ninety 39 hundred 40 window 41 front 42 rear 43 forward

44 backward 45 reverse 46 house 47 mouse 48 microphone 49 flamingo 50 low 51 high 52 up 53 down 54 screen 55 monitor 56 music 57 sound 58 right 59 left 60 power 61 go 62 now 63 menu 64 yes 65 no 66 cancel 67 OK 68 remove 69 add 70 higher 71 lower 72 slower 73 faster 74 switch 75 stop 76 start 77 pause 78 play 79 repeat 80 type 81 keyboard 82 silent 83 mute 84 push 85 pull 86 answer

87 hello 88 goodbye 89 bye 90 buy 91 bat 92 mat 93 reserve 94 preserve 95 AM 96 PM 97 north 98 south 99 west 100 east

Page 85: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

75

Recording Info

Male Age Female Age Male01 14 Female01 21 Male02 17 Female01 22 Male03 24 Female01 22 Male04 20 Female01 22 Male05 23 Female01 22 Male06 23 Female01 21 Male07 22 Female01 22 Male08 22 Female01 21 Male09 19 Female01 22 Male10 24 Female01 23 Male11 19 Female01 30 Male12 22 Female01 22 Male13 40 Female01 21 Male14 30 Female01 24 Male15 23 Female01 23

Page 86: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

Appendix A-Codes

Simulations Classification

Case 1-Separate males/females voice

Word: Hello Create a neural network that will differentiate male from female voice.

Case 2-Separate 2 similar words

Words: on/off

Case 3-Separate 2 words

Words: open/close

Parameters for the 3 experiments:

• Training set to Test set ratio:

a) 50%-50% b) 70%-30%

• Number of features:

a) 10 b) 100 c) 500 d) 1000

• Training function:

a) traingd b) trainlm

• Transfer function:

logsig

• Number of Input neurons: a) Equal to the number of features b) Half the number of features c) Twice the number of features

• Number of output neurons:

Equal to the number of classes (2,10)

Page 87: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

Case 1-Separate males/females voice Word Hello: Sorting Method Training Size Num of

Features Number of Input Neurons

Training Function

Results Results

105/300 1000 2000 TrainGD 1.1 success =72.2222% fails =23.3333% unknown = 4.4444%

TrainLm 1.2 N/A 1000 TrainGD 1.3 success =67.7778%

fails =28.8889% unknown =3.3333%

TrainLm 1.4 N/A 500 TrainGD 1.5 success =68.8889%

fails =25.5556% unknown =5.5556%

TrainLm 1.6 N/A 500 1000 TrainGD 1.7 success =62.2222%

fails =28.8889% unknown =8.8889%

TrainLm 1.8 N/A 500 TrainGD 1.9 success =65.5556%

fails =31.1111% unknown =3.3333%

TrainLm 1.10 N/A 250 TrainGD 1.11 success =61.1111%

fails =36.6667% unknown =2.2222%

TrainLm 1.12 N/A 100 200 TrainGD 1.13 success =64.4444%

fails =33.3333% unknown = 2.2222%

TrainLm 1.14 N/A 100 TrainGD 1.15 success =61.1111%

fails =34.4444% unknown =4.4444%

TrainLm 1.16 N/A 50 TrainGD 1.17 success =63.3333%

fails =33.3333% unknown =3.3333%

TrainLm 1.18 N/A

Page 88: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

10 20 TrainGD 1.19 success =52.2222% fails =38.8889% unknown =8.8889%

TrainLm 1.20 success =25.5556% fails =21.1111% unknown =53.3333%

10 TrainGD 1.21 success =31.1111% fails =14.4444% unknown =54.4444%

TrainLm 1.22 success =55.5556% fails =44.4444% unknown =0%

5 TrainGD 1.23 success =44.4444% fails =33.3333% unknown =22.2222%

TrainLm 1.24 success =60% fails =40% unknown =0%

Page 89: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

Training Size Num of Features

Number of Input Neurons

Training Function

Results Results

75/150 1000 2000 TrainGD 1.25 success =67.3333% fails =28.0000% unknown =4.6667%

TrainLm 1.26 N/A

1000 TrainGD 1.27 success =64.6667% fails =31.3333% unknown =4%

TrainLm 1.28 N/A

500 TrainGD 1.29 success =65.3333% fails =30% unknown =4.6667%

TrainLm 1.30 N/A

500 1000 TrainGD 1.31 success =68% fails =29.3333% unknown =2.6667%

TrainLm 1.32 N/A

500 TrainGD 1.33 success =68.6667% fails =28.6667% unknown =2.6667%

TrainLm 1.34 N/A

250 TrainGD 1.35 success =71.3333% fails =28.6667% unknown =0%

TrainLm 1.36 N/A

100 200 TrainGD 1.37 success =73.3333% fails =24.3333% unknown =2.3333%

TrainLm 1.38 N/A

100 TrainGD 1.39 success =73.6667% fails =24.3333% unknown =2%

TrainLm 1.40 N/A

50 TrainGD 1.41 success =73% fails =24% unknown =3%

TrainLm 1.42 N/A

Did x2 10 20 TrainGD 1.43 success =70% fails =26.3333%% unknown =3.6667%

Page 90: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

TrainLm 1.44 success =59.3333% fails =40.6667% unknown =0%

10 TrainGD 1.45 success =69.3333% fails =27.6667% unknown =3%

TrainLm 1.46 success =62.3333% fails =37.6667% unknown =0%

5 TrainGD 1.47 success =44.6667% fails =18% unknown =37.3333%

TrainLm 1.48 success =72% fails =28.0000% unknown =0%

Page 91: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

Word Hello: Power Spectral Density Method(Welch Method) Training Size Num of

Features Number of Input Neurons

Training Function

Results Results

120/150 1000 2000 TrainGD 1.49 success =86.6667% fails =13.3333% unknown = 0%

TrainLm 1.50 N/A 1000 TrainGD 1.51 Success=86.6667%

fails =11.6667% unknown =1.6667%

TrainLm 1.52 N/A 500 TrainGD 1.53 success =86.6667%

fails =13.3333% unknown =0%

TrainLm 1.54 N/A 500 1000 TrainGD 1.55 success =91.6667%

fails =6.6667% unknown =1.6667%

TrainLm 1.56 N/A 500 TrainGD 1.57 success =91.6667%

fails =6.6667% unknown =1.6667%

TrainLm 1.58 N/A 250 TrainGD 1.59 success =93.3333%

fails =6.6667% unknown =0%

TrainLm 1.60 N/A 100 200 TrainGD 1.61 success =86.6667%

fails =8.3333% unknown =5%

TrainLm 1.62 N/A 100 TrainGD 1.63 success =91.6667%

fails =6.6667% unknown =1.6667%

TrainLm 1.64 N/A 50 TrainGD 1.65 success =90%

fails =10% unknown =0%

TrainLm 1.66 N/A

Page 92: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

10 20 TrainGD 1.676 success =56.6667% fails =6.6667% unknown =36.6667%

TrainLm 1.68 success =76.6667% fails =23.3333% unknown =0%

10 TrainGD 1.69 success =65% fails =11.6667% unknown =23.3333%

TrainLm 1.70 success =71.6667% fails =28.3333% unknown =0%

5 TrainGD 1.71 success =13.3333% fails =18.3333% unknown =68.3333%

TrainLm 1.72 success =73.3333% fails =26.6667% unknown =0%

Page 93: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

Training Size Num of

Features Number of Input Neurons

Training Function

Results Results

75/150 1000 2000 TrainGD 1.73 success =88.6667% fails =10% unknown =1.3333%

TrainLm 1.74 N/A 1000 TrainGD 1.75 success =88.6667%

fails =10.6667% unknown =0.6667%

TrainLm 1.76 N/A 500 TrainGD 1.77 success =90%

fails =10% unknown =0%

TrainLm 1.78 N/A 500 1000 TrainGD 1.79 success =86.6667%

fails =12% unknown =1.3333%

TrainLm 1.80 N/A 500 TrainGD 1.81 success =86%

fails =11.3333% unknown =2.6667%

TrainLm 1.82 N/A 250 TrainGD 1.83 success =88%

fails =10.6667% unknown =1.3333%

TrainLm 1.84 N/A 100 200 TrainGD 1.85 success =86%

fails =5.3333% unknown = 8.6667%

TrainLm 1.86 N/A 100 TrainGD 1.87 success =86%

fails =7.3333% unknown =6.6667%

TrainLm 1.88 N/A 50 TrainGD 1.89 success =84%

fails =6% unknown =10%

TrainLm 1.90 N/A 10 20 TrainGD 1.91 success =63.3333%

fails =27.3333% unknown =9.3333%

TrainLm 1.92 success =68.6667% fails =30.6667% unknown =0.6667%

Page 94: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

10 TrainGD 1.93 success =58.6667% fails =29.3333% unknown =12%

TrainLm 1.94 success =68.6667% fails =31.3333% unknown = 0%

5 TrainGD 1.95 success =64.6667% fails =26% unknown =9.3333%

TrainLm 1.96 success =64.6667% fails =35.3333% unknown =0%

Page 95: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

Case 2-Separate 2 similar words

Word On/Off: Sorting Method

Training Size Num of Features

Number of Input Neurons

Training Function

Results Results

210/300 1000 2000 TrainGD 2.1 success =73.8889 % fails = 24.4444 % unknown = 1.6667 %

TrainLm 2.2 N/A 1000 TrainGD 2.3 success = 69.4444 %

fails = 22.7778 % unknown = 7.7778%

TrainLm 2.4 N/A 500 TrainGD 2.5 success = 68.3333 %

fails = 22.7778 % unknown = 8.8889 %

TrainLm 2.6 N/A 500 1000 TrainGD 2.7 success = 73.3333%

fails = 20% unknown = 6.6667%

TrainLm 2.8 N/A 500 TrainGD 2.9 success = 72.2222 %

fails =16.1111% unknown = 11.6667%

TrainLm 2.10 N/A 250 TrainGD 2.11 success =73.8889 %

fails =15.5556 % unknown =10.5556 %

TrainLm 2.12 N/A 100 200 TrainGD 2.13 success = 69.4444 %

fails =19.4444 % unknown =11.1111 %

TrainLm 2.14 N/A 100 TrainGD 2.15 success = 59.4444%

fails =15% unknown = 25.5556%

TrainLm 2.16 N/A 50 TrainGD 2.17 success =61.1111%

fails =20% unknown =18.8889%

Page 96: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

TrainLm 2.18 N/A tks more than 2h 10 20 TrainGD 2.19 success =13.8889%

fails =6.1111% unknown = 80%

TrainLm 2.20 success =61.1111% fails =38.8889% unknown =0%

10 TrainGD 2.21 success =49.4444% fails =48.3333% unknown =2.2222%

TrainLm 2.22 success =72.2222% fails =27.7778% unknown =0%

5 TrainGD 2.23 success = 22.7778% fails =20.5556% unknown =56.6667%

TrainLm 2.24 success =69.4444% fails =30.5556% unknown =0%

Page 97: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

Training Size Num of

Features Number of Input Neurons

Training Function

Results Results

150/300 1000 2000 TrainGD 2.25 success =73.3333% fails =23.3333% unknown = 3.3333%

TrainLm 2.26 N/A 1000 TrainGD 2.27 success = 74.6667%

fails =21% unknown =4.3333%

TrainLm 2.28 N/A 500 TrainGD 2.29 success =73%

fails =20.3333% unknown =6.6667%

TrainLm 2.30 N/A 500 1000 TrainGD 2.31 success = 70%

fails =27% unknown =3%

TrainLm 2.32 N/A 500 TrainGD 2.33 success =69%

fails =26% unknown =5%

TrainLm 2.34 N/A 250 TrainGD 2.35 success =69.6667%

fails =24% unknown =6.3333%

TrainLm 2.36 N/A 100 200 TrainGD 2.37 success =73.6667%

fails =16% unknown =10.3333%

TrainLm 2.38 N/A 100 TrainGD 2.39 success =71%

fails = 25% unknown =4%

TrainLm 2.40 N/A 50 TrainGD 2.41 success =65,4%

fails =23.33334% unknown =11.6664%

TrainLm 2.42 N/A 10 20 TrainGD 2.43 success =32.6667%

fails =11.6667% unknown = 55.6667%

TrainLm 2.44 success =64% fails =36% unknown =0%

Page 98: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

10 TrainGD 2.45 success =62.6667% fails =24.3333% unknown =13%

TrainLm 2.46 success =58.6667% fails =41.3333% unknown =0%

5 TrainGD 2.47 success =48.3333% fails =50% unknown =1.6667%

TrainLm 2.48 success =68.6667% fails =30.3333% unknown =1%

Page 99: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

Word On/off Logarithmic Histogram Method Training Size

Num of Features

Number of Input Neurons

Training Function

Results Results

210/300 1000 2000 TrainGD 2.49 success =27.7778% fails =23.3333% unknown =48.8889%

TrainLm 2.50 N/A

1000 TrainGD 2.51 success =36.1111% fails =21.1111% unknown =42.7778%

TrainLm 2.52 N/A

500 TrainGD 2.53 success =23.3333% fails =22.2222% unknown =54.4444%

TrainLm 2.54 N/A

500 1000 TrainGD 2.55 success =40.5556% fails =18.8889% unknown =40.5556%

TrainLm 2.56 N/A

500 TrainGD 2.57 success =32.2222% fails = 20% unknown =47.7778%

TrainLm 2.58 N/A

250 TrainGD 2.59 success =25% fails =22.7778% unknown =52.2222%

TrainLm 2.60 N/A

100 200 TrainGD 2.61 success =30.5556% fails =24.4444% unknown =45%

TrainLm 2.62 N/A

100 TrainGD 2.63 success =11.1111% fails =24.4444% unknown =64.4444%

TrainLm 2.64 N/A

50 TrainGD 2.65 success =26.6667% fails =26.1111% unknown =47.2222%

Page 100: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

TrainLm 2.66 N/A

10 20 TrainGD 2.67 success =14.4444% fails =28.8889% unknown =56.6667%

TrainLm 2.68 success =72.2222% fails =27.2222% unknown =0.5556%

10 TrainGD 2.69 success =50% fails =50% unknown =0%

TrainLm 2.70 success =75% fails =25% unknown =0%

5 TrainGD 2.71 success =18.3333% fails =18.3333% unknown =63.3333%

TrainLm 2.72 success =66.1111% fails =33.8889% unknown =0%

Page 101: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

Training Size

Num of Features

Number of Input Neurons

Training Function

Results Results

150/300 1000 2000 TrainGD 2.73 success =34.6667% fails =24.3333% unknown =41%

TrainLm 2.74 N/A

1000 TrainGD 2.75 success =37.6667% fails =23.3333% unknown =39%

TrainLm 2.76 N/A

500 TrainGD 2.77 success =26.6667% fails =22.3333% unknown =51%

TrainLm 2.78 N/A

500 1000 TrainGD 2.79 success =38.6667% fails =24.3333% unknown =37%

TrainLm 2.80 N/A

500 TrainGD 2.81 success =37% fails =23% unknown =40%

TrainLm 2.82 N/A

250 TrainGD 2.83 success = 23.3333% fails =19.6667% unknown =57.0000%

TrainLm 2.84 N/A

100 200 TrainGD 2.85 success =25.3333% fails =31.6667% unknown =43%

TrainLm 2.86 N/A

100 TrainGD 2.87 success =25.3333% fails =18.3333% unknown =56.3333%

TrainLm 2.88 N/A

50 TrainGD 2.89 success =11.6667% fails =16.3333% unknown =72%

Page 102: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

TrainLm 2.90 N/A

10 20 TrainGD 2.91 success =12.6667% fails =12% unknown =75.3333%

TrainLm 2.92 success =70% fails =30% unknown =0%

10 TrainGD 2.93 success =16.6667% fails =10.6667% unknown =72.6667%

TrainLm 2.94 success =68.6667% fails=31.3333% unknown =0%

5 TrainGD 2.95 success =36.3333% fails =24.3333% unknown =39.3333%

TrainLm 2.96 success =71.6667% fails =28.3333% unknown =0%

Page 103: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

Words on/off – Power Spectral Density Method(Welch Method)

Training Size

Num of Features

Number of Input Neurons

Training Function

Results Results

210/300 1000 2000 TrainGD 2.97 success =75% fails =15% unknown =10%

TrainLm 2.98 N/A

1000 TrainGD 2.99 success =80.5556% fails =13.3333% unknown =6.1111%

TrainLm 2.100 N/A

500 TrainGD 2.101 success =70% fails =26.6667% unknown =3.3333%

TrainLm 2.102 N/A

500 1000 TrainGD 2.103 success =76.1111% fails =15% unknown =8.8889%

TrainLm 2.104 N/A

500 TrainGD 2.105 success =75% fails =16.6667% unknown =8.3333%

TrainLm 2.106 N/A

250 TrainGD 2.107 success =71.6667% fails =18.3333% unknown =10%

TrainLm 2.108 N/A

100 200 TrainGD 2.109 success =63.8889% fails =19.4444% unknown =16.6667%

TrainLm 2.110 N/A

100 TrainGD 2.111 success =69.4444% fails =18.8889% unknown =11.6667%

TrainLm 2.112 N/A

50 TrainGD 2.113 success =64.4444% fails =18.8889% unknown =16.6667%

Page 104: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

TrainLm 2.114 N/A

10 20 TrainGD 2.115 success =30% fails =18.8889% unknown =51.1111%

TrainLm 2.116 success =64.4444% fails =35.5556% unknown =0%

10 TrainGD 2.117 success =36.1111% fails =18.8889% unknown =45%

TrainLm 2.118 success =60.5556% fails =39.4444% unknown =0%

5 TrainGD 2.119 success =45% fails =23.8889% unknown =31.1111%

TrainLm 2.120 success =71.1111% fails =28.8889% unknown =0%

Page 105: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

Training Size

Num of Features

Number of Input Neurons

Training Function

Results Results

150/300 1000 2000 TrainGD 2.121 success =78% fails =15.6667% unknown =6.3333%

TrainLm 2.122 N/A

1000 TrainGD 2.123 success =71.6667% fails =23% unknown =5.3333%

TrainLm 2.124 N/A

500 TrainGD 2.125 success =76% fails =18.6667% unknown =5.3333%

TrainLm 2.126 N/A

500 1000 TrainGD 2.127 success =75% fails =14.0000% unknown =11%

TrainLm 2.128 N/A

500 TrainGD 2.129 success =71.6667% fails =18.6667% unknown =9.6667%

TrainLm 2.130 N/A

250 TrainGD 2.131 success =69.6667% fails =19.3333% unknown =11%

TrainLm 2.132 N/A

100 200 TrainGD 2.133 success =62% fails =18.6667% unknown =19.3333%

TrainLm 2.134 N/A

100 TrainGD 2.135 success =64% fails =19.6667% unknown =16.3333%

TrainLm 2.136 N/A

50 TrainGD 2.137 success =62.3333% fails =23.3333% unknown =14.3333%

TrainLm 2.138 N/A

Page 106: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

10 20 TrainGD 2.139 success =45.3333% fails =21.6667% unknown =33%

TrainLm 2.140 success =73% fails =26.6667% unknown =0.3333%

10 TrainGD 2.141 success =44.3333% fails =18.6667% unknown =37%

TrainLm 2.142 success =73% fails =27% unknown =0%

5 TrainGD 2.143 success =20.3333% fails =19.3333% unknown =60.3333%

TrainLm 2.144 success =71% fails =29.0000% unknown =0%

Page 107: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

Case 3 – Separate 2 Words Words open/close – Sorting

Training Size

Num of Features

Number of Input Neurons

Training Function

Results Results

210/300 1000 2000 TrainGD 3.1 success =77.2222% fails =21.1111% unknown =1.6667%

TrainLm 3.2 N/A 1000 TrainGD 3.3 success =76.6667%

fails =20% unknown =3.3333%

TrainLm 3.4 N/A 500 TrainGD 3.5 success =76.6667%

fails =21.6667% unknown =1.6667%

TrainLm 3.6 N/A 500 1000 TrainGD 3.7 success =80%

fails =16.1111% unknown =3.8889%

TrainLm 3.8 N/A 500 TrainGD 3.9 success =81.1111%

fails =15.5556% unknown =3.3333%

TrainLm 3.10 N/A 250 TrainGD 3.11 success =81.6667%

fails =16.6667% unknown =1.6667%

TrainLm 3.12 N/A 100 200 TrainGD 3.13 success =71.6667%

fails =25% unknown =3.3333%

TrainLm 3.14 N/A 100 TrainGD 3.15 success =67.7778%

fails =25% unknown =7.2222%

TrainLm 3.16 N/A 50 TrainGD 3.17 success =71.6667%

fails =26.6667% unknown =1.6667%

Page 108: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

TrainLm 3.18 N/A 10 20 TrainGD 3.19 success =66.1111%

fails =28.8889% unknown =5%

TrainLm 3.20 success =58.8889% fails =41.1111% unknown =0%

10 TrainGD 3.21 success =68.3333% fails =25% unknown =6.6667%

TrainLm 3.22 success =59.4444% fails =40.5556% unknown =0%

5 TrainGD 3.23 success =13.3333% fails =8.8889% unknown =77.7778%

TrainLm 3.24 success =67.2222% fails =32.7778% unknown =0%

Page 109: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

Training Size

Num of Features

Number of Input Neurons

Training Function

Results Results

150/300 1000 2000 TrainGD 3.25 success =81.3333% fails =17.6667% unknown =1%

TrainLm 3.26 N/A 1000 TrainGD 3.27 success =81.6667%

fails =17.3333% unknown =1%

TrainLm 3.28 N/A 500 TrainGD 3.29 success =80.3333%

fails =17.3333% unknown =2.3333%

TrainLm 3.30 N/A 500 1000 TrainGD 3.31 success =77.3333%

fails =22.3333% unknown =0.3333%

TrainLm 3.32 N/A 500 TrainGD 3.33 success =77%

fails =21% unknown =2%

TrainLm 3.34 N/A 250 TrainGD 3.35 success =77%

fails =21% unknown =2%

TrainLm 3.36 N/A 100 200 TrainGD 3.37 success =73.3333%

fails =24% unknown =2.6667%

TrainLm 3.38 N/A 100 TrainGD 3.39 success =71.3333%

fails =24.3333% unknown =4.3333%

TrainLm 3.40 N/A 50 TrainGD 3.41 success =71.6667%

fails =25.3333% unknown =3%

TrainLm 3.42 N/A 10 20 TrainGD 3.43 success =70.3333%

fails =27% unknown =2.6667%

TrainLm 3.44 success = 63.3333% fails =36.6667% unknown =0%

Page 110: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

10 TrainGD 3.45 success =70.6667% fails =23.6667% unknown =5.6667%

TrainLm 3.46 success =68.3333% fails =31.6667% unknown =0%

5 TrainGD 3.47 success =16% fails =9.6667% unknown =74.3333%

TrainLm 3.48 success =69.6667% fails =30.3333% unknown =0%

Page 111: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

Words open/close – Logarithmic Histogram

Training Size

Num of Features

Number of Input Neurons

Training Function

Results Results

210/300 1000 2000 TrainGD 3.49 success =36.6667% fails =18.3333% unknown =45%

TrainLm 3.50 N/A 1000 TrainGD 3.51 success =31.6667%

fails =22.7778% unknown =45.5556%

TrainLm 3.52 N/A 500 TrainGD 3.53 success =36.6667%

fails =16.1111% unknown =47.2222%

TrainLm 3.54 N/A 500 1000 TrainGD 3.55 success =41.6667%

fails =22.7778% unknown =35.5556%

TrainLm 3.56 N/A 500 TrainGD 3.57 success =25%

fails =27.7778% unknown =47.2222%

TrainLm 3.58 N/A 250 TrainGD 3.59 success =29.4444%

fails =19.4444% unknown =51.1111%

TrainLm 3.60 N/A 100 200 TrainGD 3.61 success =30.5556%

fails =16.6667% unknown =52.7778%

TrainLm 3.62 N/A 100 TrainGD 3.63 success =33.3333%

fails = 20% unknown =46.6667%

TrainLm 3.64 N/A 50 TrainGD 3.65 success =21.1111%

fails =16.1111% unknown =62.7778%

TrainLm 3.66 N/A 10 20 TrainGD 3.67 success =30%

fails =18.8889% unknown =51.1111%

Page 112: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

TrainLm 3.68 success =65.5556% fails =34.4444% unknown = 0%

10 TrainGD 3.69 success =23.3333% fails =21.1111% unknown =55.5556%

TrainLm 3.70 success =74.4444% fails =25.5556% unknown = 0%

5 TrainGD 3.71 success =50% fails =50% unknown =0%

TrainLm 3.72 success =71.6667% fails =28.3333% unknown =0%

Page 113: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

Training Size

Num of Features

Number of Input Neurons

Training Function

Results Results

150/300 1000 2000 TrainGD 3.73 success =38.3333% fails =19.3333% unknown =42.3333%

TrainLm 3.74 N/A 1000 TrainGD 3.75 success =29.6667%

fails =21.6667% unknown =48.6667%

TrainLm 3.76 N/A 500 TrainGD 3.77 success =32.3333%

fails =19.3333% unknown =48.3333%

TrainLm 3.78 N/A 500 1000 TrainGD 3.79 success =39%

fails =26.6667% unknown =34.3333%

TrainLm 3.80 N/A 500 TrainGD 3.81 success =27%

fails =25.3333% unknown =47.6667%

TrainLm 3.82 N/A 250 TrainGD 3.83 success =30%

fails =17.3333% unknown =52.6667%

TrainLm 3.84 N/A 100 200 TrainGD 3.85 success =45%

fails =21% unknown =34%

TrainLm 3.86 N/A 100 TrainGD 3.87 success =28.3333%

fails =15.3333% unknown =56.3333%

TrainLm 3.88 N/A 50 TrainGD 3.89 success =0%

fails =0% unknown =100%

TrainLm 3.90 N/A 10 20 TrainGD 3.91 success =5%

fails =8.6667% unknown =86.3333%

TrainLm 3.92 success =71% fails =29.0000% unknown =0%

Page 114: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

10 TrainGD 3.93 success =9.6667% fails =19.6667% unknown =70.6667%

TrainLm 3.94 success =72.6667% fails =27.3333% unknown =0%

5 TrainGD 3.95 success =26.3333% fails =28.3333% unknown =45.3333%

TrainLm 3.96 success =72.3333% fails =27.6667% unknown =0%

Page 115: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

Words Open/Close Power Spectral Density Method(Welch Method)

Training Size

Num of Features

Number of Input Neurons

Training Function

Results Results

210/300 1000 2000 TrainGD 3.97 success =75% fails =19.4444% unknown =5.5556%

TrainLm 3.98 N/A 1000 TrainGD 3.99 success =93.8889%

fails =5% unknown =1.1111%

TrainLm 3.100 N/A 500 TrainGD 3.101 success =87.2222%

fails =9.4444% unknown = 3.3333%

TrainLm 3.102 N/A 500 1000 TrainGD 3.103 success =93.8889%

fails =3.3333% unknown =2.7778%

TrainLm 3.104 N/A 500 TrainGD 3.105 success =89.4444%

fails =5% unknown =5.5556%

TrainLm 3.106 N/A 250 TrainGD 3.107 success =88.3333%

fails =7.2222% unknown =4.4444%

TrainLm 3.108 N/A 100 200 TrainGD 3.109 success =82.2222%

fails =7.7778% unknown =10%

TrainLm 3.110 N/A 100 TrainGD 3.111 success =83.8889%

fails =7.2222% unknown =8.8889%

TrainLm 3.112 N/A 50 TrainGD 3.113 success =88.3333%

fails =5.5556% unknown =6.1111%

TrainLm 3.114 N/A 10 20 TrainGD 3.115 success =60%

fails =25% unknown =15%

Page 116: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

TrainLm 3.116 success =71.6667% fails =28.3333% unknown =0%

10 TrainGD 3.117 success =52.2222% fails =13.8889% unknown =33.8889%

TrainLm 3.118 success =36.1111% fails = 8.3333% unknown =55.5556%

5 TrainGD 3.119 success =20% fails =23.8889% unknown =56.1111%

TrainLm 3.120 success =73.8889% fails =26.1111% unknown =0%

Page 117: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

Training Size

Num of Features

Number of Input Neurons

Training Function

Results Results

150/300 1000 2000 TrainGD 3.121 success =91.6667% fails =5.6667% unknown =2.6667%

TrainLm 3.122 N/A 1000 TrainGD 3.123 success =87%

fails =8.3333% unknown =4.6667%

TrainLm 3.124 N/A 500 TrainGD 3.125 success =86.3333%

fails =9.6667% unknown = 4%

TrainLm 3.126 N/A 500 1000 TrainGD 3.127 success =88%

fails =5% unknown =7.0000%

TrainLm 3.128 N/A 500 TrainGD 3.129 success =90%

fails =7.3333% unknown =2.6667%

TrainLm 3.130 N/A 250 TrainGD 3.131 success =88%

fails =8% unknown =4%

TrainLm 3.132 N/A 100 200 TrainGD 3.133 success =83%

fails =8.6667% unknown =8.3333%

TrainLm 3.134 N/A 100 TrainGD 3.135 success =81.6667%

fails =8.6667% unknown = 9.6667%

TrainLm 3.136 N/A 50 TrainGD 3.137 success = 66%

fails =13.3333% unknown =20.6667%

TrainLm 3.138 N/A 10 20 TrainGD 3.139 success =62.3333%

fails =23.6667% unknown =14.0000%

TrainLm 3.140 success =67.6667% fails =32% unknown =0.3333%

Page 118: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

10 TrainGD 3.141 success =54% fails =16.3333% unknown =29.6667%

TrainLm 3.142 success =77.6667% fails =22.3333% unknown = 0%

5 TrainGD 3.143 success =25% fails =25% unknown =50%

TrainLm 3.144 success =70.3333% fails =29.6667% unknown = 0%

Page 119: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

10 Words- Results by using 3 different methods Words: 3 Codes: Πιο κατω θα δειτε τα αποτελσματα ου καθε διαφορετικο κωδικα αποδοσης. Οπως ειπαμε ξανα εχουμε 3 διαφορετικους κωδικες ελεγχου αποδοσης. Πιο κατω ειναι τα ονοματα για καθε κωδικα.

1. Test_result_final :using round function(threshold=0.5) 2. Test_result_final2: using max value for each column 3. Test_result_final3:using variable threshold

1) Computer 2)Close 3)Open 4)On 5)Off 6)Lights 7)Door 8)Curtains 9)Telephone 10)TV

Page 120: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

Test_result_final

Train Size

Num Ftrs

Num Neurons

Training Function

Results (sorting)

Results (logHist)

Results ( Power Spectral Density )

150/300 1000 2000 TrainGD succs =3.60% fails =1.53% unkn =94.86%

success =27.2000% fails =5.1333% unknown =67.6667%

TrainLm 1000 TrainGD succs =4%

fails =1.1333% unkn =94.8667%

success =21.6667% fails =4% unknown =74.3333%

TrainLm 500 TrainGD succs =3.9333%

fails =1.2000% unkn =94.8667%

success =19.8000% fails =2.4667% unknown =77.7333%

TrainLm 500 1000 TrainGD success =17.6000%

fails =2.4000% unknown =80%

TrainLm 500 TrainGD success =20.1333%

fails =2.8000% unknown =77.0667%

TrainLm 250 TrainGD success =15.0667%

fails =1.6000% unknown =83.3333%

TrainLm 100 200 TrainGD 100 TrainGD 50 TrainGD 10 20 TrainGD TrainLm success =11%

fails =20.2000% unknown =68.8000%

10 TrainGD TrainLm success =7.6667%

fails =11.5333% unknown =80.8000%

5 TrainGD TrainLm success =5.3333%

fails =5.6000% unknown =89.0667%

Page 121: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

Test_result_final2

Train Size

Num Ftrs

Num Neurons

Training Function

Results (sorting)

Results (logHist)

Results ( Power Spectral Density )

150/300 1000 2000 TrainGD success=30% fails =70%

success =62.8667% fails =37.1333%

TrainLm 1000 TrainGD success =29.8667%

fails =70.1333% success =57.0000%

fails =43% TrainLm 500 TrainGD success =29.1333%

fails =70.8667% success =56.9333%

fails = 43.0667% TrainLm 500 1000 TrainGD success =50.6667%

fails =49.3333% TrainLm 500 TrainGD success =50.4000%

fails =49.6000% TrainLm 250 TrainGD success =45.1333%

fails =54.8667% TrainLm 100 200 TrainGD TrainLm 100 TrainGD TrainLm 50 TrainGD TrainLm 10 20 TrainGD TrainLm success =22.6000%

fails =77.4000%

10 TrainGD TrainLm success =23.6667%

fails =76.3333%

5 TrainGD TrainLm success =25%

fails =75%

Page 122: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,

Test_result_final3

Train Size

Num Ftrs

Num Neurons

Training Function

Results (sorting)

Results (logHist)

Results (Power Spectral Density)

150/300 1000 2000 TrainGD success =10.6000% fails =89.4000%

success =34.1333% fails =65.8667%

TrainLm 1000 TrainGD success =9.3333%

fails =90.6667% success =29.6667%

fails =70.3333% TrainLm 500 TrainGD success =10.4000%

fails =89.6000% success =27.6667%

fails =72.3333% TrainLm 500 1000 TrainGD success =28.2000%

fails =71.8000% TrainLm 500 TrainGD success =29.4000%

fails =70.6000% TrainLm 250 TrainGD success =25.8667%

fails =74.1333% TrainLm 100 200 TrainGD TrainLm 100 TrainGD TrainLm 50 TrainGD TrainLm 10 20 TrainGD TrainLm success =78.8000%

fails =21.2000%

10 TrainGD TrainLm success =41.5333%

fails =58.4667%

5 TrainGD TrainLm success =53.4000%

fails =46.6000%

Page 123: Εργαστήριο Βιοϊατρικής Εφαρμοσμένης · i Abstract This thesis is devoted to voice analysis for word recognition that will be used, in the future,