Vous êtes sur la page 1sur 114

CLASIFICADOR DE MSICA POR GNERO UTILIZANDO REDES NEURONALES

ARTIFICIALES

ELKIN EDUARDO GARCA DAZ

GERMN ANDRS MANCERA MNDEZ

JORGE GUILLERMO PACHECO DAZ

Trabajo de Grado presentado como requisito

para optar al ttulo de Ingeniero Electrnico

DIRECTOR : FERNANDO ENRIQUE LOZANO MARTNEZ Ph.D.

PONTIFICIA UNIVERSIDAD JAVERIANA

FACULTAD DE INGENIERA

DEPARTAMENTO DE ELECTRNICA

BOGOT D.C.

2003
PONTIFICIA UNIVERSIDAD JAVERIANA

FACULTAD DE INGENIERA

CARRERA DE INGENIERA ELECTRNICA

RECTOR MAGNFICO R.P. Gerardo Remolina S.J.

DECANO ACADMICO Ing. Roberto Enrique Montoya Villa

DECANO DEL MEDIO UNIVERSITARIO R.P. Antonio Sarmiento Nova S.J.

DIRECTOR DE CARRERA Ing. Juan Carlos Giraldo Carvajal

DIRECTOR DEL PROYECTO Fernando Lozano Martnez Ph.D.

2
ARTCULO 23 DE LA RESOLUCIN No. 13 DE JUNIO DE 1946

La universidad no se hace responsable de los conceptos emitidos por sus alumnos

en sus proyectos de grado.

Slo velar por que no se publique nada contrario al dogma y a la moral catlica y por que

los trabajos no contengan ataques o polmicas puramente personales. Antes bien, que se

vea en ellos el anhelo de buscar la verdad y la justicia.

3
A mi mam,

por su apoyo, cario,

comprensin y afecto

a lo largo de mi vida.

Elkin Eduardo Garca Daz.

4
A los que incondicionalmente me han brindado

su amor y apoyo siempre:

Dios, papi, mami y Lilianita.

Germn Andrs Mancera Mndez

5
A todas las personas que hicieron esto posible.

En especial a mi pap a mi mam y a mi hermana.

Jorge Guillermo Pacheco Daz.

6
CONTENIDO
Pg.
INTRODUCCIN 15
1. MARCO TERICO 17
1.1. EXTRACCIN DE CARACTERSTICAS Y PREPROCESAMIENTO 17
1.1.1. Extraccin de caractersticas a partir del dominio del tiempo 20
1.1.2. Extraccin de caractersticas a partir del dominio de la frecuencia 22
1.1.3. Extraccin de caractersticas a partir de la transformada Wavelet 23
1.1.3.1. Transformada continua Wavelet 24
1.1.3.2. Transformada discreta Wavelet 25
1.1.4. Preprocesamiento 26
1.2. REDES NEURONALES ARTIFICIALES 28
1.2.1. Red de propagacin inversa (Backpropagation) 31
1.2.1.1. Perceptrn Multinivel 31
1.2.1.2. Backpropagation 33
1.2.2. Red de funciones de base radial (Radial Basis Functions) 34
1.2.3. Seleccin del orden del modelo utilizando Validacin Cruzada 38
1.2.4. Boosting 39
1.2.4.1. Convergencia del error de entrenamiento a cero 42

2. ESPECIFICACIONES 43
2.1. ARQUITECTURA DEL SISTEMA 43
2.2. ESPECIFICACIONES DE LOS GNEROS MUSICALES 44
2.3. ESPECIFICACIONES DEL FORMATO DE LAS CANCIONES 47
2.4. CARACTERSTICAS DE LA BASE DE DATOS 48
2.4.1. Conjunto de Entrenamiento 48
2.4.2. Conjunto de Evaluacin 49
2.5. IMPLEMENTACIN 49

7
3. DESARROLLOS 51
3.1. EXTRACCIN DE PARMETROS 51
3.1.1. Anlisis en tiempo 51
3.1.2. Anlisis en frecuencia 55
3.1.3. Transformada Wavelet 58
3.1.3.1. Energa por Escala 63
3.1.3.2. Patrones rtmicos 64
3.1.4. Resumen de parmetros extrados 70
3.1.5. Preprocesamiento 72
3.2. REDES NEURONALES ARTIFICIALES 73
3.2.1. Redes de Propagacin Inversa (Backpropagation) 73
3.2.2. Redes de funciones de base radial 75
3.2.3. Seleccin del orden del modelo 78
3.2.3.1. 10Fold Cross Validation para la red Backpropagation 78
3.2.3.2. 10Fold Cross Validation para la red de funciones de base radial 79
3.2.4. Mejoras en el desempeo de los clasificadores 79
3.2.5. Boosting 80

4. ANLISIS DE RESULTADOS 84
4.1. CLASIFICADOR RED DE PROPAGACIN INVERSA 84
4.2 CLASIFICADOR RED DE FUNCIONES DE BASE RADIAL 88
4.3. CLASIFICADOR ADABOOST 91
4.4.COMPARACIN ENTRE LOS DIFERENTES CLASIFICADORES
IMPLEMENTADOS 102

5. CONCLUSIONES 105

BIBLIOGRAFA 108
ANEXO A INTERFAZ GRFICA CON EL USUARIO 110

8
LISTA DE TABLAS

Pg.

Tabla 1. Resumen de parmetros. 71

Tabla 2. Porcentajes de clasificacin correcta utilizando Adaboost. 102

Tabla 3. Comparacin de los resultados obtenidos para las topologas Red de


Propagacin Inversa y Red de Funciones de Base Radial. 103

Tabla 4. Resultado de la aplicacin de Adaboost a un clasificador dbil. 104

9
LISTA DE FIGURAS

Pg.

Figura 1. Taxonoma de la clasificacin de msica. 17

Figura 2. Diagrama de bloques general del clasificador de msica. 18

Figura 3. Modelo computacional de una neurona. 29

Figura 4. Relacin entre la entrada y la salida mediante las funciones h y h . 30

Figura 5. Factores causantes del hecho que la funcin real y la estimada difieran. 30

Figura 6. Perceptrn multinivel con una capa oculta. 32

Figura 7. Configuracin tpica de una Red de funciones de Base Radial. 34

Figura 8. Modelo de una neurona para una red de funciones de base radial. 35

Figura 9. Arquitectura de una red de funciones de base radial . 36

Figura 10. Esquema general del Clasificador de Msica. 45

Figura 11. Probabilidad de seleccin en la muestra bootstrap. 82

Figura 12. Pantalla inicial Programa Clasificador De Msica. 110

Figura 13. Pantalla de Bsqueda de Cancin. 111

Figura 14. Pantalla de Resultado del Proceso de Clasificacin. 112

Figura 15. Pantalla Acerca de 113

Figura 16. Pantalla de Bsqueda de Cancin. 114

10
LISTA DE GRFICAS

Pg.

Grfica 1. Correlacin Componentes de Frecuencia para el Merengue Pgame tu


vicio de Eddie Herrera para 2 tiempos diferentes. 52

Grfica 2. Correlacin Componentes de Frecuencia para la salsa Cali Aj de Grupo


Niche para 2 tiempos. 53

Grfica 3. Correlacin Componentes de Frecuencia para Vallenato La diosa


Coronada de Leandro Diaz para 2 tiempos diferentes. 53

Grfica 4. Magnitud de la FFT del primer canal en funcin de la frecuencia para la


cancin Nuestro Amor de Eddie Herrera. 56

Grfica 5. Magnitud de la FFT de la resta de los 2 canales en funcin de la frecuencia


para la cancin Nuestro Amor de Eddie Herrera. 56

Grfica 6. Magnitud de la FFT para tres canciones pertenecientes a distintos gneros. 58

Grfica 7. Transformada Wavelet del merengue Nuestro Amor de Eddie Herrera. 60

Grfica 8. Detalles de la transformada Wavelet para un fragmento de merengue. 61

Grfica 9. Transformada Wavelet para 2 canciones de los gneros merengue y


salsa con diferentes tasas de muestreo. Columna Izquierda: Merengue
Columna Derecha: Salsa a) 22050Hz b) 11025Hz c) 5512.5 Hz. d) 2756.25 Hz 63

Grfica 10. Transformada Wavelet y su respectiva Energa para cada escala. 64

Grfica 11. Fragmento original antes de procesar. 65

Grfica 12. Patrones rtmicos extrados. 65

Grfica 13. Espectro de frecuencia fragmento original. 66

Grfica 14. Espectro de frecuencia patrones rtmicos. 66

11
Grfica 15. Envolventes de orden cero y uno para los patrones rtmicos. 67

Grfica 16. Envolventes de los patrones rtmicos utilizando el mtodo de mximos


locales. 68

Grfica 17. Amplitud de la FFT de la envolvente de los patrones rtmicos. 69

Grfica 18. Fase de la FFT de la envolvente de los patrones rtmicos. 70

Grfica 19. Magnitud de los 33 valores propios de la matriz de covarianza. 72

Grfica 20. Nmero mnimo de elementos por cluster en funcin el nmero de clusters. 77

Grfica 21. Porcentaje Promedio de Clasificacin Correcta obtenido empleando


10 Fold Cross Validation. 84

Grfica 22. Porcentaje promedio de Clasificacin correcta para los 10 subconjuntos


de Validacin con una red de 6 neuronas. 85

Grfica 23. Tiempo empleado en hacer 10 Fold Cross Validation en funcin del
nmero de neuronas de la capa oculta. 87

Grfica 24. Porcentaje Promedio de Clasificacin Correcta obtenido empleando


Validacin Cruzada. 88

Grfica 25. Mximo Porcentaje de Clasificacin para los 10 subconjuntos de Validacin


con una red de 16 neuronas. 89

Grfica 26. Tiempo empleado en hacer 10 Fold Cross Validation en funcin del
nmero de neuronas de la capa oculta. 90

Grfica 27. Error de entrenamiento total en funcin de las iteraciones. 92

Grfica 28. Error de entrenamiento para merengue en funcin de las iteraciones. 92

Grfica 29. Error de entrenamiento para salsa en funcin de las iteraciones. 93

Grfica 30. Error de entrenamiento para vallenato en funcin de las iteraciones. 93

Grfica 31. Distribucin de mrgenes de entrenamiento para merengue. 94

Grfica 32. Distribucin de mrgenes de entrenamiento para salsa. 95

Grfica 33. Distribucin de mrgenes de entrenamiento para vallenato. 95

12
Grfica 34. Tiempo de entrenamiento en funcin del nmero de iteraciones. 97

Grfica 35. Error de Evaluacin Total en funcin del nmero de iteraciones. 98

Grfica 36. Error de Evaluacin para merengue en funcin del nmero de iteraciones. 98

Grfica 37. Error de Evaluacin para salsa en funcin del nmero de iteraciones. 99

Grfica 38. Error de Evaluacin para vallenato en funcin del nmero de iteraciones. 99

Grfica 39. Distribucin de mrgenes de evaluacin para merengue. 100

Grfica 40. Distribucin de mrgenes de evaluacin para salsa. 100

Grfica 41. Distribucin de mrgenes de evaluacin para vallenato. 101

13
LISTA DE ANEXOS

Pg.

Anexo A. Interfaz Grfica con el Usuario 110

14
INTRODUCCIN

Bases de datos de msica en formato digital cuyo tamao era difcil imaginar hace unos

aos se comparten hoy en da con gran facilidad a travs de las redes de computadores (por

ejemplo, Internet), creando la necesidad de disponer de mtodos eficientes que permitan la

bsqueda y organizacin de dichas bases. En los ltimos aos, y debido al creciente

fenmeno de distribucin de msica a travs de Internet, ha surgido la necesidad de crear

sistemas capaces de clasificar msica de manera automtica. Sin embargo, son muchos los

estudios que se han venido realizando con el fin de establecer cules son aquellas

caractersticas que constituyen un estilo musical, qu parmetros musicales son relevantes

para hacer la clasificacin y cules son las tcnicas de aprendizaje de mquina ms

efectivas para procesar tal informacin [1],[2],[3].

Este proyecto est enfocado hacia la clasificacin de canciones en tres gneros a saber:

Merengue, Salsa y Vallenato. Existen varios maneras de abordar el problema de la

clasificacin de msica. ste estudio se centra en la realizacin de tal proceso mediante la

identificacin y extraccin de caractersticas relevantes que pueden ser usadas como

entradas a una Red Neuronal Artificial. Una vez se han identificado tales caractersticas, se

procede a realizar el aprendizaje de mquina. Se usan dos topologas bsicas: Perceptrn

Multinivel y Redes de Funciones de Base Radial (Radial Basis Functions). Tambin se ha

estudiado el efecto que tiene la aplicacin del algoritmo AdaBoost sobre el desempeo final

del clasificador.

15
Los estudios que se han realizado al respecto son pocos. Seth Golub [2] realiz una tesis de

maestra en la cual prob tres tipos diferentes de clasificadores aplicados a dos gneros

similares, obteniendo un porcentaje de clasificacin correcta del 77%. Paul Scott [3]

elabor un sistema clasificador usando un perceptrn multinivel para 4 gneros bastante

diferentes, y obtuvo un porcentaje del 94.8%. Numerosos investigadores han realizado

trabajos relacionados con la identificacin de caractersticas relevantes a partir de la

msica. Por ejemplo, Foote [4] emple tcnicas espectrales para distinguir entre voz y

msica con un alto grado de exactitud, mientras que Soltau [5] entren una red neuronal

autoasociativa usando la tcnica de Foote para los gneros rock, pop, tecno y clsico. Su

razn de clasificacin correcta fue similar a la obtenida por Golub.

En el primer captulo de este libro se presenta una descripcin de la teora relacionada con

la extraccin de caractersticas, preprocesamiento y redes neuronales artificiales. En el

segundo captulo se considera todo lo referente a las especificaciones del proyecto y se hace

referencia a la arquitectura, el formato de la canciones y las caractersticas de la base de

datos. En el tercer captulo se describe detalladamente la forma en la cual se desarroll el

proyecto en sus etapas de identificacin, extraccin y preprocesamiento de parmetros,

seguido del entrenamiento y optimizacin del clasificador. En el cuarto captulo se hace un

anlisis de los resultados obtenidos para todas las pruebas que fueron realizadas. En el

quinto captulo de exponen las conclusiones resultantes del proyecto. Finalmente se brinda

una bibliografa que tiene como objetivo permitir que el lector vaya a las fuentes primarias

utilizadas por los realizadores del proyecto.

16
1. MARCO TERICO

1.1 EXTRACCIN DE CARACTERSTICAS Y PREPROCESAMIENTO

El diagrama que se presenta en la Figura 1 permite visualizar de forma global el problema

de la clasificacin de msica de acuerdo al gnero. Esta clasificacin taxonmica fue

realizada en primera instancia por David Gerhard [1] en un estudio realizado acerca de la

clasificacin de seales de audio. En la Figura 1 se encuentra resaltado el cuadro

correspondiente a Gnero, y puede verse que junto con Cultura, Compositor y Cantante,

son las formas de clasificar msica por Tipo. Igualmente puede observarse que la msica

puede ser clasificada segn su contenido dependiendo de la Meloda y de las Notas.

Msica

Contenido
Meloda Notas

Tipo
Cultura Gnero Compositor Intrprete

Instrumentos
Familia Tipo Individual

Nmero de Instrumentos

Figura 1. Taxonoma de la clasificacin de msica.

17
La razn por la cual se ha implementado este sistema se debe a que la bsqueda de una

cancin por gnero, es la forma ms natural y frecuente en la cual se realiza este proceso

cuando no se dispone de informacin ms especfica como el ttulo o el intrprete. De

hecho, sta es la forma en la que cualquier persona buscara en una tienda de msica o en

tiendas especializadas de Internet, en donde los discos se encuentran organizados de

acuerdo al gnero musical por rock, pop, jazz, clsica, tropical, vallenato, etc. [1]

La Figura 2 presenta un diagrama de bloques general del proyecto (ampliado en el numeral

2.1). Como se muestra, el sistema est compuesto de dos bloques interconectados entre s.

Un primer bloque se encarga de llevar a cabo la extraccin de caractersticas relevantes a

partir del archivo de msica, mientras que el segundo bloque es el sistema clasificador,

encargado de realizar la tarea de categorizacin una vez se ha obtenido la informacin

necesaria y pertinente del bloque anterior.

Extraccin de Sistema Clasificador


Msica en Caractersticas (Red Neuronal Clasificacin
Formato y Artificial) por
Digital Preprocesamiento Gnero

ENTRADA SALIDA

Figura 2. Diagrama de bloques general del clasificador de msica.

Christopher Bishop [6] habla acerca de la importancia que tiene la utilizacin del bloque de

extraccin de caractersticas y preprocesamiento, y muestra el impacto del mismo sobre el

rendimiento final del sistema de clasificacin. El primer objetivo es, como su nombre lo

18
indica, extraer parmetros que permitan diferenciar entre los conjuntos que son usados

como entradas al sistema completo. Esta extraccin de caractersticas debe ser tal, que

permita el posterior entrenamiento de la Red Neuronal Artificial, para conseguir xito en la

clasificacin. El otro objetivo es llevar a cabo la reduccin de la dimensionalidad. Esto es,

proporcionar a la Red Neuronal un nmero adecuado de entradas que permita reducir la

complejidad del modelo, mejorar la clasificacin y reducir el tiempo necesario para llevar a

cabo el entrenamiento de la Red Neuronal, puesto que se descarta informacin irrelevante y

poco informativa. En el caso de ste proyecto es claro que la utilizacin de la cancin

completa como entrada a la Red sera altamente ineficiente y conducira a tiempos de

cmputo inmanejables para la fase de entrenamiento. Por ejemplo, una cancin en formato

digital WAV monofnica muestreada a 44100 Hz producira una cantidad de entradas no

inferior a 5000.000.

Con base en el anlisis de las formas de onda de diversas canciones y empleando

herramientas que permitan analizar las seales, es posible extraer un nmero adecuado de

parmetros en esta parte del sistema. Algunas tcnicas de anlisis en tiempo y frecuencia

permitieron obtener caractersticas que contienen informacin relevante de tipo musical

(intensidad, duracin, timbre, tono, comps, pulso, escalas meldicas, instrumentos) que

est relacionada con el gnero musical al que pertenecen las muestras analizadas.

19
1.1.1. Extraccin de caractersticas a partir del dominio del tiempo

Para realizar la tarea de clasificacin de msica se pueden tener en cuenta diversas

caractersticas de su forma de onda, como son Espectro de frecuencia, Potencia, Amplitud

en Tiempo, etc. Dentro de las caractersticas de tiempo, existen muchos tipos de

parmetros como lo son, por ejemplo, el volumen promedio y el volumen dinmico.

El volumen Promedio se calcula como el valor RMS de la seal de onda, es decir tomamos

un nmero N de muestras y a partir de este calculamos este valor de la siguiente forma:

N 1
1
V= sn2 (i ) (1.1)
N i =0

El volumen promedio permite tener una nocin del valor promedio de las muestras, es decir

un promedio de la potencia de energa, parmetro que por s solo no permite distinguir un

ritmo de otro, pero que en combinacin con otros es de utilidad.

El volumen Dinmico se calcula tomando el valor mximo y el valor mnimo dentro de la

muestra y sacando una relacin porcentual de su variacin

Vmax - Vmin
VDR = (1.2)
Vmax

Estos dos datos permiten conocer la acumulacin de diferencias existentes sobre ventanas

de tiempo tomadas sobre la misma muestra, que son sucesivas.

20
En la ejecucin de la msica, el intrprete usa las variaciones de tiempo, dinmica y

articulacin. La teora indica que esas variaciones se encuentran cercanamente

relacionadas con la estructura musical [7]. Una de las herramientas de anlisis de datos es

usar la correlacin con el objetivo de encontrar regularidades, las cuales, de acuerdo con la

hiptesis indicada anteriormente, corresponden a dicha estructura.

Cualquier desviacin de una distribucin tpica de frecuencia es vista como una

modificacin estructural, la cual permite diferenciar un ritmo de otro. Es necesario analizar

dichos cambios en diferentes tiempos, para observar si son cambios estructuralmente

planeados y repetitivos que entregan un anlisis de la forma de onda o si son cambios

meramente aleatorios y que no presentan periodicidad a travs del tiempo.

Una cancin es mezcla de muchas frecuencias fundamentales que entregan el ritmo. Por

esta razn se debe analizar el espectro de sta y ver como vara a travs del tiempo. Para

esto se realiza la correlacin del espectro de frecuencia con l mismo a lo largo de

diferentes muestras de tiempo sobre una cancin. Esto entrega una medida del intervalo de

frecuencia en el cual existe el mayor valor de potencia, es decir la media de la

autocorrelacin y la forma en que decae dicho valor a travs de la frecuencia, lo cual

equivale a la desviacin estndar. [7]

R xy = E [ X mYn ] (1.3)

Estos parmetros permiten conocer una tasa de variacin de una muestra a otra dentro de

una misma cancin, tanto en amplitud, como en contenido de frecuencia, lo cual a travs

21
del anlisis de muestras de varios gneros permite identificar dichas caractersticas como

propias de cada uno de los ritmos a analizar.

1.1.2. Extraccin de caractersticas a partir del dominio de la frecuencia

Hay una amplia gama de herramientas matemticas que permiten realizar anlisis de

seales en el dominio de la frecuencia. La Transformada de Fourier es una de las ms

ampliamente utilizadas en este tipo de estudios [2][3], y su importancia radica en el hecho

que permite descomponer un amplia gama de seales en trminos de funciones senoidales

[8]. La transformada de Fourier de una seal de energa finita est definida como


X ( ) = x(n) e j n (1.4)
n =

Una cancin es muestreada a una frecuencia determinada, que para el caso de seales de

audio es generalmente 44100 Hz. La razn por la cual se muestrea a esta tasa se

fundamenta en el Criterio de Nyquist, el cual establece que para recuperar una seal a

partir de sus muestras, stas deben ser tomadas a una frecuencia igual a superior a dos

veces la frecuencia mxima contenida en dicha seal. Una seal de audio tiene un espectro

que no sobrepasa los 20 kHz, razn por la cual es posible recuperarla si la tasa de muestreo

es 44.1 kHz.

22
Hacia mediados de los aos 60s se desarroll un algoritmo conocido como Transformada

Rpida de Fourier (Fast Fourier Transform FFT) que ayud a realizar una implementacin

digital y redujo en varios rdenes de magnitud el tiempo computacional que se necesitaba

para realizar tal transformacin [9]. Por esta razn y por el hecho que es una funcin

incluida en Matlab, sta fue ampliamente utilizada en el proyecto para obtener las

transformadas. Este algoritmo toma como entrada una seal y obtiene su transformada

discreta de N puntos mediante la ecuacin

N
X (k ) = x(i ) N( i 1)( k 1) (1.5)
i =1

En donde N = e ( j 2 ) / N

1.1.3. Extraccin de caractersticas a partir de la transformada Wavelet

Hasta el momento se ha hablado del dominio del tiempo y del dominio de la frecuencia por
separado, sin embargo surge la duda de si es necesario poseer informacin que relacione
tiempo y frecuencia para una seal dada. Para responder se hace necesario diferenciar si la
seal es estacionaria o no, puesto que una seal no estacionaria cambia su contenido en
frecuencia con el transcurso del tiempo y en este caso sera til establecer una relacin
entre tiempo y frecuencia. Este es el caso de la msica, la cual es un tipo de seal no
estacionaria.

La transformada Wavelet proporciona informacin que relaciona tiempo y frecuencia, es


decir qu bandas de frecuencias estn presentes en determinado intervalo de tiempo. Es
importante anotar que es imposible establecer en qu tiempo est presente una componente

23
de frecuencia, pues mientras se tiene mayor precisin en el tiempo se pierde precisin en
frecuencia, esto se conoce como el principio de incertidumbre.

Adicionalmente, la transformada Wavelet es multiresolucin; esto es que analiza la seal a


diferentes frecuencias con diferentes resoluciones, en este caso una alta resolucin en
tiempo y pobre resolucin en frecuencia a frecuencias altas y baja resolucin en tiempo y
alta resolucin en frecuencia a frecuencias bajas. [10].

1.1.3.1. Transformada continua Wavelet

La transformada continua Wavelet (CWT por sus siglas en ingls) est definida para una

seal x (t ) de la siguiente forma

t
( , s ) = s
1
2
x(t ) dt (1.6)
s

Donde la transformada inversa es

1 t
x (t ) = K 2
( , s ) dsd (1.7)
s s

Con la constante de normalizacin K dada por

W ( )
2

K= d (1.8)

Siendo W ( ) la transformada de Fourier de ( t ) . [11].

24
La transformada Wavelet ( , s ) es una funcin de dos variables, o traslacin que hace

referencia al desplazamiento de la funcin madre o prototipo ( t ) y s o escala que se

refiere al ancho de dicha funcin. Es importante resaltar que aunque no exista la variable
frecuencia dentro de la definicin de la transformada Wavelet, la variable escala se
relaciona con este parmetro, donde altas escalas hacen referencia a bajas frecuencias
mientras bajas escalas hacen referencia a altas frecuencias [10].

Existen mltiples familias de funciones Wavelet ( t ) , como la funcin Morlet o el

sombrero mejicano, entre otras. Pruebas preliminares realizadas en este estudio


demostraron que los mejores resultados se obtienen utilizando el sombrero mejicano
definido como

x2 x2
(t ) = A 1 e 2 2
(1.9)
2

1.1.3.2. Transformada discreta Wavelet

Utilizando la transformada Discreta Wavelet (DWT por sus siglas en ingls) es posible

expandir una funcin x ( t ) por medio de una serie


x (t ) = a , s , s ( t ) (1.10)
= s =

donde

, s ( t ) = 2 2 ( 2 s t )
s
(1.11)

25
As el grupo de coeficientes bidimensionales a ,s es llamado transformada discreta

Wavelet. [11].

1.1.4. Preprocesamiento

Con el fin de obtener mejores resultados durante el proceso de entrenamiento de la Red

Neuronal, es necesario realizar una labor de preprocesamiento para transformar los

parmetros extrados de las canciones en una nueva representacin. De la misma manera,

la incorporacin de conocimiento previo aumenta el desempeo general del sistema. El

conocimiento previo hace referencia a informacin relevante que puede ser usada para

desarrollar una solucin, y que es adicional a aquella que se encuentra en el conjunto de

entrenamiento [6].

La reduccin de la dimensionalidad de los datos de entrada es una de las funciones

primordiales de la tarea del preprocesamiento. La extraccin de parmetros relevantes a

partir de las entradas se conoce como Extraccin de Caractersticas y su importancia,

radica en el hecho que permite disminuir la complejidad del modelo y aumentar la

capacidad de generalizacin de la red. Esta disminucin conlleva una mejora de los

tiempos necesarios para poder entrenar la Red Neuronal, debido a que se descarta contenido

poco informativo. Adems es adecuado realizar otro proceso conocido como escalamiento

lineal, mediante el cual se pretende que todos los parmetros de entrada tengan valores en

el mismo rango. Esta transformacin es especialmente adecuada si las entradas tienen

valores que difieren en varios rdenes de magnitud. Para el proyecto se realiz una

26
normalizacin de todas las variables con respecto a los valores que son obtenidos para todas

las muestras, haciendo que todas las entradas quedaran dentro del intervalo [-1,1].

Con el fin de reducir la dimensionalidad de las entradas, es til seleccionar un subconjunto

de ellas y descartar el otro, partiendo del supuesto que hay ciertas entradas que contienen

mayor informacin que otras. Un procedimiento que seleccione las entradas adecuadas

debe contar con un criterio que permita discernir qu variables son mejores que otras. El

subconjunto de entradas ptimo depender, en gran medida, del sistema clasificador que

ser empleado. As mismo, este proceso de seleccin debera idealmente ser realizado

entrenando la Red en repetidas ocasiones para diferentes conjuntos de entrada y evaluando

los resultados que se obtienen para cada uno de ellos. Una aproximacin como sta resulta

computacionalmente inadecuada por cuanto el entrenamiento debera ser realizado

demasiadas veces. Por esta razn se realiz una transformacin conocida como blanqueo

[12] o KLT (Ver Numeral 3.1.5.). Inicialmente se agrupan las variables de entrada xi en un

vector x = ( x1 , x2 , , xd )T que tiene como media un vector y como covarianza una

matriz con respecto a todos las muestras del conjunto de entrenamiento dados por:

N
1
x= xn (1.12)
N n =1

1
( )( )
T
= xn x xn x (1.13)
N 1

Haciendo uso de la ecuacin de los valores propios para la matriz de covarianza

u j = j u j (1.14)

27
Puede definirse una transformacin lineal de la entradas que est dada por

( )
n
x = 1/ 2 U T x n x (1.15)

En donde

U = (u1 ,..., ud ) (1.16)

= diag (1 ,..., d ) (1.17)

En el nuevo espacio de coordenadas que ha sido generado, los datos tienen una media de

cero y una matriz de covarianza dada por la identidad.

1.2 REDES NEURONALES ARTIFICIALES

Las Redes Neuronales surgieron como una aproximacin a la Inteligencia Artificial hecha

por parte de la Ingeniera mediante la cual se trata de modelar (o imitar) el funcionamiento

fsico del cerebro. Actualmente han encontrado gran acogida en procesos de bajo nivel

como el control de motores o el reconocimiento de patrones (clasificacin). Los estudios

han revelado que un ser humano promedio tiene cerca de 109 neuronas en su cerebro,

unidas entre s por un nmero cercano a 1011 conexiones. Se presume que todas estas

unidades realizan operaciones sencillas, razn por la cual un proceso cualquiera es un

fenmeno emergente que se da gracias a la interaccin de muchas partes.

28
En este enfoque, una neurona es considerada como un dispositivo computacional que tiene

2 clases de entradas: Excitatorias e Inhibitorias, as como una salida (Figura 3). Las Redes

Neuronales han sido aplicadas con gran xito en el rea del Reconocimiento de Patrones,

debido al hecho que se ha demostrado que si se dispone de un conjunto suficientemente

amplio de entradas correctamente clasificadas, es posible llevar a cabo un procedimiento de

aprendizaje para discernir cul ha sido el criterio de clasificacin y generalizarlo de forma

tal que se consiga xito en la clasificacin de nuevas entradas que no fueron usadas durante

el proceso de aprendizaje de la red [6].

Entradas Excitatorias +
+
Seal de Activacin

Entradas Inhibitorias

Figura 3. Modelo computacional de una neurona.

Una Red Neuronal Artificial es el segundo gran bloque del proyecto, y tiene como funcin

llevar a cabo la clasificacin de las canciones en los gneros Merengue, Salsa y Vallenato.

Con el fin de entrenar la red se utiliz Aprendizaje Supervisado. En este mtodo de

aprendizaje, el entrenamiento se realiza a partir de ejemplos, es decir, se parte de una base

de datos de canciones correctamente etiquetadas (es decir que se conoce el gnero de cada

una las canciones contenidas en dicho conjunto) que permite entrenar y evaluar la red. Las

entradas y salidas del sistema son conocidas y se pretende encontrar la funcin desconocida

h mediante la cual estn relacionadas. Se cuenta con un conjunto de ejemplos de tamao

29
finito N y se estima una funcin h a partir de tales datos mediante la utilizacin de algn

algoritmo.

Figura 4. Relacin entre la entrada y la salida mediante las funciones h y h .

Es importante anotar que el objetivo del proceso de entrenamiento no es ajustarse a los

datos de entrada, sino que la red no se equivoque en la clasificacin de entradas que no

fueron utilizadas para el entrenamiento. Esto significa que se busca que la probabilidad de

que h( x) y sea baja (Idealmente debera ser cero). Para tal fin se asume que los datos del

conjunto de entrenamiento y los datos del conjunto de prueba provienen de la misma

distribucin de probabilidad. Las funciones h y h difieren por diversas razones, an

cuando el objetivo del algoritmo del aprendizaje es hacerlas tan parecidas como sea posible.

Figura 5. Factores causantes del hecho que la funcin real y la estimada difieran.

30
En la Figura 5 se muestran esquemticamente los diversos errores que se presentan en el

proceso de entrenamiento de una Red Neuronal. El primero de ellos se conoce como error

de aproximacin y se debe a que el modelo no es lo suficientemente complejo. El segundo

se conoce como error de estimacin y se debe a que el conjunto de entrenamiento del cual

de dispone es finito. El ltimo tipo de error es de tipo computacional y su razn es el

tiempo de procesamiento.

En el transcurso de este proyecto de disearon, entrenaron y evaluaron los resultados

obtenidos para dos algoritmos de aprendizaje ampliamente conocidos: Propagacin inversa

(Backpropagation) y Funciones de Base Radial (Radial Basis). Finalmente se us una

tcnica denominada Boosting que permite aumentar el desempeo de un clasificador dbil

mediante la disminucin del error de clasificacin. (Ver Numeral 3.2.)

1.2.1 Red de propagacin inversa (Backpropagation)

1.2.1.1. Perceptrn Multinivel

El perceptrn multinivel consiste en una red de procesamiento de elementos ubicados en

capas. Tpicamente se manejan tres capas, una capa de entrada que acepta las variables de

entrada que se usan en el proceso de clasificacin, una capa oculta, y una capa de salida con

una neurona por cada clase. El principio de la red consiste en que cuando los datos de

patrones de entrada son presentados, las neuronas de la de la red realizan clculos en cada

capa y la seal de salida indica cul es la clase apropiada para el dato de entrada. Se espera

31
que exista un valor de salida alto en la neurona de la clase correcta y un valor de salida

bajo en las dems. ste pertenece a la clase de redes neuronales con aprendizaje

supervisado. ste es de propsito general, flexible, y permite modelar funciones no lineales,

adems, la complejidad de esta red, puede ser modificada cambiando el nmero de capas o

el nmero de unidades por capa. La gran ventaja de esta arquitectura es que si se tienen

suficientes unidades escondidas y se tienen suficientes datos, se ha comprobado que la red

neuronal puede aproximar cualquier funcin con cualquier grado de exactitud.

Figura 6. Perceptrn multinivel con una capa oculta. [10]

Ahora bien, el objetivo que se desea alcanzar en definitiva, es entrenar la red; intentando

disminuir el error cuadrtico medio de la salida con respecto a la entrada, para esto se

utiliza un algoritmo de entrenamiento, cuya finalidad es precisamente disminuir el error de

entrenamiento a travs de la variacin iterativa de los de los valores de los pesos que

conectan las diferentes neuronas, para corregir los valores de las salidas estimadas. Esto se

conoce como entrenamiento.

32
1.2.1.2. Backpropagation

El algoritmo utilizado para entrenar el perceptrn multinivel se conoce con el nombre de

Backpropagation o propagacin inversa del error. Este algoritmo es una generalizacin de

la regla de aprendizaje Widrow Hoff para redes de mltiples capas y funciones de

transferencia diferenciables no lineales. Los vectores de entrada y sus correspondientes

salidas son usadas para entrenar una red que puede aproximar una funcin, asociando un

vector de entradas con un vector especfico de salidas, o clasificando un vector de entradas

en una forma apropiada [13]. En el entrenamiento se usa el algoritmo del gradiente

descendiente, donde los pesos se mueven en la direccin contraria a la del gradiente de la

funcin de costo. El trmino Backpropagation se refiere a la forma como se computa el

gradiente y como se comporta el error.

Se espera que una red correctamente entrenada produzca respuestas correctas cuando se

presentan entradas nunca vistas. Esta propiedad de generalizacin hace posible entrenar

una red con un conjunto representativo de parejas entrada / salida y que se obtengan buenos

resultados sin necesitad de entrenar la red con todas las posibles parejas .

El algoritmo de aprendizaje se basa en el gradiente descendiente del error, donde el error es

la diferencia de la salida actual del sistema, y la salida esperada [14].

(O Oi )
M
1
Ek = i
(k )
(1.18)
2 i =1

33
Donde M es el nmero de neuronas, O i es la salida esperada y O i( k ) es la salida para cada

poca.

1.2.2. Red de funciones de base radial (radial basis functions)

Este tipo de redes neuronales hacen uso de las funciones de base radial. stas son un tipo

especial de funciones cuya caracterstica fundamental es el hecho que crecen o decrecen

montonamente a medida que la distancia entre el punto central y otro punto aumenta. La

funcin de base radial ms empleada es la funcin de Gauss que tiene la forma

xc
2

h( x) = exp (1.19)
r2

Hacia 1988, Broomhead y Lowe [15] introdujeron el modelo de una red de funciones de

base radial que puede ser usada en redes de una o mltiples capas. Sin embargo, este tipo

de redes han sido asociadas primordialmente con una topologa de una capa escondida,

como la que se muestra en la Figura 7 [16].

Figura 7. Configuracin tpica de una Red de funciones de Base Radial.

34
La relacin entre la entrada y la salida para este tipo de redes es

M
yk ( x ) = wkj j ( x) + wk 0 (1.20)
j =1

Para el caso de una funcin gaussiana se tiene que

2
xj
j = exp (1.21)
2 2j

En donde x es un vector cuya dimensin es el nmero de parmetros de entrada y j es un

vector que determina el centro de la funcin de base radial j . El modelo de una neurona

para este tipo de red se ilustra en la Figura 8, mientras que la arquitectura de estas redes

puede ser observada en la Figura 9

Figura 8. Modelo de una neurona para una red de funciones de base radial [10].

35
Figura 9. Arquitectura de una red de funciones de base radial [10].

La forma de las redes de funciones de base radial puede ser generalizada para matrices de

covarianza arbitrarias. Al hacer esto, la funcin gaussiana toma la forma

1
( x j ) j 1 ( x j )
T
j = exp (1.22)
2

Un aspecto fundamental para este tipo de redes es la diferencia que existe entre los pesos de

la capa de funciones de base radial y los pesos de la capa lineal. Esta diferencia radica en el

hecho que los pesos de la primera capa son encontrados mediante un proceso de

entrenamiento no supervisado que no es ptimo, pero que en general funciona bien. En

este primera parte del proceso de aprendizaje se usa el conjunto de los datos de entrada con

el fin de determinar los parmetros que definen las funciones de base radial, tratando de

modelar la distribucin de los datos de entrada. A continuacin se procede a encontrar los

pesos de la segunda capa (capa lineal). (1.23 ) puede ser escrita de la forma

M
yk ( x ) = wkj j ( x) (1.23)
j =0

En notacin matricial puede escribirse

36
y ( x) = W (1.24)

Los pesos pueden ser optimizados mediante la bsqueda del mnimo de una funcin de

error de suma de cuadrados de la forma

1
{y ( x ) t }
2
E= k
n n
k (1.25)
2 n k

En donde tnk es la etiqueta para la salida k cuando la entrada a la red es el vector x n . Los

pesos son determinados mediante el conjunto de ecuaciones lineales dado por

T W T = T T (1.26)

La solucin formal para los pesos ser

W T = T (1.27)

En donde la notacin representa la pseudo-inversa de [6].

Con el fin de determinar los parmetros que definen a las funciones de base radial, se

utilizan procedimientos conocidos como algoritmos de agrupacin (clustering algorithms).

El algoritmo de agrupacin K-means desarrollado por Moody y Darken [17] es uno de los

ms usados y fue el que se utiliz en este proyecto. El pseudo cdigo de este algoritmo se

encuentra explcito en el numeral 3.2.2.

37
1.2.3. Seleccin del orden del modelo utilizando Validacin Cruzada.

Un proceso en el cual se busca encontrar el mnimo de alguna funcin de error no permite

encontrar el tamao ptimo de la Red Neuronal, debido a que son procesos independientes.

Sin embargo, otro de los objetivos que se persiguen durante un proceso de entrenamiento es

determinar el tamao de la red que tenga el mejor comportamiento frente a entradas nuevas.

Uno de los procedimientos ms sencillos consiste en evaluar la red para conjuntos de datos

que no fueron empleados durante la fase de entrenamiento. Para realizar esto se entrena

una red mediante la minimizacin de alguna funcin de error y se emplea un conjunto de

validacin independiente para probar su desempeo [6].

La tcnica de S Fold Cross Validation [18] consiste en dividir el conjunto de

entrenamiento en un nmero total de S subconjuntos. Al realizar tal proceso, la red es

entrenada usando S 1 subconjuntos, de tal forma que su desempeo es validado haciendo

uso del subconjunto que no fue empleado en el proceso de entrenamiento. Este proceso se

repite para cada una de las S posibilidades, y el error definitivo es promediado sobre los S

resultados obtenidos.

Este procedimiento tiene como ventajas su sencillez y el hecho que suele funcionar bien,

mientras que sus principales desventajas son dos: El nmero de datos de entrenamiento se

disminuye, y el entrenamiento debe realizarse S veces, lo cual puede ocasionar incrementos

notables en el tiempo de procesamiento.

38
1.2.4. Boosting

Boosting es un mtodo que intenta elevar el desempeo de cualquier algoritmo de

aprendizaje [19]. Se busca tomar un clasificador dbil que sea mejor que adivinar, es decir

que su probabilidad de error sea mayor a 0.5 para ser mejorado arbitriamente casi a

cualquier valor de exactitud. La idea principal de Boosting es combinar hiptesis simples

de clasificacin para formar una funcin con un rendimiento mucho mayor. El principio

bsico es la combinacin lineal de clasificadores dbiles para formar una hiptesis mejor,

siempre y cuando se cuente con un conjunto de datos suficientemente grande. Es decir

T
h f ( x) = t ht ( x) (1.28)
t =1

Donde t denota el coeficiente con el cual la hiptesis ht ( x) es combinada y ambos

parmetros son obtenidos durante el proceso de aprendizaje.

La tarea de la clasificacin de parmetros usando Boosting es encontrar una hiptesis que,

basada en el conjunto de entrenamiento, asigna una etiqueta a la salida. Se representa el

conjunto de entrada como X y se denotan las posibles salidas de una hiptesis como Y. Es

decir se estima una hiptesis cuya funcin es h : X Y , donde se usan las parejas de datos

de entrada generados aleatoriamente a travs de una distribucin de probabilidades P(x,y)

[20].

Como se mencion anteriormente, los datos de entrada son generados aleatoriamente a

travs de una distribucin que en un principio es desconocida. Entonces se debe tratar de

estimar una funcin que est cerca de la ptima basada en la informacin disponible dentro

39
del conjunto de entrenamiento para cada una de las hiptesis. Para disear esta distribucin

se inicia para el primer entrenamiento con una distribucin uniforme, lo que quiere decir

que cualquiera de las muestras del conjunto de entrada se puede elegir con la misma

probabilidad para el entrenamiento. Despus de cada iteracin se realiza una modificacin

de dicha funcin de probabilidad, basada en los datos obtenidos y se le asigna una mayor

probabilidad a las muestras mal clasificadas, entrenando de nuevo.

AdaBoost es un algoritmo adaptativo de Boosting, y se implementa as: Para cualquier

poca del entrenamiento se tiene una distribucin d asignada al conjunto de datos en dicha

poca, y con base en sta, se construye un clasificador dbil h(x). Estos pesos son

actualizados en cada poca de acuerdo al error en el cual incurre el clasificador dbil,

definiendo el error en cada poca como [19]

N
t (ht , d (t ) ) = d n(t ) ( yn ht ( xn ) ) (1.29)
n =1

Donde N es el nmero de elementos del conjunto de entrenamiento. Con la hiptesis h(x)

se calcula el valor de su peso, es decir de la importancia que va a tener este clasificador

dbil. Se puede inferir que cuanto mayor porcentaje de error haya obtenido un clasificador

dbil, menor va a ser la credibilidad y menor va a ser su peso dentro de la hiptesis final,

este valor t es

1 1 t
t = log (1.30)
2 t

40
Donde el valor del error debe ser menor a con el objetivo de tener valores t positivos.

Una vez se ha calculado el valor t , la distribucin de probabilidad se actualiza de la

siguiente forma [19]

t +1 d nt et yn ht ( xn )
d n = (1.31)
zt

Esto quiere decir que la probabilidad del n-simo elemento del conjunto de entrenamiento

para la poca t+1 va a tener una probabilidad que est dada por la probabilidad para l

mismo en la poca anterior, la credibilidad de dicho clasificador y si su salida fue correcta

o no. La distribucin para el tiempo t+1 es tal que el clasificador previo tiene error previo

. En caso de que haya sido correcto, su probabilidad disminuye con el fin de mostrarle a

la red los elementos del conjunto de entrenamiento que no ha podido clasificar

N
correctamente. La constante zt es de normalizacin con el fin que d nt +1 = 1 .
n =1

La salida definitiva o hiptesis final, es una combinacin lineal de los diferentes

clasificadores dbiles, as

T
hF ( x) = t ht ( x) (1.32)
t =1

41
1.2.4.1. Convergencia del error de entrenamiento a cero

Si se presentan las condiciones apropiadas para garantizar que el error de clasificacin sea

menor a para cada clasificador dbil, es posible demostrar que est condicin es

suficiente para garantizar que el error de la hiptesis final tiende a cero. Esto se debe a que

la salida es una combinacin lineal de clasificadores dbiles y a medida que el nmero de

iteraciones aumenta, el error de entrenamiento baja hasta un punto en el cual se hace cero.

Es posible que aunque el error en el conjunto de entrenamiento sea cero, el error de

generalizacin siga disminuyendo con el entrenamiento, sin que la red genere sobreajuste a

los parmetros y, por ende, una mala generalizacin [19].

42
2. ESPECIFICACIONES

2.1. ARQUITECTURA DEL SISTEMA

El primer aspecto que debe asegurarse en un proceso de aprendizaje de mquina es contar

con una base de datos de muestras que estn correctamente clasificadas, de acuerdo a las

posibles etiquetas en las cuales sern categorizadas las entradas. Los resultados en la

clasificacin de muestras que no fueron usadas durante el proceso de entrenamiento sern

mejores en cuanto el tamao de dicha base de datos aumente. Una afirmacin como la

anterior sugerira elevar el nmero de muestras de la base de datos tanto como sea posible.

Sin embargo, la limitacin est impuesta por el hecho que no se dispone de una capacidad

computacional infinita.

Tal y como se mencion anteriormente, la realizacin de un procesamiento previo de los

parmetros, que permita descartar caractersticas que aporten poca informacin al sistema

es el segundo aspecto a tener en cuenta, de tal forma que la clasificacin sea basada en

aspectos verdaderamente relevantes. Idealmente se busca que el sistema se concentre en

aquellos parmetros que permiten a un ser humano discernir entre dos o ms clases

diferentes. Esto se conoce con el nombre de generalizacin, y es un objetivo fundamental

en cualquier proceso que involucre aprendizaje de mquina.

43
La seleccin del tipo de clasificador que ser usado es el tercer aspecto. Para el caso de

este proyecto, se decidi emplear Redes Neuronales Artificiales para tal fin, basndose en

la evidencia de trabajos previos que han sido realizados. La escogencia de la topologa de

la red fue en cambio, un proceso en el cual se evaluaron diferentes alternativas y se

realizaron comparaciones con los resultados obtenidos en cada uno de los casos. Se

procedi con el entrenamiento para cada una de las redes escogidas con el fin de poder

obtener un sistema clasificador que sea capaz de recibir entradas no empleadas

anteriormente y realizar su categorizacin con el porcentaje de xito ms elevado posible.

El sistema completo se muestra en la Figura 10.

2.2. ESPECIFICACIONES DE LOS GNEROS MUSICALES

Como se menciona en un principio, la Red Neuronal se disea para ser capaz de clasificar

canciones en tres gneros: Merengue, Salsa y Vallenato. Son dos las razones que motivan

la realizacin de este sistema: Primero, dentro de la consulta previa que se llev a cabo

acerca del estado del arte en este campo, jams de encontr un sistema como ste. Los

trabajos se han enfocado primordialmente hacia la realizacin de sistemas reconocedores de

Rock, Pop, Trance, Country y otros gneros propios de otras culturas. Aqu es donde nace

la segunda motivacin: Se desea realizar un sistema que est de acuerdo con la cultura de

nuestro pas, en donde la msica tropical ocupa un lugar importante en cuanto a la cantidad

adeptos.

44
BASE DE DATOS

Conjunto de Conjunto de Nuevas


Entrenamiento Evaluacin Entradas

Preprocesamiento
Preprocesamiento
Extraccin Informacin Relevante
Reduccin de la Dimensionalidad

Algoritmo de Entrenamiento
de la Red Neuronal Red Neuronal Entrenada

Resultado Sugerido
por el Clasificador

Figura 10. Esquema general del Clasificador de Msica.

45
Una dificultad adicional a la realizacin del proyecto es el hecho que estos tres gneros

musicales tienen races semejantes, razn por la cual la tarea de clasificacin es un poco

ms compleja. A continuacin se presentan las caractersticas fundamentales de cada uno

de los gneros que forman parte de este estudio:

Merengue: El merengue se desarroll a mediados del siglo XVIII como una variante

criolla del baile conocido como la contradanza. La dictadura de Rafael Trujillo en

Repblica Dominicana hacia 1930, marca los orgenes de este gnero y de todos los

aspectos de la vida dominicana. Orquestas como la de Alberti, influidas por el jazz y

arreglos de mambo, hacan hincapi en el uso de la trompeta y el saxofn, lo cual se

hizo muy popular y ha prevalecido en el merengue de hoy en da. [21]

Salsa: Los orgenes de la salsa se encuentran ritmos como la contradanza, la danza, el

bolero y la guaracha. La salsa va desarrollndose gradualmente como un nuevo gnero

que mezcla ritmos similares y su fuerza rtmica se fortalece ms, al integrar

instrumentos como el cuatro. Lentamente, la salsa se convirti en un lenguaje musical

que representa internacionalmente la voz de Latinoamrica, con variantes regionales

como la salsa boricua, la salsa cubana, la salsa venezolana, la salsa de Cali y la salsa

panamea. [22]

Vallenato: El Vallenato tiene como antecesores, gneros provenientes de Amrica,

frica y Europa. Su ritmo es generado mediante la utilizacin de instrumentos de

friccin, de percusin y de viento, los cuales se unen para darle vida al vallenato. La

guacharaca (instrumento tpico de los indgenas americanos), la caja (tambor africano) y

el acorden (instrumento europeo adoptado en la costa atlntica colombiana) conforman

la estructura musical de este gnero. [23]

46
2.3. ESPECIFICACIONES DEL FORMATO DE LAS CANCIONES

Actualmente es posible encontrar varios formatos digitales de audio. En los ltimos aos

ha venido popularizndose el formato MP3 debido a la compresin que efecta de archivos

que antes tenan tamaos 10 veces superiores a los que ahora tienen. Esa es la razn

fundamental por la cual grandes cantidades de msica en formato digital son compartidas a

travs de Internet. Otro formato ampliamente difundido es el WAV. Sin embargo, este

formato est siendo desplazado debido al tamao requerido para su almacenamiento en

memoria. Desde el punto de vista acadmico, la extraccin de caractersticas a partir de un

archivo WAV es factible porque contiene los valores de las amplitudes de una cancin a

travs del tiempo. No sucede lo mismo con los archivos MP3, los cuales vienen

codificados. El sistema es capaz de clasificar canciones en estos dos formatos, aunque se

realiza una conversin a WAV cuando la entrada es un archivo en MP3, mediante la

utilizacin de un algoritmo ideado por un conocido grupo de investigacin dedicado a la

descompresin de archivos en formato MP3 [24]. LAME es la herramienta empleada por

programas que realizan conversin de formato, y su distribucin a travs de Internet es

legal y gratuita.

Con el fin de asegurar una mnima calidad dentro de las canciones que componen la base de

datos, se emplearon archivos estereofnicos con las siguientes caractersticas:

Canciones en formato MP3: La calidad escogida fue 128 kbps, que corresponde a

calidad de disco compacto.

Canciones en formato WAV: La tasa de muestreo escogida fue 44.1 kHz.

47
2.4. CARACTERSTICAS DE LA BASE DE DATOS

La base de datos con la cual se trabaj consta de 500 canciones, repartidas de la siguiente

forma:

170 merengues.

177 salsas.

163 vallenatos.

Este conjunto de dividi en 2 partes con el fin de poder realizar el entrenamiento y la

posterior evaluacin de la Red Neuronal.

2.4.1. Conjunto de Entrenamiento

Como se mencion anteriormente, el conjunto de entrenamiento debe ser tan grande como

sea posible. La limitacin est impuesta bsicamente por el tiempo de procesamiento

requerido para entrenar una Red Neuronal.

En este caso, se decidi tomar un 90% del nmero de canciones de la base de datos para

formar el conjunto de entrenamiento compuesto por 450 canciones, as:

143 merengues.

160 salsas.

147 vallenatos.

48
2.4.2. Conjunto de Evaluacin

El 10 % restante de la base de datos se utiliz exclusivamente para poder medir el

desempeo de la Red, una vez haba sido entrenada. Este conjunto est compuesto de 50

canciones distribuidas as:

17 merengues

17 salsas

16 vallenatos

2.5. IMPLEMENTACIN

El cdigo necesario para realizar los procesos de extraccin de caractersticas,

preprocesamiento, entrenamiento de cada una de las topologas de red empleadas y

evaluacin de la mismas se realiz mediante programas escritos en Matlab1.

Sin embargo, es preciso aclarar que absolutamente todo el cdigo necesario fue

implementado sin hacer uso de las funciones del toolbox de Redes Neuronales. Este

toolbox presenta opciones excelentes en todo lo relacionado al algoritmo de entrenamiento

para redes de propagacin inversa, pero tiene muy poca flexibilidad en cuanto a redes de

funciones de base radial y no tiene nada relacionado con Boosting. Sin embargo, no se

emple ninguna funcin del toolbox, porque uno de los objetivos del proyecto era hacer

1
Matlab. The MathWorks, Inc. Versin 6.1.0.450. Release 12.1.

49
una comparacin entre estos tres tipos de redes bajo las mismas condiciones de prueba para

poder comparar los tiempos de procesamiento.

Los algoritmos de entrenamiento se ejecutaron en computadores Dell con las siguientes

especificaciones:

Procesador Pentium 4 de 1.8 GHz.

512 MBytes de memoria RAM.

20 GBytes de disco duro.

50
3. DESARROLLOS

3.1. EXTRACCIN DE PARMETROS

Las muestras que se toman a partir de las canciones en formato WAV tienen una duracin

de 1.4861 segundos a partir de canciones cuya tasa de muestreo es 44.1 kHz. Esto

significa que en un segundo habr 44100 valores discretos (si la cancin es monofnica), de

forma tal que se toman 216 = 65536 muestras para la extraccin de parmetros.

3.1.1. Anlisis en tiempo

La autocorrelacin es una medida estadstica de la similitud de una seal con ella misma

tiempo despus. Calculando la correlacin del espectro de frecuencia con diferentes

ventanas de tiempo se obtiene una serie de valores que generan una curva de

autocorrelacin. Cuando la seal contiene un componente peridico con perodo P ocurre

un pico en la curva en dicho valor. Como la seal est variando con el tiempo, se realiza

una toma de muestras de la seal para comparar dichas ventanas de tiempo. Entonces la

funcin de autocorrelacin en un tiempo t es la autocorrelacin del espectro de frecuencia

en la ventana que termina en t. El tamao de la ventana depende del retraso, es decir, un

cambio en el nivel de un componente de perodo pequeo va a pasar desapercibido desde

que haya otros perodos con mayor ocurrencia contenidos en la ventana.

51
Para que los parmetros mostrados anteriormente sean de utilidad, es necesario que

permitan realizar una diferenciacin bsica de los diferentes ritmos y que mantengan cierto

nivel de similitud en el transcurso del tiempo. Por eso se prueba este primer elemento para

cada uno de los ritmos. A continuacin se presentan las grficas de cada uno de los ritmos

en dos instantes de tiempo diferentes, en donde para calcular cada una de estas muestras se

toma un fragmento y se divide en 256 muestras diferentes.

Grfica 1. Correlacin Componentes de Frecuencia para el Merengue Pgame tu vicio de Eddie


Herrera para 2 tiempos diferentes.

Las grficas anteriores muestran el comportamiento de una cancin perteneciente al

conjunto de merengue.

Al observarse las dos grficas, para los dos diferentes valores de tiempo, se observa que se

cumple la primera condicin para los parmetros a utilizar, pues no existen variaciones

bruscas con el cambio de tiempo del cual se obtiene la muestra de la cancin.

52
Grfica 2. Correlacin Componentes de Frecuencia para la salsa Cali Aj de Grupo Niche para 2
tiempos.

Las diferencias existentes entre las grficas de merengue y de salsa se deben a que la gran

mayora de las muestras de merengue tienen contenido en alta frecuencia, debido a la

existencia de instrumentos de viento como la trompeta y el saxo alto, mientras que en la

salsa, el ritmo lo lleva la percusin y el bajo, por lo cual los valores ms altos de

autocorrelacin se encuentran en las bajas frecuencias.

Grfica 3. Correlacin Componentes de Frecuencia para Vallenato La diosa Coronada de


Leandro Diaz para 2 tiempos diferentes.

53
Por la existencia de un instrumento como el acorden, que lleva los bajos dentro de la

cancin y tambin lleva las frecuencias altas de la cancin, se puede ver que las grficas de

vallenato tienen una distribucin ms uniforme. Una vez se ha visto que la autocorrelacin

para los componentes de frecuencia entre los tres ritmos es diferente, se obtienen como

parmetros dos valores estadstico simples como son la media y la varianza, que permiten

realizar algn tipo de distincin entre los tres ritmos.

Los volmenes promedio y dinmico que se derivan a partir de (1.1) y (1.2) tambin son

empleados como parmetros y se encuentran a partir de la muestra completa.

Otro de los parmetros extrados fue usado en un estudio previo que realiz Golub [2] en un

proyecto de naturaleza semejante a ste. Se denomina sonoridad (loudness) y est definido

como

N
1
loudness = log 2 1 + at (3.1)
N t =1

Como se dijo anteriormente, manejar como entrada a algn algoritmo de aprendizaje la

cancin completa en formato digital traera como consecuencia tiempos de ejecucin

demasiado altos. Con el fin de evitar este problema se tomaron muestras cuya duracin es

1.4864 segundos. La razn de la escogencia de este nmero de debe al hecho que algunos

algoritmos que fueron empleados se encuentran optimizados para determinados valores,

como se ver en el numeral 3.1.2.

54
3.1.2. Anlisis en frecuencia

La Transformada Rpida de Fourier (FFT) se encuentra optimizada para potencias de 2, y

por esta razn se tomaron muestras de duracin 1.4861 segundos (216 = 65536 muestras) a

partir de canciones muestreadas a 44.1 kHz.

A partir de la realizacin se numerosas pruebas se concluy que lo ms indicado es tomar

como entrada al bloque de extraccin de caractersticas el promedio de los dos canales del

archivo estereofnico. Tomar la resta de los dos, o alguno de ellos result en la prdida de

algunas caractersticas relevantes. En las grficas 4 y 5 se ilustran, para una cancin

perteneciente al gnero merengue, las FFT del primer canal y de la resta de ambos canales

respectivamente. All es claro que el tomar la resta resulta en una prdida de informacin

contenida mayormente en el rango que va desde 0 hasta 1000 Hz, que es donde se

encuentran caractersticas tales como la percusin, que ayudan a diferenciar entre diferentes

gneros. Mediante la realizacin de numerosas pruebas tambin se concluy que es posible

realizar una decimacin de orden 2, es decir tomar slo una de cada dos muestras, sin

perder informacin relevante. Algunos de los parmetros que fueron usados en este

proyecto han sido empleados en trabajos previos [2][25].

55
-4
x 10 FFT de la seal del primer canal del archivo de audio estereofnico
3.5

2.5
Magnitud de la FFT

1.5

0.5

0
0 500 1000 1500 2000 2500
Frecuencia (Hz)

Grfica 4. Magnitud de la FFT del primer canal en funcin de la frecuencia para la cancin
Nuestro Amor de Eddie Herrera.

-4
x 10 FFT de la seal resultante al restar los dos canales de un archivo de audio estereofnico
8

6
Magnitud de la FFT

0
0 500 1000 1500 2000 2500
Frecuencia (Hz)

Grfica 5. Magnitud de la FFT de la resta de los 2 canales en funcin de la frecuencia para la


cancin Nuestro Amor de Eddie Herrera.

56
Estos parmetros son: El centroide, el ancho de banda y el roll-off. El centroide fue

explicado por Wold [26] como una medida del brillo de una cancin y corresponde a una

media ponderada por la magnitud de la transformada de Fourier, para todos los

componentes de frecuencia de la seal. Matemticamente

N
f =1
f H( f )
centroide = N
(3.2)
f =1
H( f )

El ancho de banda es un parmetro importante que brinda una medida de la distribucin de

frecuencias y corresponde a una desviacin estndar ponderada por la magnitud de la

transformada de Fourier. Esto es

( centroide f ) H ( f )
N
f =1
bandwidth = N
(3.3)
f =1
H( f )

El roll-off est relacionado con la forma espectral de una seal, y se define como el nmero

R para el cual se cumple que

R N
f =1
H ( f ) = 0.85 f =1
H( f ) (3.4)

Hay otro par de parmetros que fueron extrados a partir de la observacin y estudio de las

grficas que se obtienen al calcular la FFT para canciones pertenecientes a los tres gneros

que hacen parte del proyecto y que se explicarn a continuacin. En la grfica 6 se muestra

la FFT, que es obtenida tpicamente para 3 canciones que pertenecen a gneros distintos.

Puede constatarse que la cancin de merengue es la que presenta un mayor contenido de

armnicas tanto para bajas como para medias frecuencias. Por su parte, la cancin de

vallenato tiene un mayor contenido de armnicas que la cancin de salsa, siendo esta ltima

la que presenta contenidos espectrales ms pequeos a lo largo de todo el espectro.

57
Por esta razn se extrajeron como caractersticas los promedios de los valores absolutos de

la transformada de Fourier para frecuencias bajas y medias. Vale la pena enfatizar en el

hecho de que estos parmetros surgieron de la observacin de grficas para pruebas que se

llevaron a cabo con un nmero elevado de canciones de los tres gneros.

-4
x 10 FFT merengue - El rompecintura
1

0.8

0.6

0.4

0.2

0
0 2000 4000 6000 8000 10000 12000
-4 FFT salsa - Que alguien me diga
x 10
3

0
0 2000 4000 6000 8000 10000 12000
-5
x 10 FFT vallenato - Sin medir distancias
3

0
0 2000 4000 6000 8000 10000 12000

Grfica 6. Magnitud de la FFT para tres canciones pertenecientes a distintos gneros.

3.1.3. Transformada Wavelet

Para este grupo de parmetros se hace uso de los coeficientes bidimensionales a ,s de la

transformada discreta Wavelet y como funcin madre, al sombrero mejicano, definido por

58
(1 x 2 ) e
2 14 x2
(t ) = 2
(3.5)
3

Como se enfatiza en el numeral 1.1.3., la ventaja de la transformada Wavelet sobre la

trasformada de Fourier es el poder identificar la ocurrencia, en un intervalo de tiempo

determinado, de diferentes intervalos de frecuencia. De esta forma se hace uso de esta

propiedad para poder identificar diferentes aportes rtmicos de diversos instrumentos o

grupos de estos. Es importante resaltar que, aunque esta separacin no tiene en cuenta las

caractersticas de timbre de los diferentes instrumentos, se logran extraer dos fuentes

rtmicas audiblemente diferenciables y que logran marcar diferencia entre los gneros por

clasificar.

Una razn adicional para trabajar con una muestra cuya longitud es la dicha en el numeral

3.1., es poder capturar durante ms de un periodo los aportes rtmicos de inters en este

estudio.

El proceso de bsqueda de caractersticas de periodicidad a lo largo del eje traslacin para

un intervalo determinado de escalas, llamadas singularidades, dentro de la transformada

Wavelet, empieza por una bsqueda general en un intervalo muy amplio de escalas,

especficamente entre 1 y 10000. En la grfica 7 se aprecia la transformada Wavelet para

un fragmento tpico de merengue, y en la grfica 8 se muestran detalles ms especficos.

59
Grfica 7. Transformada Wavelet del merengue Nuestro Amor de Eddie Herrera.

60
Grfica 8. Detalles de la transformada Wavelet para un fragmento de merengue.

Basado en la observacin de la transformada Wavelet de mltiples canciones de los gneros

a clasificar, se encuentra que solamente existe periodicidad en el rango de escalas de

[1,400], tal como se aprecia en la grfica 8. Sin embargo, hasta este punto no se ha

muestreado la seal, y los tiempos de procesamiento son muy altos, as que se hace

necesario reducir el nmero de muestras de la seal, sin que esto implique reducir el rango

de tiempo. Para esto se recurre al muestreo de la seal (decimacin).

Aunque el muestrear la seal implica prdida de informacin, no solo en la traslacin sino

tambin en la escala de la transformada Wavelet, se hicieron pruebas para ver hasta que

61
Grfica 9. Transformada Wavelet para 2 canciones del los gneros merengue y salsa con diferentes
tasas de muestreo.Columna Izquierda: Merengue. Columna Derecha: Salsa
a) 22050Hz b) 11025Hz c) 5512.5 Hz d) 2756.25 Hz

62
punto es posible muestrear sin que se pierdan las proporciones de las singularidades

encontradas. En la grfica 9 se aprecia la transformada Wavelet de la misma seal a

diferentes tasas de muestreo dentro del rango de escala mencionado anteriormente.

Tal como se ve en la grfica 9, de las pruebas realizadas para diferentes canciones de los

gneros a clasificar, es posible muestrear hasta 5512.5 Hz sin prdida de las proporciones

con respecto a la seal original. As el nmero de muestras tomadas se reduce a 8192 ( 213 ),

que as mismo cumple con ser potencia de 2 y minimiza el tiempo de procesamiento de este

algoritmo.

3.1.3.1. Energa por Escala

Con la transformada Wavelet se procede a hallar la energa como funcin de la escala de

acuerdo al teorema de Parseval [11].

E (s) = a , s (3.6)

A continuacin se presenta en la grfica 10. a ,s y E ( s ) para una cancin dada.

Esta funcin de energa se caracteriza con su media y varianza, adems es de inters para

cules escalas E ( s ) tiene mximos, as que se hallan los mximos de esta funcin y se

escogen como parmetros los dos mayores.

63
Grfica 10. Transformada Wavelet y su respectiva Energa para cada escala.

3.1.3.2. Patrones rtmicos

Los mximos hallados en la funcin energa permiten identificar cules escalas y, en

consecuencia, cules frecuencias son las de mayor importancia a nivel rtmico, ya que una

mayor energa implica que se escuchan con mayor intensidad, presentando particular

inters para este estudio.

De esta forma, se escogen estas escalas y se selecciona todo el plano de traslacin para

dichas escalas, cada una de las cuales contiene un patrn rtmico que es audiblemente

distinguible y que guarda estrecha relacin con las diferentes familias de instrumentos y las

voces presentes en dicho fragmento musical. Otra caracterstica importante es que con estos

dos patrones rtmicos an se mantiene la envolvente de la onda sonora como se aprecia en

las grficas 11 y 12.

64
Grfica 11. Fragmento original antes de procesar.

Grfica 12. Patrones rtmicos extrados.

Esto no solamente es comprobable por medio de la forma de onda sino tambin se percibe

al escuchar los patrones y el fragmento original. Tambin es muy importante resaltar que

cada uno de estos patrones rtmicos es muy puro en frecuencia, es decir que existe un

65
componente en frecuencia muy relevante y con bajo contenido armnico. En las grficas

13 y 14 se presentan los espectros de frecuencia tanto del fragmento original como de los

patrones rtmicos.

Grfica 13. Espectro de frecuencia fragmento original.

Grfica 14. Espectro de frecuencia patrones rtmicos.

66
Esta frecuencia fundamental en cada patrn rtmico ya est representada en la escala que

fue seleccionada de la funcin de energa, as que no se incluye como parmetro y se

enfoca el estudio en la envolvente dichos patrones, pues all es donde realmente se

manifiesta la percepcin del ritmo, pues esta envolvente guarda relacin con el volumen.

Para la deteccin de la envolvente se implementaron dos mtodos, el primero se basa en la

deteccin de picos para luego reconstruir la envolvente utilizando aproximaciones de orden

cero y orden uno para reconstruir la envolvente. Sin embargo es necesario aplicar este

mtodo varias veces para conseguir buenos resultados, como se muestran en la grfica 15.
Envolvente orden 0 para el primer patrn rtmico. Iteracin 2 Envolvente orden 1 para el primer patrn rtmico Iteracin 2
2.5 2.5

2 2

1.5 1.5

d d
Amplitud

Amplitud

uti 1 uti 1
pl pl
m m
A 0.5 A 0.5

0 0

-0.5 -0.5
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 0 1000 2000 3000 4000 5000 6000 7000 8000 9000
Traslacin Traslacin

Envolvente orden 0 para el segundo patrn rtmico. Iteracin 2 Envolvente orden 1 para el segundo patrn rtmico. Iteracin 2
2 1.6
1.4
1.5 1.2
1
1 0.8
d d
Amplitud

Amplitud

uti uti 0.6


pl pl
m 0.5 m 0.4
A A
0.2
0 0
-0.2
-0.5 -0.4
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 0 1000 2000 3000 4000 5000 6000 7000 8000 9000
Traslacin Traslacin

Grfica 15. Envolventes de orden cero y uno para los patrones rtmicos.

67
En el segundo mtodo, se hallan mximos locales y consta de dos pasos. En el primer paso,

se rectifica la seal y en el segundo se divide la seal en 256 intervalos. La envolvente se

conforma a partir de los mximos de cada uno de estos intervalos. Este mtodo adems de

no necesitar aplicarse varias veces, es mucho ms sencillo y el tiempo de procesamiento es

mucho menor, los resultados se aprecian en la grfica 16.

Envolvente para el primer patrn rtmico. Mtodo 2 Envolvente para el segundo patrn rtmico. Mtodo 2.
1.8 2.5

1.6

1.4 2

1.2
1.5
Amplitud
Amplitud

0.8
1
0.6

0.4 0.5
0.2

0 0
0 50 100 150 200 250 300 0 50 100 150 200 250 300
Traslacin Traslacin

Grfica 16. Envolventes de los patrones rtmicos utilizando el mtodo de mximos locales.

Debido a la simplicidad de este mtodo y a los resultados similares con el primero se utiliza

este segundo para la obtencin de la envolvente de los patrones rtmicos. Estas funciones

envolventes se caracterizan con su media y su varianza.

Ahora se realiza un anlisis en frecuencia de cada envolvente utilizando la transformada

rpida de Fourier (FFT), sin tener en cuenta su media y tomando solo una de las mitades

debido a la simetra de esta transformada. Para encontrar la periodicidad de stas, se utiliza

la amplitud de la FFT (grfica 17).

68
Amplitud de la FFT de la envolvente del primer patrn rtmico Amplitud de la FFT de la envolvente del segundo patrn rtmico
25 35

30
20
25

15

Amplitud
20
Amplitud

15
10

10
5
5

0 0
0 20 40 60 80 100 120 140 0 20 40 60 80 100 120 140
Frecuencia Frecuencia

Grfica 17. Amplitud de la FFT de la envolvente de los patrones rtmicos.

Puede concluirse de la grfica 17 que en este caso la envolvente del primer patrn rtmico,

y en consecuencia el patrn rtmico, ocurren a una tasa mayor que el segundo patrn, pero

el segundo tiene mayor relevancia debido a la mayor amplitud de su fundamental,

considerando similares sus armnicas. Esto puede constatarse tambin con la grfica 12 y,

adicionalmente de forma prctica, escuchando cada patrn rtmico independientemente.

De lo anterior se extraen como parmetros tanto la frecuencia fundamental de cada

envolvente como su respectiva amplitud. Adicionalmente para tener en cuenta el contenido

armnico, se utilizan como parmetros la media y la varianza de la FFT de las envolventes.

Por otra parte se analizan las fases de la FFT de las envolventes tal como se presentan en la

Grfica 18.

69
Fase de la FFT de la envolvente para el primer patrn rtmico Fase de la FFT de la envolvente para el segundo patrn rtmico
10 35

0 30

-10 25

-20 20
Fase

Fase
-30 15

-40 10

-50 5

-60 0

-70 -5
0 20 40 60 80 100 120 140 0 20 40 60 80 100 120 140
Frecuencia Frecuencia

Grfica 18. Fase de la FFT de la envolvente de los patrones rtmicos.

Estas funciones se caracterizan tambin con su media y su varianza, adicionalmente es

interesante hallar una relacin entre ellas, para este fin se toma como parmetro la

covarianza entre ellas.

3.1.4. Resumen de parmetros extrados

A continuacin se presenta una tabla que resume los parmetros que fueron extrados

haciendo uso de las tcnicas explicadas anteriormente

70
Volumen promedio
Parmetros
frecuencia. de tiempo

Volumen dinmico
Media de la autocorrelacin de las componentes de frecuencia.
Desviacin estndar de la autocorrelacin de las componentes de frecuencia.
Sonoridad
Centroide
Parmetros

Ancho de banda
de

Roll-off
Media de las componentes de frecuencia entre 0 y 2.5kHz
Media de las componentes de frecuencia entre 2.5kHz y 10kHz
Media de la funcin energa por escala.
Varianza de la funcin energa por escala.
Primer mximo de la funcin energa por escala.
Segundo mximo de la funcin energa por escala.
Escala primer mximo de la funcin energa por escala.
Escala segundo mximo de la funcin energa por escala.
Media de la envolvente del primer patrn rtmico.
Parmetros de la Transformada Wavelet

Varianza de la envolvente del primer patrn rtmico.


Media de la envolvente del segundo patrn rtmico.
Varianza de la envolvente del segundo patrn rtmico.
Frecuencia fundamental de la envolvente del primer patrn rtmico.
Amplitud de la frecuencia fundamental de la envolvente del primer patrn rtmico.
Frecuencia fundamental de la envolvente del segundo patrn rtmico.
Amplitud de la frecuencia fundamental de la envolvente del segundo patrn rtmico.
Media de la Amplitud de las componentes de frecuencia de la envolvente del primer patrn
rtmico.
Varianza de la Amplitud de las componentes de frecuencia de la envolvente del primer patrn
rtmico.
Media de la Amplitud de las componentes de frecuencia de la envolvente del segundo patrn
rtmico.
Varianza de la Amplitud de las componentes de frecuencia de la envolvente del segundo patrn
rtmico.
Media de la Fase de las componentes de frecuencia de la envolvente del primer patrn rtmico.
Varianza de la Fase de las componentes de frecuencia de la envolvente del primer patrn rtmico.
Media de la Fase de la las componentes de frecuencia la envolvente del segundo patrn rtmico.
Varianza de la Fase de la las componentes de frecuencia de la envolvente del segundo patrn
rtmico.
Covarianza de las Fases de las componentes de frecuencia de la envolvente de los patrones
rtmicos.

Tabla 1. Resumen de parmetros.

71
3.1.5. Preprocesamiento

Un total de 33 parmetros son extrados a partir de las canciones para el caso particular de

este estudio. Aplicando el algoritmo de la Transformacin de Karhunen Love es posible

reducir la dimensionalidad del espacio de entrada a un total de 20 parmetros. La razn de

la escogencia de este nmero de caractersticas es debido a que los valores propios de la

matriz de covarianza difieren por varios rdenes de magnitud. En la grfica 19 se muestran

las magnitudes obtenidas para dichos valores y se observa claramente lo que se mencion

anteriormente.

Magnitud de los Valores Propios de la Matriz de Covarianza


0.25

0.2

0.15

0.1

0.05

0
0 5 10 15 20 25 30 35

Grfica 19. Magnitud de los 33 valores propios de la matriz de covarianza.

72
Como criterio para seleccionar el nmero de parmetros que fueron usados como entrada a

la Red Neuronal Artificial, se tom el valor mximo de los valores propios y se descartaron

todos aquellos que tenan una magnitud 100 veces menor que dicho valor. Esto dio como

resultado una dimensionalidad de 20 para el espacio de entrada. Es importante resaltar que

la forma ideal de determinar cules parmetros deben ser usados como entrada a una Red

Neuronal, es usar diferentes subconjuntos como entrada y evaluar el desempeo general del

sistema, escogiendo aquel para el cual se presente el porcentaje de clasificacin superior.

Sin embargo esto es demasiado ineficiente y es una de las razones por las cuales se utiliz

la Transformacin de Karhunen Love.

3.2. REDES NEURONALES ARTIFICIALES

3.2.1. Redes de Propagacin Inversa (Backpropagation)

El pseudo cdigo del algoritmo de entrenamiento de propagacin inversa del error para

una capa escondida a partir de la informacin adquirida es el siguiente

Escoja el nmero de neuronas de la capa oculta

Inicialice los pesos W.

Repita

Repita para cada uno de los datos X i

N
Calcule la salida para la primera capa G j = f X iWhji + WhjB
i =1

73
K
Calcule la salida total Fj = f GiWoji + WojB
i =1

Fin.

Repita para cada uno de las salidas Fj para todo j desde 1 hasta M

Calcule el error como:

oj = (Y j F j )[F j (1 F j )]

Fin

Hasta condicin de terminacin

La inicializacin de pesos se hizo empleando el algoritmo Nguyen Widrow [10] debido a

que esta optimizacin permite la convergencia ms rpida del entrenamiento, mejorando la

inicializacin de forma aleatoria implementada en un principio. Para la primera capa H la

funcin de activacin f(x)

1
f ( x) = (3.7)
1 + e x

La salida de la red entrenada se calcula utilizando la distancia mnima euclidiana entre F y

los vectores correspondientes a las posibles etiquetas Tp .

2
H = Tp tal que Tp F es mnima (3.8)

Donde p es el nmero de etiquetas posibles y H es el vector de salida.

74
3.2.2. Redes de funciones de base radial

El pseudo cdigo del algoritmo de entrenamiento de una Red de Funciones de Base

Radial puede verse a continuacin:

Escoja el nmero de neuronas de la capa escondida (Capa de Neuronas con Funcin de

Activacin Radial)

Inicialice i (Centros de las Funciones de Base Radial).

Repita

Para cada uno de los datos xi

Asigne xi a i (cluster) tal que xi i


2
sea la mnima entre las posibles.

Fin.

Para cada uno de los clusters i

1
i = xj
j j j

Fin.

Hasta que ninguno de los xi cambie de cluster.

Encuentre la varianza de los datos mediante

1
i2 = ( x i ) ( x i )
T

j 1 x j

Encuentre los pesos de la capa de salida mediante

W T = T

75
En la implementacin del algoritmo fue necesario tomar ciertas precauciones y realizar

ciertas restricciones con el fin de garantizar el correcto funcionamiento del mismo. La

primera parte del pseudo-cdigo corresponde al algoritmo de agrupacin K-means que fue

mencionado en el numeral 1.2.2. Es posible ver que los clusters resultantes dependern de

la inicializacin de los i que se haga en el primer paso. Mediante la realizacin de

numerosas pruebas fue posible verificar que hay ocasiones en las cuales resultan grupos

que tienen 0 o 1 elementos. Estos resultados traen problemas en la determinacin de los

centros y las varianzas.

As mismo se encontr que a medida que el nmero de neuronas de la capa de funciones de

base radial sube (esto es, el nmero de clusters aumenta), el algoritmo necesita un mayor

tiempo para poder llegar a la condicin de finalizacin, que es cuando no se presentan

variaciones. Con el fin de solucionar este inconveniente se impuso una condicin sobre el

nmero mnimo de elementos para cada uno de los clusters as: Si se desea agrupar en 2

conjuntos, el nmero de elementos por grupo puede ser muy grande, mientras que si el

deseo es agrupar en 20 conjuntos, ese nmero mnimo de elementos debe ser pequeo.

La condicin planteada se muestra en la grfica 20, en donde se aprecia que el nmero de

elementos mnimo del grupo disminuye a medida que el nmero de clusters aumenta.

Tambin fue posible observar que el porcentaje final de clasificacin correcta para el

conjunto de evaluacin es superior al introducir este cambio. Esto de debe a que se est

realizando una distribucin de elementos ms uniforme en cada uno de los grupos, mientras

76
que en un principio podan resultar grupos que tienen un alto nmero de elementos y otros

con muy pocos.

Grfica de la restriccin en el nmero de elementos en funcin del nmero de grupos de deseado


25

20
Nmero mnimo de elementos por cluster

15

10

0
2 4 6 8 10 12 14 16 18 20
Nmero de Cluster

Grfica 20. Nmero mnimo de elementos por cluster en funcin el nmero de clusters.

Otro aspecto interesante durante este estudio fue observar el desempeo de la red en

funcin del nmero de neuronas de la capa escondida para determinar el tamao ptimo de

la red . El nmero de neuronas de la capa de la salida es tres debido que se estn

clasificando canciones en ese mismo nmero de gneros.

77
3.2.3. Seleccin del orden del modelo

Con el objetivo de encontrar el orden del modelo adecuado para las redes de propagacin

inversa y de funciones de base radial se realizaron pruebas haciendo uso del proceso de 10

Fold Cross Validation [6]. En este proceso, el conjunto de entrenamiento se dividi en 10

subconjuntos de tal forma que la red es entrenada con 9 subconjuntos y validada con el

conjunto restante. Este proceso se repite para cada una de las 10 posibles combinaciones.

Al final, los errores del proceso de validacin son promediados escogiendo el mejor.

3.2.3.1. 10Fold Cross Validation para la red Backpropagation

Con el objetivo de buscar el orden ptimo de la capa oculta de la red de propagacin

inversa se decidi entrenar redes de orden 2 a 20. Para cada una de stas se utilizaron los

10 subconjuntos de validacin teniendo como parmetros una tasa de aprendizaje constante

de 0.01 para todas las pocas y una condicin de terminacin con un error mximo de

0.001 en la componente ms grande del gradiente o un nmero mximo de 10,000

iteraciones. Los valores de estos parmetros fueron resultado de pruebas realizadas

previamente con el fin de optimizar el proceso de convergencia. Para cada subconjunto se

escogi el mejor, de tal forma que para cada orden se escogieron 10 redes.

78
3.2.3.2. 10Fold Cross Validation para la red de funciones de base radial

Se hicieron pruebas colocando desde 2 hasta 20 neuronas para la capa de neuronas cuya

funcin de activacin es del tipo radial. Como se mencion en el numeral 3.2.2., los

clusters dependen del la inicializacin de los i que se realice al principio del algoritmo.

Por esta razn, y con el objetivo de encontrar la mejor red posible se decidi realizar un

total de 250 iteraciones para cada uno de los 10 subconjuntos, guardando el resultado de

aquella para la cual se obtenga un error de clasificacin inferior.

3.2.4. Mejoras en el desempeo de los clasificadores

El conocimiento previo es un factor fundamental en cualquier proceso de clasificacin.

Este concepto se emplea con el fin de obtener desempeos superiores a aquellos que

obtienen los clasificadores mediante un proceso de entrenamiento.

En el caso particular de este proyecto se extrajeron muestras de las canciones cuya duracin

fue mencionada anteriormente. Sin embargo las canciones de los gneros estudiados

presentan irregularidades que se deben a arreglos musicales propios de cada intrprete.

Estas irregularidades se traducen en espacios de silencio, improvisaciones, solos, cambios

de velocidad y muchos otros. Por ejemplo, la inmensa mayora de las canciones presentan

introducciones que alteran el desempeo de un clasificador, por cuanto lo hacen

concentrarse en patrones no relevantes para la clasificacin.

79
Con el fin de compensar este caracterstica se incorpor un sistema de votacin 2 de 3, en

el cual se evala la red en 3 fragmentos diferentes de la cancin, reduciendo as la

probabilidad de clasificacin errnea.

3.2.5. Boosting

Adaboost se emplea como algoritmo de aprendizaje con el objetivo de disminuir el error de

evaluacin a medida que la red se sigue entrenando, incluso despus de que el error de

entrenamiento ha alcanzado el valor de cero [27]. Se escoge como clasificador dbil una

red de funciones de base radial debido a que los tiempos de procesamiento para las

funciones de base radial son inferiores a aquellos obtenidos para el entrenamiento de una

red de propagacin inversa. El pseudo cdigo de Adaboost es el siguiente:

1
Se hace uniforme Dt (i ) =
m

Para t desde 1 hasta T

Se ejecuta el clasificador dbil con entradas X, Y, D

Se calcula t R

Se actualiza

Dt (i)e( t t ( i ))
Dt +1 (i ) =
Zt

80
1 si H t (i ) = Y (i )
donde (i ) es un factor tal que (i ) =
1 si H t (i ) Y (i )

Fin

Se calcula la hiptesis final

T
H (i ) = p tal que t gt (i ) es mxima
t =1

Puede notarse que para la primera iteracin que el algoritmo tena igual probabilidad de

equivocarse con cualquier cancin, por lo cual la distribucin inicial asigna igual

probabilidad de escogencia a todas las muestras, esta probabilidad es modificada de

acuerdo al resultado obtenido por la red al momento de clasificar una muestra, si esta es

clasificada correctamente su probabilidad disminuye, como fue explicado anteriormente, si

no, su probabilidad aumenta, a partir de esta distribucin se obtiene un conjunto de

muestras bootstrap, lo que se desea con este tipo de conjunto, es que cada clasificador dbil

se entrene con un conjunto de muestras aleatorio, pero haciendo mayor nfasis en las

canciones que no han sido clasificadas correctamente con el fin de llevar a cero el error de

entrenamiento.

Un ejemplo de la forma en la cual se modifican las probabilidades de seleccin de una

cancin durante la fase de entrenamiento dependiendo de si su clasificacin fue correcta o

no en la poca anterior, se muestra en la Figura 11.

81
poca t
0 1
Cancin mal clasificada

Cancin bien clasificada

poca t +1

0 1
Figura 11. Probabilidad de seleccin en la muestra bootstrap.

En este caso se utiliz como clasificador dbil una red de funciones de base radial de orden

11 puesto que presentaba una buena relacin entre el tiempo de entrenamiento y el

porcentaje correcto de clasificacin. Una vez se ha entrenado un clasificador dbil es

necesario calcular su error para poder realizar los respectivos ajustes para la siguiente

iteracin. Este error es calculado utilizando como la distancia euclidiana entre todos los

vectores de salida resultantes y la base de los vectores de salida (como se describe en el

algoritmo de Radial Basis).

Con el valor del error se procede a calcular el coeficiente a que se define como:

1 1- i
i = log (3.9)
2 i

Donde a i es el coeficiente para la iteracin i y i es el error de dicha iteracin, este

coeficiente entrega un grado de credibilidad para cada uno de los clasificadores dbiles y

adems se utiliza para calcular la distribucin de probabilidad.

82
Los clasificadores dbiles obtenidos se utilizan para calcular el error de la hiptesis final.

A partir de la suma de hiptesis parciales se genera la anterior hiptesis final, con la cual se

calcula el error de entrenamiento y la distribucin de mrgenes para cada una de las clases

j, en diferentes pocas de entrenamiento.

mij = yij H ij ( xi ) (3.10)

83
4. ANLISIS DE RESULTADOS

4.1. CLASIFICADOR RED DE PROPAGACIN INVERSA

(BACKPROPAGATION)

Para realizar la 10Fold Cross Validation, el conjunto de entrenamiento se dividi en 10

subconjuntos de forma tal que para cada iteracin se contaba con 405 canciones para

realizar el entrenamiento, y 45 para la validacin. Los promedios de clasificacin correcta

que se obtuvieron para cada nmero de neuronas se muestran en la grfica 21.

Porcentaje de Clasificacin Correcta en funcin del Nmero de Neuronas


80

70

60
Porcentaje Promedio de Clasificacin Correcta

50

40

30

20

10

0
2 4 6 8 10 12 14 16 18 20
Nmero de Neuronas

Grfica 21. Porcentaje Promedio de Clasificacin Correcta obtenido empleando 10 Fold Cross
Validation.

84
All se puede observar que el error promedio de clasificacin para el conjunto de validacin

es bastante similar para los diferentes ordenes de la red, y no se presentan mejoras

significativas al aumentar el nmero de neuronas de la capa oculta. El porcentaje promedio

de clasificacin correcta tiene su mximo para la red con 6 neuronas en la capa escondida,

con un porcentaje de acierto del 72.25 %. Como ya se mencion, esto es un promedio del

resultado que se obtiene al realizar 10Fold Cross Validation. En la Grfica 22 se

muestran los promedios de clasificacin correcta para cada uno de los 10 subconjuntos al

realizar 10 Fold Cross Validation para la red de 6 neuronas.

Porcentaje Promedio de Clasificacin Para los 10 Conjuntos de Validacin


80

70

60
Porcentaje Promedio de Clasificacin

50

40

30

20

10

0
1 2 3 4 5 6 7 8 9 10
Subconjunto de Validacin

Grfica 22. Porcentaje promedio de Clasificacin correcta para los 10 subconjuntos de Validacin
con una red de 6 neuronas.

85
La observacin de esta grfica es interesante porque muestra que para la red de 6 neuronas

se obtienen porcentajes de acierto superiores e inferiores al promedio mencionado

anteriormente. Lo deseable sera que este porcentaje variara muy poco (idealmente no

debera variar), pero como la validacin depende de las canciones que sean evaluadas en

cada instante, ese nmero cambia.

Otro factor importante en un estudio como el que se realiz es el relacionado con los

tiempos de procesamiento necesarios para llevar a cabo el entrenamiento. En la grfica 23

se muestran los tiempos que se necesitaron para realizar 20 iteraciones con cada una de los

10 subconjuntos del proceso de validacin, es decir que se muestra el tiempo empleado

para realizar las 200 iteraciones correspondientes al proceso de Validacin Cruzada con

cada una de las redes consideradas. La grfica muestra una tendencia creciente para redes

que tengan entre 2 y 10 neuronas en la capa escondida. Se observa que el tiempo

disminuye para redes que tienen entre 11 y 20 neuronas para la misma capa. La red cuyo

entrenamiento tarda ms es la que posee 10 neuronas con un tiempo total de 817.85

minutos.

86
Tiempo Total haciendo la Validacin Cruzada en funcin del Nmero de Neuronas
900

800

700

600
Tiempo (Minutos)

500

400

300

200

100

0
2 4 6 8 10 12 14 16 18 20
Nmero de Neuronas

Grfica 23. Tiempo empleado en hacer 10 Fold Cross Validation en funcin del nmero de
neuronas de la capa oculta.

De acuerdo a la red que tuvo mayor porcentaje promedio de clasificacin correcta para el

conjunto de validacin, se escoge la red de 6 neuronas En la grfica 22 se muestran los

porcentajes de validacin para cada uno de los subconjuntos y se aprecia que la mejor red

tiene un porcentaje de validacin del 75.56 %.

Haciendo uso del conjunto de evaluacin es posible determinar el desempeo de la red. El

porcentaje de acierto de la red escogida es del 76 % tomando el fragmento de la cancin en

1 minuto.

87
Tal y como se haba mencionado anteriormente es posible mejorar el desempeo de la red

empleando un sistema de votacin tomando 3 muestras para diferentes tiempos. Al realizar

esto para fragmentos ubicados en 1, 1.25 y 1.5 minutos se obtiene un porcentaje de acierto

de la red del 78% que es superior al obtenido previamente.

4.2 CLASIFICADOR RED DE FUNCIONES DE BASE RADIAL

Al igual que para la red de propagacin inversa, se utiliz 10 Fold Cross Validation

dividiendo el conjunto de entrenamiento en el mismo nmero de subconjuntos, de forma tal

que para cada iteracin se contaba con 405 canciones para realizar el entrenamiento, y 45

para la validacin. Los promedios de clasificacin correcta que se obtuvieron para cada

nmero de neuronas se muestran en la grfica 24.

Porcentaje de clasificacin correcta en funcin del nmero de neuronas


80

70
Porcentaje Promedio de Clasificacin Correcta

60

50

40

30

20

10

0
2 4 6 8 10 12 14 16 18 20
Nmero de Neuronas

Grfica 24. Porcentaje Promedio de Clasificacin Correcta obtenido empleando Validacin


Cruzada.

88
Se ve que el porcentaje promedio de clasificacin aumenta a medida que se agregan

neuronas a la capa escondida para esta topologa. El porcentaje promedio de clasificacin

correcta tiene su mximo para una red con 19 neuronas cuya funcin de activacin esta

dada por la funcin de base radial, con un porcentaje promedio de acierto del 76.89 %. Sin

embargo, se observa que a partir de 16 neuronas, dicho porcentaje no presenta incrementos

significativos. En la Grfica 25 se muestran los porcentajes mximos de clasificacin

correcta para cada uno de los 10 subconjuntos al realizar 10 Fold Cross Validation, para

la red de 16 neuronas.

Porcentaje de Classiificacin Correcta para Cada uno de los 10 Subconjuntos


80

70

60
Porcentaje de Clasificacin Correcta

50

40

30

20

10

0
1 2 3 4 5 6 7 8 9 10
Subconjunto de Validacin

Grfica 25. Mximo Porcentaje de Clasificacin correcta para los 10 subconjuntos de Validacin
con una red de 16 neuronas.

89
Otro factor importante en un estudio como el que se realiz es el relacionado con los

tiempos de procesamiento necesarios para correr el algoritmo de entrenamiento. En la

grfica 26 se muestran los tiempos que se necesitaron para realizar 250 iteraciones con

cada una de los 10 subconjuntos del proceso de validacin, es decir que se muestra el

tiempo empleado para realizar las 2500 iteraciones correspondientes al proceso de 10

Fold Cross Validation con cada una de las redes consideradas. La grfica muestra una

tendencia al alza a medida que el nmero de clusters aumenta, teniendo su mximo para

una red con 17 neuronas, con un tiempo total de 162.74 minutos. La razn por la cual el

tiempo disminuye para redes con 18, 19 y 20 neuronas es la limitacin que se impuso con

respecto al nmero mnimo de elementos por cluster a medida que el nmero de neuronas

aumenta, tal y como se expres anteriormente en el numeral 3.2.2.

Tiempo Total empleado haciendo la Validacin Cruzada en funcin del nmero de neuronas
300

250

200
Tiempo (Minutos)

150

100

50

0
2 4 6 8 10 12 14 16 18 20
Nmero de Neuronas

Grfica 26. Tiempo empleado en hacer 10 Fold Cross Validation en funcin del nmero de
neuronas de la capa oculta.

90
Basndose en los parmetros mencionados en el numeral 4.1. se escoge una red de 16

neuronas. En la grfica 25 se muestran los porcentajes de validacin para cada uno de los

subconjuntos y se aprecia que la mejor red tiene un porcentaje de validacin del 80 %, la

cual se escoge.

Haciendo uso del conjunto de evaluacin es posible determinar el desempeo de la red. El

porcentaje de acierto de la red escogida es del 80 % tomando el fragmento de la cancin en

1 minuto.

Tal y como se haba mencionado anteriormente es posible mejorar el desempeo de la red

empleando un sistema de votacin tomando 3 muestras para diferentes tiempos. Al realizar

esto para fragmentos ubicados en 0.75, 1 y 1.25 minutos se obtiene un porcentaje de acierto

de la red del 84% que es superior al obtenido previamente.

4.3. CLASIFICADOR ADABOOST

Se muestra a continuacin el error de entrenamiento total en la grfica 27 y los errores de

entrenamiento parcial para cada gnero en las grficas 28 ,29 y 30.

91
Error de Entrenamiento Total
0.45

0.4

0.35
)
% 0.3
0
0
1
x(
r 0.25
Porcentaje de Error (x100%)

or
r
E
e 0.2
d
ej
at
n 0.15
e
cr
o
P 0.1

0.05

0
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000
Nmero de Iteraciones

Grfica 27. Error de entrenamiento total en funcin de las iteraciones.

Error de Entrenamiento Merengue


0.7

0.6

) 0.5
%
0
0
1
x( 0.4
r
Porcentaje de Error (x100%)

or
r
E
e
d 0.3
ej
at
n
e
cr 0.2
o
P

0.1

0
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000
Nmero de Iteraciones

Grfica 28. Error de entrenamiento para merengue en funcin de las iteraciones.

92
Error de Entrenamiento Salsa
0.45

0.4

0.35
)
% 0.3
0
0
Porcentaje de Error (x100%)

1
x(
r 0.25
or
r
E
e 0.2
d
ej
at
n 0.15
e
cr
o
P 0.1

0.05

0
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000
Nmero de Iteraciones

Grfica 29. Error de entrenamiento para salsa en funcin de las iteraciones.

Error Entrenamiento Vallenato


0.7

0.6

) 0.5
%
0
0
1
Porcentaje de Error (x100%)

x( 0.4
r
or
r
E
e
d 0.3
ej
at
n
e
cr 0.2
o
P

0.1

0
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000
Nmero de Iteraciones

Grfica 30. Error de entrenamiento para vallenato en funcin de las iteraciones.

93
Adicionalmente para comprobar que se estn aumentando los mrgenes de confidencia en

las grficas 31, 32 y 33 se muestran las respectivas distribuciones de mrgenes para cada

gnero.

Distribucin de Mrgenes Gnero Merengue


1
10 Iteraciones
0.9 100 Iteraciones
1000 Iteraciones
0.8 5000 Iteraciones
10000 Iteraciones
0.7
s
e
n
e
g 0.6
r

Distribucin de Mrgenes

M
e 0.5
d
n
i 0.4
c
u
bi
rt
si 0.3
D
0.2

0.1

0
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
Mrgen
Mrgenes

Grfica 31. Distribucin de mrgenes de entrenamiento para merengue.

94
Distribucin de Mrgenes Gnero Salsa
1
10 Iteraciones
0.9 100 Iteraciones
1000 Iteraciones
0.8 5000 Iteraciones
10000 Iteraciones
0.7
s
e
n
e
g 0.6
r

Distribucin de Mrgenes

M
e 0.5
d
n
i 0.4
c
u
bi
rt
si 0.3
D
0.2

0.1

0
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
Mrgen
Mrgenes

Grfica 32. Distribucin de mrgenes de entrenamiento para salsa.

Distribucin de Mrgenes Gnero Vallenato


1
10 Iteraciones
0.9 100 Iteraciones
1000 Iteraciones
0.8 5000 Iteraciones
10000 Iteraciones
0.7
s
e
n
e
g 0.6
r

Distribucin de Mrgenes

M
e 0.5
d
n
i 0.4
c
u
bi
rt
si 0.3
D
0.2

0.1

0
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
Mrgen
Mrgenes

Grfica 33. Distribucin de mrgenes de entrenamiento para vallenato.

95
De las grficas 27 a 30 se aprecia como el error de entrenamiento baja considerablemente

hasta la iteracin 3000 y contina bajando lentamente hasta la iteracin 10000 a un punto

cercano a 0. El error total de entrenamiento alcanz un valor mnimo de 0.0022, que

equivale a una cancin del conjunto de entrenamiento mal clasificada.

Se destaca que el error del merengue es el que decrece con mayor rapidez, pero presenta un

pequeo incremento en la iteracin 1000.

Por otra parte de las grficas 31 a 33 se confirma que el margen de confidencia que se

incrementa ms es el correspondiente al gnero merengue mientras que para el gnero

vallenato este incremento es menor.

Se iter hasta 10000 puesto que como se aprecia en la grfica 34 a medida que aumenta el

nmero de iteraciones, el tiempo presenta un incremento exponencial. Adicionalmente se

suspende el entrenamiento ya que dicho error ha alcanzado un valor cercano a cero a partir

de la iteracin 7000.

96
Tiempo de entrenamiento adaboost vs Nmero de Iteraciones
300

250

200

o
p 150
Tiempo (min)

m
ei
T

100

50

0
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000
Nmero de Iteraciones

Grfica 34. Tiempo de entrenamiento en funcin del nmero de iteraciones.

A continuacin se presenta el error de evaluacin total y para cada gnero en las grficas

35 a 38 para la red entrenada anteriormente. As mismo se presentan las respectivas

distribuciones de mrgenes en las grficas 39 a 41.

97
Error de Evaluacin Total
0.5

0.45

)
% 0.4
0
0
1
Porcentaje de Error (x100%)

x(
r
or
r 0.35
E
e
d
ej
at
n 0.3
e
cr
o
P
0.25

0.2
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000
Nmero de Iteraciones

Grfica 35. Error de Evaluacin Total en funcin del nmero de iteraciones.

Error de Evaluacin Merengue


0.9

0.8

) 0.7
%
0
0
1
x(
Porcentaje de Error (x100%)

0.6
r
or
r
E
e
d 0.5
ej
at
n
e
cr 0.4
o
P

0.3

0.2
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000
Nmero de Iteraciones

Grfica 36. Error de Evaluacin para merengue en funcin del nmero de iteraciones.

98
Error de Evaluacin Salsa
0.7

0.6

) 0.5
%
0
0
1
Porcentaje de Error (x100%)

x( 0.4
r
or
r
E
e
d 0.3
ej
at
n
e
cr 0.2
o
P

0.1

0
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000
Nmero de Iteraciones

Grfica 37. Error de Evaluacin para salsa en funcin del nmero de iteraciones.

Error de Evaluacin Vallenato


0.65

0.6

0.55

) 0.5
%
0
Porcentaje de Error (x100%)

0
1 0.45
x(
r
or
r 0.4
E
e
d
ej 0.35
at
n
e 0.3
cr
o
P
0.25

0.2

0.15
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000
Nmero de Iteraciones

Grfica 38. Error de Evaluacin para vallenato en funcin del nmero de iteraciones.

99
Distribucin de Mrgenes Gnero Merengue
1
2 Iteraciones
0.9 50 Iteraciones
2000 Iteraciones
0.8 10000 Iteraciones

0.7
s
e
n
e
g 0.6
r

Distribucin de Mrgenes

M
e 0.5
d
n
i 0.4
c
u
bi
rt
si 0.3
D
0.2

0.1

0
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
Mrgenes

Grfica 39. Distribucin de mrgenes de evaluacin para merengue.

Distribucin de Mrgenes Gnero Salsa


1
2 Iteraciones
0.9 50 Iteraciones
2000 Iteraciones
0.8 10000 Iteraciones

0.7
s
e
n
e
g 0.6
r

Distribucin de Mrgenes

M
e 0.5
d
n
i 0.4
c
u
bi
rt
si 0.3
D
0.2

0.1

0
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
Mrgenes

Grfica 40. Distribucin de mrgenes de evaluacin para salsa.

100
Distribucin de Mrgenes Gnero Vallenato
1
2 Iteraciones
0.9 50 Iteraciones
2000 Iteraciones
0.8 10000 Iteraciones

0.7
s
e
n
e
g 0.6
Distribucin de Mrgenes

r

M
e 0.5
d
n
i 0.4
c
u
bi
rt
si 0.3
D
0.2

0.1

0
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
Mrgenes

Grfica 41. Distribucin de mrgenes de evaluacin para vallenato.

En el error de evaluacin total mostrado de la grfica 35 se aprecia como ste tambin

disminuye conforme aumenta el nmero de iteraciones. El tiempo empleado en realizar

dicha evaluacin fue de 11.6375 min.

Analizando el error de cada gnero por separado de acuerdo a las grficas 36 a 38 es

importante notar, cmo para el merengue ste decrece rpidamente y se estabiliza,

ocurriendo algo similar aunque con decrecimiento ms lento para la salsa; mientras para el

vallenato la disminucin del error slo se presenta alrededor de las 5000 iteraciones, razn

por la cual, los mrgenes de confidencia del vallenato se incrementan en las iteraciones

finales mientras para el merengue y la salsa lo hacen a partir de las iteraciones iniciales.

101
El error mnimo total alcanzado para el conjunto de evaluacin es de 20%

En la tabla 2 se resumen los porcentajes de clasificacin correcta para el clasificador

Adaboost implementado.

Total Merengue Salsa Vallenato

Porcentaje de clasificacin 80 70.59 88.24 81.25


correcto (%)

Tabla 2. Porcentajes de clasificacin correcto utilizando Adaboost.

4.4. COMPARACIN ENTRE LOS DIFERENTES CLASIFICADORES

IMPLEMENTADOS

La Tabla 3 presenta un resumen detallado de todas las caractersticas obtenidas para las

redes de Propagacin Inversa y de Funciones de Base Radial.

102
RED DE RED DE FUNCIONES
PROPAGACIN DE BASE RADIAL
INVERSA
Tiempo total empleado en la
bsqueda de la Red ptima. 101.8357 horas 20.84 horas
Nmero de Neuronas ptimo para la
Capa Oculta. 6 16
Tiempo total empleado en el
entrenamiento de la Red ptima 173.8836 minutos 215.56 minutos
Nmero de Iteraciones realizadas en
la Validacin Cruzada. 200 2500
Porcentaje Promedio de Clasificacin
en la Validacin Cruzada 70.67 76.22

Mximo Porcentaje de Clasificacin


en la Validacin Cruzada 75.56 80
Porcentaje Correcto de Evaluacin
76 80
Tiempo escogido para realizar la 60 segundos 60 segundos
Evaluacin
Porcentaje Correcto de Evaluacin
empleando Votacin 2 de 3 78 84
Tiempos escogidos para realizar la
evaluacin con Votacin 60, 75 y 90 segundos 45, 60 y 75 segundos

Tabla 3. Comparacin de los resultados obtenidos para las topologas Red de Propagacin Inversa
y Red de Funciones de Base Radial.

La razn por la cual se utiliz como clasificador dbil una red de Funciones de Base Radial

es claramente visible si se observa el campo relacionado al tiempo. All es notoria la

diferencia existente entre el tiempo necesario para el entrenamiento de una red de

propagacin inversa y una red de funciones de base radial. Especficamente hablando, este

tiempo es casi 5 veces inferior.

103
Para la implementacin de Adaboost, se utiliz una red de funciones de base radial con 11

neuronas en la capa escondida debido a que el tiempo requerido para su entrenamiento es

muy bajo comparado con los dems tamaos de red .

Fue posible cerciorarse de la forma en la cual se mejora el desempeo de un clasificador

dbil mediante la observacin del porcentaje obtenido al realizar las 10000 iteraciones.

Adicionalmente al hecho que los errores de entrenamiento y evaluacin disminuyen

conforme aumenta el nmero de iteraciones, se observa que el porcentaje de acierto en la

evaluacin obtenido utilizando Adaboost es superior a ste mismo porcentaje para la mejor

red que se obtiene usando Validacin Cruzada, como se muestra en la tabla 4.

Red de Funciones de Base Clasificador obtenido


Radial de 11 neuronas en la utilizando Adaboost para la
Capa Escondida red anterior con 10000
iteraciones
Porcentaje de acierto en la 70 80
Evaluacin

Tabla 4. Resultado de la aplicacin de Adaboost a un clasificador dbil.

104
5. CONCLUSIONES

El estudio inicial realizado acerca de la obtencin y extraccin de parmetros relevantes a

partir de un archivo de msica en formato digital muestra que las caractersticas utilizadas

son apropiadas y permiten diferenciar entre los tres tipos de gneros que forman parte de

este estudio. Los resultados arrojados por los clasificadores implementados corroboran la

afirmacin anterior, ya que de no ser as, la categorizacin de canciones no hubiese

mostrado los resultados satisfactorios que fueron obtenidos.

Los parmetros extrados a partir de la Transformada Wavelet tienen una estrecha relacin

con la forma en la cual el ser humano realiza el proceso de distincin de msica por gnero.

Esto es, se centran en la identificacin de un patrn rtmico bsico presente en la msica

Es de destacar que los parmetros que son extrados buscando un patrn rtmico son

producto de la experimentacin y la realizacin de numerosas pruebas en las cuales se

busc representar esta caracterstica . Esto constituye un aporte importante al campo de la

Clasificacin de Seales de Audio.

El desarrollo del proyecto obtuvo como resultado dos tipos bsicos de clasificadores que

fueron producto de sucesivos estudios en los cuales se optimizaron las respectivas

arquitecturas de red, buscando aquellas para las cuales se presentaba el mejor desempeo

105
medido en trminos de la clasificacin correcta de canciones que no fueron usadas durante

la fase de entrenamiento.

Las mejoras introducidas durante la fase de desarrollo fueron las siguientes:

Extraccin de Caractersticas Relevantes a partir de la transformacin del algoritmo de

Karhunen Love.

10 Fold Cross Validation con el fin de determinar el orden apropiado del modelo.

Incorporacin de Conocimiento previo para inferir el intervalo de tiempo adecuado

para tomar la muestra de la cancin a clasificar.

Votacin 2 de 3 con el fin de disminuir la probabilidad de error debida a la escogencia

de un intervalo de tiempo no representativo de la estructura musical.

La ltima y ms relevante mejora implementada fue el uso de Adaboost aplicado al

problema especfico propio de este trabajo. Se demostr que su utilizacin eleva el

porcentaje de acierto en la clasificacin para un clasificador dbil con 3 salidas.

Los resultados producidos en este proyecto son bastante buenos en comparacin con los

que han sido obtenidos por otros investigadores que han trabajado en el mismo campo. Por

ejemplo Seth Golub [2] obtuvo un porcentaje de clasificacin correcto del 77% utilizando

redes de propagacin inversa para dos gneros muy similares, mientras que Paul Scott [3]

logr un porcentaje de clasificacin de 94.8% utilizando como entradas, gneros muy

diferentes como Rock, Clsica, Soul y Country. Otros trabajos como el de Soltau [5]

obtuvieron 81.9% para Rock, Pop, Tecno y Clsica, mientras Tzanetakis [25] utiliz seis

106
gneros y obtuvo un porcentaje de clasificacin de 60%. Estos porcentajes son inferiores

para aquellos estudios que utilizaron ritmos similares y comparables con los estudios que

usaron ritmos diferentes. A pesar de la similitud existente en los gneros utilizados en este

proyecto, se realiz un proceso de clasificacin ptima que contribuye al desarrollo de la

redes neuronales artificiales aplicadas no solo a la clasificacin de msica sino a la

clasificacin de seales de audio.

Futuros trabajos que tomen como base el presente proyecto, y cuyo tema sea la

clasificacin de msica por gnero pueden orientarse hacia los siguientes aspectos:

Implementar sistemas clasificadores de msica que no utilicen Redes Neuronales

Artificiales con el fin de comparar los resultados con los obtenidos en este estudio.

Anexar nuevas topologas de Redes Neuronales con el fin de comparar su desempeo

general en cuanto a tiempo de entrenamiento, porcentaje de clasificacin correcta y

tamao de la red.

Realizar el mismo proceso de ste estudio con un nmero superior de gneros, para

determinar si los parmetros que aqu fueron extrados siguen siendo suficientes para

realizar la clasificacin.

Efectuar la extraccin de caractersticas a partir de un archivo en formato MP3, sin

tener la necesidad de convertirlo previamente a formato WAV.

107
BIBLIOGRAFA

[1] Gerhard, David. Ph.D. Depth Paper: Audio Signal Classification. School of
Computing Science. Simon Fraser University. 2000.

[2] Golub, Seth. Classifying Recorded Music. MSc in Artificial Intelligence. Division
of Informatics. University of Edinburgh. 2000.

[3] Scott, Paul. Music Classification using Neural Networks. EE373B Proyect.
Stanford University. 2001.

[4] Foote, J.. A similarity measure for automatic audio classification. Technical report,
Institute of Systems Science, National University of Singapure. 1997

[5] Soltau, H., Schultz, T., Westphal, M., y Waibel, A.. Recognition of music types.
Interactive System Laboratory. 1998.

[6] Bishop, Christopher. Neural Networks for Pattern Recognition. New York.
Oxford University Press Inc. 1995.

[7] Desain, P. Autocorrelation and the study of musical expression. Centre of


knowledge technology , Utrecht School of arts. 1990

[8] Proakis, John y Manolakis,Dimitris. Tratamiento digital de seales. Principios,


Algoritmos y Aplicaciones. 3ra Edicin Prentice Hall. 1998

[9] Oppenheim, Alan y Willsky, Alan. Signals and Systems. Prentice Hall Signal
Processing Series. 1983.

[10] Matlab Help. The MathWorks, Inc. Versin 6.1.0.450. Release 12.1.

[11] Burrus, Gopinath. Introduction to Wavelets and Wavelet Transforms A Primer.


Prentice Hall. 1998

[12] Fukunaga, K. Introdutcion to Statistical Pattern Recognition. 2da Edicin.


SanDiego Academic Press. 1990

[13] Paplinski, A. Neural Networks introduction. School of Computer Science and


Software Engineering.

108
[14] Rumelhart, D.E., G.E. Hinton, y R.J. Williams. Learning Internal represantations
by error propagation. Parallel Distributed Processing: Exploration in the
Microstructure of Cognition. Cambridge, MIT Press. Reimpreso en 1988.

[15] D.S. Bromead and D. Lowe. Multivariate Functional Interpolation and Adaptive
Networks. Complex Systems, 2:321-355, 1988.

[16] Orr, Mark. Introduction to radial basis function networks. Centre of Cognitive
Science University of Edinburgh. 1996

[17] Moody, J y Darken, C. Fast learning networks of locally tuned processing units.
Neural computation 1, 281-294. 1989

[18] Stone. M. Cross validatory choice an assessment of statistical predictions.


Journal of the Royal Statistical Society. 111-147. 1974

[19] R.E. Schapire. Theoretical views of boosting. In Computational Learning Theory:


Fourth European Conference, EuroCOLT'99, 1999.

[20] R, Meir y G, Rtsch. An introduction to boosting and leveraging. In S. Mendelson


and A. Smola, editors, pginas 119-184. Springer, 2003

[21] Auterlitz, Paul. Local and International Trends in Dominican merengue.

[22] Manuel, Peter. Caribbean Currents: Caribbean Music from Rumba to Reggae.
Philadelphia: Temple UP, 1995.

[23] Samper, Daniel. 100 aos de Msica Vallenata. Antologa. 1999

[24] www.lame.org Grupo de investigacin dedicado a desarrollar algoritmos para


descomprimir MP3.

[25] Tzanetakis, George; Essl, Georg; Cook, Perry. Automatic Musical Genre
Classification of Audio Signals. Computer Science Department. Princeton University.
2001

[26] Wold, E., Blum, T., Keislar, D., and Wheaton, J. (1996). Content-based
classification, search, and retrieval of audio. IEEE Multimedia, 3(3):2736.

[27] Fonseca, Oscar y Fonseca Otto. Categorizacin automtica de texto. Trabajo de


Grado. Facultad de Ingeniera Carrera de Ingeniera Electrnica. Pontificia Universidad
Javeriana. 2002.

109
ANEXO A - INTERFAZ GRFICA CON EL USUARIO

Este programa permite realizar clasificacin de archivos de audio digitales para los gneros

merengue, salsa y vallenato. El software emplea internamente las diversas topologas de

redes neuronales artificiales implementadas en este estudio, cinco en total. La pantalla

inicial del programa de clasificacin de msica se presenta a continuacin.

Campo para
ingresar la Botn de Botn Botn de
Ubicacin de Bsqueda de Acerca de Ayuda
la Cancin Cancin

Botn de Campo de Campo de


Clasificacin Seleccin de Seleccin de
Topologa Formato
Figura 12. Pantalla inicial Programa Clasificador De Msica.

110
Si conoce la ubicacin del archivo de msica, se escribe en el campo destinado para tal fin.

De lo contrario, se oprime el botn Buscar y se selecciona la ruta. Al utilizar esta opcin

se observa la siguiente pantalla.

Seleccin de Seleccin de Listado de


Unidades Carpeta Archivos
Validos para
Clasificacin

Ruta del . Botn de


Archivo Seleccin
Seleccionado

Figura 13. Pantalla de Bsqueda de Cancin.

111
Es importante recordar que el listado de canciones que se puede seleccionar depende del

formato se que haya escogido, es decir, si selecciona formato .WAV solo ver el listado de

canciones en dicho formato, lo mismo ocurre para el formato .MP3.

Una vez se haya escogido la cancin que desea clasificar se debe escoger la Topologa de la

Red Neuronal Artificial con la cual desea realizar la clasificacin. Las opciones

incorporadas son Backpropagation, Redes de Funciones de Base Radial, Backpropagation

con Votacin, Redes de Funciones de Base Radial con Votacin y AdaBoost. Por ltimo se

oprime el botn Clasificar y se espera mientras el programa procesa la cancin requerida

y determina el gnero al cual pertenece. Cuando se finaliza tal proceso, aparece un anuncio

con dicho gnero como se ve a continuacin.

Indicacin Resultado Proceso de Clasificacin

Figura 14. Pantalla de Resultado del Proceso de Clasificacin.

112
Botn Salida
de Acerca de

Figura 15. Pantalla Acerca de

Adems se presenta una pantalla con la informacin de los autores del programa al hacer

clic en el botn Acerca de con el fin de contactarlos si existe cualquier tipo de duda o

de comentario sobre la utilizacin del programa. Por ltimo se presenta el esquema tpico

para realizar la clasificacin de una cancin al hacer clic sobre el botn de Ayuda, como

se ve en la figura 16.

113
Botn Salida
de Ayuda
Figura 16. Pantalla de Bsqueda de Cancin.

114

Vous aimerez peut-être aussi