scieee AI-readable full text Open interactive document viewer

Clasificación de géneros musicales mediante técnicas de aprendizaje automático

Pérez Fernández, Miguel

Abstract

L a música ha formado parte fundamental de la humanidad desde el inicio de sus tiempos, tanto como por simple ocio, como ejercicio artístico e intelectual y como cohesión para vínculos sociales. Conforme los tiempos avanzaron así lo hicieron las las tecnologías y la forma en la que la gente se relacionaba con los elementos que ya había presente con anterioridad a estas. La capacidad de alcance de música que en principio pertenecían a una región ahora se había multiplicado, y no solo eso, también aumentó la facilidad con la que puede consumirse música con elementos como Spotify, Deezer, Shazam... No obstante cómo funciona exactamente la música y que procesos cognitivos suceden en el cerebro mientras la escuchamos (o recordamos) sigue siendo un misterio. Tanto es así que existen incluso organizaciones y "challenges" como el MIREX que se dedican a promover su investigación desde un punto de vista ingenieril. Una de las tareas que suscita mas interés es la de clasificación de los géneros musicales, el qué es lo que ayuda a definir cada forma de música. Aquí nos centraremos en 5 géneros en entorno a la música latina: Salsa, Bachata, Reggaeton, Merengue y Chachachá.

Full text

Proyecto Fin de Carrera Ingeniería de Telecomunicación Formato de Publicación de la Escuela Técnica Superior de Ingeniería Autor: F. Javier Payán Somet Tutor: Juan José Murillo Fuentes Dep. Teoría de la Señal y Comunicaciones Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2013 Trabajo Fin de Grado Grado Ingeniería de las Tecnologías de las Telecomunicaciones Clasificación de géneros musicales mediante técnicas de aprendizaje automático Autor: Miguel Pérez Fernández Tutoras: Maria Auxiliadora Sarmiento Vega, Irene Fondón García Dpto. Teoría de la Señal y Comunicaciones Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2018 Trabajo Fin de Grado Grado Ingeniería de las Tecnologías de las Telecomunicaciones Clasificación de géneros musicales mediante técnicas de aprendizaje automático Autor: Miguel Pérez Fernández Tutoras: Maria Auxiliadora Sarmiento Vega, Irene Fondón García Profesora contratada doctora interina, Profesora contratada doctora Dpto. Teoría de la Señal y Comunicaciones Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2018 Trabajo Fin de Grado: Clasificación de géneros musicales mediante técnicas de aprendizaje automático Autor: Miguel Pérez Fernández Tutoras: Maria Auxiliadora Sarmiento Vega, Irene Fondón García El tribunal nombrado para juzgar el trabajo arriba indicado, compuesto por los siguientes profesores: Presidente: Vocal/es: Secretario: acuerdan otorgarle la calificación de: El Secretario del Tribunal Fecha: Agradecimientos Qu iero aprovechar estas lineas para agradecer a mi familia el apoyo que me han brindado toda mi vida, a mis tutoras por ayudarme a avanzar y a la vida por enseñarme la música. Miguel Pérez Fernández Sevilla, 2018 I Resumen La música ha formado parte fundamental de la humanidad desde el inicio de sus tiempos, tanto como por simple ocio, como ejercicio artístico e intelectual y como cohesión para vínculos sociales. Conforme los tiempos avanzaron así lo hicieron las las tecnologías y la forma en la que la gente se relacionaba con los elementos que ya había presente con anterioridad a estas. La capacidad de alcance de música que en principio pertenecían a una región ahora se había multiplicado, y no solo eso, también aumentó la facilidad con la que puede consumirse música con elementos como Spotify, Deezer, Shazam... No obstante cómo funciona exactamente la música y que procesos cognitivos suceden en el cerebro mientras la escuchamos (o recordamos) sigue siendo un misterio. Tanto es así que existen incluso organizaciones y "challenges" como el MIREX que se dedican a promover su investigación desde un punto de vista ingenieril. Una de las tareas que suscita mas interés es la de clasificación de los géneros musicales, el qué es lo que ayuda a definir cada forma de música. Aquí nos centraremos en 5 géneros en entorno a la música latina: Salsa, Bachata, Reggaeton, Merengue y Chachachá. III 2Capítulo 1. Introducción y objetivos 1.2 Objetivos Nuestro objetivo con este trabajo es estudiar la clasificación de 5 de géneros de musica latina en base a su relevancia en el panorama popular actual: •Reggaeton •Salsa •Bachata •Merengue •Chachachá El reggaetón es un género nacido en los 90 en Puerto Rico que aunque tiene una fuerte influencia del hip-hop, está mayormente derivado del reggae, de hecho toma a este género como prefijo de su propio nombre, reggae-tón. Aprovechando la popularidad de la que disfrutaba el reggae jamaicano a principios de los 90 se introduce el reggae panameño en español y es cuando se empieza a desarrollar el género que conocemos hoy día, prueba de ello es que el que el Dancehall (una variante del reggae) comparte la misma base rítmica que tanto caracteriza al reggaetón. En general se caracteriza por un BPM (beats per minute, o pulsos por minuto) relativamente bajo con respecto a las otras clases señaladas y un ritmo muy característico. Además por su naturaleza de música nacida en los estudios, la mayoría de instrumentos son sintetizados, desembocando en que las características espectrales pueden variar abruptamente entre canciones, especialmente a lo relativo a los instrumentos que no funcionan como bajo en la canción. La salsa es un género musical resultante del son cubano y otros géneros de música caribeña. No obstante su éxito comercial aparece alrededor de 1960 gracias a músicos puertorriqueños en Nueva York, aunque sus raíces se remontan a décadas anteriores en países de la cuenca del Caribe [ 3 ]. Salsa realmente es un término paraguas para lo que en realidad son varios géneros de la música cubana: mambo, guarachá, chachachá, guaguancó citetitoentrevista, etc, aunque la espina dorsal es el son cubano. El ritmo de la salsa utiliza como base la clave del son, que puede ser del tipo 2-3 o 3-2, tiene un tempo muy elevado aunque los estimadores de tempo siempre detectan su tempo a la mitad de velocidad (se verá mas adelante el porqué en el capítulo de características). Apenas usa instrumentos sintetizados y los instrumentos mas importantes suelen ser los percusivos pues son quienes suelen guiar a los bailarines a no perder el ritmo en la pista de baile: timbales, bongó, cencerro, maracas y conga entre otros. Para las melodías se suelen usar orquestas compuestas por trompetas, saxofón, piano, contrabajo o bajo eléctrico, trombones, flauta y violín. Esto en cierto modo puede fijar, o no dar tanta libertad a la forma que adquiere el espectro de frecuencias. La bachata es un género musical originario de la República Dominicana dentro del folclore urbano. Está asociada a la marginalidad urbana de los bares y burdeles de Santo Domingo durante finales de los años 60 y principios de los años 70, ganándose la fama de “música de amargue”, puesto que la mayoría de canciones tratan sobre el desamor. La etimología en cambio lleva a su origen africano que designa juerga, jolgorio y parranda [ 4 ]. 1.2 Objetivos 3 Este género es de los que más se ha renovado con el tiempo, en el sentido en que a pesar haber nacido en los tiempos de los orígenes de la salsa, chachachá, etc, ha cambiado tanto su tempo como los instrumentos de los que se compone, relegando por ejemplo la guitarra que solía acompañar sus melodías por otros instrumentos sintetizados, pero manteniendo similar su base rítmica. El merengue es mas longevo de todos estos géneros, tiene sus raíces a finales del siglo XIX en República Dominicana, aunque su popularidad está extendida por toda Sudamérica y de hecho es Patrimonio Cultural Inmaterial de la Humanidad según la Unesco [ 5 ]. En sus orígenes era interpretado con instrumentos de cuerda (bandurria y/o guitarra), aunque con el tiempo se fueron susituyendo por acordeón, guira y la tambora. En 1875 el presidente Ulises Francisco Espaillat inicia una campaña contra el merengue por sus bailes y letras explícitas [ 6 ], en vano, pues para entonces la música ya se había adueñado de Cibao. Desarrolló dos versiones, una que se tocaba mas en el campo y guardaba las tradiciones mas antiguas del merengue, y otra que se denominó merengue de salón, propio de los centros urbanos. Al igual que la salsa es un género muy rápido y con una instrumentación muy bien definida, no obstante aquí los primeros tiempos están muy bien marcados y definidos, por lo que no sufre el problema que existe en la salsa a la hora de estimar el tempo. El chachachá es un género de la música panameña desarrollado a partir del danzón-mambo a comienzos de los 50 [ 7 ] y se suele atribuir su origen al compositor y violinista cubano Enrique Jorrín. El nombre toma su origen en el sonido que suelen hacer los bailarines con los pies al acoplarse el baile con la música, como una onomatopeya que suena “chachachá”. El principal elemento que lo diferencia es su célula rítmica, que a diferencia de por ejemplo la célula ritmica de la clave en la salsa, solo posee una variante, no dos. Es una música relativamente lenta y no suele variar su instrumentación, al igual que el merengue o la salsa. Para la tarea de clasificación de estos géneros mencionados utilizaremos varios algoritmos de machine learning,supervised yunsupervised(más adelante explicaremos en que consiste cada uno de ellos en el apartado de aprendizaje de máquinas). Haremos un estudio probando el clustering mediante k-means (para el caso de los unsupervised) con el fin de comprobar como podría funcionar este sistema con los géneros a ciegas, sin etiquetas. No obstante probaremos con varios métodos de supervised learning con cuales se suelen obtener mejores resultados y sopesaremos cual sería mas factible de cara a la implementación de un sistema funcional. En la figuras 1.5, 1.1, 1.4, 1.3 y 1.2 podemos ver distintos ejemplos de espectros para los distintos géneros de música. 4Capítulo 1. Introducción y objetivos Figura 1.1 Espectrograma para bachata. 1.2 Objetivos 5 Figura 1.2 Espectrograma para chachachá. 6Capítulo 1. Introducción y objetivos Figura 1.3 Espectrograma para merengue. 1.2 Objetivos 7 Figura 1.4 Espectrograma para reggaeton. 8Capítulo 1. Introducción y objetivos Figura 1.5 Espectrograma para salsa. 2 Estado del arte Cuando la música agrada al oído y calma el coraón y los sentidos, entonces la música ha perdido el sentido Maria Callas En esta sección vamos a hacer un recorrido por los métodos mas avanzados hasta ahora existentes con el mismo propósito que este trabajo de fin de grado. MIREX es la abreviatura de Music Information Retrieval Evaluation eXchange un challenge que se celebra de manera anual como parte del ISMIR (International Society for Music Information Retrieval Conference) para promover el estudio de tareas relacionadas con la extracción de datos musicales. Cada año se presentan una serie de tareas o tasks para que pueda ser un intercambio de información mucho mas plausible. Por ejemplo las existentes esta edición de 2018 [8] son entre otras: •Audio Classification (Train/Test) Tasks: –Audio US Pop Genre Classification –Audio Latin Genre Classification –Audio Music Mood Classification –Audio Classical Composer Identification •Audio K-POP Mood Classification •Audio K-POP Genre Classification •Audio Fingerprinting •Audio Onset Detection 9 10 Capítulo 2. Estado del arte •Audio Key Detection •Audio Chord Estimation •... La lista es larga y variada, desde la clasificación de géneros musicales a hasta la extracción de onsets o acentos, pasando por la estimación de acordes o la clave en la que se encuentra la pieza analizada. Todos los resultados son después recogidos en la base de datos de la página del MIREX para estudios posteriores. Un ejemplo de resultados para las tareas señaladas los tenemos en la figura 2.1. Figura 2.1 Resultados de las tareas de clasificación del MIREX 2017, en las columnas están las distintas tareas de clasificación y en las filas los nombres abreviados de los distintos métodos presentados. Existen trabajos relativos a la clasificación de géneros musicales usando técnicas clásicas de aprendizaje de máquina que basan su algoritmo en la extracción de los MFCC (Mel Frequency Cepstral Coefficients) [ 9 ][ 10 ] (se verán mas adelante en el capítulo de características) y unos alternativos MFCC extraidos a partir de la FrFFT Fractional Fast Fourier Transform, aunque el primero [ 10 ] lo aplica principalmente al reconocimiento de instrumentos y es mas tarde cuando el autor lo utiliza para reconocimiento de géneros musicales en [ 9 ]. Otros papers usan características de mas alto nivel como la progresión de acordes [ 11 ] y las reglas de armonía inducidas de los mismos [ 12 ]. El problema de estas es que dependen de características que actualmente son muy complicadas de extraer en música polifónica, por lo que su alto índice de error puede empeorar notablemente los resultados. Existe además otra serie de técnicas mucho mas actuales, como por ejemplo las redes neuronales, que son las mas que mas éxito han tenido en las tareas de clasificación enviadas al MIREX 2017 [ 13 ][ 14 ][ 15 ] y cuyas tasas de éxito pueden verse en la figura 2.1. Las redes neuronales han supuesto un avance sin precedentes en el mundo del aprendizaje automático [ 16 ] aprovechando la gran potencia de cálculo que se está desarollando y la capacidad de cómputo paralelo de arquitecturas como CUDA (Compute Unified Device Architecture) [17]. En trabajos como [ 15 ] los autores usan redes neuronales convolucionales no solo para clasificar géneros de una tarea del MIREX, sino que son capaces de obtener resultados excelentes (véase la figura 2.1) simultáneamente en otras como clasificación de compositores clásicos, clasificación de géneros de música latina (figuras 2.2 y 2.3), mood genre clasificación, clasificación de géneros de musica popular, clasificación de géneros de KPOP previamente clasificados por personas coreanas y americanas (dos datasets distintos) y KPOP mood genre clasificación previamente clasificados por personas coreanas y america- 11 nas (dos datasets distintos). Los resultados son asombrosos, exceptuando en el campo de compositores clásicos el citado trabajo se encuentra entre las puntuaciones más altas para el resto de tareas y es el que obtuvo la mayor puntuación en todas las tareas relacionadas con el KPOP, haciendo uso de dos bases de datos: •Million Song Dataset with Last.FM tag annotations. [18] (MSD) •NAVER Music with genre annotations. Para ello usan características de las tres últimas capas ocultas de otras redes ya entrenadas con el método descrito en [ 19 ], las cuales se unirán a un único vector para finalmente realizar la clasificación mediante una máquina de soporte vectorial. En el caso de [ 13 ] también podemos ver la eficacia de la redes neuronales. En este caso se entrena una Deep convolutional neural network (DCNN) utilizando las canciones en [ 18 ]. Esta utiliza como salida varias neuronas en las cuales hay en cada una una etiqueta de los artistas de la base de datos, así la DCNN extrae los vectores de características a partir de 3 segundos de audio de las canciones, estas características después son pasadas a una máquina de soporte vectorial para realizar las clasificaciones tanto de género como de ánimo, como paso previo al uso de la SVM los vectores de características pasan por un análisis de discriminantes lineales (más adelante se hablará de ellos en 3.3) de forma que mejore la capacidad discriminante del espacio donde se realiza la clasificación. En [ 14 ] realizan un preprocesamiento llevando las muestras al dominio de la frecuencia, mediante un filtrado Mel (Se verá mas adelante en 4.1.1) y finalmente pasándolo a dB usando la librería de Python Librosa [ 20 ]. Con el fin de tener cierta aleatoriedad en las muestras se toman 120 extractos aleatorios a lo largo del tiempo de cada canción, se concatenan esas muestras y se añaden al set de entrenamiento, de esta forma se aumenta la robustez de este clasificador bajo circunstancias de bases de datos pequeñas (un gran problema en algoritmos de Deep Learning). Tras esto se genera un modelo de tres capas de CNN del que finalmente se obtendrán los resultados. Figura 2.2 Test de Friedman de la precisión por clases para los clasificadores LPNKK1, LPKK3, PLNPH1 [15], PLNPH1 [13] y XLJ1 [14]. Obtenido de [21]. 18 Capítulo 2. Estado del arte canción, acorde a la extracción explicada en [ 36 ]. Es por el deseo de probar con nuestras propias características y tratar directamente el audio por el que nos decantamos a no usar esta base de datos finalmente. Existen otros ejemplos de bases de datos colaborativas, como la promovida por la Universidad Pompeu Fabra [ 37 ] que posee incluso una API en la que poder obtener o subir datasets completamente. Sin embargo posee limitaciones similares a la anterior debido al Copyright. Dadas las circunstancias en las que nos situamos con respecto a las bases de datos, la decisión que tomamos fue la de crear nuestra propia base de datos y etiquetarla manualmente. 3 Aprendizaje de máquinas “Ah, music," he said, wiping his eyes. "A magic beyond all we do here! J.K. Rowling, Harry Potter and the Sorcerer’s Stone Ma chine learning el subcampo de las ciencias de la computación y una rama de la inteligencia artificial, cuyo objetivo es desarrollar técnicas que permitan que los ordenadores aprendan. Tiene una amplia gama de aplicaciones como motores de búsqueda, diagnósticos médicos, análisis de mercado de valores, reconocimiento de patrones, etc...y en este caso lo usaremos para clasificar los distintos géneros. Además se explicará mas detalladamente las técnicas y algoritmos que han dado lugar a los mejores resultados. 3.1 Tipos de algoritmos A grandes rasgos las técnicas de aprendizaje de máquina se clasifican en dos grandes familias: aprendizaje supervisado y aprendizaje no supervisado. 3.1.1 Aprendizaje supervisado El algoritmo produce una función que establece una correspondencia entre las entradas y las salidas deseadas del sistema. Para ello se requiere de un de entrenamiento que contenga varios vectores de características del sistema y las clases a la que pertenecen, por lo que un claro uso de este tipo de algoritmo es el de clasificación de objetos, imagenes, secuencias de ADN, etc. Dentro de esta categoría, aparte de los algoritmos de clasificación existen tambien los denominados de regresión los cuales se usan para predecir respuestas continuas, para por ejemplo predecir el consumo eléctrico, etc. Existen multitud de algoritmos de esta clase. 19 20 Capítulo 3. Aprendizaje de máquinas En el caso de Support Vector Machines o Máquinas de soporte vectorial las clases son separadas mediante un algoritmo que construye un hiperplano o un conjunto de hiperplanos [ 38 ], con un vector de soporte definido como el vector entre dos puntos de las clases, tales que el hiperplano resultante genera el mayor margen posible para ambas clases como se ve en la figura 3.1. Existen además otros algoritmos importantes como discriminantes o los ensembles, que veremos con mas detalle en las siguientes secciones. Figura 3.1 Separación de dos clases mediante un hiperplano guardando el mayor margen posible [39]. 3.1.2 Aprendizaje no supervisado Este tipo de algoritmos se usa para encontrar estructuras y patrones de un set de datos. A diferencia del caso anterior de Aprendizaje supervisado en este caso solo se tiene una serie de vectores de características como entradas al sistema, sin ninguna clase de etiquetas. Encuentra su utilidad en muchos algoritmos de compresión de datos. La mayoría de algoritmos de este tipo son de clustering (que explicaremos con mas detalle en una sección posterior), pudiendo ser estos Hard-clustering oSoft-clustering, en el primer caso cada punto de datos puede pertenecer a un cluster solo, mientras que en el segundo caso puede pertenecer a varios clusters. 3.2 Ensembles El problema estándar de aprendizaje supervisado puede entenderse como que dados m vectores de características de entrenamiento de la forma (x1,y1),...,(xm,ym) , se busca alguna función tal que y=f(x) , siendo xi vectores de la forma Dxi,1,xi,2,...,xi,nE cuyos componentes son las n características asociadas a cada objeto de la clase yi , e yi los valores 3.2 Ensembles 21 (en este caso discretos) conocidos como las etiquetas {1,2,...,K} que hacen alusión a las posibles clasificaciones del objeto. Dado un set de muestras de entrenamiento el algoritmo de aprendizaje devuelve un clasificador, que es una hipótesis acerca de la verdadera función f. Un ensemble es un set de clasificadores cuyas decisiones individuales son combinadas (con distintos o equitativos pesos a la hora de votar) para clasificar nuevas muestras. La idea es que los ensembles son normalmente mucho mas precisos que los clasificadores que lo componen por separado. Sin embargo, para que esto funcione así ha de cumplirse dos requisitos [40]: • Que los clasificadores tengan una tasa de mayor de error que una elección aleatoria sobre los posibles resultados. • Que sean diversos. Esto quiere decir que cuando los clasificadores cometen un error de clasificación de un nuevo objeto, los resultados erróneos que dan son distintos. Esta segunda característica es muy importante [ 41 ], supongamos que tenemos tres clasificadores h1,h2,h3 y un nuevo objeto x . Si los tres son idénticos cuando h1 se equivoque, h2 y h3 también lo harán. En cambio si los errores son incorrelados cuando h1 se equivoque h2 y/o h3 podrían ser correctos. Para un número de L componentes de un ensemble, podemos estimar aproximadamente la posibilidad de que más de L/2 hipótesis estén equivocadas, suponiendo por ejemplo que la probabilidad de error es la misma para todas las hipótesis y usando una variable binomial donde L es el número de ensayos, y la probabilidad de error de cada hipótesis es la probabilidad de “éxito” de la binomial, obteniendo así la figura 3.2, que además mantiene una forma similar siempre y cuando Pe<0.5 Si las hipótesis tienen una tasa de error mayor que 0.5 la forma de la gráfica será muy distinta (véase figura 3.3), y por lo tanto deberá o optimizar el espacio de las características, buscar otras características, o directamente probar con otro algoritmo de machine learning. 3.2.1 Construcción de Ensembles Existen diversos algoritmos para crear ensembles: •Clasificador óptimo Bayesiano •Manipulación de las muestras de entrenamiento: –Bagging [42] –Subespacios Aleatorios (Random Subspaces) –AdaBoost [43] •Manipulación de las características de entrada [44][45] •Manipulación de las clases de salida [46] 22 Capítulo 3. Aprendizaje de máquinas Figura 3.2 La probabilidad de que lde 40 hipótesis sean incorrectas, siendo errores incorrelados y con una Pe=0.4 La probabilidad de que más de la mitad de los clasificadores hayan cometido un error, será de 0.1298, lo cual es bastante menor que 0.4. Figura 3.3 La probabilidad de que lde 40 hipótesis sean incorrectas, siendo errores incorrelados y con una Pe=0.7 . La probabilidad de que más de la mitad de los clasificadores hayan cometido un error, será de 0.9976, lo cual es bastante mayor que 0.7. Cada uno de estos métodos tiene sus ventajas y sus desventajas. El método de bagging por 3.2 Ensembles 23 ejemplo genera una serie de modelos a partir de un subconjunto del conjunto de muestras originales con una cantidad de N reemplazos al subconjunto elegido. Cada uno de los modelos tiene asignado un subconjunto como muestras de entrenamiento, de forma que cada modelo se entrena por separado. Una vez terminado el proceso de entrenamiento el ensemble resultante usará estos modelos contando por igual todos sus votos, entendiendo por voto la clase a la que estiman que pertenece una determinada muestra. AdaBoost es por su parte un algoritmo basado en Boosting que al igual que Bagging se basa en usar los votos de varios modelos, aunque en este caso los modelos tienen ciertos valores de peso en función a su precisión. A cada iteración los clasificadores que antes tuvieron muchos errores prediciendo ciertas muestras del set de entrenamiento sufren mayor penalización, de esta forma se fuerza a que los peores clasificadores sean reentrenados y mejorados con mas prioridad para obtener mejor resultados. Funciona mejor cuando los clasificadores son mas sencillos, puesto que al contrario que Bagging o [ 45 ] (que explicaremos mas adelante) los clasificadores de los que se compone el ensemble no se entrenan en paralelo, sino que han de hacerlo conforme se penalice a los peores clasificadores. Por norma general el clasificador óptimo bayesiano es el que mejor funciona con diferencia [47]. 3.2.2 Método de Random Subspaces El método de subespacios aleatorios está descrito en [ 45 ]. En este método se basa en un procedimiento autónomo y pseudoaleatorio para seleccionar un número pequeño de dimensiones dado el espacio completo de características de un sistema. En cada iteración se escoge un subespacio de N dimensiones del espacio completo, todos los valores de este subespacio se fijan a un valor (sea 0 por ejemplo) y a continuación todas las características del espacio completo, son proyectadas sobre el subconjunto de esa iteración (véase figura 3.4) , siendo finalmente este el conjunto que se utilizará para entrenar a uno de los clasificadores del ensemble. Cuando se vaya a probar con la clasificación de una muestra desconocida, el vector de características se proyecta sobre el subespacio correspondiente y se usa el correspondiente clasificador. Para un espacio de características de ndimensiones, hay hasta 2n elecciones de subconjuntos posibles por hacer, pudiendo ser finalmente los subespacios que tomemos de igual tamaño para todos los clasificadores o de distinto tamaño para cada uno, lo cual es una buena forma de explorar todos los resultados posibles (aunque también hace crecer exponencialmente el tiempo de cálculo del ensemble óptimo). Otra de las ventajas de este método es que reduce el impacto de la maldición de la dimensionalidad. Este fenómeno ocurre cuando los vectores de características son muy altos, lo que a algoritmos de aprendizaje automático basados en el gradiente le supone un gran problema por manejar gradientes de muchas componentes. También sufren de esta maldición algoritmos basados en el vecino mas cercano, puesto que conforme se añaden nuevas características aumenta la distancia entre vecinos. 24 Capítulo 3. Aprendizaje de máquinas Figura 3.4 Espacio de características de 3 dimensiones y su proyección en un subconjunto aleatorio de 2 dimensiones. La proyección en subespacios de esos vectores de alta cantidad de características, puede reducir la carga computacional para llegar al mínimo del gradiente en caso de algoritmos basados en el gradiente de la función de coste, o en el caso de los vecinos mas cercanos evitar que crezca de manera exponencial las distancias entre los mismos. Otra de las ideas previamente exploradas para crear múltiples clasificadores proviene de la idea del método de cross-validation. En este caso se seleccionan subconjuntos aleatorios (no de características, sino de muestras) y cada clasificador se entrena con ese subconjunto de muestras (bagging). En el método original propuesto en [ 45 ] las combinaciones de los distintos clasificadores se dan de la siguiente forma (recordando que en este artículo aplica la idea de subespacios aleatorios a árboles de decisión). Las decisiones de los nt árboles son combinadas promediando la posibilidad de cada clase en las hojas del árbol. Para un punto x , sea vj(x) la hoja donde termina el punto x cuando desciende por el árbol Tj (j = 1, 2, 3, 4, ..., nt ). Dicho esto, denotamos la posibilidad de que el punto x pertenezca a la clase c ( c = 1, 2,..., nc ) por P(cvj(x)) y puede ser estimada de la siguiente forma: ˆ P(c|vj(x)) = P(cvj(x)) ∑nc k=1P(ck,vj(x)) (3.1) Es decir, la fracción de puntos de c entre todos los puntos asignados a vj(x) (en el set de 3.3 Análisis mediante Discriminantes 25 entrenamiento). No obstante la mayoría de hojas solo contiene una clase así que los valores de la estimación ˆ P(cvj(x)) suelen ser siempre 1. La función discriminante se define como: gc(x) = 1 nt nt ∑ k=1 P(cvj(x))(3.2) y la regla de decisión es asignar x a la clase c cuyo gc(x) sea máximo. Para árboles en cuyos nodos no haya compartido ninguna clase en ninguna de las hojas, esta regla es equivalente a elegir la clase que sume mas votos entre todos los árboles. Mientras no haya ambiguedad en los subespacios elegidos el discriminante preservará la precisión del 100% en el set de entrenamiento. Sin embargo es posible que dos muestras puedan ser indistinguibles la una de la otra en un determinado subespacio. Por lo tanto hay que tener mucho cuidado al aplicar este método a sistemas cuya dimensionalidad es baja, puesto que esta ambiguedad podría repetirse varias veces en varios subespacios, dando lugar a clasificadores del ensemble poco precisos, y en consecuencia teniendo un ensemble peor, como se se mostraba en la figura 3.3. 3.3 Análisis mediante Discriminantes El análisis discriminante se puede considerar como un análisis de regresión donde la variable dependiente es categórica y tiene como categorías las etiquetas de cada uno de los grupos, y las variables independientes son continuas y determinan a que grupo pertenecen los objetos. Se pretende encontrar relaciones lineales entre las variables continuas que mejor discriminen en los grupos dados a los objetos, con la idea de construir una regla de decisión que asigne un objeto nuevo. Un dato importante para este caso es que el número de variables discriminantes debe ser menor que m−2 , siendo m el número de objetos y ninguna variable discriminante puede ser combinación lineal de otras variables discriminantes. Así mismo tendremos n−1 funciones discriminantes, donde n es el número de clases disponibles. Sea el problema clásico de aprendizaje supervisado: y1=a11x1+...+a1pxp+a10 (3.3) ym=am1x1+...+ampxp+am0(3.4) Procederemos a calcular la variabilidad dentro de los grupos y entre los grupos. Partiendo de la definición de covarianza: Cov(xj,xj0) = 1 n n ∑ i=1 (xi j −¯xj)(xi j0−¯xj0)(3.5) 26 Capítulo 3. Aprendizaje de máquinas Siendo ¯xjla media total de la variable xjque se puede calcular como: ¯xj=1 n n ∑ i=1 xi j =1 n q ∑ k=1 ∑ i∈Ik xi j =1 n q ∑ i=1 nk¯xi j (3.6) Donde q es el número de clases e Ik el grupo de la clase k -ésima clase. Seguimos el procedimiento en [48]: ¯xi j =1 nk∑ i∈Ik xi j (3.7) Ahora podemos calcular la covarianza como: Cov(xj,xj0) = 1 n q ∑ k=1 ∑ i∈Ik (xi j −¯xj)(xi j0−¯xj0)(3.8) si sustituimos: (xi j −¯xj) = (xi j −¯xk j)+(xk j −¯xj)(3.9) y (xi j0−¯xj0) = (xi j0−¯xk j0)+(xk j0−¯xj0)(3.10) en 3.8 y simplificamos, obtenemos: Cov(xj,xj0) = 1 n q ∑ k=1 ∑ i∈Ik (xi j −¯ xkj)(xi j0−¯xk j0)+ q ∑ k=1 nk n(¯xk j −¯xj)( ¯xk j0−¯xj0) = d(xj,xj0)+e(xj,xj0) (3.11) Es decir, la covarianza “total” es igual a la covarianza “dentro” de grupos mas la covarianza “entre” grupos. Definimos pues la covarianza total, por cuestiones de legibilidad como: t(xj,xj0) = d(xj,xj0)+e(xj,xj0)(3.12) que escribiremos en notación matricial de ahora en adelante como: T=E+D(3.13) 3.3 Análisis mediante Discriminantes 27 donde: •T = matriz de covarianzas total •E = matriz de covarianzas entre grupos •D = matriz de covarianzas dentro de grupos 3.3.1 Extracción de las funciones discriminantes La idea básica del Análisis Discriminante consiste en extraer a partir de x1,...,xp variables observadas en kgrupos, mfunciones y1,...,ymde forma: yi=ai1x1+...+aipxp+ai0(3.14) donde m = min(q-1,p), tales que corr(yi,yj) = 0para todo i6=j. Si las variables x1,...,xpestán tipificadas, entonces las funciones: yi=ai1x1+...+aipxp(3.15) para i=1,...,m se denominan funciones discriminantes canónicas. Las ym funciones se extraen de modo que: 1. y1 sea la combinación lineal de x1,...,xp que proporciona la mayor discriminación posible entre los grupos. 2. y2 sea la combinación lineal de x1,...,xp que proporciona la mayor discriminación posible entre los grupos, después de y1, tal que corr(yi,y2) = 0. En general, yi es la combinación lineal de x1,...,xp que proporciona la mayor discriminación posible entre los grupos después de yi−1 tal que corr(yi,yj) = 0 para j=1,...,(i−1) . Un ejemplo de función discriminante producida puede verse en 3.5. 3.3.2 Procedimiento matricial La mayoría del hardware actual se ha centrado en aumentar la capacidad de cómputo paralelo. Las CPU se han dejado de medir solo por la velocidad a la que son capaces de realizar operaciones, ahora también se tiene en cuenta la capacidad de las mismas para el cálculo paralelo, cuantos más núcleos, más operaciones en paralelo podremos hacer y mas tiempo podremos ahorrar. No solo eso, si no que sectores tradicionales como el de hardware para videojuegos y ocio han visto una oportunidad en este campo y han desarrollado arquitecturas bajo este principio de paralelismo, como ejemplo tenemos el caso de NVIDIA y CUDA [ 17 ] que además de obtener un mayor rendimiento en el procesado de imagen también resulta especialmente útil en el caso de aprendizaje automático. 34 Capítulo 4. Características usadas frecuencias 0 y 2000Hz, siguiendo una distribución lineal quedaría como se muestra en la figura 4.1. Figura 4.1 Filtros distribuidos uniformemente en frecuencia lineal. Mientras que en el espacio de frecuencia mel quedaría tal y como se muestra en la figura 4.2. La regla existente entre las frecuencias lineales y las mel viene dada por la ecuación 4.1 mel(f) = 1125 ∗ln(1+f/700)(4.1) Como se puede observar los filtros tienen un mayor ancho de banda para frecuencias mas altas puesto que el cerebro es menos sensible en estas zonas, de esta forma se obtiene un filtrado mas parecido al que realiza el oído humano. Realizaremos el cálculo de los MFCC tal y como se indica en [ 9 ], primero realizando un preénfasis para compensar los formantes de altas frecuencias que fueron suprimidos con los mecanismos de producción del sonido de los instrumentos, mediante la ecuación 4.2: Mp(n) = m(n)−0.97 ∗m(n−1)(4.2) Donde Mp(n)es la salida señal con el preénfasis y m(n)es la señal original. Otro de los aspectos a tener en cuenta es el enventanado. Cuando se realiza la STFT (Short- Time Fourier Transform), pueden producirse cambios abruptos entre tramos contiguos debido a las discontinuidades, enventanar estos tramos puede ayudar a minimizar el efec- 4.1 Tímbricas y espectrales 35 Figura 4.2 Filtros distribuidos uniformemente en mel visto en frecuencias lineales. to que tienen las discontinuidades, en concreto nosotros lo haremos con la ventana de Hamming, mediante Mp(n)∗W(n) , siendo W(n) la ventana de Hamming definida por la ecuación 4.3: W(n) = 0.54 −0.46 cos 2πn N(4.3) Una vez enventanada la señal, se hará pasar por un banco de 24 filtros distribuidos uniformemente en el espacio definido por 4.1 entre 0 Hz y 11000 Hz, siendo estos filtros triangulares. Para finalmente obtener los coeficientes, aplicamos la transformada discreta del coseno (de ahora en adelante DCT). Esta se usa por su propiedad para compactar la energía. Los coeficientes se obtienen según la ecuación 4.4: Ci(m) = M−1 ∑ n=0 Si(n)cos πmn−0.5 M,0≤m≤M(4.4) Donde M es el número de filtros triangulares pasobanda, Si(n) es el cepstrum del logaritmo de la salida del banco de filtros y Ci(m)el coeficiente MFCC del iesimo tramo. A estos resultados se les realizará la media y la varianza para todos los frames quedando pues la media de los 24 coeficientes, finalmente nos quedaremos con los 13 primeros valores de estas medias y varianzas, que se usarán como características para nuestro sistema. 36 Capítulo 4. Características usadas 4.1.2 Centroide espectral Define el centro de gravedad del espectro. Indica lo “brillante” que es un instrumento y viene determinado por la ecuación 4.5: SC =∑K k=1X(fk)fk ∑K k=1X(fk)(4.5) Donde X(fk) es la transformada discreta de Fourier de la señal x(n) en el tiempo y fk es el kesimo bin de frecuencia. 4.1.3 Flujo espectral Es una medida que permite determinar la cantidad de variación que existe entre el espectro resultante de un frame y su siguiente, se mide como la diferencia al cuadrado entre espectros de frecuencias normalizados sucesivos, que se obtiene de la relación 4.6. SF = K ∑ k=2 (|Xk(f)−Xk−1(f)|)2(4.6) De aquí volvemos a obtener la media y la varianza a través de todas las ventanas. Además hemos añadido otra característica basada en el flujo espectral y el centroide espectral, el centroide del flujo espectral. 4.1.4 Centroide del flujo espectral En vez de calcular el cuadrado de la norma, obtenemos un vector de espectros de frecuencia como la magnitud de la resta dos ventanas Xk(f) consecutivas, a las cuales les calculamos el centroide, de esta forma sabremos cuales son las zonas del espectro mas propensas a sufrir cambios, de este nuevo centroide obtenemos la media y la varianza a lo largo del vector de diferencias entre espectros de frecuencias de muestras consecutivas. Puede expresarse como: CSF =∑N k=2f|Xk(f)−Xk−1(f)| ∑N k=2|Xk(f)−Xk−1(f)|(4.7) 4.1.5 Caída espectral La caída espectral o spectral roll-off es una medida de la forma de una señal y se define en 4.8 como el bin M de frecuencia bajo el cual está concentrado el 85% de la distribución de magnitud del espectro. La definimos según [10]: Spectral roll −o f f : M ∑ k=1 X[fk] = 0.85 ∗ N ∑ k=1 X[fk](4.8) 4.1 Tímbricas y espectrales 37 Donde X[fk] es la magnitud del kesimo bin de frecuencia de la DFT de x[n] , cuya DFT contiene Nbins de frecuencia. 4.1.6 Spectral Skewness Conocido en español como sesgo espectral, en estadística es una medida de la asimetría de una función de distribución alrededor de su media. La oblicuidad se calcula como el tercer momento estándar, y viene dado por la ecuación 4.9: γ1=E(X−µ σ)3=µ3 σ3=E(X−µ)3 (E[(X−µ)2])3 2 =κ3 κ 3 2 2 (4.9) Donde µ es la media, µ3 es el tercer momento central, σ la desviación estándar, E es el operador de la esperanza matemática y κt son los tesimos cumulantes. Obtenemos la media y la varianza de todos las ventanas realizadas. En función del skewness el espectro será simétrico o asimétrico con mayor energía hacia la izquierda (menor frecuencia) o hacia la derecha (mayor frecuencia) del centroide. Si γ1>0 la distribución del espectro es asimétrica hacia la derecha, si γ1=0 la distribución del espectro es simétrica y por último, si γ1<0la distribución del espectro es asimétrica hacia la izquierda. 4.1.7 Spectral Kurtosis Conocida en español como curtosis, en estadística es una medida de la concentración de valores alrededor de la media de una función de distribución. Cuanto mayor es la curtosis, mayor será la concentracion de valores cerca de la media de la distribución (pico) y muy lejos de la misma (colas) al mismo tiempo que existe una relativamente menor frecuencia de valores intermedios (hombros), en resumen indica lo plano o “picudo” que es el espectro en función de los valores obtenidos, respecto a una distribución normal. Este es el cuarto momento estandarizado y viene dado por 4.10. Obtenemos la media y la varianza de todos las ventanas realizadas. β2=µ4 σ4(4.10) Donde µ4 es el cuarto momento central y σ la desviación estándar. Si β2=2/3 la distribución es normal, si β2>2/3 la distribución es más picuda, si β2<2/3 la distribución es más plana. 4.1.8 Spectral Flatness Se define como el ratio que existe entre la media geométrica y la aritmética de un array. Suele medirse en decibelios y proporciona un método para cuantificar como de “ruidoso” o “tonal” es un sonido. Mide pues la cantidad de picos o estructuras especialmente resonantes en un espectro que lo diferenciarían por ejemplo de un ruido blanco. Un valor muy alto (siendo aprox. 1 para el ruido blanco) implica una distribución equitativa de la potencia a lo largo del espectro. En cambio cuanto mas cercana es a 0, indica que la potencia espectral está concentrada en un relativo número de bandas mas pequeñas. Su ecuación es 4.11. 38 Capítulo 4. Características usadas Obtenemos la media y la varianza de todos las ventanas realizadas. Flatness = K q∏K k=0X(fk) ∑K k=0X(fk) K (4.11) 4.2 Temporales Zero Crossing Rate La tasa de cruces por cero (ZCR) es una forma de medir lo ruidosa que es una señal. Se divide y enventana como se menciona en 4.1.1, para cada una de esas ventanas se calcula la ZCR como en 4.12, siendo la media y la varianza de esta las que se utilizarán finalmente como características para el clasificador. ZCR =1 N N−1 ∑ 0 |sgn[m(n)]−sgn[m(n−1)]|(4.12) Donde m(n) es la n muestra de la señal enventanada m , m(n−1) la muestra anterior y N el número total de muestras en cada tramo. 4.2.1 BPM Son los beats per minute o el tempo de la canción. Géneros como el reggaeton son conocidos por llevar un tempo mas lento que por ejemplo la salsa o la bachata, de hecho el reggaeton y la música electrónica mas comercial son claros ejemplos de como los productores han adaptado “estándares” de tempo para evitar que sus canciones varíen el pitch conforme se cambia el tempo para coincidir con el del siguiente tema en la mezcla, en la música electrónica este tempo estándar esta alrededor de 128bpm mientras que en el reggaeton se sitúa alrededor de 94bpm. Para los otros estilos es muy diferente, la bachata puede variar aunque por lo general la bachata dominicana (o clásica para ser mas justos) suele ser un tanto mas acelerada que la bachata moderna, una suele oscilar sobre los 140-160 bpm (dominicana) mientras que la moderna suele estar alrededor de unos 120-130 bpm. El caso más interesante es el de la salsa, suele escribirse como la mayoría de la música hoy en día en 4/4, no obstante la estructura de acentos y ritmos no se repiten cada 4 tiempos si no cada 8 (véase figura 4.4), y las frases musicales por ejemplo de “llamada y respuesta” serán siempre múltiplos de 2 compases, pero jamás realizaran llamada y respuesta en sólo dos compases (4.3), esto desencadena en que los algoritmos de estimación de tempo detecten la salsa a la mitad de tempo de lo que se escribe en la partitura, por lo que aunque en salsa los mínimos están alrededor de 160bpm en nuestras características aparece como 80bpm. El tempo se detecta con la función beat tracker degara, esta función enventana la señal de audio con 2048 muestras y 1024 muestras de solape para posteriormente calcular la diferencia entre cuadros sucesivos del espectro complejo de frecuencias, un método originario de [ 64 ]. El método podría resumirse de la siguiente forma, se normaliza la señal resultante de cada ventana mediante una media adaptativa y corrección de media onda. 4.2 Temporales 39 Figura 4.3 Extracto de Rebelión de Joe Arroyo. Figura 4.4 Patrón rítmico de la clave en salsa. Se calcula la autocorrelación para descartar información relacionada con la fase, de esta forma se obtiene la información relacionada con la periodicidad del mismo. La función beat tracker degara devuelve un vector con los segundos en los que ocurre cada pulso, de esta forma obteniendo la media de la diferencia entre pulsos consecutivos y dividiendo 60 entre la misma podemos obtener la cantidad de pulsos por minuto o BPM. Sea el vector x de npulsos, tal que [x1,x2,...,xn]son los distintos pulsos consecutivos, entonces: BPM =60 ∑n k=2(xk−xk−1) n (4.13) 4.2.2 RMS La media cuadrática o Root mean square (RMS) es la medida estadística de la magnitud de una cantidad variable. El nombre deriva del hecho de que es la raíz cuadrada de la media aritmética de los cuadrados de los valores del vector de la señal. En este caso, el vector contiene las muestras de la señal de audio. Se puede expresar para una variable discreta como: xRMS =s1 N N ∑ i=1 x2 i=sx2 1+x2 2+...+x2 N N(4.14) Siendo en nuestro caso xi cada uno de los frames en los que separamos la canción. Se extrae como característica la media y la varianza de la media cuadrática a lo largo de todos los frames extraídos para cada canción. 40 Capítulo 4. Características usadas 4.3 La transformada fraccional de Fourier Esta característica se encuentra fuera de las secciones 4.1 y 4.2 porque la transformada fraccional de Fourier transforma cualquier señal en un dominio entre tiempo y frecuencia. Se usa en diseño de filtros, análisis de señales, estimación de fase, reconocimiento de patrones y en este caso como característica para clasificar géneros musicales [10][9]. 4.3.1 Definición Puede pensarse como la transformada de Fourier a la n-ésima potencia no necesariamente siendo n un entero. Este es el caso que nos interesa, puesto que cuando no es un entero es cuando se generan los espacios intermedios entre tiempo y frecuencia. Sea la definición de transformada de Fourier de una función x(t)como : F{x(t)}=y(f)(4.15) Entonces se define: Fα{x(t)}=yα(f)(4.16) siendo Fα la “transformada fraccional de Fourier de orden α ” siendo α el “orden fraccional”. Puede escribirse como: Fα[f](u) = p1−icot(α)eiπcot(α)u2Z∞ −∞ e−i2πcsc(α)u x−cot(α) 2x2f(x)dx (4.17) No obstante también es muy común encontrar la definición de la misma en forma de convolución con un kernel [65] que será la que usaremos a partir de ahora: fa(u) = Z∞ ∞ Ka(u,u0)f(u0)du0(4.18) Ka(u,u0) = Aαexpi∗π(cot(αu2)−2 csc(αuu0)+cot(αu02))(4.19) Aα=p1−icot(α)(4.20) α=a∗π 2(4.21) Nota: en 4.16 α hace referencia al orden de la tranformada mientras que en 4.18 se usa a para referirnos al mismo y α se usa en cambio en 4.19 y 4.21 como el ángulo que forma el dominio intermedio con el dominio del tiempo (Véase la figura 4.5) 4.3 La transformada fraccional de Fourier 41 4.3.2 Propiedades La transformada satisface las siguientes condiciones F0{x(t)}=x(f)(4.22) F1{x(t)}=y(f)(4.23) Además también posee una importante serie de propiedades: Índices aditivos Fβ{Fα{x(t)}} =Fβ+α{x(t)}(4.24) Inversa (Fα)−1=F−α(4.25) Linearidad Fa"∑ k bkfk(u)#=∑ k bk[Fafk(u)] (4.26) Por lo tanto podría considerarse con 4.24 a la transformada de orden α como aplicar la transformada de Fourier un número α de veces consecutivas, de lo cual deducimos junto a 4.22, 4.23 y 4.25 que: F2=x(−t)(4.27) F4=x(t)(4.28) 4.3.3 Dominios El concepto mas importante de la transformada clásica de Fourier es el de “dominio de la frecuencia”, donde las señales resultan mas intuitivas de comprender, es por ello que cabría preguntarse cual es el sentido o donde reside el espacio tiempo-frecuencia. Resulta mas fácil de entender si se atiende a la figura 4.5 que muestra en un plano los dominios t(tiempo) y f(frecuencia). Los ejes oblicuos bajo el ángulo α constituyen los dominios intermedios entre la frecuencia y el tiempo, donde el aesimo orden y α están relacionados según la ecuación 4.21, lo cual es consistente con las propiedades 4.24, 4.22 y 4.23. Además podemos ver un ejemplo de aplicación para filtrado de señales mediante la rotación del espacio tiempo en 4.6. La progresiva transformación entre tiempo y frecuencia puede verse en 4.7 42 Capítulo 4. Características usadas Figura 4.5 Plano tiempo-frecuencia. Figura 4.6 Ejemplo de aplicación de la FrFFT [66]. 4.3.4 Características Una vez calculada la transformada de Fourier fraccional procedemos a extraer los MFCC con el proceso explicado en 4.1.1, y de estos volveremos a calcular la media y la varianza a lo largo de todas las ventanas. El valor que permite la detección óptima se obtenido mediante un estudio experimental cuyo el valor se mostrará en el apartado de resultados. 4.4 Resumen de Caracetrísticas Las características usadas son el total 71, y se resumen en la tabla 4.1. 4.4 Resumen de Caracetrísticas 43 Figura 4.7 Transformada fraccional de Fourier desde orden 0 a 1 de una señal Sinc(). Tabla 4.1 Resumen de características. Num. Características Tipo Características 40 Tímbricas Varianza y media de los 13 primeros MFCC, varianza y media del centroide espectral, varianza y media del flujo espectral, varianza y media del centroide del flujo espectral, varianza y media de la caída espectral (o Rolloff ), varianza y media del sesgo espectral, varianza y media de la curtosis espectral, varianza y media de la spectral flatness 5 Temporales BPM o tempo, media y varianza de la tasa de cruce por cero, media y varianza de la media cuadrática 26 FrFFT Media y varianza de los 13 primeros FrMFCC 50 Capítulo 5. Resultados En la tabla 5.2 se observa como subspace discriminant mantiene la mejor tasa sobre los otros métodos probados. Aprendizaje no supervisado Para el aprendizaje no supervisado el clustering de k-means ha obtenido resultados notablemente inferiores a los de el aprendizaje supervisado. El entrenamiento se ha realizado utilizando la función kmeans de Matlab, usando el parámetro “Replicates”, el cual indica el número de veces a repetir el proceso de clustering variando en cada una de estas repeticiones la posición inicial de los centroides para evitar así que la solución converja a un mínimo global. La evaluación de estos resultados no es tan sencilla como en el aprendizaje supervisado puesto que aquí no existen etiquetas que ayuden a comprobar directamente los valores que estos deberían tener, no obstante si que existen métodos como el de rand index [73] o el de silhouette [74] que permiten estimar el comportamiento de los clusters. En el caso de rand index permite conocer el parecido entre el resultado de dos procesos de clustering, el procedimiento es el siguiente: Sea una serie de elementos n definidos en S={σ1,...σn} y dos particiones de S , X= {X1,...,Xr} una partición de r clusters, y Y={Y1,...,Ys} una partición en s clusters. Entonces: •a es el numero de pares de elementos de S que están en el mismo cluster en X y en el mismo cluster en Xen Y •b es el numero de pares de elementos de S que están en diferentes cluster en X y en diferentes cluster en Y •c es el numero de pares de elementos de S que están en el mismo cluster en X y en diferentes cluster en Y •d es el numero de pares de elementos de S que están en diferentes cluster en X y en el mismo cluster en Y queda definido rand index como [75]: R=a+b a+b+c+d=a+b n 2(5.1) De manera intuitiva a+b serían el número de acuerdos entre X e Y , así como c+d el número de desacuerdos entre ambos, y R un porcentaje que nos permite medir la similitud entre ambos. Como tenemos la clase a la que debería pertenecer podemos construir un “falso” índice de clusters que nos permita averiguar cuanto difiere el resultado obtenido del que correspondería obtener realmente y compararlos. En el caso de silhouette lo que nos permite evaluar es la “consistencia” dentro de los clusters. Sea a(i) la distancia media de i a todos los objetos dentro del mismo cluster y sea b(i) la distancia (euclídea) media mas pequeña de i a todos los puntos de cualquier cluster 5.2 Valoración de los resultados 51 de los que ino es miembro. Definimos entonces la función silhouette como: s(i) = b(i)−a(i) max{a(i),b(i)}(5.2) Puede verse que s(i)queda definida entre -1 y 1. Para que la función se acerque a 1 se requiere que a(i)<< b(i) . Y dado que la primera es una medida de consistencia interna por lo que los valores pequeños son deseables, y la segunda una medida de disparidad con los clusters vecinos por lo que es deseable valores grandes. Es por tanto que los valores cercanos a 1 implican un buen resultado. Por otro lado para que la función se aproxime a -1 a(i)>> b(i) siendo en este caso mas apropiado que estuviera en un cluster vecino. Con estas herramientas en mano y el algoritmo de t-sne que podemo encontrar en [ 71 ], observamos que los mejores resultados se obtienen al reducir el espacio de características con t-SNE a 16, obteniendo un R=0.71 . Además al observar la figura silhouette se puede ver que los clusters guardan cierta consistencia. Figura 5.6 Resultado de silhouette para el óptimo según rand index. No obstante cuando observamos la figura 5.7 podemos ver que los resultados dejan bastante que desear, a excepción del reggaeton donde hay un buen agrupamiento de canciones. 52 Capítulo 5. Resultados Figura 5.7 Número de puntos en cada cluster de (1) Bachata (2) Chachacha (3) Reggaeton (4) Salsa (5) Merengue. Aunque sin la reducción de dimensiones, el resultado habría sido mucho peor (figura 5.8). 5.2 Valoración de los resultados 53 Figura 5.8 Número de puntos en cada cluster de (1) Bachata (2) Chachacha (3) Reggaeton (4) Salsa (5) Merengue. Caso de no reducción de dimensiones. 6 Conclusiones y líneas futuras En este trabajo hemos visto un ejemplo de cómo se pueden clasificar 5 géneros del ámbito de la música latina y una serie de características que permiten realizar un buen acercamiento para clasificar y que proporcionan una base para futuras investigaciones . 6.1 Conclusiones Los resultados con el aprendizaje supervisado dan a entender que las características seleccionadas son suficientes como para poder estimar con seguridad un género. Además el tiempo de procesado de canción de unos 2-3 segundos lo hace bastante aceptable como que para que pueda ser usado en un sistema de automezclado/autopinchado con cierta seguridad. La transformada fraccional de Fourier ha resultado ser un elemento útil ya que la detección aumenta en hasta un 1.125% en el caso del ensemble con respecto a la mayoría de características de bajo nivel que se suelen encontrar en otros casos. En cuanto al aprendizaje no supervisado, aunque resulta muy interesante puesto que podría tratarse de clasificar géneros musicales a ciegas, los resultados son bastante deficientes como se ven en la figura 5.7. 6.2 Líneas futuras Los resultados obtenidos en el aprendizaje supervisado son bastante aceptables, aunque queda por observar como se comportaría el sistema si se le añaden por ejemplo las características de kernels basados en gammatones como en [ 27 ], o la inclusión de características de alto nivel como se propone en [ 11 ]. Además sería interesante ver el sistema utilizando características en tiempo real que permite extraer la librería essentia [68]. Aunque los resultados para el no supervisado han sido bastante malos, la cantidad de algoritmos existentes de aprendizaje no supervisado van mucho mas allá del clustering, 55 56 Capítulo 6. Conclusiones y líneas futuras sino que existen otras técnicas como el self-organizing map [ 76 ] o incluso dentro del mismo clustering hay distintas técnicas distintas a la de k-means, algunas muy interesantes permiten estudiar la “asimetría” que existe en el conjunto de características para dar el mejor resultado [77]. Índice de Figuras 1.1 Espectrograma para bachata 4 1.2 Espectrograma para chachachá 5 1.3 Espectrograma para merengue 6 1.4 Espectrograma para reggaeton 7 1.5 Espectrograma para salsa 8 2.1 Resultados de las tareas de clasificación del MIREX 2017, en las columnas están las distintas tareas de clasificación y en las filas los nombres abreviados de los distintos métodos presentados 10 2.2 Test de Friedman de la precisión por clases para los clasificadores LPNKK1, LPKK3, PLNPH1 [15], PLNPH1 [13] y XLJ1 [14]. Obtenido de [21] 11 2.3 Precisión por clases de LPNKK1, LPKK3, PLNPH1 [15], PLNPH1 [13] y XLJ1 [14]. Obtenido de [21] 12 2.4 Ventanas usadas en el artículo [24] 13 2.5 Matriz de confusión para el mejor caso de [24], extraída del artículo original 14 2.6 Matriz de confusión del artículo [25] extraída del artículo original 14 2.7 Matriz de confusión resultante del artículo [32]. Extraída del artículo original 15 2.8 Matriz de confusión para el sistema de [33] 17 3.1 Separación de dos clases mediante un hiperplano guardando el mayor margen posible [39] 20 3.2 La probabilidad de que lde 40 hipótesis sean incorrectas, siendo errores incorrelados y con una Pe=0.4La probabilidad de que más de la mitad de los clasificadores hayan cometido un error, será de 0.1298, lo cual es bastante menor que 0.4 22 3.3 La probabilidad de que lde 40 hipótesis sean incorrectas, siendo errores incorrelados y con una Pe=0.7. La probabilidad de que más de la mitad de los clasificadores hayan cometido un error, será de 0.9976, lo cual es bastante mayor que 0.7 22 3.4 Espacio de características de 3 dimensiones y su proyección en un subconjunto aleatorio de 2 dimensiones 24 3.5 Función producida por algoritmo de análisis de discriminantes lineales [49] 28 3.6 Clusters definidos muy claramente [62] 32 4.1 Filtros distribuidos uniformemente en frecuencia lineal 34 4.2 Filtros distribuidos uniformemente en mel visto en frecuencias lineales 35 4.3 Extracto de Rebelión de Joe Arroyo 39 4.4 Patrón rítmico de la clave en salsa 39 4.5 Plano tiempo-frecuencia 42 4.6 Ejemplo de aplicación de la FrFFT [66] 42 57 58 Índice de Figuras 4.7 Transformada fraccional de Fourier desde orden 0 a 1 de una señal Sinc() 43 5.1 Proceso de extracción de características 45 5.2 Proceso de lectura de características y creación de los modelos de clasificación 46 5.3 Captura del Excel de salida del algoritmo que extrae las características temporales y espectrales 46 5.4 Captura de pantalla de Classification Learner 48 5.5 Matriz de confusión para el modelo de Ensemble 49 5.6 Resultado de silhouette para el óptimo según rand index 51 5.7 Número de puntos en cada cluster de (1) Bachata (2) Chachacha (3) Reggaeton (4) Salsa (5) Merengue 52 5.8 Número de puntos en cada cluster de (1) Bachata (2) Chachacha (3) Reggaeton (4) Salsa (5) Merengue. Caso de no reducción de dimensiones 53 Índice de Tablas 4.1 Resumen de características 43 5.1 Resultados obtenidos previamente a la adición de los frMFCC 49 5.2 Resultados obtenidos posteriormente a la adición de los frMFCC 49 59 66 Bibliografía [74] P. R. Kaufman L., “Finding groups in data: An introduction to cluster analysis,” NJ: John Wiley & Sons, Inc., 1990. [75] L. Hubert and P. Arabie, “Comparing partitions,” Journal of Classification, vol. 2, no. 1, pp. 193–218, dec 1985. [76] D. Olszewski, “Asymmetric k -means clustering of the asymmetric self-organizing map,” Neural Processing Letters, vol. 43, no. 1, pp. 231–253, mar 2015. [77] B. S. Dominik Olszewski, “Asymmetric clustering using the alpha–beta divergence,” Pattern Recognition 47, 2014.