Comments
Description
Transcript
Relazione in pdf
UNIVERSITÀ DEGLI STUDI DI ROMA “LA SAPIENZA” FACOLTÀ DI INGEGNERIA TESINA DI TECNICHE AUDIOVISIVE Analisi del segnale effettuata sul pianto di neonati e correlazione con il livello di dolore mediante un classificatore Bayesiano Naïve Saverio Blasi, Gabriele Buzzi ANNO ACCADEMICO 2006/2007 1. Abstract Si è ipotizzata, studiata e validata la correlazione tra alcune caratteristiche del pianto presente in soggetti neonati prematuri e il corrispondente livello di dolore percepito. A tale scopo si sono utilizzati dati sperimentali ottenuti in laboratorio, basati su uno studio effettuato in precedenza su 57 soggetti validati da specialisti mediante la scala DAN (Douleur Aiguë du Nouveau‐né). Le registrazioni sono state campionate a 44100kHz. E' stata effettuata analisi del segnale per estrapolare dai soggetti un pattern di cinque valori che si sono ipotizzati in correlazione con il livello di dolore. In particolare si è individuato: il livello di pitch, stimato attraverso utilizzo della AMDF applicata a frammenti di 1024 campioni; RMS del segnale; percentuale di potenza compresa in un range di frequenze ritenute caratteristiche di manifestazione dolorosa, rispetto alla potenza totale; numero di lobi presenti nel segnale di potenza; durata media dei lobi su tutto il segnale. Tali pattern sono stati normalizzati e discretizzati allo scopo di implementare un classificatore Bayesiano Naive per individuare la correlazione tra questi e il corrispondente livello di dolore in scala ABC. Si sono infine validati i risultati mediante test atti a confrontarli con i corrispondenti valori sperimentali ottenuti in laboratorio, e infine si sono confrontate le prestazioni del classificatore implementato con quelle di altri classificatori; in particolare si sono utilizzati il Nearest‐Neighbor e il classificatore basato su analisi funzionale multivariata. Si sono infine dedotte alcune conclusioni sui risultati raggiunti nel lavoro svolto. 2. La valutazione del dolore neonatale Il problema del dolore non è esclusivo dell’età adulta, ma riguarda anche l’età pediatrica in tutte le sue diverse fasce. In effetti fino all’inizio degli anni ’70 tale affermazione non era accettata da parte della comunità scientifica. Infatti l’osservazione che talvolta le modificazioni comportamentali dei neonati in occasione di stimoli dolorosi erano minime, di breve durata o addirittura assenti, aveva portato alcuni autori a concludere che i neonati, soprattutto se prematuri, erano del tutto incapaci di percepire dolore e comunque non conservavano memoria dell’esperienza dolorosa. La svolta nell’attenzione verso il dolore in pediatria è avvenuta nel 1987 quando Anand, dopo numerosi studi, pubblicò un articolo in cui affermava che “a partire dalle 24 settimane di età gestazionale sono presenti le basi anatomiche e fisiologiche per la percezione del dolore.” Studi anatomici hanno dimostrato inoltre che la densità di neuroni cutanei in bambini neonati è uguale a quella degli adulti; la formazione di tali cellule è in effetti completa già alla trentesima settimana di gestazione. D’altro canto i sistemi fisiologici di inibizione del dolore non sono invece ancora completamente sviluppati, rendendo la trasmissione del dolore meno inibita: conseguentemente i neonati, e specialmente i pretermine, possono riconoscere come dolorosi addirittura stimoli che non sono riconosciuti tali nei bambini più grandi o negli adulti. Inoltre esistono sempre maggiori segnalazioni degli affetti a lungo termine di una esposizione precoce e ripetitiva a stimolazioni nocicettive in un momento così fondamentale per lo sviluppo del sistema nervoso. Sono state segnalate modificazioni comportamentali a lungo termine e riduzioni di volume delle aree cerebrali sensitive in ex prematuri ricoverati. il dolore del prematuro non ha solo effetti psicologici, ma anche organici: provoca tachicardia, desaturazione, aumento della pressione intracranica e arteriosa, tutti fattori ad alto rischio per provocare emorragia cerebrale. Si è visto inoltre che nei neonati sottoposti a procedure estremamente dolorose senza analgesia, il numero di danni cerebrali a lungo termine è molto maggiore rispetto ai neonati trattati con analgesia. L’insieme di questi fattori spiega come le risposte nocicettive siano a quest’età poco prevedibili e incostanti, e conferma allo stesso tempo quanto sia di fondamentale importanza imparare a prevederne l’entità. 2.1 SCALE DI VALUTAZIONE DEL DOLORE NEONATALE Per queste motivazioni moltissimi sono stati i lavori scientifici che affrontano il dolore neonatale nei suoi vari aspetti: la fisiopatologia del dolore nelle varie tappe evolutive, la sua valutazione, di così difficile interpretazione in età pediatrica, la farmacologia, il dosaggio,il timing, le vie di somministrazione, gli effetti collaterali e le complicanze. Soprattutto il problema di valutare il livello di dolore presente in soggetti neonati è di fondamentale importanza in ambito medico pediatrico, in quanto il suo manifestarsi è di solito indicativo di disturbi fisici di varia natura: riuscire perciò a misurare il grado di sofferenza che il bambino sta percependo può risultare di grande aiuto nell’identificazione di alcune patologie da cui questi può essere affetto. Non avendo il neonato alcuna capacità verbale di comunicazione, per ottenere una misura adeguata del dolore percepito è necessario partire da osservazioni riguardanti modifiche fisico‐ comportamentali delle condizioni del bambino. Per affrontare e curare adeguatamente il dolore, nel bambino come nell’adulto è necessaria una quantificazione tale da permettere un intervento mirato ed efficace. A tale scopo sono nate varie scale, studiate specificatamente per il bambino che, se annotate in cartella, ci danno un quadro dell’intensità del dolore provocato nel momento stesso, ed il suo andamento nel tempo. Le più note tra queste sono: • • • CHEOPS (Children’s Hospital of Ontario Pain Scale), una scala piuttosto soggettiva basata sull’osservazione di caratteristiche fisiche quali: reazione al contatto, posizione degli arti, presenza del sorriso sul volto. CRIES, una scala basata sulla presenza del pianto, sull’espressione del volto e sulla mancanza o meno di sonno nel neonato. PIPP (Premature Infant Pain Profile), una scala oggettiva, studiata appositamente per i prematuri, sviluppata nell’Università di Toronto; si basa sull’attribuzione di un punteggio relativo a modifiche comportamentali a seguito di stimoli dolorosi provocati artificialmente sul neonato. Grazie all’utilizzo di queste scale si è osservato che in dettaglio che le caratteristiche più fortemente legate alla presenza di dolore neonatale riguardano movimenti del corpo, espressioni facciali e pianto. Per quel che riguarda movimenti del corpo, si è concluso che il tremore e eventi quali scatti improvvisi degli arti o del collo sono indice di una percezione più o meno acuta di uno stato doloroso. Purtroppo però si è dimostrato sperimentalmente che soggetti prematuri reagiscono fisicamente agli stimoli in modo molto meno pronunciato rispetto agli altri, rendendo di fatto questo tipo di correlazione inefficacie in tali situazioni. Un esame delle espressioni del volto risulta invece sempre di grandissima utilità: in particolare l’attività della zona superiore del viso, comprendente fronte e sopracciglia, è spesso indicativa della presenza di una situazione dolorosa. La modifica comportamentale a seguito di uno stimolo nocicettivo più pronunciata nei soggetti prematuri rimane comunque legata alla presenza e al tipo di pianto. 2.2 IL PIANTO COME MANIFESTAZIONE DOLOROSA Il pianto è la prima forma di comunicazione a disposizione di un neonato, e l’unica di cui un essere umano disponga nei primi anni di vita; un bambino utilizza il pianto per comunicare ed esprimere ogni tipo di bisogno: studi recenti hanno dimostrato che tale forma di comunicazione ha molte delle comuni caratteristiche di un vero e proprio linguaggio parlato. Ad esempio si è osservato che a seguito di ripetute stimolazioni dello stesso tipo, il pianto indotto assume anch’esso caratteristiche ripetute ben identificabili. E’ evidente quindi come non sia sempre possibile associare ad esso la presenza di dolore, come in generale avviene invece per il pianto presente in soggetti adulti. Si è però osservata una stretta correlazione tra alcune caratteristiche qualitative del modo in cui un bambino piange e il livello di dolore che questi sta manifestando. Tali caratteristiche riguardano in particolar modo l’intensità e l’intermittenza del pianto: • • • Tonalità: se si mantiene costante nel tempo oppure diminuisce per poi aumentare (pianto in crescendo) può essere segno di un dolore da valutare con l'ausilio di un pediatra; se diminuisce o aumenta per poi diminuire (pianto in decrescendo) è normale pianto da bisogno di attenzione. Ripetitività e pause: se il bambino smette di piangere per riprendere fiato, in genere si tratta di un pianto da fame; se tra gli strilli c'è una fase di silenzio della durata di circa un secondo (il cosiddetto syren crying) è molto probabile che il pianto sia provocato da uno stimolo doloroso. Intensità: pianti di intensità minore significano in genere bisogno di addormentarsi, pianti di intensità troppo alta invece significano presenza di fame. Il pianto di dolore è caratterizzato in genere da un’intensità media e crescente nel tempo. 3. La scala DAN e la scala ABC 3.1 LA SCALA DAN L’unione dei tre fattori sopra descritti ha portato all’identificazione di una scala scientificamente valida che misuri l’intensità della sensazione dolorosa: la scala “Douleur Aiguë du Nouveau‐né” (dolore acuto nei neonati, DAN), proposta per la prima volta nel 1997 dai ricercatori francesi Carbajal, Paupe, Hoenn, Lenclen e Martin sulla base della scala PIPP sopra descritta. Lo studio che ha portato alla validazione della scala è stato realizzato presso il reparto di medicina neonatale e il centro maternità dell’ospedale di Poissy, tra gennaio e giugno 1996, prendendo in considerazione neonati sui quali si stavano effettuando prelievi sanguigni sul tallone. Dopo uno studio preliminare riguardante modifiche del comportamento dei bambini in seguito a situazioni considerate normalmente causa di dolore, si è costruita una scala di valutazione del dolore neonatale: questa scala stabilisce un grado da 0 a 10, sulla base dell’osservazione di alcune situazioni caratteristiche in ognuna delle tre categorie sopra descritte. In particolare la scala DAN attribuisce un punteggio da 0 a 4 per le espressioni facciali, e da 0 a 3 per i movimenti degli arti e il pianto. La valutazione totale è ottenuta sommando questi tre risultati parziali. Nello studio sono stati inclusi quarantadue neonati di età compresa tra le 25 e le 41 settimane. Per ogni bambino due osservatori indipendenti hanno riempito una griglia di valutazione al manifestarsi rispettivamente, prima di un gesto doloroso quale una puntura per un prelievo sanguigno, e poi di un gesto non doloroso quale una carezza su una coscia. Lo studio ha mostrato che il 95% dei neonati stimolati dolorosamente avevano punteggi superiori a 3, mentre l’88% dei bambini stimolati non‐dolorosamente avevano punteggi inferiori a 2. La validazione della scala è stata confermata dal confronto delle medie dei punteggi nei due casi, ottenute pari rispettivamente a 5 (stimolo doloroso) e 1 (stimolo non‐doloroso). Lo studio ha dimostrato perciò la buona sensibilità e affidabilità della scala DAN, la quale è oggi universalmente riconosciuta in ambito scientifico, e rimane lo strumento senza dubbio più utilizzato nelle comuni situazioni ospedaliere. 3.1 LA SCALA ABC La scala DAN è stata ridotta, per scopi di semplicità a carattere implementativo, a soli tre livelli possibili di pain, ottenendo in questo modo la cosiddetta scala ABC. Un livello A, absent, corrispondente a un livello di dolore trascurabile e alla presenza di rumori di fondo provenienti ad esempio da macchinari medici in prossimità (scala DAN compresa tra 0 e 4). Un livello B, medium, corrispondente a un livello di dolore consistente, ma il pianto non è né continuo in tutta la registrazione, né presenta caratteristiche periodiche quale la presenza di syren‐crying (scala DAN compresa tra 5 e 8). Un livello C, high, corrispondente a un livello di dolore alto, nel quale il pianto è continuo e presenta evidenti caratteristiche periodiche persistenti nel tempo (scala DAN compresa tra 9 e 12). L’utilizzo della scala DAN o ABC nell’ambito di soggetti prematuri si è rivelato però solo parzialmente efficace: il livello assegnato ad ogni individuo è infatti calcolato mediante considerazioni qualitative, che risultano a volte molto soggettive e legate all’esperienza dell’esperto che è impegnato a valutarlo. 4. Obiettivi e struttura del progetto E’ immediato notare perciò che dare una forma quantitativa e oggettiva a questa misura del livello di dolore è un problema di estrema attualità e importanza. Si è pensato perciò di validare la correlazione tra le caratteristiche del pianto e lo stimolo nocicettivo, e di formalizzarla in una forma quantitativa – oggettiva. Obiettivo di questo lavoro è di trovare, mediante tecniche di analisi del segnale, il legame che esprime questa correlazione. Infine, vista l’estrema varietà di casi possibili, si è pensato di formalizzare i vincoli in maniera non‐deterministica mediante il training di un classificatore Bayesiano Naive, allo scopo di rendere il riconoscimento del livello di pain del tutto indipendente da considerazioni di carattere puramente soggettivo. Il lavoro si è effettuato su 51 registrazioni corrispondenti ad altrettanti neonati prematuri; i dati sono stati acquisiti da filmati in formato .AVI, dai quali è stato estrapolato l’audio mediante il software Goldwave. I segnali sono campionati a 44.100 kHz, 16 bit per campione; di ogni soggetto si sono prese registrazioni della durata di 15 secondi, tagliando i frammenti poco significativi (in cui la presenza del pianto è assente, o meno evidente). Analisi del segnale e implementazione del classificatore si sono effettuati in ambiente Matlab. Il progetto è strutturato in tre fasi principali: 1. Una fase di pre‐processing e di analisi del segnale, mediante la quale si è estrapolato un pattern di caratteristiche da ogni registrazione. 2. Una fase di training di un classificatore bayesiano Naïve, mediante la quale si è fatto apprendere il classificatore su alcune delle registrazioni, in modo da riconoscere la correlazione tra pattern acquisiti e livello corrispondente di dolore. 3. Una fase di test e analisi dei risultati ottenuti, mediante la quale si è verificata la correttezza del lavoro svolto testandolo sulle registrazioni rimanenti, e si sono estrapolate le relative conclusioni. I segnali utilizzati sono stati registrati direttamente in un ambiente ospedaliero, molto rumoroso e disturbato. Obiettivo della fase di pre‐processing e analisi è quindi di estrapolare un pattern di caratteristiche da ogni segnale escludendo le componenti rumorose. Il pattern che è stato scelto è composto da: • • • • • La frequenza fondamentale del segnale (il “pitch”) Il valore normalizzato dell’RMS (“root‐mean‐square”) La percentuale di potenza interna a una soglia predefinita rispetto alla potenza totale Il numero di lobi presenti nel segnale di potenza La durata media di ogni lobo nel segnale di potenza La scelta di includere queste cinque caratteristiche nel pattern è risultata dall’esigenza di trovare tutte le possibili informazioni riguardo il livello di dolore presenti nel pianto: si è visto che ognuno di questi parametri è strettamente correlato, in qualche modo, con questo livello. La fase di training sfrutta i pattern estrapolati in fase di analisi per l’apprendimento del classificatore. I 51 pianti utilizzati si sono divisi in due gruppi: 14 registrazioni sono state utilizzate per la successiva fase di testing; le rimanenti 37 si sono utilizzate per l’apprendimento. La scelta di quali registrazioni includere nei due gruppi si effettuata in maniera percentuale rispetto ai relativi livelli di pain individuati mediante la scala DAN. Infine la fase di test e analisi dei risultati sfrutta le rimanenti 14 registrazioni per verificare la correttezza del classificatore ottenuto. Si sono confrontati mediante una matrice di confidenza perciò i dati relativi alla scala ABC con quelli ottenuti dal classificatore, e da questo confronto si sono estrapolate le relative conclusioni. Le figure sotto riportate descrivono segnale e potenza corrispondentemente di livello A, B e C. 5. Analisi del segnale 5.1 PITCH: Il segnale si è diviso in finestre di 1024 campioni, da ognuna delle quali si è estratto il corrispondente valore di pitch. Nel calcolo di questo valore si è utilizzata la AMDF, Average Magnitude Difference Function, insieme ad un filtro correttivo per ridurre gli errori durante la computazione del segnale. La AMDF è definita per ogni finestra nel seguente modo: 1 | |, 1 Dove n è l’indice del frame; N è la dimensione della finestra (scelta pari a 1024); MAXLAG è il numero di valori calcolati per la funzione in ogni frame (scelto pari a 600); x(j) sono i valori dei campioni nella finestra. Per ogni frame il minimo globale della funzione corrisponderebbe, prima della fase di correzione, al periodo del pitch stimato. Lo svantaggio di questo algoritmo è che il minimo della AMDF è fortemente affetto dalle variazioni di intensità e dal rumore di fondo presente nel segnale. Per ridurre gli effetti negativi provocati da questi disturbi è richiesta una procedura di correzione da introdurre nel sistema d’identificazione del pitch, in modo da localizzare eventuali stime non corrette. INIZIO ESTRAZIONE DEL PITCH MEMORIZZA IL PITCH FILTRO PASSA‐BASSO FINE FILE? FINESTRA DI HANNING ZERO CROSSING RATE NO SI CALCOLA MEDIA E DEVIAZIONE STANDARD E’ VOCE CORREGGI IL PITCH NO SI CALCOLA PITCH FINE ESTRAZIONE DEL PITCH Il pitch che ci interessa è compreso in una banda di frequenze limitata superiormente a 600 Hz (al di sopra ci sono solamente rumori di fondo). Si utilizza perciò un filtro passa‐basso equiripple con attenuazione a 3 dB a 600 Hz, e 40 dB a 900 Hz. Il filtro è stato ottenuto mediante la Filter Design and Analysis Tool di Matlab. Il filtraggio passa‐basso viene calcolato tramite overlapping add. In particolare si è utilizzato il filtro in figura: Successivamente ogni frame viene moltiplicato per una finestra di Hanning allo scopo di aumentare la precisione e di eliminare le discontinuità. Matlab mette a disposizione il comando: window = hann(1024); che genera automaticamente la finestra della dimensione desiderata. A questo punto risulta necessario eliminare i cosiddetti frame unvoiced, ossia quelli nei quali non vi è presenza del pianto. A tale scopo si è utilizzato il calcolo dello zero crossing rate, in quanto si è verificato sperimentalmente che per finestre che contengono voce questo valore è molto più basso di quelle che non la contengono. In particolare lo zero crossing rate Z(n)si è calcolato mediante la formula: Mediante analisi sperimentale dei dati si è deciso di porre la soglia a 0.03: finestre con un valore di ZCR superiore sono considerate unvoiced. Per questi ultimi si è settato un valore di pitch di riferimento (in modo da escluderli nella fase del calcolo del pitch medio), in particolare posto pari a zero. Su tutti i frammenti voiced invece si è calcolato il minimo globale della AMDF, e tale valore è salvato in un array, del quale vengono calcolati valor medio e deviazione standard. La fase di correzione si basa sull’idea che ogni minimo locale della AMDF sia un possibile candidato ad essere il pitch corretto. Per ognuno di questi perciò vengono estratte alcune caratteristiche: • • • • • • “Massimo globale” della funzione “Peak‐ratio” (massimo locale / massimo globale) “Altezza” (definita come differenza tra minimo locale e picco massimo minore tra i due adiacenti al minimo) “Larghezza del lobo” (differenza tra gli indici dei due picchi massimi adiacenti al minimo) “Differenza” (tra i due picchi massimi adiacenti al minimo) “Discontinuità” (differenza tra la frequenza relativa al minimo locale e il pitch corretto calcolato per il frame precedente) Ogni possibile candidato è quindi filtrato tramite opportuni vincoli imposti sulle caratteristiche sopra descritte; tali vincoli si sono individuati in maniera empirica: CARATTERISTICHE VINCOLI 0.7 Peak‐ratio 0.3 _ Altezza 0.4 _ Differenza 300 Larghezza del lobo 100 Discontinuità I valori filtrati sono poi pesati con una distribuzione normale con valor medio e deviazione standard calcolati in precedenza. Il candidato con maggiore probabilità è preso come valore corretto di pitch stimato. Nella maggior parte dei casi questo candidato risulterà essere proprio il minimo globale della AMDF. 5.2 RMS: Il valore dell’RMS (root mean square) normalizzato al suo massimo può essere preso come misura della costanza di emissione del pianto: è usato quindi per determinare la frazione di segnale nella quale l’ampiezza è vicina al suo valore massimo. Un valore superiore a 0.15‐0.2 è tipicamente associato a livelli di dolore alti. L‘RMS è calcolato rapidamente utilizzando la formula: 2 rms norm T 1 ⎛ x(t ) ⎞ ⎜ ⎟ dt = T ∫0 ⎜⎝ x max ⎟⎠ Dove x(t) è il valore del segnale nel tempo, normalizzato al suo massimo xmax . 5.3 PERCENTUALE DI POTENZA: Si è visto che la presenza di un alto livello di dolore è strettamente correlata con le caratteristiche in potenza del segnale: in particolare si è verificato sperimentalmente che tanta più potenza ricade all’interno di una specifica soglia in frequenza, quanto più è probabile che il livello di dolore sia maggiore. Per calcolare questa percentuale di potenza si sono utilizzati due filtri passa banda, uno con frequenze nella banda [60 – 4000] Hz, per calcolare la potenza media totale (un filtro così fatto non “taglia” nessuna frequenza di interesse); l’altro con frequenze nella banda [1200 ‐ 2700] Hz, per calcolare la potenza media contenuta solamente in questa banda di interesse. Una volta filtrato il segnale tramite i due filtri e calcolate le potenze medie, si esegue il rapporto percentuale tra quella ottenuta con il secondo filtro (potenza nella banda) e quella ottenuta con il primo (potenza totale). Sperimentalmente si è verificato che una percentuale di potenza nella banda maggiore del 40% rispetto al totale corrisponde ad un alto livello di dolore nel segnale corrispondente. 5.4 LOBI: Un’ulteriore correlazione tra segnale e livello di dolore si è individuata nell’andamento nel tempo della potenza del segnale, in particolare nella struttura dei lobi. Un lobo è definito come un frammento di segnale di potenza compreso tra due minimi locali adiacenti a un massimo locale. L’andamento tipico di un segnale con alto livello di pain è riportato in figura: 5 6 x 10 5 4 3 2 1 0 0 100 200 300 400 500 600 700 Si verifica che il numero di lobi per livello high è compreso nell’intorno di 14 – 19, corrispondenti evidentemente a una durata media di circa 1 secondo (le registrazioni sono di 15 secondi). Valori troppo alti del numero di lobi si sono considerati poco significativi in quanto corrispondenti a situazioni rumorose; valori troppo bassi sono invece corrispondenti a un pianto non continuo, correlato con livelli di dolore medio ‐ bassi. Il numero di lobi è pesato con una funzione trapezoidale con valor massimo pari a 1. Un altro valore che è stato preso in considerazione è la larghezza media dei lobi: registrazioni che presentano un valore troppo basso corrispondono a valori di dolore medio ‐ bassi, o a situazioni rumorose. Questo è servito ad escludere la presenza di componenti periodiche, come ad esempio il bip dei macchinari di laboratorio, che altrimenti si sarebbero considerate significative. Tale valore è pesato con una funzione gaussiana con valor massimo pari a 1. 5.5 PATTERN: NORMALIZZAZIONE E DISCRETIZZAZIONE I valori così trovati di pitch, percentuale, rms, numero dei lobi e loro larghezza media sono salvati all’interno di un pattern. Questo pattern è calcolato per ognuna delle 51 registrazioni usate per il lavoro svolto. Allo scopo di utilizzare questi risultati con un classificatore bayesiano, i corrispondenti dati vengono normalizzati tra 1 e 10, e discretizzati ai valori interi; si è visto infatti che utilizzando solamente dieci valori ammissibili per ogni elemento del pattern, la correlazione tra questi e il livello corrispondente di dolore rimane comunque evidente. A questi dati si è associato il livello di pain calcolato in precedenza sperimentalmente con la scala ABC, adottando la convenzione: 1 = low, 2 = medium, 3 = high. I dati si sono divisi in training‐set e test‐set come specificato in precedenza. Il training‐set individuato è il seguente: PITCH 7.00 6.00 6.00 5.00 4.00 3.00 6.00 6.00 8.00 3.00 7.00 3.00 4.00 7.00 5.00 4.00 6.00 7.00 5.00 5.00 RMS 8.00 6.00 5.00 4.00 2.00 3.00 9.00 7.00 10.00 4.00 6.00 3.00 2.00 4.00 8.00 6.00 5.00 2.00 8.00 3.00 PERCENTUALE 2.00 3.00 4.00 5.00 3.00 6.00 3.00 4.00 3.00 5.00 4.00 4.00 3.00 2.00 5.00 4.00 5.00 3.00 5.00 4.00 NUM LOBI 2.00 6.00 9.00 10.00 2.00 2.00 10.00 4.00 10.00 2.00 5.00 3.00 2.00 10.00 8.00 8.00 8.00 6.00 10.00 3.00 LARGHEZZA LOBI 2.00 3.00 2.00 2.00 2.00 2.00 3.00 3.00 8.00 2.00 3.00 3.00 6.00 4.00 3.00 6.00 8.00 3.00 6.00 2.00 PAIN INDICE 3.00 1 3.00 2 3.00 3 2.00 4 1.00 5 1.00 6 2.00 7 3.00 8 3.00 9 1.00 10 3.00 11 2.00 12 1.00 13 3.00 14 3.00 15 2.00 16 3.00 17 2.00 18 3.00 19 2.00 20 6.00 6.00 3.00 2.00 4.00 3.00 2.00 3.00 3.00 3.00 3.00 4.00 5.00 4.00 3.00 6.00 3.00 4.00 4.00 5.00 3.00 4.00 4.00 2.00 3.00 5.00 4.00 5.00 4.00 5.00 2.00 4.00 9.00 8.00 3.00 4.00 3.00 1.00 4.00 3.00 4.00 3.00 2.00 3.00 3.00 4.00 4.00 4.00 3.00 5.00 4.00 4.00 10.00 10.00 2.00 2.00 3.00 6.00 10.00 10.00 5.00 6.00 9.00 10.00 10.00 9.00 9.00 9.00 6.00 3.00 3.00 5.00 9.00 7.00 3.00 3.00 4.00 4.00 3.00 4.00 3.00 3.00 4.00 7.00 4.00 3.00 3.00 2.00 1.00 2.00 3.00 1.00 2.00 2.00 2.00 2.00 3.00 3.00 2.00 2.00 3.00 2.00 21 22 23 24 25 26 27 29 30 31 32 33 34 36 37 38 41 Il test‐set individuato è il seguente: PITCH 2.00 3.00 5.00 5.00 4.00 5.00 5.00 4.00 4.00 4.00 4.00 3.00 6.00 6.00 RMS 2.00 2.00 8.00 6.00 4.00 5.00 5.00 6.00 4.00 6.00 5.00 5.00 4.00 5.00 PERCENTUALE 2.00 1.00 5.00 3.00 2.00 4.00 4.00 4.00 2.00 4.00 3.00 3.00 3.00 5.00 NUM LOBI 10.00 3.00 6.00 9.00 9.00 10.00 2.00 9.00 2.00 10.00 10.00 10.00 9.00 2.00 LARGHEZZA LOBI 2.00 5.00 3.00 4.00 5.00 4.00 3.00 4.00 2.00 4.00 3.00 3.00 2.00 2.00 PAIN INDICE 1.00 28 1.00 35 3.00 39 3.00 40 3.00 42 3.00 43 3.00 44 3.00 45 2.00 46 2.00 47 2.00 48 3.00 49 2.00 50 2.00 51 6. Apprendimento Bayesiano e classificatore Naive Nei problemi di classificazione, quale quello individuato nel presente lavoro, si è normalmente interessati a determinare la migliore ipotesi h (il livello di pain) in un determinato spazio delle ipotesi H (la scala ABC) dato un insieme di dati di osservazione D (il pattern di valori individuato). Un approccio probabilistico nella risoluzione di questo tipo di problemi potrebbe consistere nell’individuare, nel set completo di ipotesi H, quale sia l’ipotesi con maggiore probabilità di verificarsi, considerando note le osservazioni disponibili in D. I problemi di apprendimento Bayesiano si basano proprio su questa analogia tra problemi di classificazione e correlazioni probabilistico in un set di eventi caratterizzati stocasticamente. 6.1 CLASSIFICATORI BAYESIANI Il risultato fondante della teoria dell’apprendimento Bayesiano consiste nell’applicazione del teorema di Bayes. Tale fondamentale risultato stabilisce un legame tra le probabilità di un evento a priori e a posteriori della conoscenza di determinate osservazioni ritenute correlate al verificarsi dell’evento stesso. In particola resi denota con P(h)la probabilità a priori che la particolare ipotesi h si verifichi. Tale probabilità si può ritenere sempre nota nei problemi di apprendimento. Infatti, ricordando la Legge dei Grandi Numeri, sappiamo che la probabilità di un ipotesi P(h) si può approssimare alla frequenza di successi fN(h) di tale evento in una serie di N esperimenti (quando con “approssimare” si intende che, al tendere di N all’infinito, tale frequenza fN(h)converge alla probabilità P(h)). Nel caso in esame nel presente lavoro, supponendo che lo spazio delle ipotesi sia semplicemente costituito dai tre eventi H = {Pain = 1, Pain = 2, Pain = 3}, le probabilità a priori di tali eventi si possono ottenere dunque semplicemente mediante il calcolo della frequenza di occorrenza di ognuno dei tre eventi rispetto al totale delle osservazioni disponibili. Tali probabilità si sono trovate pari rispettivamente a: • • • P(Pain=1) = 0.162 P(Pain=2) = 0.40 P(Pain=3) = 0.438 Il teorema di Bayes asserisce dunque che la probabilità a posteriori dell’evento h date le osservazioni D è calcolabile come: | | Formalizzando allora l’assunzione che l’ipotesi migliore sia quella con maggiore probabilità a posteriori di verificarsi, possiamo dichiarare senza perdita di generalità che obiettivo principale di un qualsiasi problema di apprendimento Bayesiano è l’identificazione della quantità: argmax | Nell’ambito di tali problemi sono possibili diversi approcci risolutivi, relativi soprattutto al diverso modo di calcolare la funzione hMAP riportata, o al modo in cui vengono approssimate le probabilità relative alle osservazioni D. Riguardo la modalità attraverso cui calcolare la hMAP, è evidente che le prestazioni massime si otterranno quando tale massimo è calcolato nell’ambito dell’intero spazio delle ipotesi H. Tale assunzione obbliga però al calcolo della probabilità a posteriori per ogni possibile ipotesi: ovviamente tale calcolo può diventare computazionalmente molto pesante in tutti quei problemi in cui il numero delle ipotesi sia consistente. Si possono introdurre allora determinate soluzioni tese a ridurre lo spazio delle ipotesi che conducono ad algoritmi in genere non ottimali, ma per i quali è possibile stimare una certa soglia di errore massimo; quando tale soglia sia al di sotto di un valore ritenuto soddisfacente le specifiche, è possibile allora sostituire lo spazio delle ipotesi H con tale spazio ridotto. Tali algoritmi risultano ovviamente del tutto inefficienti nel problema in esame in questo lavoro, nel quale lo spazio H è composto solamente da tre possibili valori. Riguardo invece le osservazioni D, bisogna fare alcune osservazioni; in primo luogo bisogna notare che nel calcolo della ipotesi hMAP compare il termine P(D|h), il cui valore è in generale incognito. Il pattern delle ; si potrebbe dunque osservazioni D è in generale composto da un certo numero n di attributi , , … , , , … , | sempre mediante la Legge dei Grandi Numeri: in pensare di calcolare le probabilità questo modo si potrebbe infatti approssimare la probabilità , , … , | con la sua frequenza di nel caso occorrenza, calcolata come il numero di volte in cui è presente il particolare pattern , , … , di ipotesi h fratto il numero totale di occorrenze della stessa ipotesi h. Ma affinchè tale calcolo risulti efficace risulterebbe necessario un numero elevatissimo di esempi di training, in modo da contemplare ogni possibile combinazione degli n attributi e delle ipotesi possibili: nel caso in esame in tale tesina invece i dati disponibili sono relativi infatti solamente a un certo insieme relativamente piccolo di esempi di training, e risulta pertanto impossibile applicare la Legge dei Grandi Numeri senza qualche ulteriore ipotesi sullo spazio delle osservazioni D. 6.2 IL CLASSIFICATORE BAYESIANO NAIVE Il classificatore Bayesiano Naive si basa proprio sull’utilizzo di un’ulteriore approssimazione, volta a rendere possibile il calcolo delle probabilità condizionate P(D|h) anche in problemi in cui sia disponibile un esiguo numero di esempi di training. Tale fondamentale approssimazione si può riassumere nella seguente assunzione: gli attributi che costituiscono il pattern delle osservazioni sono tra loro condizionatamente indipendenti data una particolare ipotesi. Formalmente, si considera quindi la seguente relazione: , ,…, | | Tale assunzione non è sempre vera; ma in tutti quei casi in cui la dipendenza tra gli attributi non sia formalizzabile mediante una relazione deterministica, la sua applicazione risulta in una diminuzione delle prestazioni del classificatore del tutto trascurabile rispetto ai vantaggi che invece apporta nel calcolo delle probabilità condizionate. Assumendo dunque valida la relazione appena riportata, rimane il problema di | : ma tale calcolo può ora essere effettuato mediante la Legge dei Grandi calcolare le probabilità Numeri, in quanto si ritiene sempre disponibile un certo numero di esempi di target in cui un certo attributo assuma un certo particolare valore data una certa ipotesi. Risulta a questo punto necessaria un’ulteriore considerazione riguardo il particolare problema in esame: gli esempi di training disponibili in questo lavoro sono, infatti, in numero insufficiente perfino per il calcolo | : in effetti considerando che il numero di attributi è pari a 5, che il numero di valori delle probabilità assumibili per ogni attributo è pari a 10 e che il numero di ipotesi è pari a 3, perché il calcolo di tali probabilità risulti efficace si dovrebbe disporre di almeno 5 10 3 150 esempi; si ricorda che invece il training‐set considerato mette a disposizione solamente 37 esempi. E’ ovvio pertanto che, se si | risulterebbero nulle. Per utilizzassero solamente tali esempi, moltissime probabilità condizionate chiarire tale concetto basta osservare ad esempio che nelle tabelle riportate nel paragrafo precedente non è presente nessun esempio di training che corrisponda a Pitch=5, condizionatamente al verificarsi dell’ipotesi Pain=1; la corrispondente probabilità condizionata risulterebbe pertanto nulla: 5| 1 0. Il problema generato dalla presenza di tali valori nulli sta nel fatto che l’assunzione del classificatore Naive , , … , | come il prodotto consiste proprio nel calcolare la probabilità congiunta condizionata | delle probabilità : basta perciò che una sola delle n probabilità condizionate ad h sia nulla perché l’intera probabilità congiunta risulti anch’essa nulla. Questo può accadere nonostante invece alcune tra le rimanenti probabilità condizionate 1, … , relative agli altri attributi condizionatamente all’ipotesi h possano essere invece non nulle, e portino quindi contenuto informativo riguardo il verificarsi di tale pattern. 6.3 METODO DEGLI EVENTI FITTIZI Per ovviare a questo problema si è utilizzato il metodo di Laplace degli eventi fittizi. Tale metodo viene illustrato nel caso in esame, e consiste nell’aggiunta, agli esempi di training, di ulteriori 150 esempi di training i quali, non essendo però realmente disponibili, sono appunto chiamati eventi fittizi. Tali 150 esempi contemplano tutte le possibili combinazioni di ogni attributo (con ogni possibile valore) e ogni ipotesi, e modificano lo spazio delle osservazioni rendendolo aumentato, D*. Essendo tali eventi distribuiti uniformemente nello spazio delle osservazioni, risulta evidente notare che la loro introduzione non muta le relazioni d’ordine tra le probabilità condizionate in esame, ma risulta solamente in un uniforme “aumento” dell’intero insieme di tali probabilità. In particolare tornando all’esempio visto in precedenza, l’introduzione di tali eventi comporta per la probabilità 5| 1 un incremento dal valore nullo al nuovo valore dato dalla sua frequenza di occorrenza nello spazio delle osservazioni aumentato D* che risulta pari a 5| 1 0.06. In questo modo, qualora vi siano nel test‐set pattern che contengono Pitch=5, viene valutato il contenuto informativo degli altri quattro attributi invece di escludere a prescindere la possibilità di classificare tale pattern come Pain = 1. I valori delle varie probabilità condizionate vengono inseriti in tre tabelle, relative ai tre possibili valori del pain. A titolo di esempio si riporta una delle tre tabelle, relativa al caso Pain = 3 (livello alto): PITCH RMS PERCENTUALE NUMERO LOBI LARGHEZZA LOBI 1 0,267361 0,267361 0,267361 0,267361 0,267361 2 0,267361 0,267361 0,801389 1,602778 1,068056 3 0,534028 0,267361 1,335417 0,267361 0,534028 4 0,534028 1,602778 1,869444 0,267361 0,267361 5 1,068056 1,068056 1,335417 0,267361 0,534028 6 2,136806 0,801389 0,267361 0,534028 0,534028 7 1,068056 0,534028 0,267361 0,267361 0,267361 8 0,534028 1,068056 0,267361 0,267361 0,267361 9 0,267361 0,534028 0,267361 0,267361 0,267361 10 0,267361 0,534028 0,267361 0,267361 0,267361 Gli elementi nella tabella corrispondono alla probabilità che un attributo (colonna) assuma un certo valore (riga) condizionatamente al fatto che il pain sia quello relativo alla tabella corrispondente. 7. Analisi dei dati 7.1 INFERENZA E CONFRONTO CON I DATI REALI Le tabelle delle probabilità condizionate così ottenute si sono poi verificate sul test‐set. Per fare questo si sono classificati i pattern del test‐set con il classificatore bayesiano: preso un pattern si sono trovate nelle tabelle corrispondenti ai vari livelli di pain le probabilità condizionate dei vari valori presenti nel pattern. Secondo l’assunzione del classificatore Naive,il prodotto di queste cinque probabilità è presa come probabilità che il livello di pain sia un certo valore, dato il corrispondente pattern di valori per le cinque caratteristiche considerate. Il livello di pain con probabilità condizionata più alta si è preso come livello di pain stimato. Ad esempio il pattern [6 9 5 9 7] ha una probabilità condizionata pari a: pain 3| 6 9 5 9 7 pain pain 2.13 0.53 1.33 0.26 0.26 2| 6 9 5 9 7 1| 6 9 5 9 7 0.1 8.192 10 1,9 10 Ovviamente il classificatore assegnerà al pattern il valore di pain pari a 3, high, essendo questa la massima probabilità a posteriori trovata. I valori ottenuti sul test set vengono confrontati poi con i valori ottenuti da altri classificatori. Il primo test effettuato è relativo al confronto tra i dati classificati e i dati reali della scala ABC ottenuti mediante analisi sperimentale in laboratorio. Per mostrare i risultati di tale confronto si è costruita la matrice di confidenza seguente: le celle della matrice mostrano la percentuale di valori stimati corrispondenti a quelli reali, affiancati dal numero di pattern corrispondenti (mostrato tra parentesi). VALORI REALI 1 2 3 1 100 (2/2) 20 (1/5) 14.4 (1/7) 2 0 (0/2) 40 (2/5) 28.6 (2/7) 3 0 (0/2) 40 (2/5) 57 (4/7) VALORI STIMATI Si può notare come il classificatore si comporti bene per livelli di pain bassi o alti, mentre non classifichi in maniera ottimale livelli di pain intermedi; questo è dovuto principalmente al fatto che le caratteristiche relative a dolore intermedio sono facilmente confondibili con quelle relative al livello di dolore alto, rendendo la classificazione in questi casi più difficile. Bisogna poi notare che il test‐set contiene solamente 14 pattern: un numero piuttosto esiguo, che rende difficoltosa la fase di testing. Inoltre anche il training‐set contiene solamente un numero ristretto di pattern; questo non permette un implementazione sufficientemente precisa del classificatore. I risultati mostrati nella matrice di confidenza vanno pertanto considerati più in via qualitativa che non in maniera analitica. 7.2 CONFRONTO CON ALTRI CLASSIFICATORI Un secondo test è stato effettuato confrontando il classificatore sviluppato con il classificatore nearest neighbor già presente in Matlab. Il classificatore nearest neighbor si basa su una suddivisione dello spazio dei parametri D in varie regioni di decisione. In particolare si considera lo spazio n‐dimensionale, dove n è il numero dei parametri del pattern di training (nel nostro caso n = 5). Si dispongono poi in tale spazio gli esempi di training disponibili, mantenendo per ognuno di essi l’etichetta della corrispondente ipotesi target h(nel nostro caso il livello di pain). La classificazione avviene poi semplicemente considerando, una volta ricevuto un pattern da classificare, il più vicino esempio di training al pattern considerato: una volta individuato tale esempio, si classifica il pattern con la stessa ipotesi h relativa all’esempio più vicino. Data la semplicità dell’algoritmo appena presentato, risulta evidente come le sue prestazioni dipendano molto dalla bontà e dal numero dei dati delle osservazioni disponibili; nel caso in esame pertanto risulterà prevedibile immagine risultati non soddisfacenti per questo classificatore. In effetti la tabella seguente mette in evidenza i risultati della classificazione rispettivamente con il classificatore nearest‐neighbor, il classificatore Naive implementato e i dati reali ottenuti sperimentalmente in laboratorio: Naive N.N. Reali 1 2 1 1 1 1 3 3 3 3 2 3 1 2 3 3 3 3 3 2 3 2 3 3 1 1 2 2 3 2 2 2 2 2 2 3 3 3 3 3 2 2 E’ facile constatare che il classificatore Naive sviluppato si comporta meglio del classificatore N.N., e questo grazie agli accorgimenti sviluppati atti a risolvere il problema dell’esiguo numero di esempi di training disponibili. Infine un terzo test è stato effettuato confrontando le prestazioni del classificatore con quelle di un classificatore basato su analisi con funzione di discriminazione quadratica (già implementato nelle Toolbox di Matlab). Il funzionamento di tale classificatore è il seguente: il generico vettore degli attributi, nel nostro , , , , viene completato con tutti i possibili quadrati, ottenendo caso a cinque componenti: , , , , , , , , … , , … . Su tale training set un nuovo vettore degli attributi espanso: espanso vengono individuate, mediante tecniche di interpolazione, due funzioni lineari che dividano lo spazio dei parametri espanso in tre regioni di decisione corrispondenti rispettivamente alle tre ipotesi in esame: Pain = 1, Pain = 2, Pain = 3. Infine l’inferenza sui nuovi pattern presenti nel test set viene fatta semplicemente calcolando il vettore degli attributi espanso, e verificando in quale regione di decisione esso si venga a trovare: l’etichetta di tale regione corrisponde alla decisione presa. Un simile classificatore necessita anch’esso, come il Bayesiano Naive qui implementato, di pochi esempi di training; ci si aspettano quindi risultati dei due classificatori piuttosto simili. In effetti la tabella seguente riporta ancora un confronto tra le caratteristiche dei due classificatori messi a confronto con i dati reali ottenuti sperimentalmente. Come si può notare, in questo caso i due classificatori compiono lo stesso numero di errori (5 su 14). Sarebbe interessante valutare tale confronto prestazionale su training‐set e test‐set più consistenti. Naive Quad Reali 1 2 1 1 1 1 3 3 3 3 3 3 1 3 3 3 3 3 3 2 3 2 2 3 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 2 8. Conclusioni Il lavoro svolto mostra come vi sia una forte correlazione tra livello di dolore presente in un neonato e alcune caratteristiche del pianto. Tale correlazione si è verificata con un approccio probabilistico mediante un classificatore Bayesiano Naive. Applicazioni del lavoro svolto si possono trovare sia in ambito medico che soprattutto in ambito domestico, dove un semplice strumento diagnostico di registrazione potrebbe rivelare stati di stress elevato nel nascituro, lanciando un primo allarme riguardo possibili condizioni di malessere. Un netto miglioramento prestazionale del classificatore implementato potrebbe essere ottenuto mediante un esame più accurato della fase di analisi dei lobi precedentemente descritta. Il confronto con altri tipi di classificatori pre‐implementati mostra poi che una disponibilità maggiore di registrazioni avrebbe permesso un training certamente più accurato del classificatore, con un conseguente aumento delle prestazioni. 9. Implementazione software Il lavoro è stato svolto integralmente in ambiente Matlab. Di seguito sono riportati i nomi dei file implementati (ogni file corrisponde a una funzione), seguiti da una breve descrizione della loro funzionalità. Si è diviso il lavoro in due fasi (corrispondenti a due sotto‐cartelle): una prima fase di analisi del segnale (nella cartella Data Analysis) e una seconda fase di classificazione (nella cartella Pain Detection). Le tabelle contenenti i pattern di osservazione sono state salvate su due file di testo (corrispondenti a esempi di training e esempi di test), rispettivamente in data_test.txt e data_training.txt. 9.1 FUNZIONI IMPLEMENTATE AMDF.m – restituisce la funzione AMDF di un dato segnale, e il valore del pitch non corretto, dato dal suo minimo globale. Prende come parametri in ingresso un array contenente il segnale e il valore di maxlag. Calcola_soglia.m – restituisce il numero dei lobi pesato per la funzione trapezoidale, e la larghezza dei lobi pesata con la funzione gaussiana. Prende in ingresso un array contenente l’andamento della potenza del segnale nel tempo. Data_analysis.m – restituisce una matrice contenente i pattern di caratteristiche calcolate per tutti i segnali, la discretizza a dieci possibili valori, e la salva sul file data_matrix.txt. Find_diff.m, Find_heigth.m, Find_lobe_width.m, Find_local_max.m, Find_peak_ratio.m – restituiscono i valori delle caratteristiche dei possibili candidati al pitch, utilizzati poi nella fase di correzione. Marker_weigth.m – restituisce il peso da attribuire ad ogni possibile candidato al pitch che ha superato la fase di selezione con i vincoli. Pitch_finder.m – restituisce il pitch stimato con l’algoritmo basato sul calcolo dell’AMDF, corretto mediante i vincoli sulle caratteristiche. Restituisce pitch nullo nel caso in cui il frame venga considerato unvoiced. Rms.m – restituisce il valore del RMS normalizzato rispetto al suo valore massimo. Siren_cry.m – restituisce la percentuale di potenza compresa in una certa banda di frequenze rispetto alla potenza totale. Zcr.m – restituisce lo zero crossing rate di un frame di segnale, è utilizzato per discriminare frame unvoiced da frame voiced. Bayes_detection.m – restituisce il livello di dolore stimato mediante il classificatore bayesiano. Prende in ingresso le tabelle delle probabilità condizionate calcolate in precedenza. Naive_classifier.m – restituisce le tabelle delle probabilità condizionate. Prende in ingresso gli esempi di training, aggiunge gli esempi fittizi, effettua l’apprendimento del classificatore e calcola le tabelle delle probabilità condizionate. Training_data.m – restituisce il training set e il test set dividendo i dati in maniera percentuale rispetto al livello di pain reale. 10. Bibliografia HUMAN NEONATES AND PAIN – D. TIBBOEL, M. VAN DIJK FISIOPATOLOGIA DEL DOLORE PEDIATRICO – L. MANFREDINI ACCURATE PAIN DETECTION IS NOT ENOUGH: CONTEXTUAL AND ATTRIBUTIONAL STYLE AS BIASING FACTORS IN PATIENT EVALUATIONS AND TREATMENT CHOICE – L. M. LUNDQUIST DEVELOPMENT AND VALIDATION OF THE ABC PAIN SCALE FOR HEALTHY‐FULL TERM BABIES – R. SISTO, F. BAGNOLI, C. V. BELLIENI A PROBABILISTIC APPROACH TO AMDF PITCH DETECTION ‐ G. S. YING, L. H. JAMIESON, C. D. MICHELL. PITCH DETERMINATION OF SPEECH SIGNALS: ALGORITHMS AND DEVICES ‐ W.H. HESS. PITCH DETECTION ALGORITHM: AUTOCORRELATION METHOD AND AMDF ‐ L. TAN. DEVELOPMENT OF MULTIMEDIA TOOL FOR LEARNING SPEECH ANALYSIS ‐ S. C. HUNG. INTELLIGENZA ARTIFICIALE, UN APPROCCIO MODERNO ‐ S. RUSSELL, P. NORVIG.