Universidad Técnica Federico Santa María
Departamento de Informática
Valparaíso � Chile
REPRESENTACIÓN TOPOLÓGICA DE LAS
CARACTERÍSTICAS DE LA SEÑAL DIGITALIZADA
DE LA MÚSICA PARA LA GENERACIÓN
AUTOMÁTICA DE LISTAS DE REPRODUCCIÓN.
Tesis presentada como requerimiento parcial
para optar al grado académico de
MAGISTER EN CIENCIAS DE LA INGENIERÍA
INFORMÁTICA
y al título profesional de
INGENIERO CIVIL EN INFORMÁTICA
por
Héctor Hidalgo Sepúlveda
JUNIO 2012
Universidad Técnica Federico Santa María
Departamento de Informática
Valparaíso � Chile
TITULO DE LA TESIS:
REPRESENTACIÓN TOPOLÓGICA DE LAS CARACTERÍSTICAS
DE LA SEÑAL DIGITALIZADA DE LA MÚSICA PARA LA GENE-
RACIÓN AUTOMÁTICA DE LISTAS DE REPRODUCCIÓN.
AUTOR:
HÉCTOR HIDALGO SEPÚLVEDA
Tesis presentada como requerimiento parcial para optar al grado académico
deMagister en Ciencias de la Ingeniería Informática y al título profesional
de Ingeniero Civil en Informática de la Universidad Técnica Federico Santa
María.
Dr. Héctor Allende OlivaresProfesor Guía
Dr. Marcelo Mendoza RochaProfesor Correferente
Dr. Rodrigo Salas FuentesProfesor Externo
Junio 2012.
Valparaíso, Chile.
ii
Dedicada a...
iii
Agradecimientos
.
Valparaíso, Chile Héctor Hidalgo Sepúlveda
iv
ResumenDesde que los formatos de música digital se crearon, enormes cantidades de archivos
de música comenzaron a estar almacenados en sistemas comerciales y en nuestros propios
computadores y dispositivos móviles, ya sea por la adquisición o libre y natural distribución
que se da entre los mismos usuarios. Estas grandes cantidades de archivos, no sólo requieren
ser almacenadas y organizadas; sino que dada la cantidad de nueva música disponible año
a año, se hace cada vez más necesaria no sólo su indexación y recuperación sino que su
procesamiento automático para tareas como clasi�cación, agrupamiento por similaridad de
estilos o conocer nueva música, entre los millones de grupos existentes a nivel mundial. Pero,
¾Es posible automatizar el concepto de distancia de timbre o similaridad como un fenómeno
en que una canción parece similar a otra?
El objetivo de esta tesis es diseñar e implementar un algoritmo para la generación de
grupos de música similar mediante la aplicación del modelo de mapas auto organizativos
para el aprendizaje topológico de las características de la señal digitalizada de la música.
En esta tesis se estudian los métodos de extracción de características para la recuperación
de información en música, se analiza un método para obtener el conjunto de características
que mejor permite tareas de aprendizaje automático y se construye un algoritmo basado en
las redes SOM para la generación de listas de reproducción de música que permita una suave
transición entre música similar.
Palabras Claves: Minería de Datos, Clustering, Recuperación de Información en
Música, Extracción de características, Generación automática de listas de reproducción de
música.
v
AbstractSince the creation of digital audio formats, huge amounts of audio �les began to be stored
in commercial systems and on our own computers and mobile devices, whether by purchase
or users freely sharing between themselves. These large quantities of �les need to be more
than just simply stored and organized. Given the increasing amount of new music available
every year, these �les must be indexed and retrieved. They also should be automatically
processed for tasks such as classi�cation, clustering by style similarity, or processing new
music from among the millions of musical groups worldwide, but, is it possible to automate
the concept of timbre distance and similarity as a phenomenon in which one song seems
similar to another?
This thesis will focus on the design and implementation of an algorithm to generate
playlists of similar music by applying the Self-organizing map (SOM) model for topological
learning of the features of digitized music signal.
The methods used to extract characteristics for music information retrieval and to choice
the set of characteristics that best represents musical styles to automatic learning and
processing will be explored. Furthermore, will propose an algorithm based on SOM network
to generate playlists of music that allows smooth transitions between similar music.
Keywords: Data Mining, Clustering, MIR: Music Information Retrieval, Extraction of
features in music �les, Automatic playlists generation.
vi
Indice de Contenidos
Agradecimientos iv
Resumen v
Abstract vi
Indice de Contenidos vii
1. Introducción 1
1.1. Motivación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2. Extracción de Características . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3. Tipos de problemas abordados en Recuperación de Información en Música . 4
1.4. Objetivos y Contribución de esta Tesis . . . . . . . . . . . . . . . . . . . . . 5
1.5. Organización de esta Tesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2. Estado del Arte 7
2.1. Estado del Arte en Extracción y Selección de Características desde archivos
de música en formato digital. . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1.1. Contexto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1.2. Proceso de extracción de características . . . . . . . . . . . . . . . . . 9
2.1.3. Selección de Características . . . . . . . . . . . . . . . . . . . . . . . 11
2.2. Estado del Arte en Clasi�cación de Música. . . . . . . . . . . . . . . . . . . 13
2.2.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2.2. Clasi�cación de música . . . . . . . . . . . . . . . . . . . . . . . . . . 13
vii
2.3. Estado del Arte en Visualización de Música utilizando Mapas auto-organizativos
SOM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3.1. Introducción a SOM . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3.2. SOM aplicado a la música . . . . . . . . . . . . . . . . . . . . . . . . 17
2.4. Estado del Arte en Generación de Listas de Reproducción de Música. . . . . 18
3. Metodología 19
3.1. Extracción de Características desde archivos de música en formato digital . 20
3.1.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.1.2. El proceso de extracción de características . . . . . . . . . . . . . . . 20
3.1.3. Reducción de dimensionalidad . . . . . . . . . . . . . . . . . . . . . . 27
3.2. Selección de Características . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.2.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.2.2. Preprocesamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.2.3. Relación entre el número de características y el número de datos de
entrenamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.2.4. El proceso de selección de características . . . . . . . . . . . . . . . . 34
3.3. Clasi�cación automática de Música . . . . . . . . . . . . . . . . . . . . . . . 39
3.3.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.3.2. SVM - Support Vector Machines . . . . . . . . . . . . . . . . . . . . 40
3.4. Generación de listas de reproducción de música . . . . . . . . . . . . . . . . 53
3.4.1. 1° Enfoque: Generación de listas de reproducción mediante similaridad
de cosenos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.4.2. 2° Enfoque: Generación de listas de reproducción mediante SOM . . 56
4. Experimentos 61
4.1. Medidas de Evaluación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.1.1. Las medidas: Precisión y Recall . . . . . . . . . . . . . . . . . . . . . 62
4.1.2. La medida Fmeasure . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.1.3. La medida Kappa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
4.2. Conjuntos de Datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
viii
4.2.1. Conjunto de datos - GarageBand 2008 . . . . . . . . . . . . . . . . . 65
4.2.2. Conjunto de datos - ISMIR 2004 . . . . . . . . . . . . . . . . . . . . 66
4.2.3. Conjunto de datos - GTZAN Genre Collection . . . . . . . . . . . . . 66
4.3. Extracción de Características . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.4. Selección de Características: . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.5. Clasi�cación automática . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.6. Generación de listas de reproducción . . . . . . . . . . . . . . . . . . . . . . 71
4.6.1. Mediante distancia de cosenos . . . . . . . . . . . . . . . . . . . . . . 71
4.6.2. Mediante aplicación de SOM . . . . . . . . . . . . . . . . . . . . . . . 71
4.7. Resultados: Listas de reproducción . . . . . . . . . . . . . . . . . . . . . . . 77
4.8. Discusión de los resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
4.9. Visualización de grupos a través de la web . . . . . . . . . . . . . . . . . . . 86
5. Conclusiones y Trabajo Futuro 88
5.1. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
5.2. Posibilidades de trabajo futuro . . . . . . . . . . . . . . . . . . . . . . . . . 89
5.2.1. Sobre disponibilidad de conjuntos de datos . . . . . . . . . . . . . . . 89
5.2.2. ¾Cómo efectuar el muestreo de una pieza musical? . . . . . . . . . . . 89
5.2.3. Calidad de la música a procesar . . . . . . . . . . . . . . . . . . . . . 89
5.2.4. ¾Qué características incluir? . . . . . . . . . . . . . . . . . . . . . . . 90
5.2.5. Criterios para la extracción de características . . . . . . . . . . . . . 90
5.2.6. Profundizar en la generación de listas de reproducción utilizando
distancia de cosenos . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
5.2.7. Investigar otros métodos de ranking . . . . . . . . . . . . . . . . . . . 91
Apéndices 92
A. Abreviaciones 93
B. Características seleccionadas 95
ix
x
C. Listado de Clasi�cadores 98
C.1. Métodos de clasi�cación testados . . . . . . . . . . . . . . . . . . . . . . . . 98
Bibliografía 102
Capítulo 1
Introducción
1.1. Motivación
Desde que los formatos de música digital existen hasta la fecha, las bases de datos de
música almacenan millones de registros y cada año aumenta signi�cativamente el número de
archivos nuevos, de manera que se vuelve cada día un gran reto todo lo que respecta a la
recuperación de información desde estos grandes volúmenes de datos.
Ya no sólo procesar, almacenar, indexar y/o categorizar [38] estas enormes cantidades de
archivos es un problema, sino que además darlos a conocer a los usuarios �nales, que por
supuesto, son los bene�ciados en contextos que van desde el ámbito comercial1, pasando por
el cultural y llegando hasta el actual contexto de la generación de redes sociales en torno a
preferencias musicales2.
La necesidad existente de indexar y organizar estas enormes cantidades de archivos dejó
de ser un problema que involucraba a las disqueras o coleccionistas, pues los actuales formatos
de música han posibilitado que cada persona albergue en sus computadoras o sistemas
portátiles varios miles de temas, en los que día a día se tienen necesidades del tipo:
Completar meta información (artista, nombre de la canción, etc.),
Identi�car un tema (dada una muestra de sonido, saber su meta información)[5],
Obtener partituras desde un archivo en formato digital,
1http://www.apple.com/itunes2http://www.lastfm.es/
1
Categorizar la música por género (Rock, Pop, Jazz, etc.),
Agrupar música similar [23] (que además trae consigo el problema de visualización),
Sugerir artistas o temas similares para �nes tales como dar a conocer nueva música,
entre otros.
Y el problema no es sencillo, ya que una persona puede considerar ciertos tipos de música
como similares o no, pero enseñar a un computador este concepto es difícil dada la cantidad
de enfoques con las que puede ser abordado el tema.
Como ejemplo, un archivo Mp3 con una frecuencia de muestreo de 44.100 Hz, tasa de
bits de 128 kbps y unos 3 minutos de grabación, posee una señal con aproximadamente
8 ∗ 106 valores, luego dada esta serie de tiempo, saber si es similar o perteneciente a una
clase especí�ca, no es un asunto trivial y es justo en este contexto en el que esta tesis será
desarrollada.
1.2. Extracción de Características
Para el análisis de semejantes series de datos (señal digital de un archivo de música) y
cantidad de archivos a procesar, no resulta factible su computo en línea, ya que los tiempos
de cálculo agregan un problema adicional y que es la factibilidad de contar con resultados
en tiempos razonables, motivo por el cual diversos investigadores3 en Music Information
Retrieval han creado un preprocesamiento de estas señales en un procedimiento que
llamaremos �extracción de características� en la que las señales a analizar son preprocesadas
para obtener de ellas información adicional pero resumida acerca de su composición.
Algunos de los pasos típicos incluyen: Bajar la calidad del sonido de Estero a Mono, con
una tasa de muestreo de 22 MHz y además asumiendo en general, que la señal de sonido no
será completamente analizada sino que sólo una sección de ella (ejemplo: 10 o 30 segundos
de alguna parte de un tema musical), de la cual se obtienen características de corto y/o largo
plazo4.
3Alfred Ultsch, Andreas Rauber, Elias Pampalk, Fabian Mörchen, Robert Neumayer y Rudolf Mayerentre otros.
4Más adelante se entrega información acerca del proceso de extracción de características
2
Respecto de las características que podrían ser extraídas de una señal digital, muchas
ya han sido propuestas en la literatura [21], pero no ha quedado claro en qué manera unas
se relacionan con otras. Algunos autores5 han propuesto extraer características sobre una
corta ventana de tiempo durante la cual la señal del sonido es asumido como estacionario, lo
que produce una pequeña muestra de serie de tiempo desde la cual se obtiene un conjunto
de descriptores de la señal de sonido. Estas características de bajo nivel son agregadas en
una etapa siguiente para formar un vector de alto nivel de características, lo que permite su
utilización, por ejemplo, en algoritmos de clasi�cación. Existe un estudio interesante realizado
por Moerchen y otros autores en 2005 [21], sobre las características que mejor permitirían
implementar estudios posteriores para clasi�cación o clustering.
A pesar de la gran cantidad de características que pueden ser extraídas desde los archivos
de música, diversos autores (como los participantes del famoso congreso internacional ISMIR6
el cual se desarrolla desde el año 2000 de manera anual) han basado sus investigaciones en
los buenos resultados que se han obtenido en otros trabajos utilizando como características
sólo los coe�cientes cepstrales en las frecuencias de Mel (MFCC Mel Frequency Cepstral
Coe�cients7), que corresponden a una transformación de la señal digital bruta que daría
mayor importancia a las frecuencias audibles por una persona, y que por ende, tendría
mejores resultados en el problema de reconocimiento de voz.
5Elias Pampalk, Fabian Mörchen, Alfred Ultsch, Rudolf Mayer, Robert Neumayer, y Andreas Rauberentre otros
6http://www.ismir.net/7Daniel P. W. Ellis: online web resource - http://www.ee.columbia.edu/~dpwe/resources/matlab/
rastamat
3
1.3. Tipos de problemas abordados en Recuperación de
Información en Música
La recuperación de información en Música o MIR por su sigla en inglés, es el área de
investigación dedicada al modelamiento, creación, búsqueda, procesamiento y uso de datos
musicales. Tal como el término MIR indica, es una área de investigación motivada por el deseo
de proveer entre quienes gustan de la música, métodos y herramientas robustos, efectivos
y utilizables para ayudar a localizar, recuperar información y experimentar con la música.
MIR es un área interdisciplinaria que involucra a investigadores de las disciplinas de la
música, ciencias cognoscitivas, ciencias de la biblioteconomía y documentación, ciencias de
la computación, entre otras.
Algunas investigaciones han abordado los siguientes problemas:
Categorización automática para archivos digitales de audio. Este enfoque
intenta resolver problemas como: la identi�cación de género o estilo musical, la
identi�cación de artistas, el reconocimiento de voz en una señal de audio, la
identi�cación del idioma en una grabación, la traducción de señales a palabras escritas,
entre otros.
Agrupamiento automático de archivos digitales de audio según Similaridad.
Este problema intenta identi�car reglas de agrupamiento de señales de audio cuyas
clases no están prede�nidas con anticipación. Dentro de sus métodos destacan las
técnicas de aprendizaje automático no supervisado utilizando análisis de timbre, ritmo,
tono, pulso, entre otras características. Una subárea de investigación se relaciona al
estudio de medidas de similaridad y/o extracción de características.
Recomendación de música y/o generación de listas de reproducción. Este
problema se basa en la creación de modelos que permitan la generación automática de
recomendaciones de música de acuerdo a elementos de similaridad.
Transcripción de señales de música. Este problema trata de la obtención de
tablaturas o partituras después del procesamiento de las señales de audio.
Organización de colecciones de música Este problema aborda temáticas como el
4
almacenamiento, localización e indexación de grandes volúmenes de archivos musicales
en formato digital.
Robots parlantes.Esta área de estudio intenta modelar y recrear robóticamente el
proceso de generación de señales audibles que imiten mecánicamente la voz humana.
Para saber otras interesantes áreas, véase http://ismir2012.ismir.net/authors/
call-for-participation.
1.4. Objetivos y Contribución de esta Tesis
El objetivo de esta tesis es diseñar e implementar un algoritmo para la generación de
listas de reproducción de música similar mediante la aplicación de mapas auto organizativos
para el aprendizaje topológico de las características de la señal digitalizada de la música.
Objetivos especí�cos
Estudiar métodos de extracción de características para la recuperación de información
en música y de�nir el conjunto de características que mejor posibilitaría la generación
de listas de reproducción por similaridad.
Proponer medidas de similaridad y construir un modelo SOM para el aprendizaje
topológico de las características de la señal digitalizada de la música, que permita un
agrupamiento de archivos de música similar.
Construir un algoritmo basado en las redes SOM para la generación de una lista de
reproducción que permita una suave transición entre música similar.
Generar la visualización del mapa auto-organizado para analizar la similaridad
entregada por la propuesta.
Hipótesis
Mediante una representación adecuada de la topología de las características extraídas de
las señales digitalizadas de la música, será posible la agrupación por similaridad de estilos
para la obtención de listas de reproducción.
5
1.5. Organización de esta Tesis
Para comenzar, en el capítulo 2 se analiza el estado del arte de cada una de las etapas
necesarias para esta tesis, siendo detalladas en la sección 2.1 el estado del arte para la
�Extracción y Selección de Características desde archivos de música en formato digital�, en
la sección 2.2 el estado del arte en �Clasi�cación de Música�, en la sección 2.3 el estado del
arte en las técnicas SOM para la visualización de música y �nalmente en la sección 2.4 el
correspondiente a las técnicas de generación de listas de reproducción de música.
Como metodología, en el capítulo 3 se estudian los principios teóricos que fundamentan
esta tesis, comenzando en la sección 3.1 con el proceso de extracción de características y
la sección 3.2 con el proceso de selección de características. A continuación, la sección 3.3
detalla el proceso de clasi�cación automática de música, �nalizando en la sección 3.4 con el
proceso de generación de listas de reproducción.
En el capítulo 4 se resumen los experimentos realizados incluyendo en la sección 4.1,
información referente a las medidas de evaluación que fueron utilizadas y en la sección
4.2, una breve descripción de los diferentes conjuntos de datos para los cuales se probaron
los algoritmos. Los resultados y discusión de los mismos pueden ser profundizados en las
secciones 4.7 y 4.8 respectivamente. Las características mejor evaluadas para la tarea de
generar listas de reproducción de música puede ser obtenida en el apéndice B.
Para �nalizar, en el capítulo 5 se presentan las conclusiones y posibilidades de trabajo
futuro.
Nota: Con el objeto de evitar mencionar reiteradamente el concepto �los datos de un
archivo de música en formato digital�, en lo que sigue se mencionará indistintamente a estos
archivos como �música�.
6
Capítulo 2
Estado del Arte
2.1. Estado del Arte en Extracción y Selección de Ca-
racterísticas desde archivos de música en formato
digital.
2.1.1. Contexto
En primer lugar se desea clari�car que existen abundantes trabajos de investigación que
han tratado el problema de la clasi�cación y la recomendación de música. Estos sistemas
hacen uso de la información que puede ser extraída desde las etiquetas ID3 de los archivos
multimedia o los que pueden ser obtenidos gracias a la intervención humana, como por
ejemplo, a través de rankings en sistemas de redes sociales como last.fm o etiquetado manual
de artistas y música. Sin embargo, en esta propuesta de tesis obviaremos en el modelo la
inclusión de estos datos (para lo cual existen investigaciones utilizando técnicas clásicas de
IR en archivos documentales). Ver un ejemplo de este enfoque en [11].
Extracción de Características de la música: Se comprenderá como el proceso
mediante el cual un archivo de música es mapeado desde un espacio en donde el recorrido de
las variables (canales de audio) tiene alta frecuencia (señal digital de un archivo de música)
y es transformado en otro espacio de n-dimensiones en donde cada dimensión corresponde
a una impresión, transformación, o característica derivada desde el archivo de música en
formato digital.
7
Lo primordial para comprender la complejidad de esta tarea, es analizar la naturaleza
de los datos de entrada, la cual corresponde a una serie de tiempo de alta frecuencia1 y de
comportamiento irregular, sin ciclicidad ni estacionalidad evidente. En el ámbito de estudio,
estas series son llamadas �datos brutos� y por su naturaleza, no es posible analizarlas de
forma directa por diversos aspectos, que se mencionarán a continuación:
Habitualmente, la similaridad de series de tiempo es determinada con respecto a alguna
forma de curva generalizada o �exible2. Los datos de un archivo de audio en formato
digital no tienen características que permitan este tipo de métodos de análisis.
El i-ésimo valor en la serie de una canción favorita en formato digital, no tiene una
correspondencia con el i-ésimo valor en la serie de otra canción favorita, y ni siquiera
si esa restricción fuera relajada a un (i± n)-ésimo valor.
La forma de una señal de audio no expresa aspectos evidentes para la realización de
análisis como son: tareas de clasi�cación o identi�cación, de búsqueda de similaridad
entre muchos otros3.
El largo de un archivo musical (cantidad de datos en la serie de tiempo) no tiene
por qué guardar correspondencia con otro archivo musical, y esto implica un amplio
margen de posibilidades a tener en cuenta, como por ejemplo, estimar qué sección de
la música es más representativa para tareas de recuperación de información, además
del largo a seleccionar (10 segundos, 30 segundos, el tema completo, etc.) y la calidad
de dicha sección (frecuencia de muestreo, tasa de bits, etc.).
La calidad de la sección de audio que será analizada (a través de su frecuencia de
muestreo y bitrate) involucrará más o menos datos en la serie original y la diferencia
en la cantidad de puntos entre las series, puede ser de varias veces. Un ejemplo a
continuación:
1Ejemplo: La canción folclórica �El guatón Loyola� que tiene una duración de 1:57 [min], 128 kbps, 44100Hz en formato mp3, tiene una serie de 5.173.631 valores.
2Algunos ejemplos son el análisis de series de tiempo �nancieras que involucran la búsqueda de patrones,tendencias, ciclicidad, etc
3http://www.music-ir.org/mirex/wiki/MIREX_HOME
8
� Archivo: �El guatón loyola.mp3� - 1:57, 128 kbps, 44100 Hz > 5.173.631 puntos.
� Archivo: �El guatón loyola.mp3� - 1:57, 19 kbps, 11025 Hz > 1.294.847 puntos.
Por todo lo anterior, es necesario que las características extraídas desde la señal de datos
(ver �gura 2.1) permitan un mapeo desde la señal digital hacia un vector de interés que
ofrezca un enfoque útil al procesamiento automático.
Figura 2.1: Señal de audio verde, �El guatón Loyola�, 1:57 [min]. 128 kbps, con una tasa demuestreo de 44100 Hz tiene un largo de ½5.173.631 valores!. Serie roja, corresponde a unaampliación visual de un segundo de una sección de la pieza musical. En este caso, el mayormovimiento de la serie corresponde a la voz.
2.1.2. Proceso de extracción de características
La cantidad de características a obtener desde un archivo de música es tan grande como
permita la imaginación, pues muchas de ellas podrían corresponder a transformaciones de
diversa naturaleza y no todas ellas relacionadas directamente a terminologías musicales, lo
que a su vez impide una comprensión evidente entre el sonido y la característica extraída.
Desde el año 2000, G. Tzanetakis y otros [32], han estudiado la extracción exhaustiva
de características desde archivos en formato digital, creando un framework desarrollado
en lenguaje C que permite a los profesionales del área de recuperación de información,
el desarrollo de modelos que permitan desarrollar tareas de aprendizaje automático.
Recomendable es revisar el trabajo del año 2007 titulado �Marsyas: a case study in
implementing Music Information Retrieval Systems�, el cual se puede estudiar en [34] y que
permitió posteriormente en 2008, la creación del trabajo �Interoperability and the Marsyas
0.2 Runtime� [33] que forma parte fundamental de este trabajo de investigación.
La �International Society for Music Information Retrieval Conference4� contiene la
mayor cantidad de avances y formas en que éste y otros problemas han sido abordados,
4http://www.ismir.net/
9
encontrándose su máxima expresión en 2011, en donde puede notarse que el problema ya
no es visto sólo como un problema de recuperación de archivos sino que más bien ha tenido
enfoques más relacionados al intento de comprender tópicos más avanzados en análisis de
señales de audio.
En cuanto al proceso de extracción de características, en [18] se expone un marco
matemático introductorio acerca del proceso, pero se considera aún más relevante el aviso
que en ese entonces el autor presentó como problemáticas generales de esta área de estudio,
y que son también respaldadas en otros artículos del área (incluso en la actualidad):
Falta de un marco uni�cador: Existe un gran conjunto de métodos de extracción de
características que no han sido sistemáticamente investigados. Es necesaria la creación
de un framework que uni�que las técnicas de extracción para facilitar la comparación
de nuevas propuestas, métodos o características que podrían ser extraídas (Véase:
[18, 21, 34]).
Un mismo grupo de características no sirve para todos los propósitos o
conjuntos de datos: Se ha reportado en algunos trabajos [18, 21, 23, 38] que el mismo
grupo de características no tendría un nivel similar de éxito en tareas de clasi�cación
o separación de grupos en varios estilos musicales a la vez (música clásica, techno,
hip-hop, etc.), es decir, si la característica A, B y C permiten una buena clasi�cación
del estilo X, lo mismo podría no ocurrir en el estilo Y. Clasi�car música de acuerdo a
preferencias del usuario, di�cultaría aún más el problema de selección de características.
Gran espacio de búsqueda (explosión combinatoria): Actualmente no existe
un estudio que haya demostrado, que es posible seleccionar un subconjunto único de
características para resolver una tarea especí�ca. De hecho, ni siquiera sería posible
enumerarlo y además, se han reportado argumentos tendientes a pensar que un mismo
conjunto de características que obtuvo un buen rendimiento en un conjunto de datos,
no lo tendría en la misma forma en otro.
Algunos de los enfoques que son interesantes de mencionar son el de [19], en donde se
propone un método en el que se combina la generación exhaustiva de posibles características
y se analiza el aporte que cada una de ellas tendría para la identi�cación de música similar.
10
En [18] se propone un framework para la obtención de características, idea que también fue
propuesta en [32].
Los que quizás fueron los trabajos más fundamentales de todos, son los presentados en [3]
y en [31], pues propusieron un método para describir una señal de audio mediante un vector,
lo que gatilló posteriormente una apertura en el ámbito de los problemas de clasi�cación que
veremos en el apartado 2.2.
A pesar de que los métodos con intervención humana no serán analizados en esta tesis,
es de interés mencionar que la categorización de datos no sólo ha sido estudiada analizando
características que son posibles de extraer desde la señal de audio, sino que además se han
analizado como características las que los usuarios, a través de plataformas sociales, han
otorgado a los diferentes archivos de audio a través de etiquetas o rankings5.
Por ejemplo en [44] se analiza una mezcla de métodos en la que por una parte se toma
un método propuesto previamente por [32] en lo referente a la generación exhaustiva de
características, lo cual fue mezclado con datos etiquetados por usuarios en sistemas sociales
en línea y que en consecuencia permitió describir con bastante acierto la pertenencia de un
tema a un grupo musical. Lo importante en este método es la mezcla de las fuentes de datos
de entrada.
Para �nalizar, en [1] se analiza el dilema de cuál método es mejor en cuanto a resultados:
extracción de características desde señales de audio o el análisis de etiquetas comentado
anteriormente ([11] y [22]).
2.1.3. Selección de Características
El objetivo de este apartado es el de revisar brevemente la forma en que algunos autores
han llevado a cabo la etapa de selección de características, acción que tiene varias razones
de ser, como por ejemplo:
La dimensionalidad de los datos, impacta en la complejidad computacional (y el proceso
de generación de características podría llegar a crecer en varios cientos de ellas),
Como consecuencia de lo anterior, un gran número de características estará relacionado
a un mayor número de parámetros de clasi�cación (pesos sinápticos en una red
5Véase los sistemas: Flickr, YouTube o Last.fm
11
neuronal, pesos en un clasi�cador lineal, etc.),
Además, podría existir correlación entre las características extraídas (lo cual podría no
aportar razonablemente a la labor de clasi�cación automática), y
Por último, es deseable que para un número �nito de características (tan pequeño como
sea posible), la máquina de aprendizaje mantenga altas capacidades de generalización.
Por todo lo anterior, el problema a resolver quedará de�nido como sigue:
El Proceso Selección de Características (Feature Selection): Consiste en que
dada una colección de características, se desea seleccionar las más importantes, de tal modo
de reducir la cantidad de ellas y al mismo tiempo mantener, tanto como sea posible, la
información que permita una buena discriminación de las clases.
La problemática en este proceso es que al seleccionar mal las características se arriesga
un mal desempeño del clasi�cador en contraparte a lo que ocurriría al realizar una buena
selección de características, puesto que si se seleccionan las características más relevantes, la
complejidad del clasi�cador se verá notablemente simpli�cada (Capítulo 5 de [29]).
Lo que se desea obtener son aquellas características que permitan maximizar la distancia
entre clases y minimizar la varianza en los elementos de la misma clase en el espacio del
vector de características.
Típicamente, al analizar la literatura, los enfoques para esta etapa también son diversos.
Por ejemplo, mientras que en [18] se propone extracción de características y evaluación
de aptitud de las mismas, en [7] sencillamente no existe selección de características en un
modo estrictamente matemático sino que más bien se hace una preferencia a priori del
tipo de características que serán utilizadas (en este caso características Croma). El segundo
caso expuesto anteriormente, es uno de los casos más típicos encontrados en la literatura,
destacando los trabajos que utilizan prioritariamente las características MFCC6 o una mezcla
de estas con otras que son similares en su obtención [41].
Si el lector desea obtener un enfoque práctico de esta etapa de selección de características,
se recomienda revisar [30] pues podrá encontrar ejemplos y aplicaciones diseñados en
Matlab®. Si por otra parte, se desea obtener un enfoque teórico del proceso, se recomienda
revisar el libro [29].
6Mel Frequency Cepstral Coe�cients.
12
2.2. Estado del Arte en Clasi�cación de Música.
2.2.1. Introducción
Desde hace más de cincuenta años que los profesionales en especialidades de la estadística
y las ciencias de la computación han encontrado en éste problema un interesante reto. En
este apartado nos concentraremos en algunos de los métodos y enfoques existentes para la
clasi�cación automática de música.
Los primeros inicios en el campo de la clasi�cación automática de música se registran entre
los años 1950 y 1960, en los que German Fucks [9] introdujo al campo una de las primeras
indagaciones de que podría existir en las características de las composiciones musicales,
aspectos claves para intentar solucionar el problema de la identi�cación de compositores o
detección de �épocas musicales�.
Fucks analizó la estructura de composición de la música de diferentes periodos por medio
de medidas estadísticas, por ejemplo, las frecuencias de los intervalos de transición entre
notas vecinas o tonos más distantes, tarea que fue desarrollada para compositores típicos.
De esta forma, las composiciones de Beethoven y Bach denotaron una estructura lineal (que
podían ser reducidas al 1°violín) y que permitieron clasi�car estas composiciones de otras
como Berg o Webern. Adicionalmente a las medidas anteriormente analizadas, la distribución
de frecuencias del largo de los tonos, intervalos de tonos paralelos, acordes, entre otros
fueron estudiados7. Además, con el objeto de generar resultados más generales, se calculó
desviaciones estándares de tonos en muchas piezas musicales y luego se comparó por períodos
abriendo de esta forma, un punto de vista estadístico acerca del desarrollo de la composición
de música en cientos de años.
2.2.2. Clasi�cación de música
Por supuesto la historia en clasi�cación de música es tan extensa como los autores, pero
iremos a continuación a discutir los aspectos clave en la investigación de los problemas de
clasi�cación de música.
Según se indica en [38], la clasi�cación de música puede ser tratada como un problema
de aprendizaje supervisado o no supervisado (clustering). Visto como un problema de
7Ver trabajo de Fucks W y Lauter, 1965 en [10].
13
aprendizaje no supervisado, no se utiliza información alguna sobre las clases en las que
la categorización o agrupamiento se lleva a cabo, y por tanto, los grupos emergen desde
sus propiedades y una noción de similaridad utilizada para describir la música. Por otro
lado, el proceso de clasi�cación supervisado es tal, que se considera un conjunto de datos ya
etiquetados correctamente en una etapa previa, que serán los datos de entrada al clasi�cador
automático, el cual intentará aprender las reglas que permitan en el futuro clasi�car datos
no etiquetados.
Lo más importante para una adecuada clasi�cación mediante métodos supervisados o no
supervisados, es el conocimiento observable o deducido de las características obtenidas de
la música (véase [38] páginas 4-13), que será la base para el correcto agrupamiento de los
archivos (grupos distinguibles unos de otros). Adicionalmente, la clasi�cación no supervisada
requiere una adecuada �medida de similaridad o distancia� sobre la que estar basada. El
aprendizaje supervisado, requiere de clases relevantes observadas en el conjunto de datos de
aprendizaje y la evaluación de este tipo de aprendizajes típicamente estará basado en tasas
de error de las reglas de clasi�cación8.
A continuación algunos de los problemas que pueden ser abordados mediante técnicas de
clasi�cación en el campo de la recuperación de información en música.
Organización de colecciones de música.
Las enormes cantidades y volúmenes de datos asociados a archivos de música en formato
digital, han generado la necesidad de que estas colecciones de datos sean organizadas por
género, artista, álbum, etc., pero a menudo este procedimiento es efectuado de forma manual
para cada pieza musical. Por lo tanto, los métodos de clasi�cación supervisados pueden ser
utilizados para categorizar los archivos de música de acuerdo a elementos ya etiquetados,
por ejemplo, de acuerdo a artistas, estilos, etc. ya conocidos por el clasi�cador automático.
El nombre del artista, del álbum o el género podría ser asignado a un tema musical auto-
máticamente permitiendo consecuentemente el enlazado a sistemas en línea de distribución
y venta de música en Internet9.
Dentro de las aplicaciones de los métodos de clasi�cación no supervisados se encuentra la
8Véase sección 4.1 sobre métricas de evaluación para el aprendizaje automático supervisado9Music Genome Project - http://www.pandora.com, Apple Itunes: http://www.itunes.com/, Last Fm
- http://www.last.fm
14
categorización de música [31], la visualización de colecciones de música [6, 20] o la generación
de sistemas de recomendación de música [28].
Importante es también la inclusión del etiquetado de usuarios en redes sociales, que
aunque no será tema de estudio en este trabajo, puede ser visto en [22].
Transcripción de señales de música.
La transcripción de señales de música consiste en transformar una señal de audio en sus
correspondientes partituras, lo que permitiría por ejemplo, aplicaciones de aprendizaje en
músicos novatos en canto o al tocar un instrumento. Para saber más sobre este problema,
revise [14].
Las tareas de transcripción de música son aquellas en las cuales un archivo de audio es la
entrada y las partituras serían la salida. Este problema puede ser tratado como una tarea de
clasi�cación supervisada en donde las notas correctamente ejecutadas por músicos expertos
o bien la música ya grabada serían los datos de aprendizaje. Volver desde una señal de audio
a una hoja musical es la tarea principal en este enfoque y su aplicación directa se encuentra
en el aprendizaje de jóvenes músicos que desean aprender a tocar un instrumento, cantar o
simplemente en la obtención de la partitura10.
Psicología Cognitiva de la Música.
Para los más �románticos�, esta es una interesante sub área de estudio, ya que las clases
son emociones que la canción o tema musical produce en las personas (tristeza, alegría,
euforia, etc.) catalogando con ello, temas musicales que provocan en los auditores sensaciones
emocionales similares, o bien que traigan recuerdos hacia ciertos hechos pasados colectivos.
El último aspecto es posible porque según se analiza en [38, sección 6], existen estructuras
de composición que ciertamente han demostrado ser extraíbles y por tanto, se podría
encontrar música que en cierta época de la historia tenía una tendencia (ejemplos: Música
Hippie, Música revolucionaria, Música �romántica�, etc.).
En [2] se encuentra un detallado estado del arte sólo de esta sub área de interés.
10http://www.kevinwinegar.com/
15
Análisis de la estructura de composición.
Tiene por objeto la clasi�cación de acuerdo a criterios de estilo de compositores. Algunas
de sus aplicaciones pueden ser útiles en la identi�cación de un autor desconocido o para
explorar la variabilidad de técnicas en un gran número de piezas de un compositor en
particular.
Estas tareas de clasi�cación pueden ser exploradas en forma supervisada o no supervisada
desde una perspectiva exploratoria y dependiendo de la disponibilidad de información acerca
de autores o estilos. Algunas tareas podrían identi�car estructuras de alto nivel que no son
observables de forma directa, como por ejemplo, ciertas ocurrencias de eventos en un tema
musical, claves o estructuras de forma. A un bajo nivel de composición musical existen marcas
como cambios de pitch, entre otros aspectos más conocidos por expertos en música y que
permitirían clasi�car música por medio de su estructura de composición.
Estas tareas son similares a las de organización de colecciones de música, sin embargo, no
se utilizan análisis de señales para la clasi�cación sino que están basados en notas conocidas
(Véase [38, sección 7] para mayores referencias).
Por supuesto estas son sólo algunas de las áreas de estudio, y existe una enormidad
de material y enfoques de recuperación de información en música en constante desarrollo
e investigación. Se recomienda al lector interesado, tener como primera fuente de lectura,
la reciente agrupación en torno a temas de Recuperación de Información en Música en el
siguiente portal: http://www.ismir.net/
2.3. Estado del Arte en Visualización de Música utilizan-
do Mapas auto-organizativos SOM.
2.3.1. Introducción a SOM
En 1982, T. Kohonen presentó un modelo de red denominado �Mapas auto organizativos�
o SOM (Self-organizing Maps), inspirado en ciertas evidencias descubiertas a nivel cerebral.
Este tipo de red neuronal arti�cial posee un aprendizaje no supervisado competitivo.
No existe ningún maestro externo que indique si la red neuronal arti�cial está operando
correcta o incorrectamente, porque no se dispone de ninguna salida objetivo hacia la cual la
16
red neuronal deba tender.
La red neuronal arti�cial auto-organizada debe descubrir rasgos comunes, regularidades,
correlaciones o categorías en los datos de entrada, e incorporarlos a su estructura interna
de conexiones. Se dice por tanto, que las neuronas deben auto-organizarse en función de los
datos de entrada.
En el aprendizaje competitivo, las neuronas compiten unas con otras con el �n de llevar
a cabo una tarea especí�ca, por ejemplo, categorizar los datos que se introducen en la red
que poseen similitudes que implicarán la activación de una o varias neuronas en la capa de
salida.
Las clases o categorías deben ser creadas por la propia red, puesto que se trata de un
aprendizaje no supervisado, a través de correlaciones entre los datos de entrada.
Para un análisis más profundo se invita al lector a revisar el libro [15].
2.3.2. SOM aplicado a la música
La similaridad musical de archivos de audio puede ser modelada utilizando, tal como
se introdujo en el apartado 2.1, un conjunto de características de diversa naturaleza. Sin
embargo, estos modelos no pueden ser utilizados de forma sencilla con algoritmos de minería
de datos tradicionales [27], pues son requeridos muchos cálculos de distancia, a la vez que
son necesarios también, muchos cálculos involucrados a promedios y centroides, lo cual por
su parte, ha abierto el campo para que los datos de entrada involucren al menos dos tipos
de datos: Características extraídas desde las señales de audio [39] y datos etiquetados en
plataformas sociales [11].
En 2002, una de las primeras publicaciones relacionadas del caso [26] propuso como
método el uso de SOM como propuesta de articulación de similaridad. Sin embargo, en 2003
aparece una de las propuestas más interesantes a destacar por ahora y que corresponde a
la técnica UMatrix [35] que explora una forma más extensa de las redes SOM por cuanto
amplia enormemente el espacio bidimensional de neuronas de la capa de salida produciendo
una especie de plano o mapa que puede ser utilizado para representar una especie de geografía
de los datos. En 2005 los mismos autores [36] mejoran la técnica ofreciendo una aplicación
práctica de ESOM la que posteriormente sirvió para el desarrollo de una aplicación en 2006
17
que puede ser obtenida en Internet11.
2.4. Estado del Arte en Generación de Listas de Repro-
ducción de Música.
Tal como se ha comentado en otras secciones anteriores, en las conferencias ISMIR
existe una amplia cantidad de temáticas relacionadas a la recuperación de información
desde archivos de música. Una muy interesante categoría de participación es �Music
recommendation and playlist generation12�. En esta sección es en donde se pueden encontrar
trabajos relacionados a esta problemática.
Dentro de los alcances más interesantes se destacan [37] una técnica de generación de
listas de reproducción visual con pequeñas intervenciones de un usuario y el enfoque de
[8], por cuanto no utiliza metadatos (que sería lo obvio) sino que se basa en características
como las MFCC. En este último enfoque evidencian algunas tendencias en resultados ya
encontrados por otros investigadores del área y que se han mantenido en el tiempo en
publicaciones posteriores (existen estilos de música que son mucho más sencillos de analizar
e identi�car como el Hip-Hop y el Rock) y claramente los resultados para el mismo tipo de
características, di�ere enormemente entre distintos estilos musicales (afectando los resultados
de forma notoria). En el mismo artículo se incluye un ejercicio interesante (aunque subjetivo)
en donde se analiza la evaluación que realizan los usuarios al sistema de recomendación por
similaridad siendo la evaluación de los usuarios de un 71,1%.
En [16] se puede ver un enfoque que utiliza una técnica similar a la de [8], pero con
estaciones de radio online.
Todos los métodos anteriores utilizan el análisis de características, pero existen también
otros enfoques de interés: por ejemplo en [4] se plantea un modelo para la generación de
listas de reproducción mediante un enfoque visual y en [12] se puede ver un análisis del
problema utilizando técnicas de IR (information retrieval) que son muy utilizados en el área
de categorización de textos en problemas de bases de datos documentales.
11http://databionic-esom.sourceforge.net/12http://ismir2011.ismir.net/IFA.html
18
Capítulo 3
Metodología
Este capítulo complementa cuatro etapas, siendo la primera el proceso de extracción de
características desde archivos Mp3, pasando luego a la evaluación de aporte de cada de una
de ellas (selección de características) para un proceso de categorización automática (proceso
supervisado), y posterior visualización mediante mapas auto-organizativos (SOM), con el
objetivo de obtener una lista de reproducción que re�eje la similaridad [21] de estilo entre
los archivos de música procesados. Se prueba además, un proceso alternativo utilizando
como medida de similaridad la distancia de cosenos. La siguiente �gura ilustra brevemente
todas las partes del proceso que serán analizadas por separado en las secciones subsiguientes.
Figura 3.1: Metodología del proceso global para la generación de listas de reproducción.
19
3.1. Extracción de Características desde archivos de
música en formato digital
3.1.1. Introducción
Tal como se comentó en el Estado del Arte, la naturaleza de la señal de audio no permite
análisis tradicionales de series de tiempo y por lo mismo, es necesario un proceso de extracción
de características que, aunque podría simpli�car su análisis, también tiene importantes retos
aún no resueltos totalmente como: la gran cantidad y diversidad de posibles características a
obtener desde la señal digital y por consiguiente los enormes espacios de búsqueda (referido
al dominio de las variables de entrada en el problema).
3.1.2. El proceso de extracción de características
En términos generales, esta propuesta utiliza un gran número de características que han
sido propuestas en la literatura [31], las cuales dependiendo del enfoque y objetivo que se
desee lograr serán más o menos útiles.
Las características están basadas en la transformada corta de Fourier (STFT) y son
calculadas para cada frame (corto espacio de tiempo) del sonido a caracterizar1. Mt[n] es la
amplitud de la transformada de Fourier en el frame t y frecuencia del contenedor n.
Las características calculadas para esta tesis fueron:
Spectral Centroid: Es una medida de la forma espectral y corresponde al punto de
balance (centro de gravedad) de la magnitud del espectro de la STFT, el cual puede
ser calculado utilizando:
Ct =
∑nMt[n] · n∑nMt[n]
(3.1.1)
Spectral Rollof: está de�nido como la frecuencia Rt en la cual esta concentrado el
85% de la magnitud de la distribución, es decir, en las frecuencias más bajas. El Rollof
es también una medida de la forma espectral.
Rt∑n=1
Mt[n] = 0,85 ·N∑n=1
Mt[n] (3.1.2)
1Para más detalle acerca del algoritmo STFT, véase [25]
20
Spectral Flux: es la norma 2 de la diferencia entre la magnitud del espectro de la
Transformada corta de Fourier (STFT) evaluada en dos frames sucesivos. La STFT es
normalizada en energía. Spectral Flux es una medida del cambio espectral.
Ft =N∑n=1
(Mt[n]−Mt−1[n])2 (3.1.3)
donde Mt[n] y Mt−1[n] son las magnitudes normalizadas de la transformada de Fourier
en el frame actual t y el frame anterior t− 1 respectivamente.
Zero Crossings: Provee una medida de lo ruidosa que es una señal.
Zt =1
2
N∑n=1
|sign(x[n])− sign(x[n− 1])| (3.1.4)
donde sign es 1 para entradas positivas y −1 para entradas negativas y x[n] es el dominio
de tiempo para el frame t. Zero Crossings corresponde también al número de veces que la
señal cambia de signo desde un punto en la serie al otro (o toca el eje central de la señal).
Es una buena medida para la estimación del Pitch.
Mel-Frecuency Cepstral Coe�cients (MFCC): Son una representación de corto
plazo de la energía del espectro de un sonido. Ellas se derivan de un tipo de
representación cepstral del archivo de audio (particularmente una representación no
lineal). La diferencia entre el cepstrum y el cepstrum de la frecuencia de Mel es que
en este último, las bandas de frecuencia están igualmente espaciadas sobre la escala de
Mel2 el cual aproxima de mejor manera la audición humana en sistemas automáticos
que las bandas de frecuencia espaciadas linealmente según el cepstrum normal.
Las MFCC se suelen utilizar para análisis de voz y el primer paso para obtenerlos es
el enventanado de la señal original, paso que se pasará a introducir a continuación.
Para la obtención de los MFCC se obtuvieron ventanas de 25 mili-segundos (típicamen-
te 512 muestras de la señal) de un archivo Mp33 separadas entre si 10 mili-segundos,
utilizando una ventana de análisis tipo Hamming (que atenúa la señal en los extremos
con la �nalidad de mejorar el análisis espectral) y a continuación siguiendo los siguientes
pasos.
2http://en.wikipedia.org/wiki/Mel_scale3El largo del archivo de audio dependerá del conjunto de datos para el cual se corre el experimento.
21
Figura 3.2: Ventana de Análisis
s[n]: Señal de audiow[n]: Ventana de análisisN : Tamaño de la ventanaM : Desplazamientow[n] = 0,54− 0,46 cos
(2πnN−1
)
Figura 3.3: Enventanado de la señal de audio
1. Tomar la transformada de Fourier de 512 puntos para obtener una representación
en el dominio de la frecuencia.
2. Mapear la potencia del espectro obtenido anteriormente en la escala de Mel
utilizando la superposición de ventanas triangulares (24 �ltros triangulares
de�nidos en bandas de igual anchura en la escala de Mel). La conversión de hercios
(f) a mels (m) se realiza mediante la siguiente fórmula:
m = 1127, 01048 · ln(
1 +f
700
)(3.1.5)
3. Posteriormente se calcula el logaritmo de los 24 coe�cientes obtenidos en los �ltros
Mel. Estos 24 coe�cientes son una representación suavizada del espectro de la
ventana de señal.
4. Por último, se aplica una transformada discreta de cosenos (Discrete Cosine
Transform, DCT), con objeto de eliminar correlaciones entre los coe�cientes de los
�ltros, obteniendo una representación equivalente de 24 coe�cientes que se conoce
22
precisamente como Mel-Filter Cepstral Coe�cients (MFCC). En esta tesis se han
utilizado sólo los 13 primeros coe�cientes, que son una representación aún más
suavizada del espectro de la señal, próxima a la envolvente.
Figura 3.4: Extracción de los MFCC
LPCC - Coe�cientes cepstrales de predicción lineal: Son coe�cientes lineales
(LPC) representados en el dominio del cepstrum y proporcionan estimaciones de los
parámetros del habla. La idea de LPC se basa en el modelo de producción del habla,
el cual intenta modelar el espectro del tracto vocal por medio de un �ltro lineal. LPC
se puede calcular directamente por los métodos de auto-correlación o covarianza desde
una ventana de tiempo en la señal de audio; y los coe�cientes cepstrales (LPCC) pueden
ser obtenidos desde los LPC como:
LPCCi = LPCi +i−1∑k=1
k − ii
LPCCi−kLPCk (3.1.6)
Para saber más revise [17].
23
Características Croma (Chroma Features)4: Son una interesante representación
del audio ya que el espectro completo es proyectado en 12 partes que representan cada
uno los 12 semitonos distintos (o croma) de una octava musical (C, C#,D,D#,...,B).
Estas características se correlacionan fuertemente a la progresión armónica de la
señal de música reinante en la música occidental. En la literatura relacionada a la
recuperación de información en música (MIR) se les reconoce a estas características
que:
� Representan el pitch de distribución tanto para señales monofónicas como
polifónicas,
� Consideran la presencia de frecuencias harmónicas,
� Son robustas al ruido,
� Son independientes del timbre e incluso del instrumento que emite el sonido,
� Son independientes de la intensidad y la dinámica del sonido; y por último,
� Son independientes de la sintonía, y por lo tanto la frecuencia de referencia puede
ser diferente del estándar 440 Hz.
Figura 3.5: Grá�co de área para características de Chroma de audio.Fuente: MusicMiner - Visualizing timbre distances of music as topographical maps [21]
4Para mayor referencia se recomienda visitar http://labrosa.ee.columbia.edu/matlab/
chroma-ansyn/ en donde además podrá descargar una implementación en Matlab para el calculo deestas características.
24
Medida de planitud espectral (Spectral Flatness Measure): Es una medida
utilizada en procesamiento de señales digitales para caracterizar un espectro de audio.
Esta medida provee una forma de cuanti�car cómo es el tono de un sonido. Una
medida alta de esta característica indica que el espectro tiene un valor similar en
todas las bandas espectrales (lo cual podría ser ruido blanco) y el grá�co de espectro
debería aparecer relativamente plano y liso. Por otro lado, una medida baja de esta
característica indica que la potencia del espectro esta concentrada en un número
pequeño de bandas.
Se puede obtener esta caracterización de la señal mediante la división de la media
geométrica de la potencia del espectro por la media aritmética de la potencia del
espectro.
Flatness =
N
√∏N−1n=0 x(n)∑N−1
n=0 x(n)
N
=exp
(1N
∑N−1n=0 lnx(n)
)1N
∑N−1n=0 x(n)
(3.1.7)
Factor de cresta espectral: Al igual que la característica anterior, está relacionada
a los peaks del espectro. Se utiliza para representar la relación entre el peak (cima) de
valor con el valor RMS5 de una onda medida en un intervalo de tiempo especi�cado.
Por ejemplo, una onda sinusoidal tiene un factor de cresta de 1.4 (o 3 dB), ya que el
valor máximo es igual a 1,414 veces el valor RMS. En esencia es una medida de una
forma de onda, el cual se calcula a partir de la amplitud del peak de la onda dividida
por el valor RMS de la onda. Su valor mínimo es cero.
C =|x|peakxrms
(3.1.8)
xrms =
√√√√ 1
N
N∑i=1
x2i =
√x21 + x22 + · · ·+ x2N
N(3.1.9)
5La media cuadrática: valor cuadrático medio o RMS (del inglés root mean square) es una medidaestadística de la magnitud de una cantidad variable. Puede calcularse para una serie de valores discretos opara una función de variable continua. El nombre deriva del hecho de que es la raíz cuadrada de la mediaaritmética de los cuadrados de los valores.
25
Pares de Líneas Espectrales (LSP): Se basan en el modelamiento matemático
del tracto vocal, el cual es concebido como una serie de tubos de sección variable sin
pérdidas en donde se supone el sonido se propaga como una onda plana a través de los
tubos, desde la glotis hasta los labios.
Para un orden p dado, el análisis de la codi�cación predictiva lineal o LPC resulta en
un �ltro de todo polo 1Apz
descrito por:
H(z) =1
Apz=
1
1 + α1z + α2z2 + ...+ αpzp(3.1.10)
donde z = e−jω, −π < ω < π. Los parámetros {αi}i=1,...,p son conocidos como los
coe�cientes LPC.
Se puede veri�car que el polinomio Anz satisface las siguientes relaciones:
An(z) = An−1(z)− knBn−1(z), A0z = 1,
Bn(z) = zBn−1(z)− knAn−1(z), B0z = 1,(3.1.11)
donde An(z) y Bn(z) están relacionados por
Bn(z) = zn+1An(1
z) (3.1.12)
En las de�niciones 3.1.11 los parámetros {ki}i=1,2,...,p son llamados los coe�cientes
parcor. Es importante notar que los coe�cientes parcor son completamente equivalentes
a los coe�cientes LPC en un sentido matemático. En otras palabras, los coe�cientes
parcor y los coe�cientes LPC representan la misma información espectral.
Los coe�cientes parcor son también interpretados como los coe�cientes de re�exión en
el límite del tubo acústico para el modelo del tracto vocal.
Para n = p+ 1 en las fórmulas 3.1.11, se tiene que:
Ap+1(z) = Ap(z)− kp+1Bp(z)
= Ap(z)− kp+1zp+1Ap(
1
z)
(3.1.13)
26
En 3.1.13 se considera las condiciones de borde kp+1 = 1 y kp+1 = −1. Estas
condiciones corresponden a la glotis completamente cerrada o completamente abierta
respectivamente en el modelo del tubo acústico. Para las condiciones kp+1 = 1 y
kp+1 = −1, el polinomio Ap+1(z) coincide con el polinomio:
P (z) = Ap(z)− zp+1Ap(1
z)
= 1 + (α1 − αp)z + ...+ (αp − α1)zp − zp+1
(3.1.14)
y
Q(z) = Ap(z)− zp+1zp(1
z)
= 1 + (α1 + αp)z + ...+ (αp + α1)zp + zp+1
(3.1.15)
respectivamente.
Cuando p es entero, los polinomios P (z) y Q(z) pueden ser expresados como:
P (z) = (1− z) Πi=2,4,...,p
(1− 2zcosωi + z2),
Q(z) = (1 + z) Πi=1,3,...,p−1
(1− 2zcosωi + z2),(3.1.16)
donde ω1 < ω3 < ... < ωp−1 y ω2 < ω4 < ... < ωp. De 3.1.16 se desprende que e−jωi ,
i = 1, 2, ..., p son las raíces del polinomio P (z) y Q(z). Los parámetros {wi}i=1,...,p
corresponden a los parámetros LSP. Es importante notar que ω0 = 0 y ωp+1 = π son
raíces de P (z) y Q(z) respectivamente y deben ser excluídas de los parámetros LSP.
Para profundizar acerca de estas características, revise [13].
3.1.3. Reducción de dimensionalidad
Sea S[x] la serie de datos obtenida de un archivo de música en forma digital (WAV o
Mp3) con x = 1, 2, ..., n. Esta señal de datos corresponde a cualquiera de los dos canales de
una señal estereo6. S[x] contiene (dependiendo del conjunto de datos7), unos 30 segundos de
6Por ahora se hará el supuesto de que ambas contienen la misma información7Lamentablemente no existen muchos conjuntos de datos de audio disponibles, pues contienen derechos
de autor. Algunos conjuntos de datos disponibles ofrecen 10 segundos de audio y otros 30 segundos. Muy
27
música y de ellos se obtiene una matriz Mk,218 de 218 columnas (una por cada característica
obtenida, teniendo en consideración que las primeras 109 corresponden al promedio de las
características obtenidas de 512 muestras de la serie sin desplazamiento de superposición8
y las segundas 109 a la desviación estándar de las características en la misma sección) y
k �las, correspondiente al análisis de k frames de datos (cada uno de 512 muestras). Para
mayor comprensión, vea la �gura explicativa 3.6 que puede ser también comprendida por el
procedimiento 3.1.
Figura 3.6: Procedimiento para la obtención de una matriz de características para cadaarchivo de música.
pocos conjuntos de datos contienen los temas completos, lo cual obliga a utilizar estas muestras de datospara hacer comparaciones.
8Ver �gura 3.3
28
Procedimiento para obtener matriz de características
Procedimiento 3.1: Obtención de matrices de características
1 [L,R] = archivo.mp3; // L, R, series de datos del archivo a procesar.
2 S = obtener30seg(L);
3 S[x] = Serie de datos (Senal de audio de 30 segundos);
4 M = obtenerCartacteristicas(S);
5 M : contiene 218 caracteristicas y aproximadamente 2578 datos (que representa
cada uno a una ventana de la senal) para cada caracteristica (
correspondiente a los 30 seg).
Las 218 características obtenidas se agrupan nuevamente en promedios y desviaciones
de los valores de cada columna (c: característica obtenida), quedando: Mean(Mean(c)),
Mean(Std(c)), Std(Mean(c)) y Std(Std(c)) con lo cual, se logra transformar S[x] en
M [436, 1], es decir, un vector de características para cada archivo de audio.
29
3.2. Selección de Características
3.2.1. Introducción
En los capítulos previos se consideró que para el desarrollo de un clasi�cador o analizador
de archivos digitales de audio, se debían obtener características. El objetivo de este capítulo
es analizar algún método que permita la selección de estas variables.
Tal como se vio en el capítulo 3.1, el número de características posibles de obtener desde
este tipo de archivos puede ser muy grande y hay muchas razones por las cuales se desearía
tener este número tan pequeño como sea posible y obviamente la complejidad computacional
es una de ellas.
Otro aspecto de interés en este sentido es que, aunque dos o más características
pueden ofrecer a algoritmos de aprendizaje automático buenos resultados, en muchos
sentidos la complejidad crece sin mucha ganancia en los resultados �nales si estas variables
(características) son tratadas por separado. Además, es muy posible que exista una alta
correlación entre estas variables (asunto que podría ser analizado también).
Las propiedades de generalización deseadas de los algoritmos de aprendizaje automático,
están también relacionadas al número de muestras de entrenamiento y los parámetros
del algoritmo de clasi�cación. Por ejemplo, uno de los objetivos más importantes es el
rendimiento. No sólo se necesita construir sistemas de aprendizaje automático, sino que
también debemos preocuparnos de que el error de clasi�cación sea el mínimo posible evitando
el sobre-entrenamiento y manteniendo buenas propiedades de generalización en el clasi�cador
automático.
Selección de Características: Dado un conjunto o colección de características, se busca
seleccionar las más importantes de ellas de tal modo de reducir su cantidad y, al mismo
tiempo, mantener la información que es necesaria para tareas de aprendizaje automático.
Este proceso es conocido como selección o reducción de características.
Este proceso es muy importante pues si seleccionamos características con poco poder
de discriminación, el diseño del algoritmo de aprendizaje automático podría conducir a un
mal rendimiento del mismo, mientras que si se seleccionan las características que poseen la
información más importante, el diseño del algoritmo de aprendizaje automático puede verse
realmente simpli�cado.
30
Para el caso de un clasi�cador, se debiera seleccionar las características que permitan
diferenciar con una gran distancia a aquellos elementos que son distintos (entre clases
distintas) y una pequeña varianza entre elementos que pertenecen a un mismo grupo (misma
clase) en el espacio de vectores de características extraídas.
En este sentido, se pueden tomar diferentes posturas, siendo uno de ellos, examinar las
características individualmente y discriminar aquellas con pequeñas capacidades discrimina-
torias o bien examinarlas en combinación. Algunas veces, aplicar transformaciones lineales o
no lineales del vector de características puede ofrecer mejores propiedades de discriminación.
3.2.2. Preprocesamiento
Eliminación de valores atípicos
Valor atípico: Es una observación que esta numéricamente distante respecto del resto
de los datos, es decir, corresponde a una observación que parece desviarse fuertemente del
modelo estocástico subyacente que describe la muestra.
Tomando como referencia la diferencia entre el primer cuartil Q1 y el tercer cuartil Q3,
o �rango intercuartil� en un diagrama de caja, se considerará un valor atípico al que se
encuentre a 1, 5 veces de distancia de uno de esos cuartiles (atípico leve) o a 3 veces esa
distancia (atípico extremo).
Valor atípico leve:
Atipicoleve < Q1 − 1,5 · IQR,
Atipicoleve > Q3 + 1,5 · IQR(3.2.1)
Valor atípico extremo:
Atipicoextremo < Q1 − 3 · IQR,
Atipicoextremo > Q3 + 3 · IQR(3.2.2)
Los puntos con valores extremadamente alejados pueden producir grandes distorsiones
durante la etapa de entrenamiento de un algoritmo de aprendizaje automático y en efecto
pueden llegar a generar efectos desastrosos.
Si el número de valores atípicos es pequeño usualmente estos son descartados del conjunto
31
de datos. Sin embargo, si este no es el caso, ellos pueden ser el resultado de una distribución
con largas colas y en consecuencia, el diseñador debe adoptar funciones de costo que no
hagan tan sensible a la máquina de aprendizaje a esta presencia de valores atípicos.
Estandarización
En muchos casos reales, los valores de las características pueden estar ubicados en un
rango muy amplio, produciendo que aquellas características con valores muy grandes, tengan
una gran in�uencia en la función de costo respecto de aquellas con valores más pequeños,
sin embargo, en muchas ocasiones esta diferencia entre los valores no re�eja en realidad
la relevancia deseada en el diseño del algoritmo de aprendizaje automático. Este problema
puede ser superado a través del proceso de estandarización de los datos, de modo que sus
valores se encuentren dentro de rangos similares.
Una forma muy utilizada es la estandarización a través de la estimación de la media y la
varianza.
Sea N la cantidad de datos disponibles de la k-ésima característica, entonces:
xk =1
N
N∑i=1
xik, k = 1, 2, ..., l (3.2.3)
S2k =
1
N − 1
N∑i=1
(xik − xk)2 (3.2.4)
x̂ik =xik − xkSk
(3.2.5)
Con lo cual las características estandarizadas tendrán media cero y varianza uno. Por
supuesto, es posible también adecuar esta transformación para que los valores de las
características queden en rangos distintos al anterior a través de un escalamiento adecuado
al caso.
Además de los métodos lineales, los métodos no lineales también pueden ser utilizados
en casos en donde los datos no estén distribuidos alrededor de la media.
32
Normalización:
Otra opción respecto de la estandarización, es la de hacer que los valores de las
características se ubiquen en un rango predeterminado, por ejemplo entre cero y uno, pero
solamente realizando una traslación y normalización adecuada.
Para desarrollar este proceso: Sea xi una canción en el conjunto de datos de entrada con
i ∈ [0, N ] para N canciones con k características. Además, min(xik) es el valor mínimo de
todos los datos i (canciones) en la característica k y max(xik) el valor máximo de todos
los datos i (canciones) en la característica k, entonces, para normalizar xik, aplicar a cada
canción i y característica k:
xik =
xik −min(xiki
)
max(xik)i
−min(xik)i
,∀i, ∀k. (3.2.6)
Con lo cual las características normalizadas se ubicarán en el intervalo cero, uno.
xik ∈ [0, 1] (3.2.7)
Nota: Para los vectores de características obtenidos en este trabajo de tesis, la
normalización obtuvo mejores resultados que la estandarización.
Dado que en el caso en estudio no se da la situación de ausencia de datos o vectores
de características incompletos, no se enunciarán técnicas que pueden ser utilizadas en estos
casos.
3.2.3. Relación entre el número de características y el número de
datos de entrenamiento
En [29] se analiza la relación que debiera existir entre el número de características y el
número de datos de entrenamiento para una máquina de aprendizaje. Si el número de datos
de entrenamiento es limitado o pequeño, entonces se debe mantener un número pequeño
de características, pues agregar más características después de cierto número crítico, deja de
mejorar el rendimiento y aumenta la probabilidad de error, y por consiguiente, la disminución
del rendimiento del algoritmo de aprendizaje automático (se pre�ere que el número de datos
de entrenamiento sea mucho mayor que la cantidad de características de los datos). Este
33
comportamiento es conocido como �peaking phenomenon�.
La �gura 3.7 ilustra la idea antes planteada, en donde N corresponde a la cantidad
de datos de entrenamiento y l a la cantidad de características. Para N2 >> N1, el error
correspondiente a N2 es más bajo que el de N1 y el �peaking phenomenon� ocurre para
l2 > l1. Para cada valor de N , la probabilidad de error comienza decreciendo cuando se
incrementa l hasta un valor crítico donde el error comienza a aumentar. El mínimo en la
curva ocurre en algún l = Nα, donde α usualmente tiene un valor entre 2 y 10. Si se dispone de
un gran número de datos de entrenamiento, entonces se puede seleccionar un amplio número
de características.
Figura 3.7: Peaking Phenomenon: Para un valor dado de N , la probabilidad de error decrececuando el número de características l aumenta hasta un valor crítico, después de eso, elincremento del número de características fuerza a la probabilidad de error a incrementar.Si el número de puntos de entrenamiento se incrementa N2 >> N1, se podría aumentar elnúmero de características y obtener un error menor ocurriendo el �peaking phenomenon� enun l2 > l1.
3.2.4. El proceso de selección de características
Tal como se indica en la �gura 3.8, y que puede ser revisado en mejor detalle en los
procedimientos 3.2 y 3.3, el primer elemento de de�nición es la búsqueda de un método de
ranking para las características disponibles, el cual posteriormente requiere de alguna métrica
de evaluación9 y �nalmente, la medición de la variación del rendimiento de clasi�cación de
9Para el caso en ejercicio, fue el rendimiento de una máquina de aprendizaje con funciones de clasi�cación.Para elegir el clasi�cador, se probaron varios y se optó por aquel con mejor rendimiento según el procedimiento3.2
34
la máquina de aprendizaje electa a medida que se agregaban características, situación que
puede ser revisada en la �gura 4.1 y 4.2.
Procedimiento 3.2: Selección del clasi�cador
1 function Seleccionar_Clasificador(M){
2 % M: Matriz de N canciones y K-1 caracteristicas >> M[N,K]
3 % en columna K esta almacenada la clase de acuerdo al Gold Standard.
4 rendimiento=0;
5 ClasificadorSeleccionado="";
6 foreach (maquina in MaquinasDeClasificacion){
7 performanceMaquina = mejorResultadoPostSintonizacion(maquina, M);
8 if ( performanceMaquina > rendimiento){
9 [rendimiento, ClasificadorSeleccionado] = [performanceMaquina,
maquina];
10 }
11 }
12 return [rendimiento, ClasificadorSeleccionado];
13 % El mejor clasificador encontrado fue una SVM con Kernel RBF.
14 }
Procedimiento 3.3: Selección de Características
1 % R: Matriz de N canciones y K caracteristicas, el orden de las
2 % caracteristicas esta dado por el ranking del algoritmo seleccionado.
3 % La caracteristica i se encuentra rankeada desde la mas relevante a la
4 % menos relevante, i.e. i=1 es la mejor e i=436 es la peor.
5 % En columna K esta almacenada la clase de acuerdo al Gold Standard.
6 R = Metodo_Ranking_Caracteristicas(M[N,K]);
7 for (i=K; i>0; i--){
8 performanceSVM[i] = SVM(R);
9 R=eliminar_ultima_caracteristica(R);
10 }
11 mostrar_Grafico(performanceSVM);
12 return max(performanceSVM);
35
Figura 3.8: Procedimiento de eliminación de características: En la entrada se selecciona latotalidad de las características posibles, se selecciona un método de ranking para ellas y secomienza eliminando desde la que tiene el peor ranking. Para cada iteración se obtiene elrendimiento de una SVM a objeto de ver la variación del rendimiento tras haber eliminadoen cada ciclo una característica. En el Apéndice B se listan las características que fueronseleccionadas de acuerdo a esta propuesta.
Selección de Características mediante SVM
Para resolver el problema de la selección de características se distingue en la literatura
dos tipos de enfoques: el de �ltro y el de envoltura (wrapper). Los métodos de �ltro consisten
en desarrollar la eliminación de atributos irrelevantes antes o de forma separada al algoritmo
de aprendizaje automático. Mientras que los métodos de envoltura, utilizan subconjuntos de
características con los cuales se evalúa el rendimiento de una máquina de aprendizaje, valor
que corresponderá a la bondad del subconjunto de características.
Considere la siguiente formulación del problema dual10:
10Para mayores detalles sobre el problema dual, revisar la sección 3.3
36
maxα,σLD ≡m∑i=1
αi −1
2
m∑i,s=1
αiαsyiysK(~xi, ~xs)
m∑i=1
αiyi = 0
0 ≤ αi ≤ C, i = 1, ...,m.
σj ∈ {0, 1}, j = 1, ..., n.
(3.2.8)
donde K(~xi, ~xs) = φ(~xi) · φ(~xs) y el producto por componentes entre vectores queda
introducido por:
~w ∗ ~w = (x1w1, ..., xnwn) (3.2.9)
con lo cual es posible introducir la selección de atributos en la función de Kernel de la
siguiente manera:
Kσ(~xi, ~xs) ≡ K(~σ ∗ ~xi, ~σ ∗ ~xs) (3.2.10)
donde σj es una variable auxiliar que representa la selección del atributo j (σj = 1 si se
selecciona este atributo y σj = 0 en caso contrario). Tomando la siguiente formulación del
problema dual es posible manejar como parámetros los atributos a utilizar:
maxα,σLD ≡m∑i=1
αi −1
2
m∑i,s=1
αiαsyiysKσ(~xi, ~xs)
m∑i=1
αiyi = 0
0 ≤ αi ≤ C, i = 1, ...,m.
σj ∈ {0, 1}, j = 1, ..., n.
(3.2.11)
con lo cual es posible eliminar recursivamente las características mediante la aplicación de
un algoritmo backward11 en el cual, para cada iteración, se anula el atributo menos relevante
11Respecto de los métodos tradicionales de selección de atributos, éstos siguen enfoques Backward oForward. Estos métodos son fáciles de utilizar pero sus resultados dependen de la herramienta utilizada paramedir la importancia de cada atributo, además que demandan la realización de entrenamientos sucesivos,lo cual es costoso computacionalmente cuando el número de atributos y objetos es muy grande. En elenfoque forward, se comienza con un conjunto vacío y se añaden secuencialmente atributos en cada iteración,
37
en la clasi�cación.
1. Se de�ne ~σ = (1, ..., 1)
2. Se resuelve el problema 3.2.11
3. Se busca el atributo j que aporta menos a la clasi�cación.
4. Se impone σj = 0
5. Se vuelve al paso 2 hasta que se cumpla un criterio de parada.
W 2(~α) =m∑
i,s=1
αiαsyiysK(~xi, ~xs) (3.2.12)
En SVM, el valor de 3.2.12 representa una medida de la habilidad de predicción del
modelo y es inversamente proporcional al margen. El algoritmo puede utilizar esta medida
para eliminar los atributos que mantienen esta cantidad pequeña. Para una solución ~α dada
se calcula para cada atributo p:
W 2↓p(~α) =
m∑i,s=1
αiαsyiysK(~xi↓p, ~xs
↓p) (3.2.13)
donde ~xi↓p representa un objeto (canción para esta tesis) de entrenamiento i sin considerar
el atributo p. Finalmente se remueve el atributo con menor |W 2(~α)−W 2↓p(~α)|.
Para mayor profundidad del método revise [40].
habitualmente el mejor entre los no seleccionados de acuerdo a alguna función de evaluación. En el enfoquebackward en cambio se comienza con el conjunto completo de atributos y se eliminan secuencialmenteatributos en cada iteración, basándose en alguna función de evaluación en donde se escoge el atributo menosrelevante que aún no ha sido eliminado del conjunto total.
38
3.3. Clasi�cación automática de Música
3.3.1. Introducción
Desde el principio, el proceso consideraba una importante cantidad de pasos previos a la
generación de una lista de reproducción tal cual se muestra en la �gura 3.9 lo cual requiere
(al menos para esta propuesta) el poder validar que los datos y el método son en sí coherentes
y útiles para el proceso en desarrollo, lo que implica que a medida que se fueron obteniendo
representaciones de los archivos de música, se validaban reiterativamente con una máquina
de clasi�cación que es la que será documentada en esta sección (por ejemplo al calcularse y
agregarse nuevas características y más importante aún, en lo referido al proceso anterior �la
selección de características�).
No se explicitará en esta etapa cada uno de los algoritmos de aprendizaje automático que
podrían ser útiles para tareas de clasi�cación supervisada, ya que queda fuera de los alcances
de este trabajo, sin embargo de lo anterior, se entregará a continuación, una detallada
explicación del método que mejor resultado obtuvo para esta tarea dados los conjuntos
de datos en estudio y en el Apéndice C, un listado de los restantes clasi�cadores testeados y
las referencias respectivas.
Figura 3.9: Proceso global previo a la generación de listas de reproducción
39
3.3.2. SVM - Support Vector Machines
Introducción al Aprendizaje con Kernels
Supongamos que tenemos un problema de clasi�cación binaria. Cuando nos llega un
nuevo ejemplo queremos saber si pertenece a una de dos posibles clases etiquetadas como
{+1,−1}.Consideremos una medida de similaridad entre un conjunto de atributos a la cual le
llamaremos una función kernel.
Pensando que los valores de los atributos los podemos representar como vectores, una
medida simple de similaridad es el producto punto (producto interno o producto escalar) de
estos vectores: < x,x′ >=∑N
i=1[x]i[x′]i donde xi representa el i− esimo elemento del vector
x.
La interpretación geométrica es que se calcula el coseno del ángulo entre los vectores x
y x′ si y sólo si están normalizados a una longitud de 1. En general < x,x′ >= (x · x′) =
|x| · |x′|cos(θ).El producto punto también nos sirve para calcular la longitud o norma del vector como:
||x|| = √< x,x >.
De la misma forma, la distancia entre dos vectores se calcula también como la longitud
del vector diferencia. Para poder aplicar esto a problemas interesantes necesitamos:
1. Poder representar instancias como vectores, para lo cual se requiere de un mapeo Φ(x).
2. Poder utilizar medidas de similaridad más generales.
El espacio que se genera con el mapeo nos deja un espacio de atributos que llamaremos
H.El representar los datos en H usando Φ(x) nos permite:
1. De�nir una medida de similaridad a partir del producto punto en H.k(x, x′) :=< x,x' >=< Φ(x),Φ(x′) >.
2. Usar herramientas de álgebra lineal y análisis geométrico.
3. Usar cualquier tipo de mapeo que nos permite tener una gran variedad de medidas de
similaridad y de algoritmos de aprendizaje.
40
Para construir un clasi�cador simple, una idea es tener dos clases y asignar la clase de
un nuevo ejemplo al que tenga la media más cercana al ejemplo.
La media de las dos clases es:
c+ =1
m+
∑{i|yi=+1}
xi
c− =1
m−
∑{i|yi=−1}
xi
donde m+ y m− son el número de ejemplos positivos y negativos.
La asignación hacia la media más cercana se puede hacer en forma geométrica mediante
el producto punto.
Sea c el punto medio entre las dos medias c = (c+ + c−)/2. Revisamos si el vector x− c
que conecta a c con x tiene un ángulo menor a π/2 con el vector w = c+ − c−. Si es menor
se asigna la clase +1 y si es mayor, entonces se asigna −1.
Esto se puede hacer con el producto punto entre (x− c) y (c+− c−) o w. Si el coseno es
positivo el ángulo es menor a 90o y si es negativo, el ángulo es mayor a 90o.
y = sgn < (x− c),w > .
= sgn < x− (c+ + c−)/2, c+ − c− >
= sgn((x− c+ + c−2
) · c+ − (x− c+ + c−2
) · c−)
= sgn((x · c+)− (x · c−) +c+ − c−
2· (c− − c+))
= sgn(< x, c+ > − < x, c− > +b)
donde: b = 12(||c−||2 − ||c+||2) y la norma ||x|| = √< x,x >. b vale cero si las medias de
las clases tienen la misma distancia al origen (Ver Figura 3.10)
Entre más pequeño el ángulo entre x y el centro de la clase, más grande es el coseno y la
clase se vuelve positiva.
Lo anterior nos representa una frontera en forma de hiperplano que satisface una
restricción que se puede expresar como una ecuación lineal.
Si substituimos las de�niciones de c+ y c− obtenemos:
41
Figura 3.10: Representación de vectores.
y = sgn(1
m+
∑i|yi=+1
< x,xi > −1
m−
∑i|yi=−1
< x,xi > +b)
Si ahora ponemos k(x, xi) en lugar de < x,xi >:
y = sgn(1
m+
∑i|yi=+1
k(x, xi)−1
m−
∑i|yi=−1
k(x, xi) + b) (3.3.1)
donde b ahora se expresa como:
b =1
2
1
m2−
∑(i,j)|yi=yj=−1
k(xi, xj)−1
m2+
∑(i,j)|yi=yj=+1
k(xi, xj)
Si b = 0 y el kernel toma la forma de una distribución de probabilidad con uno de sus
argumentos �jos, tal que:
∫x
k(x, x′)dx = 1 para toda x′ ∈ X
Lo anterior se puede tomar como un clasi�cador Bayesiano, que asigna la clase
dependiendo de quien tiene mayor probabilidad.
42
Esto es:
P+(x) =1
m+
∑i|yi=+1
k(x, xi)
y
P−(x) =1
m−
∑i|yi=−1
k(x, xi)
y veri�car quien tiene la mayor probabilidad.
En general, los clasi�cadores basados en kernels toman la forma de:
y = sgn
(m∑i=1
αik(x, xi) + b
)
Lo cual se puede considerar como un clasi�cador basado en instancias o IBL. La
clasi�cación del ejemplo x se hace comparándolo contra todos los ejemplos xi que tienen
un peso αi 6= 0.
Esta expresión se puede so�sticar dependiendo de los valores que puedan tomar los pesos
αi que se ponen en cada kernel particular, los kernels que se utilicen, y si queremos considerar
sólo los elementos que están más cercanos de la frontera de decisión.
Teoría de Aprendizaje Estadístico
Lo que queremos hacer �nalmente es encontrar una función que nos clasi�que instancias
nuevas. Para medir qué tan bien clasi�ca una función podemos usar lo que se conoce como
zero-one loss function:
c(x, y, f(x)) =1
2|f(x)− y|
donde la �perdida� es 0 si clasi�ca correctamente y 1 si no.
Podemos tomar esto para todos los datos y promediar el resultado:
Remp[f ] =1
m
m∑i=1
1
2|f(xi)− yi|
43
Figura 3.11: Posibles divisiones de 3 puntos en 2 clases.
Valores pequeños en el error de prueba o riesgo empírico (empirical risk) no necesaria-
mente implican un error real o riego pequeño sobre la distribución real de ejemplos (P (x, y)):
R[f ] =
∫1
2|f(x)− y|dP (x, y)
Cada función que se elija separa los ejemplos de cierta forma. Como tenemos una
etiquetación de ±1, existen a lo más 2m etiquetas para m ejemplos.
Una clase de funciones su�cientemente expresiva podría generar las 2m particiones. Si ese
es el caso, se dice que esa clase de funciones despedaza o shatters los m ejemplos.
La dimensión VC se de�ne como la m más grande tal que existe un conjunto de m puntos
que la clase puede despedazar. Se puede ver como un número que de�ne la capacidad de un
sistema de aprendizaje.
Por ejemplo, para 3 puntos y 2 clases en un plano existen 8 posibles asignaciones y una
recta las puede generar, para 4 puntos ya no (ver �gura 3.11).
Si h < m es la dimensión VC (Vapnik-Chervonenkis) de una clase de funciones
que el algoritmo de aprendizaje implementa, entonces todas las funciones de la clase,
independientemente de la distribución P que genera los datos, cumplen con la siguiente
cota con probabilidad 1− δ sobre los datos de entrenamiento:
R[f ] ≤ Remp[f ] + φ(h,m, δ)
44
donde el término de con�anza (con�dence) o de capacidad (capacity) φ se de�ne como:
φ(h,m, δ) =
√1
m
(h
(ln
2m
h+ 1
)+ ln
4
δ
)Lo que se busca es seleccionar una clase de funciones su�cientemente restrictiva (y por
lo tanto simple) que al mismo tiempo tenga la capacidad de modelar las dependencias que
existen en P (x, y).
Clasi�cadores con Hiperplanos
Vapnik y sus colegas consideraron la clase de hiperplanos (funciones lineales) en algún
espacio de producto punto H:
< w,x > +b =∑i
wixi + b (3.3.2)
donde w ∈ H, b ∈ <, lo cual corresponde a una función de decisión:
f(x) = sgn(< w,x > +b) (3.3.3)
y propusieron algoritmos de aprendizaje para problemas que son separables con hiperplanos.
De todos los posibles hiperplanos, existe uno óptimo que da el margen de separación más
grande entre cualquier punto de entrenamiento. Su solución es:
maximizaw∈H,b∈<min (‖x− xi‖|x ∈ H, < w,x > +b = 0, i = 1, . . . ,m) (3.3.4)
Se busca maximizar la separación w, buscando los elementos más cercanos ||x − xi||,donde < w,x > +b = 0 de�ne al hiperplano que separa a las dos clases.
Por otro lado, la capacidad de la clase de hiperplanos decrece al aumentar el margen.
El encontrar una solución para este problema, o sea un hiperplano, se puede lograr
resolviendo un problema de programación cuadrática.
Anteriormente, el vector normal al hiperplano se calculaba a partir de la media de las
clases: w = c+ − c−. Ahora tenemos que encontrar el vector normal que nos de el margen
45
mayor.
De�nimos el margen (funcional) de un ejemplo (xi, yi) con respecto al hiperplano (w, b)
como:
γi = yi(< w,xi > +b)
Si γi > 0 implica que la clasi�cación es correcta o yi(< w,xi > +b) > 0 para toda
i = 1, . . . ,m.
Podemos escalar o normalizar w y b para que los puntos más cercanos al hiperplano
satisfagan: | < w,xi > +b| = 1. Con esto se obtiene la forma canónica del hiperplano (w, b)
que satisface yi(< w,xi > +b) ≥ 1. En este caso el margen (geométrico) es igual a 1||w|| y
representa la distancia del hiperplano al punto más cercano.
Por ejemplo, si tenemos un punto de cada lado del hiperplano que satisface la igualdad,
osea: < w,x1 > +b = +1 y < w,x2 > +b = −1. La distancia, o el margen, entre estos dos
puntos es su diferencia: < w, (x1−x2) >= 2. Si normalizamos (dividimos por ||w|| ) nos da:< w||w|| , (x1 − x2) >= 2
||w|| .
Una forma de maximizar esa distancia es minimizando lo siguiente:
minimizaw∈H,b∈<τ(w) =1
2||w||2 (3.3.5)
sujeto a:
yi(< w,xi > +b) ≥ 1 para toda i = 1, . . . ,m (3.3.6)
Si satisfacemos las restricciones de arriba para todas las instancias 1, . . . ,m con un w
mínimo, entonces el margen global será máximo.
La función τ arriba es la función objetivo que esta sujeta a las restricciones de desigualdad.
Para resolver este problema con desigualdades, se introducen las variables αi ≥ 0 y se resuelve
el Lagrangiano:
maxαminw,bL(w, b, α) =1
2‖w‖2 −
m∑i=1
αi(yi(< w,xi > +b)− 1) (3.3.7)
Este Lagrangiano L se minimiza con respecto a las variables primales w y b y se maximiza
con respecto a las variables duales αi, lo cual nos crea un punto silla.
46
En el punto silla las derivadas de L con respecto a las variables primales debe de ser cero
(Karush-Kuhn-Tucker o KKT): ∂∂bL(w, b, α) = 0 y ∂
∂wL(w, b, α) = 0, lo cual nos da:
m∑i=1
αiyi = 0 (3.3.8)
y
w =m∑i=1
αiyixi (3.3.9)
El vector solución esta en términos de los ejemplos de entrenamiento con α's diferente
de cero, llamados vectores de soporte o Support Vectors.
Por las condiciones KKT:
αi[yi(< xi,w > +b)− 1] = 0, para toda i = 1, . . . ,m (3.3.10)
Los SVs están en el margen y todos los demás ejemplos son irrelevantes, su restricción:
yj(< w,xj > +b) ≥ 1 se puede eliminar.
Substituyendo las ecuaciones anteriores, se eliminan las variables primales w y b, y se
obtiene el problema de optimización dual, que es el que generalmente se resuelve:
L =1
2< w,w > −
m∑i=1
αi(yi(< w,xi > +b)− 1)
Como:
w =m∑i=1
αiyixi
L =1
2<
m∑i=1
αiyixi,m∑j=1
αjyjxj > −m∑i=1
αi(yi(<m∑j=1
αjyjxj,xi > +b)− 1)
=1
2
m∑i=1
m∑j=1
αiαjyiyj < xi,xj > −m∑i=1
m∑j=1
αiαjyiyj < xi,xj > −
m∑i=1
αiyib+m∑i=1
αi
como:∑m
i=1 αiyi = 0, entonces: b∑m
i=1 αiyi = 0
47
Figura 3.12: Transformación de Atributos.
maximizaα∈<mW (α) =m∑i=1
αi −1
2
m∑i,j=1
αiαjyiyj < xi,xj > (3.3.11)
sujeto a αi ≥ 0 para toda i = 1, . . . ,m y∑m
i=1 αiyi = 0.
Usando la ecuación 3.3.8, la función de decisión se puede escribir entonces como:
f(x) = sgn
(m∑i=1
yiαi < x,xi > +b
)
Máquinas de Soporte Vectorial
Ahora ya tenemos todos los elementos para describir las SVMs.
Hasta ahora, todo se ha expresado en un espacio de producto punto. La idea es expresar
este producto que nos da una medida de distancia en términos de una función kernel:
k(x, x′) =< x,x′ >
A esta substitución se le llama el truco kernel o Kernel trick, que permite extender la
clasi�cación basada en hiperplanos a espacios no lineales (Ver �gura 3.12).
Por ejemplo, supongamos que queremos aprender la siguiente función: f(m1,m2, r) =
Gm1m2
r2que es la ley gravitacional de Newton, que nos calcula la fuerza gravitacional entre
48
dos masas separadas una distancia r.
Claramente, una función lineal no nos sirve. Pensemos en representarlo en un nuevo
espacio (x, y, z) de�nido por los logaritmos de (m1,m2, r), (x, y, z) = (ln(m1), ln(m2), ln(r)).
Podemos tratar ahora de aprender una nueva función g(x, y, z) a partir del logaritmo de
f(m1,m2, r):
g(x, y, z) = ln(f(m1,m2, r)) = ln(G) + ln(m1) + ln(m2)− 2ln(r) = c+ x+ y − 2z
lo cual se convierte en una función lineal.
El Kernel trick consiste en aplicar una función de distancia no lineal que transforma el
espacio original y que permite aprender hiperplanos o funciones lineales que nos discriminen
las clases.
Aplicando esta substitución a las ecuaciones anteriores nos queda que la función de
decisión se puede escribir entonces como:
f(x) = sgn
(m∑i=1
yiαi < Φ(x),Φ(x)i > +b
)= sgn
(m∑i=1
yiαik(x, xi) + b
)(3.3.12)
con el siguiente problema:
maximizaα∈<mW (α) =m∑i=1
αi −1
2
m∑i,j=1
αiαjyiyjk(xi, xj) (3.3.13)
sujeto a αi ≥ 0 para toda i = 1, . . . ,m y∑m
i=1 αiyi = 0.
En la práctica es probable que no exista un hiperplano que separe perfectamente a las dos
clases, posiblemente debido a ruido. Por lo mismo, se puede permitir que algunos ejemplos
violen la restricción de la ecuación 3.3.11) introduciendo variables de holgura: ξi ≥ 0 para
toda i = 1, . . . ,m: yi(< w,xi > +b) ≥ 1− ξi para toda i = 1, . . . ,m.
Para esto se tiene que hacer un balance entre la capacidad del clasi�cador, por medio de
||w|| y la suma de las variables de holgura∑
i ξi, que representa una cota máxima sobre los
errores permitidos.
49
Para esto, la función objetivo a minimizar nos queda:
τ(w, ξ) =1
2||w||2 + C
m∑i=1
ξi
donde C > 0 nos sirve para expresar el balance entre maximizar el margen y minimizar
el error.
De nuevo, queremos maximizar la ecuación 3.3.13 sujeta a: 0 ≤ αi ≤ C para toda
i = 1, . . . ,m, y∑m
i=1 αiyi = 0
La solución toma la forma de la ecuación 3.3.12 y b se puede calcular considerando de
que en todos los SVs xi con αi < C la variable de holgura ξi es cero y por lo tanto:
m∑j=1
αjyjk(xi, xj) + b = yi
donde el valor b signi�ca el desplazamiento del hiperplano.
Existe otra forma de considerar obtener un clasi�cador de margen suave soft margin
classi�er usando lo que se llama ν-parametrization, que no va a ser visto en este trabajo.
Kernels
Existen diferentes tipos de kernels. Se ha encontrado que los siguientes kernels con una
selección adecuada de parámetros, d ∈ N y σ, κ,Θ ∈ < dan SVM con resultados muy
parecidos:
Polinomial: k(x, x′) =< x, x′ >d
Gaussiano: k(x, x′) = exp(− ||x−x′||2
2σ2 )
Signoidal: k(x, x′) = tanh(κ < x, x′ > +Θ)
Uno de los problemas con SVM es que el tamaño del problema cuadrático aumenta con
el número de vectores de soporte. Como no se saben cuáles son los vectores de soporte se
usan todos los ejemplos de entrenamiento. Para m ejemplos, se tiene una matriz de m×m.
Un típico Kernel Polinomial puede ser K(x; y) = (x ∗ y + 1)d y un kernel Gaussiano
K(x; y) = exp( −1σ2(x−y)2 ) donde d es el grado del Kernel Polinomial.
50
Desde el punto de vista de la implementación, entrenar una SVM es equivalente a resolver
un linearly quadratic programming (QP) con un número de variables del doble de datos de
entrenamiento.
Una práctica común es ir tomando pedazos chunks de los ejemplos de entrenamiento.
Otra forma es ir resolviendo analíticamente el problema de optimización usando sólo 2
multiplicadores de Lagrange.
SMO (Sequential Minimal Optimizer) selecciona dos multiplicadores a optimizar, encuen-
tra su valor y actualiza el problema de SVM con esos valores. Esto lo repite hasta que todos
los SV satisfagan las condiciones KKT dentro de un rango de error pequeño.
Clasi�cación multiclase
Es muy habitual cuando se trabaja con problemas de clasi�cación extraídos de la vida
real, encontrarse con situaciones en donde existen más de dos clases. Como aproximación a
la resolución del problema de clasi�cación multiclase, en [43] se propone una modi�cación de
la función de optimización binaria para un número deseado de k clases, mientras que en otras
técnicas para la aproximación a SVM multiclase de k clases se ha utilizado una combinación
de clasi�cadores binarios [42].
Los métodos más conocidos que posibilitan la multiclasi�cación mediante SVM creadas
para problemas binarios (que corresponden a la línea electa para esta tesis) requieren que el
problema multiclase sea separado en una serie de clasi�caciones binarias del tipo:
Uno contra uno (1A1): Involucra la construcción de un sistema de aprendizaje para
cada par de clases, es decir, requiere N(N − 1)/2 máquinas de aprendizaje. Cuando se
requiere saber la clase de una nueva instancia, cada clasi�cador entrega un voto a la
clase ganadora y el dato es etiquetado con la clase que obtuvo más votos. Si dos clases
obtienen el mismo número de votos, entonces se elije la clase ganadora bajo algún
criterio prede�nido por el modelador de la máquina de aprendizaje. Este corresponde
al método utilizado para esta tesis.
Uno contra todos (1AA): Involucra la construcción de N clasi�cadores binarios,
cada uno entrenado para distinguir los datos en una sola clase respecto del resto de
todos los datos restantes. Cuando se requiere clasi�car una nueva instancia, los N
51
clasi�cadores son puestos en ejecución y el clasi�cador que entrega el valor más grande
(más positivo) en Ci = argi=1,...,kmax(wix+ bi) es elegido.
Comentarios �nales sobre SVM
La ventaja de SVM respecto de otras técnicas es que en SVM, tal como se revisó en
detalle anteriormente, maneja criterios de optimalidad maximizando la distancia entre los
margenes de las clases.
SVM ha sido muy bien aceptado en la comunidad de investigadores por su rendimiento
con datos altamente dimensionales y además porque existen varias implementaciones libres
disponibles como por ejemplo: SVMlight, Libsvm, TinySVM, etc. Además de frameworks
como Weka12 que pueden hacer uso de estas implementaciones.
El problema más importante que tienen las SVM esta relacionado a la etapa de
sintonización de parámetros, el cual en la mayoría de los casos termina realizándose mediante
búsqueda exhaustiva. Lo anterior puede verse simpli�cado con la experiencia, lo cual por
ejemplo, impactará en la decisión del tipo de kernel a utilizar y un valor aproximado u orden
de magnitud cercano de los valores de los parámetros que han ofrecido buenos resultados en
análisis anteriores.
12http://www.cs.waikato.ac.nz/ml/weka/
52
3.4. Generación de listas de reproducción de música
Todo el proceso seguido hasta ahora tiene un sólo objetivo general, y que es el poder
generar, mediante un procedimiento alternativo, una lista de reproducción de música
siguiendo un método cuantitativo no tradicional en donde la información para la generación
de esta lista no sea la que tradicionalmente puede ser obtenida mediante el etiquetado manual
de usuarios ni el que puede ser evidenciado fácilmente desde los metadatos tipo ID313.
3.4.1. 1° Enfoque: Generación de listas de reproducción mediante
similaridad de cosenos
Explicación del método
Sean mi vectores �jos en un espacio vectorial euclidiano n-dimensional mi ∈ Rn, donde
la túpla mi = (f1, f2, ..., fn−1, fn) con fj componentes del vector, j ∈ [1, n] y cada fj
correspondiente a una de las n características extraídas.
Intuitivamente para mi ∈ R2, según sepuede observar en la �gura 3.13 (en donde seproyectan varios vectores desde el origen haciadiversos puntos ubicados en el plano), dosvectores pueden ser de�nidos como similares,siempre que su largo sea similar y que el ánguloentre ellos sea pequeño y cercano a cero. Porotro lado, dos vectores en donde su direcciónes absolutamente contraria, se considerarán nosimilares (aunque sean del mismo largo).
Figura 3.13: Vectores en el plano euclidiano
Para medir la similaridad entre vectores, se podrá utilizar cualquiera de estas dos medidas:
El ángulo Θ entre dos vectores,
El coseno del ángulo Θ entre los mismos dos vectores.
13http://es.wikipedia.org/wiki/ID3
53
Por su parte, la función de coseno entredos ángulos tiene atributos interesantes porcuanto, es monótomamente decreciente paraángulos que van desde 0 a π y tambiéndesde 0 a −π (ver �gura 3.14) lo cual resultamuy atractivo de utilizar puesto que tieneequivalencia con lo que intuitivamente seplanteará para una de�nición de similaridadentre vectores. Figura 3.14: Coseno entre Vectores
Para medir el nivel de similaridad entrevectores (según se planteó recientemente),es necesario utilizar una medida que seaindependiente del largo del vector y es porlo mismo que se hará una normalizacióna cada vector para circunscribirlos a unacircunferencia unitaria tal cual se muestra enla �gura 3.15.
Figura 3.15: Vectores normalizados inscritos ala circunferencia unitaria.
Para normalizar las representaciones vectoriales de los archivos Mp3, se utilizará la norma
‖ x ‖2=√
Σix2i con lo cual los vectores quedarán mapeados a la circunferencia unitaria
manteniendo cada uno su dirección; y |V | corresponderá a la cantidad de características
seleccionadas. La medida de similaridad, por lo tanto, quedará de�nida como:
SIM(ma,mk) = COS(ma,mk) =ma �mk
|ma| · |mk|=
Σ|V |i mai ·mki√
Σ|V |i m2
ai ·√
Σ|V |i m2
ki
(3.4.1)
Para vectores normalizados, el coseno es equivalente al producto punto o producto escalar.
A pesar de que a esta medida se le conoce como distancia de cosenos, se comporta como
medida de similaridad puesto que tiene relación inversa con el ángulo entre los vectores.
54
Estimación de la cantidad de cálculos de distancia: Sea N la cantidad de datos en
el conjunto de datos. Por lo tanto, la cantidad de distancias a calcular equivale a la cantidad
de cálculos de distancia de todos con todos N2, menos la cantidad de datos N (puesto que
equivale a la cantidad de cálculos de distancia de todos los vectores consigo mismos), dividido
en dos (puesto que la distancia de A → B es la misma que de B → A). Por lo tanto, la
cantidad de distancias equivale a: N2−N2
.
Generación de la lista de reproducción
Figura 3.16: Modelo general del generador de listas de reproducción utilizando distanciade cosenos. El ciclo que agrega canciones a la lista de reproducción se reitera N vecesdependiendo de la cantidad de canciones que se desee en la lista de reproducción.
Para la generación de una lista de reproducción, se tomará la elección de un tema Mp3 de
parte de un usuario, y posteriormente, según se muestra en la �gura 3.16, se irá rankeando
el siguiente tema de acuerdo a la menor distancia de cosenos encontrada en los temas aún
no agregados a la lista de reproducción. Este ciclo se repite la cantidad de veces equivalente
al largo de la lista de reproducción deseada.
55
3.4.2. 2° Enfoque: Generación de listas de reproducción mediante
SOM
Explicación del método
Tal como se comentó en el Estado del Arte en la sección 2.3, en 1982 T. Kohonen presentó
un modelo de red denominado �Mapas auto organizativos� o SOM (Self-organizing Maps)
[15], el cual da una propuesta para la agrupación de datos de manera no supervisada. El
procedimiento de aprendizaje se puede observar a grandes rasgos a continuación.
Algoritmo de aprendizaje SOM - versión 1
PASO 1: Inicializar los pesos de cada nodo con valores aleatorios.
PASO 2: Elegir un vector desde el conjunto de datos de entrenamiento y presentarlo
a la SOM
PASO 3: Examinar cada nodo, buscando cual tiene un vector de pesos mas similar al
vector presentado. El ganador es llamado BMU (Best Match Unit).
PASO 4: Estimar los vecinos del BMU de acuerdo a algun criterio de radio.
PASO 5: Alterar los pesos del BMU y de todos los vecinos de acuerdo a alguna
funcion que permita estrechar el parecido entre cada nodo en el vecindario y el
vector de entrada.
PASO 6: Repetir desde el paso 2 para N iteraciones.
Al presentar un nuevo vector a la red SOM, se busca elBMU (nodo con vector de pesos más similar al vectorde entrada y marcado a modo de ejemplo en verde en la�gura 3.17) y se actualizan los pesos de toda la vecindaddel BMU (marcados en colores alrededor del BMU enla �gura 3.17) de modo de hacer que dicha sección dela rejilla de neuronas tienda a valores similares en suspesos respecto del vector presentado. Figura 3.17: Mapa auto organizativo
Claramente al ser cada vector en los datos de entrada una representación vectorial de
alta dimensionalidad de un archivo Mp3 (una dimensión por característica calculada), no es
posible visualizar si la ubicación de cada uno de los nodos activados (BMU) por la SOM
representa una buena ubicación para cada grupo de música similar.
56
Además, el problema de rankear la posición relativa de un dato intragrupo es un asunto
de sumo interés por cuanto se desea generar una lista de reproducción que permita �suaves
transiciones� de estilo para un usuario �nal.
Para poder realizar lo anterior, se puede por ejemplo, tomar cada grupo identi�cado
en el mapa SOM (Ver Figura 3.18) y realizar un ranking de similaridad con alguna(s) de
las características que tiene cada representación vectorial de un archivo Mp3. Una buena
aproximación podría ser tomar la característica asociada a los pulsos por minuto o BPM14,
con lo cual cada grupo se ordena por �velocidad� de las canciones.
Figura 3.18: Resultado del entrenamiento de una SOM de dimensión 100x100, utilizandocomo datos de entrada los vectores de características de 1880 archivos Mp3 del conjunto dedatos ISMIR2004. Se puede notar que los nodos activos en negro grá�camente no ofrecenposibilidad de visualizar que tan numerosos son los grupos (que se representan en este caso,por un punto negro en la red SOM) ni mucho menos una forma evidente para rankear datosen cada grupo a objeto de generar una lista de reproducción.
La propuesta anterior puede resultar interesante, pero empíricamente se evidenciaron los
siguientes problemas:
Algunas veces los grupos generados, tenían muchos datos en contraste con otros grupos
de la red SOM.
Lo anterior implicaba que al ordenar la lista de reproducción para un grupo masivo
según la característica BPM, se generasen situaciones de similaridad cuestionables,14Las pulsaciones por minuto (�Beats per minutes o �BPM� en inglés) es una unidad empleada para medir
el tempo en música. Equivale al número de pulsaciones que caben en un minuto.
57
como por ejemplo, que se arroje dos canciones de absoluta diferencia de estilos (rock
y clásica) y que a pesar de ser incluso iguales en velocidad, no sean percibidas como
similares en su transición desde una canción a otra.
Es por lo anterior que se propone realizar modi�caciones al algoritmo de entrenamiento
básico anterior para poder:
Identi�car (dado un requerimiento musical de un usuario), el siguiente tema más similar
pero no sólo basados en medidas armónicas ni de tempo de las canciones.
Identi�car el o los temas subsiguientes, con lo cual se podría generar una lista de
reproducción.
Algoritmo de aprendizaje SOM - versión 2
PASO 1: Inicializar los pesos de cada nodo con valores aleatorios.
PASO 2: Elegir un vector desde el conjunto de datos de entrenamiento y presentarlo
a la SOM
PASO 3: Examinar cada nodo, buscando cual tiene un vector de pesos mas similar al
vector presentado. El ganador es llamado BMU (Best Match Unit).
PASO 4: Si el BMU encontrado en el paso 3 ya ha sido ocupado por otro dato, buscar
nuevamente un nuevo BMU en la vecindad.
PASO 5: Si todos los nodos de la vecindad ya fueron ocupados, aumentar el radio de
la vecindad y volver a buscar un nuevo BMU en la nueva vecindad ampliada.
Repetir paso 5 hasta encontrar un BMU.
PASO 6: Guardar como centroide el BMU encontrado en el paso 3 y como posicion, el
BMU encontrado en el paso 5.
PASO 7: Estimar los vecinos del BMU encontrado en el paso 5 de acuerdo a algun
criterio de radio.
PASO 8: Alterar los pesos de todos los vecinos, de acuerdo a alguna funcion que
permita estrechar el parecido entre cada nodo en el vecindario y el vector de
entrada.
PASO 9: Repetir desde el paso 2 para N iteraciones.
El contador de ubicación será muy útil para rehacer la lista de reproducción, pues al
desearse una lista desde un grupo especí�co, se ordenará por este atributo.
58
La diferencia con la versión 1 del procedimiento deentrenamiento, se basa en que:
1. Se requiere entrenar la totalidad de los datos, esdecir, se debe presentar todas las canciones a lared SOM (pues en este proceso se identi�carásu posición relativa para listas de reproducciónfuturas).
2. Si durante el entrenamiento la posición del BMUya está siendo utilizada por un dato previo,entonces se procede a buscar un nuevo BMU enla vecindad a una distancia de 1 nodo; si no existeuna nueva posible ubicación, entonces se ampliael radio del BMU en una unidad, repitiéndose labúsqueda de un nuevo BMU sucesivamente hastaencontrar un BMU desocupado.
3. Se realiza la actualización de pesos en torno alnuevo BMU de forma tradicional.
4. Se guarda una lista para cada grupo en dondese incluye: el centroide del grupo, la posición�nal encontrada y datos complementarios (comogénero de la canción, contador de ubicación, entreotros).
Figura 3.19: Ejemplo de BMU y suvecindario
Generación de la lista de reproducción
Para la generación de una lista de reproducción es necesario el entrenamiento previo de
todas las canciones en el conjunto de datos, cuyo objetivo es identi�car la posición relativa
en el modelo de neuronas y el correlativo en que se instanciará para la generación de la lista.
Habiéndose realizado el paso anterior, se tomará la elección de un tema Mp3 en un grupo
de parte de un usuario, y posteriormente, según se muestra en la �gura 3.20, se irá rankeando
el siguiente tema de acuerdo a la ubicación relativa en la rejilla de la red SOM desde el centro
de cada isla de música.
59
Figura 3.20: Modelo general del generador de listas de reproducción utilizando SOM.
60
Capítulo 4
Experimentos
4.1. Medidas de Evaluación
La satisfacción de un usuario a un sistema de clasi�cación esta estrechamente relacionada
a la calidad de la clasi�cación en términos de efectividad. Pero cómo medir la calidad. Para
poder responder a esta interrogante de modo cuantitativo, se expresan las siguientes medidas:
Experto dice: Clase X Experto dice: Clase 6= XClasi�cador dice: Clase X Verdaderos Positivos (TP) Falsos Positivos (FP)Clasi�cador dice: Clase 6= X Falsos Negativos (FN) Verdaderos Negativos (TN)
Cuadro 4.1: matriz de confusión
En el cuadro 4.1 se pueden apreciar 4 grupos de respuesta (con sus respectivos nombres
en la literatura). En ella se puede ver que obviamente para una tarea de clasi�cación son
deseados: muchos verdaderos positivos y muchos verdaderos negativos, a la vez que pocos
falsos positivos y falsos negativos.
Las anteriores son medidas típicas y cuanti�cables de rendimiento. A continuación se
entregará otras medidas que dependen de estas métricas.
61
4.1.1. Las medidas: Precisión y Recall
Las medidas anteriores se pueden calcular para cada clase (una vez terminado el proceso
de clasi�cación automático). Sin embargo, a veces es posible encontrar clases en las cuales el
algoritmo tiene excelentes indicadores en contraste con otras clases en donde los resultados
son pobres, lo cual nos indica que en �términos generales� el clasi�cador no es del todo bueno.
Para poder medir en términos globales el rendimiento se utilizan las siguientes medidas
(apoyadas en los cálculos anteriores):
P =TP
TP + FP(4.1.1)
P:Precisión equivale a la fracción de elementos que fueron bien clasi�cados respecto de todos
los elementos que recibieron automáticamente la misma clase (bien o mal clasi�cados).
R =TP
TP + FN(4.1.2)
R:Recall equivale a la fracción de elementos que fueron bien clasi�cados respecto de todos
los elementos.
Ejemplo de cálculo de las medidas Precisión y Recall
a b c d e f g h i j ← clasi�cado por:93 0 2 0 0 0 1 0 0 4 | a = blues0 95 1 0 0 4 0 0 0 0 | b = classical3 1 80 2 0 0 0 5 0 9 | c = country3 0 5 75 2 0 0 2 3 10 | d = disco2 0 1 2 82 0 2 2 8 1 | e = hiphop2 8 1 1 0 83 1 1 0 3 | f = jazz1 0 0 1 4 0 87 0 0 7 | g = metal0 0 7 4 2 1 0 83 2 1 | h = pop3 0 3 4 4 1 0 2 78 5 | i = reggae5 1 9 10 3 2 5 6 1 58 | j = rock
Cuadro 4.2: Ejemplo para el calculo de la precisión y el recall. Para las clases a,b,...,i,j seobtiene la siguiente matriz de confusión después de un proceso de clasi�cación supervisado,en donde las clases verdaderas se enuncian hacia abajo y la salida del clasi�cador hacia ellado.
62
Con los datos del cuadro 4.2, se pueden calcular por ejemplo la Precisión y el Recall de
la clase �blues� como sigue:
Pblues =TP
TP + FP=
93
93 + 3 + 3 + 2 + 2 + 1 + 3 + 5= 0, 83 (4.1.3)
Rblues =TP
TP + FN=
93
93 + 2 + 1 + 4= 0, 93 (4.1.4)
En general, a medida que mejora el recall, empeora la precisión, lo cual obliga a agregar
una nueva medida de evaluación que mezcle ambas medidas anteriores. Esta medida es la
Fmeasure.
4.1.2. La medida Fmeasure
Fmeasure =1
α 1P
+ (1− α) 1R
=(β2 + 1)PR
β2P +R. (4.1.5)
donde β2 = 1−αα
con α ∈ [0, 1] y β ∈ [0,∞[.
En general se usa una Fmeasure balanceada con β = 1 o α = 0, 5 que es la media armónica
de P y R:
1
F1
=1
2(
1
P+
1
R) (4.1.6)
Ejemplo de cálculo de la medida F1
Utilizando los datos del mismo ejemplo anterior, se procede de la siguiente manera:
1
F1
=1
2(
1
P+
1
R) =
1
2(
1
0, 83+
1
0, 93) = 1, 140 (4.1.7)
y posteriormente obteniendo el inverso multiplicativo, F = 11,140
= 0, 877, que es un valor
que representa de mejor manera el comportamiento del clasi�cador por tanto considera a
ambos elementos anteriores con igual importancia.
F1−measure es como un mínimo suavizado y al obtenerlo, F1−measure sólo obtiene valores
altos cuando tanto la Precisión como Recall son altos.
63
F1 ∈ [0, 1] (4.1.8)
F1 = 0, si la clasi�cación de la clase en cuestión fue totalmente nula.
F1 = 1, si la clasi�cación de la clase en cuestión fue perfecta.
4.1.3. La medida Kappa
Suponga que usted tiene a dos expertos que razonan acerca de la pertenencia de un
elemento a una clase X. Lo deseable sería que existiera un alto grado de acuerdo entre los
juicios de estos expertos.
La medida Kappa evalúa el grado de acuerdo o desacuerdo entre juicios de relevancia y
está diseñado para juicios de tipo categóricos (que es justo lo que se desea puesto que se
requiere comparar el Gold Standard entregado por el conjunto de datos o�cial de prueba y
los resultados del clasi�cador automático seleccionado para este estudio).
Sea P (A) = proporción de veces que los expertos coinciden, y
P (E) = P (/∈)2 + P (∈)2 coincidencia por azar.
Por lo tanto, la medida κ se puede obtener por:
κ =P (A)− P (E)
1− P (E)(4.1.9)
Los valores de κ recomendados están en el rango [23, 1].
Ejemplo de cálculo de la medida κ.
Pasos del cálculo:
1. P (A) = 300+70400
= 370400
= 0, 925
2. P (/∈) = 80+90400+400
= 170800
= 0, 2125
3. P (∈) = 320+310400+400
= 630800
= 0, 7878
4. P (E) = P (/∈)2 + P (∈)2 = 0, 21252 + 0, 78782 = 0, 665
64
SI NO TotalSI 300 20 320NO 10 70 80Total 310 90 400
Cuadro 4.3: Ejemplo para el calculo de la medida κ. Las columnas son la opinión del primerexperto y las �las son la opiniones del segundo experto, acerca del grado de pertenencia de400 elementos a una clase X.
5. κ = P (A)−P (E)1−P (E)
= 0,925−0,6651−0,665 = 0, 776
6. κ = 0, 776 que esta en el rango aceptable.
4.2. Conjuntos de Datos
Para el desarrollo de esta tesis, se ha utilizado los siguientes conjuntos de datos:
4.2.1. Conjunto de datos - GarageBand 2008
Disponible online1 como un conjunto de datos de propósito general en investigación en
máquinas de aprendizaje. Su conformación nace desde datos obtenidos en www.garageband.
com en 2008.
Garageband alternative 145Garageband blues 120Garageband electronic 113Garageband folkcountry 222Garageband funksoulrnb 47Garageband jazz 319Garageband pop 116Garageband raphiphop 300Garageband rock 504
Cuadro 4.4: Distribución del conjunto de datos por género musical: GarageBand
1http://www.imm.dtu.dk/English/Research/ISP/Publications.aspx?lg=showcommon&id=211241
65
4.2.2. Conjunto de datos - ISMIR 2004
Puesto a disposición de la comunidad participante del congreso internacional ISMIR
20042. Fue creado para el concurso en sus secciones de clasi�cación de música por género,
identi�cación de artista y similaridad de artistas.
ISMIR 2004 alternative 145ISMIR 2004 blues 119ISMIR 2004 electronica 113ISMIR 2004 folkcountry 222ISMIR 2004 funksoulrnb 47ISMIR 2004 jazz 317ISMIR 2004 pop 116ISMIR 2004 raphiphop 298ISMIR 2004 rock 503
Cuadro 4.5: Distribución del conjunto de datos por género musical: ISMIR 2004
4.2.3. Conjunto de datos - GTZAN Genre Collection
Por último, se suma a este trabajo el conjunto de datos GTZAN3 el cual contiene 100
temas de audio para cada uno de los 10 géneros musicales más conocidos.
GTZAN Genre Collection-30seg blues 100GTZAN Genre Collection-30seg classical 100GTZAN Genre Collection-30seg country 100GTZAN Genre Collection-30seg disco 100GTZAN Genre Collection-30seg hiphop 100GTZAN Genre Collection-30seg jazz 100GTZAN Genre Collection-30seg metal 100GTZAN Genre Collection-30seg pop 100GTZAN Genre Collection-30seg reggae 100GTZAN Genre Collection-30seg rock 100
Cuadro 4.6: Distribución del conjunto de datos: GTZAN Genre Collection
2http://ismir2004.ismir.net/genre_contest/index.htm3http://opihi.cs.uvic.ca/sound/genres.tar.gz
66
4.3. Extracción de Características
Las características que se obtuvieron fueron las enunciadas en la tabla 4.7.
Característica Mean Std Total
Mean
Zero Crossings 1 1 2Centroid Power 1 1 2Rollo� 1 1 2Flux 1 1 2MFCC 13 13 26Chroma 12 12 24Peak Ratio Average 1 1 2Peak Ratio Mínimo 1 1 2SCF 24 24 48SFM 24 24 48LSP 18 18 36LPCC 12 12 24
Std
Zero Crossings 1 1 2Centroid Power 1 1 2Rollo� 1 1 2Flux 1 1 2MFCC 13 13 26Chroma 12 12 24Peak Ratio Average 1 1 2Peak Ratio Mínimo 1 1 2SCF 24 24 48SFM 24 24 48LSP 18 18 36LPCC 12 12 24Total 218 218 436
Cuadro 4.7: Cantidad de características obtenidas por tipo
En la siguiente sección se desarrollará una revisión de efectividad de estas 436
características para el modelo propuesto.
4.4. Selección de Características:
De todas las formas posibles de ranking de características, se ha seleccionado el método
propuesto en [40], en tanto fue el que obtuvo mejores resultados combinados con la máquina
67
de aprendizaje electa.
En las �guras 4.1 y 4.2 se puede observar que una vez rankeadas las características,
e ir eliminando cada una desde la menos relevante a la más relevante (de una en una) y
volviendo a realizar el entrenamiento de una SVM (que fue la máquina de aprendizaje electa
en el procedimiento 3.2), el rendimiento varía de acuerdo al �peaking phenomenon�. Este
mismo procedimiento se aplicó para los tres conjuntos de datos disponibles4 y se analizó la
ocurrencia de cada característica para cada conjunto de datos.
Se eligió como cantidad de características las 174 que fueron mejor rankeadas al menos
en dos de los tres conjuntos de datos disponibles de acuerdo a la implementación del método
propuesto por [40].
Para seleccionar la cantidad idónea de características en el algoritmo 3.3, se de�ne un ε =
±0, 5 % de tal forma que, si al recorrer la matriz de rendimientos obtenidos desde la primera
celda en adelante, no se nota una disminución en el error de clasi�cación o bien se obtiene
aumento en el error de clasi�cación superior a ε, entonces se detiene la agregación/eliminación
de características de acuerdo al ranking, quedando por tanto la selección culminada en el
mejor resultado obtenido hasta el momento. Esto tiene validez dado el comportamiento
grá�co que puede ser visto en la �gura 4.1.
Para los conjuntos de datos disponibles, se pudo comprobar empíricamente el Peaking
Phenomenon mostrado en la �gura 3.7.
En el próximo apartado se abordará los resultados obtenidos en el proceso de clasi�cación
expuesto brevemente en la �gura 3.8 y las medidas de rendimiento mencionadas en las �guras
4.1 y 4.2 las cuales forman parte integral de este análisis.
4.5. Clasi�cación automática
En esta etapa se probaron una serie de algoritmos entre los cuales se encontraban: Redes
Neuronales, SVM (con diversos kernels y parámetros), Árboles de decisión (varias opciones
de ellos) y otros métodos de clasi�cación conocidos5, encontrándose que para los conjuntos
de datos en estudio, el mejor rendimiento se producía para las SVM6 (tarea de clasi�cación
4Ver sección 4.2 para más detalle sobre los conjuntos de datos utilizados.5Para más referencia de los métodos testeados, revisar el Apéndice C6Para saber más sobre este método, revisar la sección 3.3.2
68
Figura 4.1: Variación del rendimiento (instancias correctamente clasi�cadas) versus cantidadde características seleccionadas. Se destaca un punto que marca un peak su�ciente, puesdespués de las 174 características seleccionadas, no se notan importantes variaciones derendimiento para los tres conjuntos de datos disponibles.
Figura 4.2: Variación de la medida Kappa versus cantidad de características seleccionadas.Se destaca la medida Kappa obtenida para la misma cantidad seleccionada en la �gura 4.1,después de lo cual no se evidencia importantes variaciones de rendimiento.
supervisada).
Como es de esperarse, los algoritmos en algunas con�guraciones tendían a aprender
de memoria los datos afectando positívamente los resultados de la clasi�cación pero a la
vez disminuyendo las capacidades de generalización. Es por este motivo que se pre�rió la
realización de validación cruzada: 10 fold cross validation [24].
En la �gura 4.3 se muestra una tabla con los resultados más importantes, comparando
69
los rendimientos de diferentes clasi�cadores que fueron probados.
Figura 4.3: Rendimiento de varios algoritmos de clasi�cación testeados con el conjunto dedatos ISMIR2004. Columna%OK corresponde al porcentaje de instancias bien clasi�cadasmientras que la columna%NOK corresponde al porcentaje de instancias mal clasi�cadas.
La primera opción destacada en los resultados con casi un 60% de clasi�cación efectiva
para el conjunto de datos ISMIR 2004, se obtuvo con una SVM y es por esto que será
seleccionada como máquina de análisis.
El cuadro 4.3 detalla en las columnas:
El clasi�cador probado.
El tiempo en segundos que demoró la construcción del clasi�cador.
El porcentaje bien clasi�cados.
El porcentaje mal clasi�cados; y
La medida κ (Kappa) como métrica de evaluación (ver detalle en el Apéndice 4.1 al
�nal)
La columna de tiempo (aproximados a la centésima de segundo), deja en evidencia
práctica una notable diferencia entre los tiempos necesarios para la construcción de los
clasi�cadores.
70
4.6. Generación de listas de reproducción
4.6.1. Mediante distancia de cosenos
Para el desarrollo de esta sección de experimentos se calculó las distancias de cosenos
entre todos los archivos de música de cada conjunto de datos disponible. Cada vector
esta compuesto solamente por las 174 características que fueron reconocidas como más
importantes en el Capítulo 3.2.
El cálculo de distancia es extremadamente rápido entre un tema musical y otro
(naturalmente), pero se requiere realizar los cálculos entre todos los pares de vectores del
conjunto de datos (sin importar el orden), lo cual necesariamente implicará que este tipo de
etapas se lleve a cabo de forma preliminar (ya que los cálculos totales pueden tomar varias
horas para un par de cientos de canciones en el conjunto de datos).
En la tabla 4.8 se muestra la cantidad de cálculos de distancia efectuados para los tres
conjuntos de datos en estudio.
Conjunto de datos Canciones Cantidad de Cálculos de distanciaISMIR 2004 1.880 1.766.260GarageBand 1.886 1.777.555GTZAN Genre Collection 1.000 499.500TOTAL 4.766 4.043.315
Cuadro 4.8: Cantidad de canciones según conjunto de datos y cantidad de cálculos dedistancia de cosenos entre archivos de música. Esta cantidad de datos de distancia utiliza108 MB de memoria. No se calcularon distancias entre Mp3 de distintos conjuntos de datos.
4.6.2. Mediante aplicación de SOM
Preprocesamiento de los vectores
Primero se debe identi�car el tipo de procesamiento que se aplicará a los vectores de
características antes de entrenar la red SOM. Varias son las posibilidades de acuerdo a lo
mencionado en el Capítulo 3.2 en el que se explicaba en detalle algunas transformaciones
posibles. De las que en ese entonces se plantearon, se aplicó: Normalización, Estandarización
y Ninguna transformación, obteniéndose los siguientes los resultados:
71
Figura 4.4: Resultado del entrenamiento mo-di�cado de la SOM sin realizar procesamientoprevio de los vectores de características.
De�nición de Colores: Para poder repre-sentar de mejor forma la ubicación de cadaMp3 en la red SOM, se identi�có a cada estilomusical estimado con los siguientes colores:
RockAlternativeBluesPopElectronicJazzRap - Hip HopCountryFunksoulrnb
Figura 4.5: Resultado del entrenamientomodi�cado de la SOM, con estandarización delos vectores de características
Figura 4.6: Resultado del entrenamientomodi�cado de la SOM, con normalización delos vectores de características
Tal cual se puede observar en la �gura 4.4, no realizar transformación de los datos,
genera pocos grupos en la capa de salida lo que perjudica los resultados de la lista pues se
obtienen grupos muy grandes (siendo considerado un Mp3 similar a una muy alta cantidad
de archivos).
En la �gura 4.5 por otro lado, el proceso previo de estandarización de las características,
genera en los resultados, enormes distribuciones en la capa de salida generando islas casi
72
aleatorias de música.
Por último, en la �gura 4.6 se puede observar una mejora en la cantidad de grupos,
pero sin llegar a extremos como ocurría al realizar estandarización de los datos. Este mismo
comportamiento se mostró con los tres conjuntos de datos disponibles y en consecuencia será
el método de preprocesamiento que se utilizará.
Los colores que se muestran en las tres �guras anteriores (4.4, 4.5 y 4.6), corresponden a
las representaciones de color de las clases estimadas por el método de clasi�cación del paso
previo (SVM con kernel de radio basal) para facilitar la observación de las distribuciones.
Aspectos importantes a considerar en esta fase:
Se requiere de un método que permita rankear música por similaridad; y esta
similaridad, no esta relacionada exclusivamente al género de una canción especí�ca,
pues sino se realizaría la lista sólo con canciones del mismo género.
Los conjuntos de datos disponibles cuentan en general con varias decenas de canciones
por estilo, en las cuales se denotó por un experto que, pudiendo ser del mismo género,
las canciones no son necesariamente similares (por ejemplo por diferencias de tempo,
técnica de armonización, diferencias de instrumentación, etc.). Lo anterior implica que
es esperado que no estén todas las islas con Mp3 del mismo género.
Se detectó que dentro de los conjuntos de datos disponibles, la clase dada por el
Gold Standard en varios archivos de música es cuestionable. Por ejemplo, temas mal
clasi�cados de facto o canciones que eran mezcla de varios estilos como parte de la
creación musical (ejemplo: introducción de una salsa de Celia Cruz para un tema de
rap y catalogado como rap por el Gold Standard, a pesar de que al menos el 80% de
la muestra disponible de 30 segundos era salsa), entre otros.
Las redes SOM modi�cadas según la segunda propuesta resultaron ser útiles para
agrupar por similaridad, pero requieren de información adicional para la realización de
rankings, pues por si solas, son muy sensibles al orden en que se presentan los datos de
entrenamiento; lo cual afecta el método de enlistado que se deseaba implementar para
generar una lista de reproducción.
73
Por lo anterior, se utilizó el modelo de la SVM del Capítulo 3.3 para estimar las clases
de todos los conjuntos de datos disponibles, con el objeto de ordenar los datos por clase
estimada antes de ser presentados a la red SOM. El resultado del entrenamiento puede ser
observado en la �gura 4.7, en donde se puede notar una mayor coherencia por estilos.
Nótese que un mismo estilo musical, no termina necesariamente en la misma isla musical
(que es lo deseado), pudiendo generarse relaciones de similaridad entre estilos distintos.
Recordar además que, cada isla de música va guardando un correlativo de orden, el cual
indica qué tema es el siguiente según el aprendizaje que se va realizando en la etapa de
entrenamiento. Este correlativo colaborará a continuación con la generación de la lista de
reproducción.
Figura 4.7: Resultado del entrenamientomodi�cado de la SOM, con normalización delos vectores de características y ordenamientopor clase estimada
De�nición de Colores: Para poder repre-sentar de mejor forma la ubicación de cadaMp3 en la red SOM, se identi�có a cada estilomusical estimado con los siguientes colores:
RockAlternativeBluesPopElectronicJazzRap - Hip HopCountryFunksoulrnb
Comparativo visual de experimentos con tres conjuntos de datos distintos
A continuación se muestran los resultados del entrenamiento de las redes SOM
tradicionales y SOM adaptadas para los tres conjuntos de datos en estudio.
En las �guras 4.8, 4.9 y 4.10 se puede observar similares resultados en la capa de salida
para la red SOM tradicional en los conjuntos de datos ISMIR2004, GarageBand y GTZAN
respectivamente, lo que considerando que cada conjunto de datos tiene alrededor de diez
74
clases, no ofrece una forma intuitiva de clasi�cación o similaridad por si sola.
Figura 4.8: ISMIR SOMtradicional
Figura 4.9: GarageBandSOM tradicional
Figura 4.10: GTZAN SOMtradicional
En las �guras 4.11, 4.12 y 4.13, se puede notar que el entrenamiento arroja en las capas
de salidas de cada SOM adaptada, una mayor agrupación de Mp3 que las otorgadas por una
SOM tradicional, con una pequeña cantidad de grupos y en consecuencia una gran cantidad
de canciones por agrupación de música.
Figura 4.11: ISMIR SOMv2sin preprocesamiento
Figura 4.12:GarageBand SOMv2sin preprocesamiento
Figura 4.13:GTZAN SOMv2 sinpreprocesamiento
Por otro lado en las �guras 4.14, 4.15 y 4.16 se puede notar que el entrenamiento de la
SOM modi�cada genera en la capa de salida, ubicaciones extremadamente poco agrupadas
y con distribuciones aparentemente aleatorias en la rejilla de neuronas.
En las �guras 4.17, 4.18 y 4.19 se puede notar que la cantidad de grupos es también
pequeña en contraste al resultado del entrenamiento de una red SOM tradicional, pero con
75
Figura 4.14: ISMIR SOMv2con preprocesamiento es-tandarizado
Figura 4.15:GarageBand SOMv2con preprocesamientoestandarizado
Figura 4.16:GTZAN SOMv2 conpreprocesamientoestandarizado
una mayor cantidad de grupos que las obtenidas sin el procesamiento de los vectores de
características antes de la etapa de entrenamiento.
Figura 4.17: ISMIR SOMv2con preprocesamiento nor-malizado
Figura 4.18:GarageBand SOMv2con preprocesamientonormalizado
Figura 4.19:GTZAN SOMv2 conpreprocesamientonormalizado
Por último en las �guras 4.20, 4.21 y 4.22 se puede notar que al agregar como atributo de
ordenamiento (antes de entrenamiento) la clase estimada de los Mp3, se obtienen similares
números de islas de datos en la capa de salida que el método anterior, pero con una mayor
agrupación de estilos, lo cual facilitará la generación de listas de reproducción dada la ayuda
que ofrecerá al modelo tener la estimación de la clase a la que pertenece cada Mp3.
76
Figura 4.20: ISMIR SOMv2con preprocesamiento nor-malizado + clasi�cación
Figura 4.21:GarageBand SOMv2con preprocesamientonormalizado + clasi�cación
Figura 4.22:GTZAN SOMv2 conpreprocesamientonormalizado + clasi�cación
4.7. Resultados: Listas de reproducción
A continuación se muestran algunos fragmentos de listas de reproducción generados
mediante el método de distancia de cosenos, redes SOM y sus variaciones tanto de aprendizaje
como de preproceso de vectores de características.
El cuadro 4.9 muestra la lista obtenida a través de la distancia de cosenos. Prelimi-
narmente pareciera ser una lista con similaridad coherente puesto que varios de los
temas parecen ser del mismo tipo, sin embargo hay que considerar el punto de partida
(la elección del usuario), que en este caso corresponde a un tema de ROCK, el salto
siguiente corresponde a un tema de estilo METAL, pero muy pronto la lista se va a un
estilo que puede no ser el que el usuario buscaba. Nótese que la lista en pocas ocasiones
vuelve a mostrar información relativa al estilo que el usuario había elegido.
En el fragmento de lista de reproducción mostrado en el cuadro 4.10 se puede notar que
la columna �Neurona� ubica a todas estas canciones como similares (misma posición en
la rejilla de salida de la red SOM), sin embargo, al ver los estilos musicales asociados a
la lista, además de las variaciones de tempo desplegadas en la columna BPM, se puede
predecir que la lista, a pesar de ser mejor que el caso anterior, no generará lo que se
espera en cuanto a transiciones de similaridad desde un tema a otro.
Lo anterior mejora levemente en la propuesta de lista mostrada en el cuadro 4.11 pero
77
tal como se había comentado anteriormente, los grupos bajo esta propuesta tienden a
ser muy grandes, generando similaridades muy amplias (muchos temas se parecen a
muchos temas). En este caso la propuesta predice que todas las canciones de la lista
son similares a la ubicada en torno al centroide (7, 14).
La lista generada tras preprocesar los vectores de características via estandarización
de datos se muestra en el cuadro 4.12 en donde se puede notar que los grupos son muy
pequeños (observar los centroides y las posiciones �nales de las neuronas). Aunque a
nivel intragrupo los estilos son similares en términos generales, la cantidad de canciones
por grupo genera la desventaja de tener listas cortas de reproducción7.
El fragmento de lista mostrado en el cuadro 4.13 mejora las de�ciencias de los dos
puntos anteriores por cuanto el grupo es más amplio que cuando se estandarizan los
vectores de características pero sin llegar a los extremos del modelo SOM tradicional
o el modelo sin preprocesamiento de los vectores de características.
Por último en el cuadro 4.14 se muestra un fragmento de la lista de reproducción
generado en base a la normalización de los vectores de características y haciendo uso
de la clase estimada de los vectores como ordenamiento previo al entrenamiento de
la red SOM modi�cada. Se puede observar que las transiciones son en general más
aceptables pues se mezclan aspectos de similaridad basadas además en género musical
y BPM. En este caso hay cuatro sublistas importantes en torno a las neuronas (3, 4),
(6, 60), (16, 82) y (18, 83) que de acuerdo a lo que se puede observar (y oír), genera una
mejor aceptación de similaridad por parte de usuarios.
Es importante mencionar que todas estas propuestas de listas de reproducción generan
errores de similaridad en sus salidas, sin embargo, el fragmento de lista del cuadro 4.14 es la
que posee perceptiblemente mejores resultados generales.
Respecto de la intervención de un usuario, la distancia de cosenos como método para
generar la lista de reproducción, requiere de la elección previa de un sólo archivo de música,
mientras que las propuestas basadas en SOM, requieren de la elección de un tema en una
isla de música, lo cual implica que en ambos casos la amplitud de búsqueda es al conjunto
de datos completo y a los temas agrupados en cada isla de música respectivamente.
7Recordar que las listas se generan para cada isla de música
78
N CLASE Mp3 BPM ID DESDE ID HASTA DISTANCIA1 rock 00031.mp3 117,454 elección usuario 1881 02 metal 00018.mp3 113,582 1881 2213 9.70480975436e-103 jazz 00002.mp3 184,57 2213 2566 2.35688046041e-124 jazz 00046.mp3 156,605 2566 2496 6.19068850684e-125 jazz 00035.mp3 141,588 2496 2490 8.22216383941e-126 hiphop 00013.mp3 135,999 2490 2317 1.06655002564e-117 jazz 00040.mp3 145,577 2317 2571 1.3167709226e-118 blues 00024.mp3 116,134 2571 2091 1.42317471818e-119 blues 00006.mp3 161,499 2091 2103 1.50217102714e-1110 jazz 00039.mp3 166,709 2103 2543 1.64178935579e-1111 jazz 00033.mp3 94,8251 2543 2557 1.77545118808e-1112 jazz 00042.mp3 130,835 2557 2489 1.8653756696e-1113 jazz 00045.mp3 169,442 2489 2530 2.08699010489e-1114 jazz 00010.mp3 114,844 2530 2503 2.29964725305e-1115 blues 00027.mp3 175,185 2503 2113 2.59083751829e-1116 hiphop 00014.mp3 178,206 2113 2315 2.81801665082e-1117 jazz 00041.mp3 178,206 2315 2517 3.18439042069e-1118 jazz 00036.mp3 181,332 2517 2549 3.46992899313e-1119 rock 00005.mp3 98,4375 2549 1949 3.81970900108e-1120 jazz 00003.mp3 126,048 1949 2491 4.47082528434e-1121 country 00076.mp3 105,469 2491 2655 4.71551628573e-1122 classical 00037.mp3 116,134 2655 2786 5.08672222371e-1123 disco 00047.mp3 184,57 2786 2075 5.45229762505e-1124 blues 00010.mp3 147,656 2075 2124 5.65950137553e-1125 blues 00028.mp3 127,604 2124 2155 5.81310688458e-1126 classical 00003.mp3 106,556 2155 2830 6.40475880092e-1127 blues 00026.mp3 104,403 2830 2165 6.89382182917e-1128 blues 00007.mp3 112,347 2165 2092 6.98186471568e-1129 jazz 00006.mp3 132,512 2092 2533 7.41157294677e-1130 blues 00023.mp3 97,5088 2533 2082 7.83067256027e-1131 blues 00052.mp3 98,4375 2082 2170 8.05109295304e-1132 jazz 00044.mp3 109,957 2170 2568 8.70823317269e-1133 metal 00038.mp3 118,804 2568 2272 8.83201522932e-1134 metal 00089.mp3 151,999 2272 2222 9.04748490687e-1135 classical 00013.mp3 184,57 2222 2804 9.30551153235e-1136 rock 00006.mp3 114,844 2804 1959 9.2990076751e-1137 blues 00012.mp3 124,529 1959 2174 9.48073978722e-1138 jazz 00007.mp3 184,57 2174 2579 9.81604337257e-1139 country 00071.mp3 184,57 2579 2608 1.0241978958e-1040 classical 00007.mp3 154,268 2608 2828 1.06750477764e-10
Cuadro 4.9: Lista de reproducción utilizando distancia de Cosenos
79
N Neurona BPM Clase estimada Clase Gold Standard + Mp31 (2,23) 102.336 blues blues.00094.mp32 (2,23) 105.469 blues blues.00051.mp33 (2,23) 105.469 country country.00098.mp34 (2,23) 106.556 blues blues.00013.mp35 (2,23) 106.556 hiphop hiphop.00099.mp36 (2,23) 108.799 rock rock.00089.mp37 (2,23) 111.139 blues blues.00084.mp38 (2,23) 111.139 rock rock.00098.mp39 (2,23) 113.582 blues country.00094.mp310 (2,23) 113.582 blues country.00058.mp311 (2,23) 114.844 blues rock.00006.mp312 (2,23) 114.844 country country.00096.mp313 (2,23) 114.844 jazz jazz.00010.mp314 (2,23) 116.134 blues blues.00080.mp315 (2,23) 116.134 metal metal.00092.mp316 (2,23) 116.134 metal metal.00083.mp317 (2,23) 117.454 rock rock.00096.mp318 (2,23) 120.185 blues blues.00078.mp319 (2,23) 120.185 jazz jazz.00038.mp320 (2,23) 120.185 rock country.00092.mp321 (2,23) 121.599 blues blues.00022.mp322 (2,23) 121.599 country country.00061.mp323 (2,23) 121.599 hiphop hiphop.00007.mp324 (2,23) 124.529 blues blues.00003.mp325 (2,23) 124.529 blues blues.00012.mp326 (2,23) 129.199 metal metal.00022.mp327 (2,23) 132.512 country country.00055.mp328 (2,23) 132.512 metal metal.00030.mp329 (2,23) 141.588 rock reggae.00016.mp330 (2,23) 143.555 country country.00085.mp331 (2,23) 145.577 blues jazz.00008.mp332 (2,23) 147.656 blues blues.00010.mp333 (2,23) 147.656 blues blues.00077.mp334 (2,23) 149.796 rock rock.00001.mp335 (2,23) 164.062 blues blues.00081.mp336 (2,23) 164.062 metal metal.00069.mp337 (2,23) 166.709 country country.00068.mp338 (2,23) 178.206 country country.00095.mp339 (2,23) 178.206 jazz jazz.00041.mp340 (2,23) 178.206 rock rock.00008.mp3
Cuadro 4.10: fragmento - Lista de reproducción utilizando SOM tradicional
80
N Centroide Neurona BPM Clase estimada Clase Gold Standard + Mp31 (7,14) (7,14) 114.844 reggae rock.00030.mp32 (7,14) (6,15) 172.266 hiphop hiphop.00064.mp33 (7,14) (7,15) 97.5088 hiphop hiphop.00078.mp34 (7,14) (6,14) 123.047 reggae reggae.00058.mp35 (7,14) (8,13) 156.605 country country.00044.mp36 (7,14) (7,13) 124.529 pop pop.00083.mp37 (7,14) (6,13) 114.844 disco disco.00000.mp38 (7,14) (8,15) 184.57 hiphop hiphop.00038.mp39 (7,14) (8,14) 114.844 reggae reggae.00086.mala.mp310 (7,14) (6,16) 184.57 reggae pop.00079.mp311 (7,14) (5,14) 161.499 pop pop.00072.mp312 (7,14) (8,16) 184.57 reggae reggae.00050.mp313 (7,14) (9,16) 178.206 pop pop.00059.mp314 (7,14) (9,13) 139.675 pop pop.00050.mp315 (7,14) (5,13) 139.675 reggae reggae.00071.mp316 (7,14) (7,12) 149.796 pop pop.00025.mp317 (7,14) (9,15) 169.442 rock pop.00033.mp318 (7,14) (5,15) 116.134 disco rock.00041.mp319 (7,14) (7,16) 169.442 reggae reggae.00046.mp320 (7,14) (5,16) 151.999 reggae reggae.00090.mp321 (7,14) (8,12) 124.529 rock rock.00050.mp322 (7,14) (9,12) 184.57 hiphop hiphop.00059.mp323 (7,14) (9,14) 147.656 reggae reggae.00077.mp324 (7,14) (6,12) 134.233 rock rock.00046.mp325 (7,14) (5,12) 98.4375 hiphop reggae.00052.mp326 (7,14) (6,17) 184.57 hiphop hiphop.00063.mp327 (7,14) (10,15) 149.796 pop pop.00094.mp328 (7,14) (9,11) 132.512 country country.00040.mp329 (7,14) (10,11) 145.577 pop pop.00088.mp330 (7,14) (6,11) 93.1166 rock pop.00006.mp331 (7,14) (9,17) 109.957 hiphop hiphop.00057.mp332 (7,14) (10,12) 108.799 disco disco.00005.mp333 (7,14) (10,13) 143.555 rock rock.00054.mp334 (7,14) (4,15) 175.185 pop pop.00045.mp335 (7,14) (10,14) 98.4375 hiphop hiphop.00069.mp336 (7,14) (4,14) 96.5975 hiphop hiphop.00048.mp337 (7,14) (4,16) 98.4375 hiphop hiphop.00074.mp338 (7,14) (4,17) 105.469 country country.00023.mp339 (7,14) (7,11) 159.014 reggae hiphop.00040.mp340 (7,14) (8,11) 178.206 pop pop.00056.mp3
Cuadro 4.11: fragmento - Lista de reproducción utilizando SOM modi�cada sinpreprocesamiento de vectores antes de entrenamiento
81
N Centroide Neurona BPM Clase estimada Clase Gold Standard + Mp31 (0,4) (0,4) 107.666 jazz jazz.00054.mp32 (0,13) (0,13) 156.605 reggae hiphop.00033.mp33 (0,27) (0,27) 184.57 blues blues.00065.mp34 (0,27) (1,28) 184.57 blues blues.00069.mp35 (0,27) (0,26) 175.185 blues blues.00061.mp36 (0,27) (1,27) 112.347 blues blues.00062.mp37 (0,35) (0,35) 111.139 country country.00004.mp38 (0,59) (0,59) 98.4375 hiphop hiphop.00016.mp39 (0,59) (1,59) 126.048 disco disco.00061.mp310 (0,68) (0,68) 149.796 reggae reggae.00029.mp311 (0,74) (0,74) 121.599 jazz jazz.00024.mp312 (1,52) (1,52) 169.442 reggae reggae.00046.mp313 (1,52) (2,53) 90.6661 jazz jazz.00049.mp314 (2,5) (2,5) 141.588 blues blues.00090.mp315 (2,22) (2,22) 184.57 jazz jazz.00077.mp316 (2,30) (2,30) 109.957 pop pop.00024.mp317 (2,30) (1,31) 105.469 pop pop.00009.mp318 (2,30) (3,30) 109.957 rock rock.00047.mp319 (2,41) (2,41) 154.268 metal metal.00007.mp320 (2,55) (2,55) 169.442 disco disco.00050.mp321 (2,69) (2,69) 184.57 reggae reggae.00011.mp322 (2,74) (2,74) 93.9631 pop disco.00007.mp323 (2,77) (2,77) 130.835 country country.00032.mp324 (2,93) (2,93) 107.666 classical classical.00033.mp325 (2,93) (2,92) 156.605 blues blues.00014.mp326 (2,93) (3,93) 116.134 classical classical.00055.mp327 (2,93) (1,94) 94.8251 reggae reggae.00038.mp328 (2,93) (1,93) 164.062 jazz jazz.00074.mp329 (3,11) (3,11) 141.588 metal metal.00003.mp330 (3,40) (3,40) 106.556 country disco.00041.mp331 (3,40) (3,41) 175.185 pop pop.00045.mp332 (3,74) (3,74) 184.57 blues blues.00034.mp333 (3,74) (3,73) 184.57 classical country.00030.mp334 (3,84) (3,84) 184.57 blues blues.00057.mp335 (3,84) (4,85) 93.9631 disco disco.00019.mp336 (4,7) (4,7) 90.6661 metal metal.00009.mp337 (4,7) (3,8) 147.656 metal metal.00099.mp338 (4,7) (3,6) 164.062 metal metal.00097.mp339 (4,7) (5,8) 116.134 metal metal.00083.mp340 (4,7) (4,6) 111.139 metal metal.00024.mp3
Cuadro 4.12: fragmento - Lista de reproducción utilizando SOM modi�cada conestandarización de vectores antes de entrenamiento
82
N Centroide Neurona BPM Clase estimada Clase Gold Standard + Mp31 (4,2) (4,2) 126.048 blues blues.00096.mp32 (4,2) (3,1) 129.199 jazz jazz.00032.mp33 (4,2) (4,3) 111.139 blues blues.00011.mp34 (4,2) (4,1) 124.529 blues blues.00099.mp35 (4,2) (5,2) 164.062 blues blues.00086.mp36 (12,91) (12,91) 90.6661 jazz jazz.00018.mp37 (12,91) (11,92) 98.4375 rock rock.00020.mp38 (12,91) (13,92) 132.512 country country.00055.mp39 (12,91) (11,90) 92.2852 metal metal.00037.mp310 (12,91) (11,91) 106.556 classical classical.00056.mp311 (12,91) (13,90) 113.582 jazz jazz.00009.mp312 (12,91) (12,90) 126.048 disco disco.00059.mp313 (12,91) (12,92) 124.529 blues blues.00003.mp314 (12,91) (13,91) 111.139 disco disco.00057.mp315 (12,91) (10,92) 101.333 disco disco.00069.mp316 (12,91) (13,89) 137.812 jazz jazz.00048.mp317 (12,91) (10,91) 105.469 hiphop hiphop.00082.mp318 (13,69) (13,69) 137.812 blues blues.00072.mp319 (13,69) (14,70) 96.5975 disco country.00075.mp320 (13,69) (12,68) 121.599 rock rock.00083.mp321 (13,69) (12,69) 143.555 metal metal.00073.mp322 (13,69) (12,70) 103.359 jazz jazz.00021.mp323 (13,69) (13,70) 154.268 disco disco.00052.mp324 (13,69) (14,69) 149.796 metal metal.00077.mp325 (13,69) (13,68) 159.014 jazz jazz.00029.mp326 (13,69) (14,68) 164.062 metal metal.00069.mp327 (13,69) (15,68) 121.599 disco disco.00095.mp328 (13,69) (14,71) 118.804 metal metal.00011.mp329 (13,69) (13,67) 178.206 disco disco.00067.mp330 (13,69) (12,67) 121.599 disco reggae.00098.mp331 (13,69) (11,70) 127.604 blues blues.00028.mp332 (13,69) (15,71) 151.999 disco rock.00022.mp333 (13,69) (14,67) 130.835 rock blues.00055.mp334 (13,69) (11,68) 184.57 rock rock.00099.mp335 (13,69) (11,67) 118.804 disco disco.00049.mp336 (13,69) (15,70) 120.185 disco rock.00075.mp337 (13,69) (11,71) 149.796 disco disco.00098.mp338 (13,69) (15,67) 103.359 blues blues.00054.mp339 (13,69) (15,69) 156.605 blues blues.00002.mp340 (13,69) (12,71) 132.512 metal metal.00067.mp3
Cuadro 4.13: fragmento - Lista de reproducción utilizando SOM modi�cada connormalización de vectores antes de entrenamiento
83
N Centroide Neurona BPM Clase estimada Clase Gold Standard + Mp31 (3,4) (3,4) 107.666 blues blues.00059.mp32 (3,4) (4,5) 172.266 blues blues.00040.mp33 (3,4) (2,3) 124.529 country country.00001.mp34 (3,4) (2,5) 132.512 disco disco.00075.mp35 (3,4) (2,4) 130.835 disco disco.00034.mp36 (3,4) (3,3) 95.7031 disco hiphop.00010.mp37 (3,4) (4,4) 172.266 disco country.00009.mp38 (3,4) (4,3) 114.844 hiphop hiphop.00021.mp39 (3,4) (3,5) 97.5088 hiphop hiphop.00012.mp310 (3,4) (5,5) 97.5088 hiphop hiphop.00017.mp311 (3,4) (4,6) 169.442 hiphop hiphop.00008.mp312 (3,4) (1,5) 129.199 metal disco.00089.mp313 (3,4) (1,4) 97.5088 metal metal.00048.mp314 (3,4) (5,3) 134.233 metal metal.00031.mp315 (3,4) (1,6) 147.656 metal metal.00010.mp316 (3,4) (3,2) 169.442 metal metal.00055.mp317 (3,4) (5,2) 137.812 metal metal.00087.mp318 (3,4) (5,4) 164.062 metal metal.00080.mp319 (3,4) (5,6) 118.804 metal metal.00011.mp320 (3,4) (4,2) 147.656 metal metal.00099.mp321 (3,4) (2,2) 112.347 rock rock.00026.mp322 (3,4) (3,6) 156.605 rock rock.00021.mp323 (3,4) (1,2) 134.233 rock country.00082.mp324 (4,82) (4,82) 102.336 pop pop.00087.mp325 (6,60) (6,60) 121.599 country country.00035.mp326 (6,60) (5,60) 130.835 country country.00037.mp327 (6,60) (5,59) 129.199 reggae reggae.00055.mp328 (16,82) (17,81) 181.332 pop pop.00096.mp329 (16,82) (16,83) 129.199 pop pop.00053.mp330 (16,82) (15,83) 132.512 pop pop.00000.mp331 (18,83) (18,83) 184.57 blues blues.00037.mp332 (18,83) (17,84) 166.709 blues classical.00054.mp333 (18,83) (18,82) 113.582 classical classical.00075.mp334 (18,83) (19,83) 184.57 classical classical.00019.mp335 (18,83) (18,84) 164.062 classical classical.00057.mp336 (18,83) (19,84) 184.57 classical classical.00015.mp337 (18,83) (17,82) 102.336 classical classical.00068.mp338 (18,83) (19,82) 166.709 classical classical.00089.mp339 (18,83) (17,83) 169.442 classical classical.00044.mp340 (18,83) (16,82) 114.844 disco rock.00058.mp3
Cuadro 4.14: fragmento - Lista de reproducción utilizando SOM modi�cada connormalización + ordenamiento de vectores por clase estimada antes de entrenamiento
84
4.8. Discusión de los resultados
En primer lugar se debe destacar que el método de similaridad de cosenos propuesto en
esta tesis, no logra entregar recomendaciones adecuadas para los �nes de generación de listas
de reproducción. Estos resultados sin embargo, no implican necesariamente que la medida de
similaridad sea poco apta, sino que es necesario profundizar en la interpretación y posibles
transformaciones adecuadas a los vectores de entrada para este método.
Los resultados obtenidos con un mapa auto-organizativo tradicional en el cuadro 4.10,
mejoran la propuesta entregada por el método de distancia de cosenos, sin embargo, se
evidencia la falta de un elemento de ranking dentro de cada clase. En este caso, fue necesaria
la adición de una característica que ya era parte de la capa de entrada del modelo de red
neuronal, con la cual se pudo mostrar un resultado más coherente. La crítica al método es
que requiere la adición doble de una de las características para poder entregar resultados
más adecuados.
La lista desplegada en el cuadro 4.11 que corresponde a la salida de un mapa
auto-organizativo modi�cado sin transformación de los datos de entrada, representa el
comportamiento obtenido para todos los conjuntos de datos, por cuanto se generaron menos
islas de música pero también agrupaciones numerosas que perjudicaban las recomendaciones
entregadas por el algoritmo.
Lo anterior se intentó resolver mediante la transformación de los vectores de caracte-
rísticas en la capa de entrada del mapa auto organizativo, a través de estandarización o
normalización. Los resultados obtenidos al estandarizar los vectores de entrada, tendieron
a generar pocos elementos de recomendación en general ya que los grupos contenían pocos
elementos (en todos los conjuntos de datos analizados) mientras que al normalizarse los
vectores, los grupos tendieron a ser más numerosos permitiendo más opciones al algoritmo
recomendador. Al revisar los cuadros 4.12 y 4.13 se puede notar a través de las columnas
Centroide, BPM y Clase Estimada que los resultados son mejores para el mapa auto-
organizativo modi�cado con normalización de vectores en la capa de entrada.
Los resultados se mejoran si se aprovecha la clase estimada por el modelo y se incluye
como elemento de ranking al �nal del proceso generador de listas de reproducción. Los
resultados podrían haber sido ordenados también por la columna BPM, con lo cual, la
transición incluiría un elemento de ritmo a la transición entre temas.
85
4.9. Visualización de grupos a través de la web
Tal como se describe en la �gura 3.20, el procedimientode la generación de una lista de reproducción requierepara el paso inicial, la identi�cación de la preferenciadel usuario.
En el contexto de pruebas de esta tesis, se desarrollóuna implementación en PHP que lee los datos yaprocesados y almacenados en una base de datosMySQL, y muestra el resultado de la generaciónde islas de música descrito en la sección 3.4.2. Enesta implementación se puede reproducir los temasmusicales para analizar personalmente los resultadosde la agrupación.
Para asuntos de pruebas y mejor comprensión, la listacontiene en primer lugar un número correspondientea los Beats per Minute o BPM, a continuación, laubicación en el disco duro y como parte de esta, laclase otorgada por el Gold Standard.
Se puede apreciar que la agrupación por similaridad nonecesariamente contiene elementos de un mismo generomusical. Figura 4.23: Lista de Reproducción -
Implementación para web.
Otra salida durante la generación de listas de reproducción fue resuelta mediante la
creación automática de archivos de texto de tipo �*.pls�, el cual corresponde a un formato
de archivos que puede ser leído por diversos reproductores de música. Su estructura interna
simpli�cada puede ser como la que se indica a continuación:
Salida de sistema 4.1: Ejemplo de estructura interna de archivo lista.pls
[playlist]
NumberOfEntries=3
File1=file:///media/www/tesis/dataset-GTZAN30seg/mp3/hiphop/hiphop.00013.mp3
File2=file:///media/www/tesis/dataset-GTZAN30seg/mp3/jazz/jazz.00040.mp3
File3=file:///media/www/tesis/dataset-GTZAN30seg/mp3/blues/blues.00024.mp3
86
Figura 4.24: Captura de pantalla de la implementación para la visualización de resultados deagrupamiento de música similar utilizando SOM. En este caso, corresponde a la visualizaciónde una rejilla de 100x100, en donde cada celda, corresponde a un archivo Mp3. El colorrepresenta a la clase estimada por el modelo. El fondo en negro signi�ca que no existe aúnmúsica en estas áreas.
87
Capítulo 5
Conclusiones y Trabajo Futuro
5.1. Conclusiones
Este trabajo demuestra que es posible la generación de listas de reproducción de música
similar de forma automática con muy poca o escasa intervención humana, no siendo necesaria
hasta ahora, más información que la contenida en las propias señales de audio.
Se advierte además que, a pesar de que la representación vectorial es muy resumida en
contraste a los datos completos de cada señal de audio, se mantiene en ésta representación,
información cuantitativa su�ciente para permitir tareas de aprendizaje automático como el
aquí desarrollado.
Respecto de las técnicas utilizadas, se evidencia un gran espacio de investigación en los
cuales focalizar trabajos futuros, siendo algunos de ellos: la identi�cación de la sección de
audio desde la cual se obtendrán las características, la calidad necesaria de la muestra de
audio y su impacto en los resultados, el tipo de características adicionales que se podrían
incluir, los métodos alternativos a los propuestos en esta tesis y sus posibilidades de mejora
en los resultados, las posibilidades de construcción de un framework para la extracción de
características, entre otras.
Finalmente, se concluye que los resultados no son perfectos y que las listas generadas
pueden ser perfeccionadas si se amplía el modelo agregando técnicas paralelas o nuevos datos,
lo cual abre la posibilidad para incluir además de la información cuantitativa ya enunciada
en este trabajo, información cualitativa que pueda ser obtenida desde los usuarios cuando
estos interactúen con las listas de reproducción que el modelo genera.
88
5.2. Posibilidades de trabajo futuro
5.2.1. Sobre disponibilidad de conjuntos de datos
En la actualidad existen impedimentos de derechos de autor que imposibilitan la creación
de un gran conjunto de datos para el desarrollo de investigaciones de este tipo. Por supuesto,
las pruebas locales (con música propia) puede ser desarrollada, pero di�culta la publicación
de resultados para que otros autores intenten rehacer los experimentos o bien mejorar con
nuevas propuestas, el rendimiento obtenido por autores en el pasado.
Hoy en día existen bandas que dejan su música disponible para descarga, pero genera un
espacio limitado de acción, sobre todo porque los usuarios en general tienen tendencias de
gusto hacia artistas conocidos.
En este sentido, un punto de mejora sería realizar acuerdos con sellos de música para
que se haga público un conjunto de datos con muestras de archivos digitales (por ejemplo
30 segundos por canción), para que puedan ser descargados con �nes de investigación.
5.2.2. ¾Cómo efectuar el muestreo de una pieza musical?
Otro tema de interés en esta área de investigación (una vez que se posee un conjunto
de datos para estudio) es identi�car qué sección de la canción corresponderá a los datos de
entrada en el modelo. A la fecha, no existen estudios que hayan demostrado que una sección,
como por ejemplo el coro o estribillo, sea la mejor parte para calcular las características.
Al respecto, se optó por tomar de los conjuntos de datos el 100% de la muestra de música
disponible, el cual correspondía a 10 o 30 segundos ya otorgados en los conjuntos de datos,
sin embargo, se plantea averiguar si existen formas más adecuadas para la selección del sector
de la señal que debiera ser analizado.
5.2.3. Calidad de la música a procesar
Un tema que no ha sido estudiado en profundidad tiene que ver con la calidad de la música
que se va a procesar (tasa de muestreo, bitrate, etc). En este sentido, no esta completamente
de�nido aún que una mejor calidad en la señal provea de mejores resultados a tareas de
aprendizaje automático.
89
5.2.4. ¾Qué características incluir?
A pesar de que se ha planteado en el estado del arte que existen diversos enfoques, aún
falta mucho por desarrollar en cuanto a tipos de características que pueden ser incluidas en
el modelo de aprendizaje automático.
Una tarea futura podría estar relacionada a incluir en el modelo la intervención humana,
por ejemplo, al estimar el grado de aceptación de las canciones propuestas por el modelo
generador de listas de reproducción con el objeto de aumentar la capacidad discriminatoria
de la propuesta.
5.2.5. Criterios para la extracción de características
A pesar de que existen varios algoritmos y programas que colaboran con la extracción de
características, varios de ellos no son del todo con�ables puesto que en diversos casos fallan
en la apertura de la señal de un Mp3 (dejando sin procesar algunos archivos del conjunto de
datos) o bien, los resultados de las características di�eren en valor respecto de las calculadas
por otros algoritmos, lo que rati�ca lo propuesto en [18, 21, 34].
Al respecto, se propone �ser parte de la comunidad� en vez de levantar desde cero
una propuesta de framework nueva que no tome en consideración el aprendizaje de otros
investigadores en el pasado. Pero más importante aún, revisar las características extraídas
por frameworks (es decir, no con�arse del todo), pues los códigos disponibles no están 100%
debugueados y algunas veces podrían requerir intervención de parte del investigador.
5.2.6. Profundizar en la generación de listas de reproducción
utilizando distancia de cosenos
Respecto de la generación de listas de reproducción utilizando distancia de cosenos,
se recomienda que a pesar de los resultados obtenidos en este trabajo, se prueben otras
transformaciones a los vectores (antes del calculo de las distancias). Pues empíricamente los
resultados, a pesar de no ser tan buenos como la propuesta hecha a través de redes SOM,
fueron interesantes pudiendo existir espacios de mejora.
90
5.2.7. Investigar otros métodos de ranking
Para �nalizar se recomienda analizar otras propuestas de rankings para la generación
de listas de reproducción. La red SOM modi�cada que se implementó en este trabajo
tuvo resultados aceptables pero pueden existir otras propuestas algorítmicas que obtengan
notorias mejoras.
91
Apéndices
92
Apéndice A
Abreviaciones
BPM Beats per minute. Las pulsaciones por minuto son una unidad empleada para medir
el tempo en música. Equivale al número de pulsaciones que caben en un minuto.
C Es un lenguaje de programación creado en 1972. Se trata de un lenguaje débilmente
tipi�cado de medio nivel pero con muchas características de bajo nivel. Dispone
de las estructuras típicas de los lenguajes de alto nivel pero, a su vez, dispone de
construcciones del lenguaje que permiten un control a muy bajo nivel.
DCT Transformada Discreta de Cosenos.
ESOM Emergent Self-Organizing Maps. Mapas auto-organizativos emergentes.
FT Transformada de Fourier.
FFT Transformada Rápida de Fourier.
ID3 Es un estándar de facto para incluir metadatos (etiquetas) en un archivo contenedor
audiovisual, tales como álbum, título o artista. Se utiliza principalmente en �cheros
sonoros como MP3.
IR Information Retrieval. Recuperación de Información.
ISMIR International Society for Music Information Retrieval. Sociedad Internacional para
la recuperación de información en música. http://www.ismir.net
93
kbps Un kilobit por segundo es una unidad de medida que se usa en telecomunicaciones e
informática para calcular la velocidad de transferencia de información a través de una
red. Equivale a 1000 bits por segundo = 1000 bit/s.
MHz Un megahercio (MHz) equivale a 106 hertzios (1 millón). Se utiliza muy frecuente-
mente como unidad de medida de la frecuencia.
MFCC Los Mel Frequency Cepstral Coe�cients (coe�cientes cepstrales en las frecuencias
de Mel) son coe�cientes para la representación del habla basados en la percepción
auditiva humana.
MIR Music Information Retrieval. Recuperación de Información en Música.
MP3 MPEG-1 Audio Layer III o MPEG-2 Audio Layer III, más comúnmente conocido como
MP3, es un formato de compresión de audio digital patentado que usa un algoritmo con
pérdida para conseguir un menor tamaño de archivo. Es un formato de audio común
usado para música tanto en ordenadores como en reproductores de audio portátil.
MySQL Es un sistema de gestión de bases de datos relacional.
PHP Es un lenguaje de programación interpretado (Lenguaje de alto rendimiento),
diseñado originalmente para la creación de páginas web dinámicas.
SOM Self-Organizing Maps. Mapas auto-organizativos.
STFT Short-time Fourier transform. La Transformada de Fourier de Tiempo Reducido.
SVM Support Vector Machines. Las máquinas de soporte vectorial o máquinas de vectores
de soporte son un conjunto de algoritmos de aprendizaje supervisado desarrollados por
Vladimir Vapnik y su equipo en los laboratorios AT&T.
WAV (o WAVE), apócope de WAVEform audio �le format, es un formato de audio digital
normalmente sin compresión de datos desarrollado y propiedad de Microsoft y de IBM
que se utiliza para almacenar sonidos en el PC, admite archivos mono y estéreo a
diversas resoluciones y velocidades de muestreo, su extensión es .wav.
94
Apéndice B
Características seleccionadas
A continuación se muestran las características que fueron obtenidas para el procesamiento
de las señales de audio1. Cada una de estas se calculó para cada Mp3 en los conjuntos de
datos, generando por tanto una representación vectorial de cada archivo. Para saber más ver
el Capítulo 3.1.
1 Std Acc1000 Std PeakRatio Minimum Chroma A Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
2 Std Acc1000 Std PeakRatio Chroma A Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
3 Mean Acc1000 Std LPCC 3
4 Std Acc1000 Mean MFCC1 Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
5 Std Acc1000 Mean PeakRatio Chroma D Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
6 Mean Acc1000 Std PeakRatio Chroma B Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
7 Std Acc1000 Std PeakRatio Chroma D Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
8 Std Acc1000 Mean PeakRatio Chroma E Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
9 Mean Acc1000 Std PeakRatio Chroma A# Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
10 Std Acc1000 Mean PeakRatio Minimum Chroma A Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
11 Std Acc1000 Mean PeakRatio Chroma F Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
12 Mean Acc1000 Std LPCC 1
13 Std Acc1000 Std MFCC1 Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
14 Std Acc1000 Std PeakRatio Chroma G Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
15 Mean Acc1000 Std PeakRatio Chroma A Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
16 Mean Acc1000 Std PeakRatio Chroma E Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
17 Mean Acc1000 Std PeakRatio Chroma F Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
18 Mean Acc1000 Mean PeakRatio Chroma E Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
19 Std Acc1000 Std PeakRatio Chroma B Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
20 Mean Acc1000 Mean LSP 8
21 Std Acc1000 Mean LPCC 2
22 Mean Acc1000 Std PeakRatio Chroma G# Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
23 Mean Acc1000 Mean PeakRatio Chroma B Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
24 Mean Acc1000 Std LSP 1
25 Std Acc1000 Mean PeakRatio Chroma G# Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
26 Std Acc1000 Std LPCC 9
27 Std Acc1000 Mean LPCC 5
28 Mean Acc1000 Mean PeakRatio Chroma D# Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
29 Mean Acc1000 Mean SFM 11
30 Mean Acc1000 Mean Centroid Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
Cuadro B.1: Características seleccionadas de acuerdo a lo planteado en el Capítulo 3.2(parte 1 de 3)
1Las características se encuentran listadas por ranking desde la más a la menos importante. Lacaracterística número 174 fue agregada directamente, es decir, su ubicación no implica menos importanciarespecto de las anteriores.
95
31 Mean Acc1000 Mean PeakRatio Chroma F# Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
32 Std Acc1000 Std PeakRatio Chroma F Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
33 Mean Acc1000 Mean LPCC 3
34 Mean Acc1000 Std ZeroCrossings HopSize512 WinSize512 Sum AudioChannel-1
35 Mean Acc1000 Std SCF 11
36 Mean Acc1000 Mean MFCC1 Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
37 Std Acc1000 Mean MFCC3 Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
38 Mean Acc1000 Mean PeakRatio Chroma A# Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
39 Mean Acc1000 Mean PeakRatio Minimum Chroma A Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
40 Mean Acc1000 Mean SCF 5
41 Mean Acc1000 Mean SFM 4
42 Mean Acc1000 Std Centroid Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
43 Std Acc1000 Mean PeakRatio Chroma G Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
44 Mean Acc1000 Mean MFCC2 Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
45 Mean Acc1000 Mean LPCC 12
46 Mean Acc1000 Std Rollo� Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
47 Mean Acc1000 Std SFM 15
48 Mean Acc1000 Std PeakRatio Minimum Chroma A Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
49 Std Acc1000 Mean PeakRatio Chroma B Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
50 Mean Acc1000 Std SCF 4
51 Mean Acc1000 Std LSP 2
52 Mean Acc1000 Std SCF 2
53 Std Acc1000 Std LPCC 2
54 Mean Acc1000 Mean MFCC5 Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
55 Mean Acc1000 Mean PeakRatio Chroma F Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
56 Mean Acc1000 Std MFCC6 Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
57 Mean Acc1000 Std SFM 5
58 Std Acc1000 Mean LPCC 9
59 Mean Acc1000 Mean SFM 2
60 Mean Acc1000 Mean PeakRatio Average Chroma A Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
61 Std Acc1000 Mean LSP 10
62 Mean Acc1000 Std PeakRatio Chroma D Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
63 Mean Acc1000 Std SFM 19
64 Mean Acc1000 Mean SFM 21
65 Std Acc1000 Std PeakRatio Chroma D# Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
66 Mean Acc1000 Std SFM 13
67 Std Acc1000 Mean ZeroCrossings HopSize512 WinSize512 Sum AudioChannel-1
68 Std Acc1000 Mean PeakRatio Chroma F# Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
69 Mean Acc1000 Mean LPCC 1
70 Mean Acc1000 Std LPCC 4
71 Mean Acc1000 Mean PeakRatio Chroma G# Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
72 Mean Acc1000 Mean SCF 13
73 Mean Acc1000 Mean LSP 2
74 Mean Acc1000 Std MFCC3 Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
75 Mean Acc1000 Mean LSP 1
76 Std Acc1000 Std PeakRatio Chroma F# Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
77 Mean Acc1000 Std PeakRatio Average Chroma A Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
78 Mean Acc1000 Std LSP 11
79 Std Acc1000 Mean PeakRatio Chroma D# Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
80 Mean Acc1000 Std LPCC 12
81 Mean Acc1000 Mean ZeroCrossings HopSize512 WinSize512 Sum AudioChannel-1
82 Std Acc1000 Mean SFM 16
83 Mean Acc1000 Mean LSP 9
84 Mean Acc1000 Std LSP 12
85 Std Acc1000 Std LPCC 5
86 Mean Acc1000 Std PeakRatio Chroma D# Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
87 Std Acc1000 Mean LSP 2
88 Mean Acc1000 Std MFCC12 Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
89 Mean Acc1000 Mean LSP 6
90 Mean Acc1000 Std SFM 11
91 Mean Acc1000 Mean LSP 10
92 Std Acc1000 Mean MFCC7 Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
93 Std Acc1000 Mean MFCC12 Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
94 Mean Acc1000 Std LSP 7
95 Std Acc1000 Mean LSP 11
96 Std Acc1000 Std LSP 10
97 Mean Acc1000 Mean MFCC8 Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
98 Std Acc1000 Std SFM 13
99 Std Acc1000 Std MFCC7 Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
100 Mean Acc1000 Mean SFM 15
101 Mean Acc1000 Std PeakRatio Chroma F# Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
102 Std Acc1000 Std PeakRatio Chroma G# Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
103 Mean Acc1000 Std SCF 19
104 Mean Acc1000 Std LSP 5
105 Mean Acc1000 Mean SFM 13
106 Mean Acc1000 Std LSP 13
107 Mean Acc1000 Mean MFCC12 Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
108 Mean Acc1000 Mean MFCC0 Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
109 Std Acc1000 Std PeakRatio Chroma E Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
110 Std Acc1000 Mean SCF 5
Cuadro B.2: Características seleccionadas de acuerdo a lo planteado en el Capítulo 3.2(parte 2 de 3)
96
111 Mean Acc1000 Mean LSP 5
112 Mean Acc1000 Std SFM 22
113 Mean Acc1000 Mean MFCC9 Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
114 Mean Acc1000 Mean SCF 2
115 Std Acc1000 Std PeakRatio Chroma C# Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
116 Mean Acc1000 Mean LSP 7
117 Std Acc1000 Std LSP 5
118 Std Acc1000 Mean MFCC11 Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
119 Std Acc1000 Std SCF 22
120 Std Acc1000 Std LPCC 12
121 Mean Acc1000 Std SFM 2
122 Std Acc1000 Std MFCC6 Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
123 Mean Acc1000 Mean SFM 5
124 Mean Acc1000 Mean LSP 4
125 Mean Acc1000 Std LSP 8
126 Std Acc1000 Mean LSP 4
127 Mean Acc1000 Std MFCC11 Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
128 Mean Acc1000 Std SCF 22
129 Std Acc1000 Std LPCC 8
130 Mean Acc1000 Mean MFCC3 Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
131 Mean Acc1000 Mean SFM 19
132 Std Acc1000 Std LPCC 1
133 Mean Acc1000 Std SCF 13
134 Mean Acc1000 Std LSP 16
135 Std Acc1000 Mean LPCC 12
136 Mean Acc1000 Mean LPCC 2
137 Mean Acc1000 Std MFCC0 Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
138 Std Acc1000 Mean LPCC 8
139 Std Acc1000 Mean SFM 18
140 Mean Acc1000 Std LPCC 11
141 Mean Acc1000 Std LSP 9
142 Mean Acc1000 Mean LSP 12
143 Std Acc1000 Std MFCC9 Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
144 Mean Acc1000 Mean LSP 3
145 Mean Acc1000 Mean LSP 13
146 Mean Acc1000 Mean LPCC 4
147 Std Acc1000 Mean LSP 6
148 Std Acc1000 Mean MFCC9 Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
149 Mean Acc1000 Mean SFM 1
150 Std Acc1000 Mean SFM 7
151 Std Acc1000 Std LSP 9
152 Mean Acc1000 Mean SFM 17
153 Std Acc1000 Std LPCC 6
154 Std Acc1000 Mean MFCC4 Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
155 Mean Acc1000 Mean SFM 16
156 Mean Acc1000 Std LPCC 5
157 Mean Acc1000 Std LSP 17
158 Std Acc1000 Mean LSP 13
159 Mean Acc1000 Std SFM 21
160 Mean Acc1000 Std SFM 1
161 Mean Acc1000 Mean LSP 16
162 Std Acc1000 Std MFCC10 Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
163 Std Acc1000 Std LPCC 10
164 Mean Acc1000 Std LPCC 2
165 Mean Acc1000 Mean SFM 14
166 Mean Acc1000 Mean SCF 1
167 Std Acc1000 Mean LSP 15
168 Std Acc1000 Mean MFCC10 Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
169 Std Acc1000 Std SCF 2
170 Std Acc1000 Mean SFM 24
171 Std Acc1000 Std MFCC12 Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
172 Std Acc1000 Std SFM 17
173 Mean Acc1000 Mean Rollo� Power powerFFT WinHamming HopSize512 WinSize512 Sum AudioChannel-1
174 BPM (agregada directamente)
Cuadro B.3: Características seleccionadas de acuerdo a lo planteado en el Capítulo 3.2(parte 3 de 3)
97
Apéndice C
Listado de Clasi�cadores
C.1. Métodos de clasi�cación testados
Los siguientes fueron los métodos de clasi�cación testeados con la representación vectorial
obtenida. El orden de los mismos se entrega en orden de rendimiento (que puede ser visto
en la tabla mostrada en la �gura 4.3).
Todos estos algoritmos se encuentran implementados en el framework Weka1.
SMO
Implementación de John C. Platt del algoritmo �sequential minimal optimization� para
el entrenamiento de un clasi�cador con vectores de soporte utilizando kernel polinomial o
RBF. Los problemas multiclases son resueltos utilizando pares de clasi�cación. Para más
información acerca del algoritmo SMO ver: J. Platt (1998). Fast Training of Support Vector
Machines using Sequential Minimal Optimization. Advances in Kernel Methods - Support
Vector Learning, B. Schoelkopf, C. Burges, and A. Smola, eds., MIT Press and S.S. Keerthi,
S.K. Shevade, C. Bhattacharyya, K.R.K. Murthy, Improvements to Platt's SMO Algorithm
for SVM Classi�er Design. Neural Computation, 13(3), pp 637-649, 2001.
1http://www.cs.waikato.ac.nz/ml/weka/
98
Simple Logistic
Crea un modelo de regresión logística utilizando LogitBoost. Incorpora selección de
atributos a través de funciones convenientes de regresión simple en LogitBoost. Para más
información ver la tesis de master �Logistic Model Trees� (Niels Landwehr, 2003)
LMT Trees
Clasi�cador �Logistic model tree�. Para más información ver la tesis de máster �Logistic
Model Trees� (Niels Landwehr, 2003).
Logistic
Una implementación2 para la construcción de una regresión logística multinomial con
estimador rígido. Para más información ver: le Cessie, S. and van Houwelingen, J.C. (1992).
Ridge Estimators in Logistic Regression. Applied Statistics, Vol. 41, No. 1, pp. 191-201.
Classi�cation via Regretion
Clasi�cación utilizando métodos de regresión. Para más información ver: E. Frank, Y.
Wang, S. Inglis, G. Holmes, and I.H. Witten (1998) �Using model trees for classi�cation�,
Machine Learning, Vol.32, No.1, pp. 63-76.
END
Para más información ver: Ensembles of Balanced Nested Dichotomies for Multi-class
Problems. In: PKDD, 84-95, 2005.
Bagging
Clasi�cador utilizando la técnica bagging. Para más información ver: Leo Breiman (1996).
Bagging predictors. Machine Learning, 24(2):123-140.
2http://weka.sourceforge.net/doc/weka/classifiers/functions/SimpleLogistic.html
99
FT Trees
Functional trees: que son árboles de clasi�cación que podrían tener funciones de regresión
logística en los nodos internos u hojas. El algoritmo puede tratar variables con targets
binarios o multiclases para atributos numéricos, nominales o incluso atributos faltantes.
Para más información ver: Joao Gama (2004). Functional Trees. Niels Landwehr, Mark Hall,
Eibe Frank (2005). Logistic Model Trees.
LogitBost
Additive logistic regression: Este clasi�cador puede tratar problemas de multiclase. Para
más información ver: Friedman, J., T. Hastie and R. Tibshirani (1998) Additive Logistic
Regression: a Statistical View of Boosting.
RBFNetwork
Implemetación de una red con radio basal (normalizada). Se utiliza el algoritmo de
agrupamiento K-means para proporcionar las funciones de base y aprende una regresión
logística (problemas discretos de clase) o de regresión lineal (problemas numéricos de clase)
en la parte superior. Los datos de cada grupo se ajustan a una Gaussiana Simétrica
multivariante. Si la clase es nominal se utiliza el número determinado de grupos por clase.
Se estandariza todos los atributos numéricos con media cero y varianza unitaria.
NB Trees
Naive Bayes tree : Árbol de decisión con clasi�cador Naive Bayes en las hojas. Para
más información ver: Ron Kohavi (1996). Scaling up the accuracy of naive-Bayes classi�ers:
a decision tree hybrid. Proceedings of the Second International Conference on Knowledge
Discovery and Data Mining.
IB1
Clasi�cador tipo IB1. Utiliza una medida de distancia simple para encontrar la instancia
de entrenamiento más cercana para una instancia de testeo dada y predice la misma clase
100
que la instancia entrenada. Si son múltiples las instancias con pequeñas distancias al dato
de test, se utiliza el primero encontrado. Para más información ver: Aha, D., and D. Kibler
(1991) �Instance-based learning algorithms�, Machine Learning, vol.6, pp. 37-66.
IBK
Clasi�cador K-vecinos. Para más información ver: Aha, D., and D. Kibler (1991)
�Instance-based learning algorithms�, Machine Learning, vol.6, pp. 37-66.
J48graft Trees
Genera un injerto (podado o no podado) del árbol de decisión C4.5. Para más información
ver: Geo� Webb: Decision Tree Grafting From the All-Tests-But-One Partition. San
Francisco, CA, 1999.
KStar
K∗ Es un clasi�cador basado en instancias. El supuesto subyacente de los clasi�cadores
basados en instancias tales como K∗, IB1, PEBLS, etc., es que casos similares tendrán clases
similares. Para más información de K∗ ver: John, G. Cleary and Leonard, E. Trigg (1995)
�K∗: An Instance- based Learner Using an Entropic Distance Measure�, Proceedings of the
12th International Conference on Machine learning, pp. 108-114.
J48 Trees
Árbol de decisión C4.5 (podado o no podado). Para más información ver: Ross Quinlan
(1993). C4.5: Programs for Machine Learning, Morgan Kaufmann Publishers, San Mateo,
CA.
101
Bibliografía
[1] 11th International Society for Music Information Retrieval Conference (ISMIR 2010),editor. Are tags better than audio features? The e�ect of join use of tags and audiocontent features for artistic style clustering, 2010.
[2] 11th International Society for Music Information Retrieval Conference (ISMIR 2010),editor. Music emotion recognition: A state of the art review, 2010.
[3] Jayme Garcia Arnal Barbedo and Amauri Lopes. Automatic genre classi�cation ofmusical signals. EURASIP J. Appl. Signal Process., 2007(1):157�157, 2007.
[4] M. Crampes et al. An integrated visual approach for music indexing and dynamicplaylist composition. In Proceedings of the 13th Annual Multimedia Computing andNetworking, 2006.
[5] Alexander Duda, Andreas Nürnberger, and Sebastian Stober. Towards query by singing-humming on audio databases. ISMIR, page 331, 2007.
[6] Andreas Rauber Elias Pampalk and Dieter Merkl. Content-based organization andvisualization of music archives. Proceedings of the 10th ACM International Conferenceon Multimedia, pages 570�579, 2002.
[7] Daniel P. W. Ellis. Classifying music audio with timbral and chroma features abstract.
[8] Arthur Flexer, Dominik Schnitzer, Martin Gasser, and Gerhard Widmer. Playlistgeneration using start and end songs. ISMIR 2008 � Session 2a � MusicRecommendation and Organization, 2008.
[9] W Fucks. Mathematical analysis of formal structure of music. IEEE Transactions onInformation Theory, 8(5):225�228, 1962.
[10] W Fucks and J Lauter. Exaktwissenschaftliche musikanalyse. Westdeutscher Verlag,1965.
[11] F. Maxwell Harper, Shilad Sen, and Dan Frankowski. Supporting social recommenda-tions with activity-balanced clustering. In ACM Conference On Recommender Systems,Minneapolis, MN, USA, 19/10/2007 2007. ACM, ACM.
102
[12] Xiao Hu and Jingjing Liu. Evaluation of music information retrieval: Towards auser-centered approach. In �The Music Information Retrieval Evaluation eXchange:Some Observations and Insights,� Advances in Music Information Retrieval, Studiesin Computational Intelligence, Proceedings of the 4th Workshop on Human-ComputerInteraction and Information Retrieval (HCIR). Springer, 2010.
[13] P. Kabal and R. P. Ramachandran. The computation of line spectral frequencies usingChebyshev polynomials. IEEE Transactions on Acoustics Speech and Signal Processing,34(6):1419�1426, 1986.
[14] Anssi Klapuri et al. Signal processing methods for music transcription. Springer, 2006.
[15] Teuvo Kohonen. Self-Organizing Maps, volume 30 of Springer Series in InformationSciences , Vol. 30. Springer, 3rd edition, 2001.
[16] Francois Maillet, Douglas Eck, Guillaume Desjardins, Paul Lamere, et al. Steerableplaylist generation by learning song similarity from radio station playlists. 10thInternational Society for Music Information Retrieval Conference (ISMIR 2009), 2009.
[17] J. Makhoul. Linear prediction: A tutorial review. Proceedings of the IEEE, 63(4):561�580, 1975.
[18] Ingo Mierswa and Katharina Morik. Automatic feature extraction for classifying audiodata. Mach. Learn., 58(2-3):127�149, 2005.
[19] Fabian Moerchen, Ingo Mierswa, and Alfred Ultsch. Understandable models of musiccollections based on exhaustive feature generation with temporal statistics. In KDD '06:Proceedings of the 12th ACM SIGKDD international conference on Knowledge discoveryand data mining, pages 882�891, New York, NY, USA, 2006. ACM.
[20] Fabian Moerchen, Alfred Ultsch, Mario Nöcher, and Christian Stamm. Databionicvisualization of music collections according to perceptual distance. Proceedings of the6th International Conference on Music Information Retrieval, pages 396�493, 2005.
[21] Fabian Moerchen, Alfred Ultsch, Michael Thies, Ingo Löhken, Mario Nöcher, ChristianStamm, Niko Efthymion, and Martin Kümmerer. Musicminer: Visualizing timbredistances of music as topographical maps. Technical report, Data Bionics ResearchGroup, Philipps-University Marburg, 35032 Marburg, Germany, May 2005.
[22] Proceedings of 21st NIPS Conference, editor. Automatic Generation of Social Tags forMusic Recommendation, 2007.
[23] Elias Pampalk. Computational Models of Music Similarity and their Application inMusic Information Retrieval. PhD thesis, Vienna University of Technology, Vienna,Austria, March 2006.
103
[24] Lei Tang Payam Refaeilzadeh and Huan Liu. Cross validation. Encyclopedia of DatabaseSystems, 5, 2009.
[25] L Rabiner and B. H. Juang. Fundamentals of speech recognition. Englewood Cli�s, NJ:Prentice-Hall, 1993.
[26] Andreas Rauber, Elias Pampalk, and Dieter Merkl. Content-based music indexing andorganization. In Proceedings of the 25th annual international ACM SIGIR conferenceon Research and development in information retrieval, SIGIR '02, pages 409�410, NewYork, NY, USA, 2002. ACM.
[27] Sebastian Risi, Alfred Ultsch, and Pascal Lehwark. Visual mining in music collectionswith emergent som. Audio, 1, 1992.
[28] R Stenzel and T Kamps. Improving content-based similarity measures by traininga collaborative model. Proceedings of the 6th International Conference on MusicInformation Retrieval, pages 264�271, 2005.
[29] Sergios Theodoridis and Konstantinos Koutroumbas. Pattern Recognition. Elsevier,2009.
[30] Sergios Theodoridis, Konstantinos Koutroumbas, Aggelos Pikrakis, and DionisisCavouras. Introduction to Pattern Recognition A MATLAB® Approach. Elsevier,2010.
[31] G Tzanetakis and P Cook. Musical genre classi�cation of audio signals. IEEETransactions on Speech and Audio Processing, 10(5):293�302, 2002.
[32] George Tzanetakis and Perry Cook. Marsyas: a framework for audio analysis. Org.Sound, 4(3):169�175, 1999.
[33] George Tzanetakis et al. Interoperability and the marsyas 0.2 runtime. Marsyas, pages0�3, 2008.
[34] George Tzanetakis, Computer Science, Computer Engineering, and Computer ScienceBuilding. Marsyas-0.2: a case study in implementing music information retrievalsystems. Marsyas, 2007.
[35] Alfred Ultsch. Maps for the visualization of high-dimensional data spaces. Technicalreport, DataBionics Reseach Lab, Department of Computer Science - University ofMarburg, D-35032 Marburg, Germany, August 2003.
[36] Alfred Ultsch and Fabian Moerchen. Esom-maps: tools for clustering, visualization,andclassi�cation with emergent som. Technical report, Data Bionics Research Group,University of Marburg, D-35032 Marburg, Germany, March 2005.
[37] Rob van Gulik and Fabio Vignoli. Visual playlist generation on the artist map. ISMIR,2005.
104
[38] Claus Weihs, Uwe Ligges, Fabian Moerchen, and Daniel Müllensiefen. Classi�cation inmusic research. SpringerLink, 1(3):255�291, December 2007.
[39] Kris West and Stephen Cox. Features and classi�ers for the automatic classi�cation ofmusical audio signals. 5th International Conference on Music Infor- mation Retrieval.,pages 1�6, 2004.
[40] J. Weston, S. Mukherjee, O. Chapelle, M. Pontil, T. Poggio, and V. Vapnik. Featureselection for svms. In Advances in Neural Information Processing Systems 13, pages668�674. MIT Press, 2001.
[41] Changsheng Xu, N. C. Maddage, and Xi Shao. Automatic music classi�cation andsummarization. IEEE Transactions on Speech and Audio Processing, 2005.
[42] C.-H. Hsu y C.-J. Lin. A comparison of methods for multiclass support vector machines.IEEE Transactions on Neural Networks, 2002.
[43] J. Weston y C. Watkins. Multi-class support vector machines. Proceedings of ESAAN,the European Symposium on Arti�cial Neural Networks, 1999.
[44] K Yoshii, M Goto, K Komatani, T Ogata, and HG Okuno. An e�cient hybrid musicrecommender system using an incrementally trainable probabilistic generative model.IEEE, February 2008.
105
Top Related