Está en la página 1de 4

Clasificación Multi-label en Streaming

de Datos
1. Big data
En los últimos años ha habido un aumento considerable de datos de diversa índole y
generada por fuentes heterogéneas. Según un informe del International Data Corporation
(IDC), el volumen total de datos creados y replicados en el mundo durante el año 2011
supera los 1.8 ZB (zettabytes) y se ha estimado que duplica cada dos años [1]. Los avances
en el área de tecnología de la información (IT) contribuyen a una continua producción de
datos y expansión del campo digital, tal es el caso para la red social Facebook, la cual cada
hora recibe un flujo de 10 millones de fotos subidas por sus propios usuarios [2].

En general, big data es un concepto que abarca toda colección que no pueda ser percibida,
adquirida, procesada y administrada por técnicas y herramientas tradicionales en un tiempo
aceptable [3] y se destacan 4 características: Volumen, variedad, velocidad y veracidad [4].
‘Volumen’ y ‘ variedad’ hacen mención a los conceptos mencionados de: data en constante
crecimiento, y data proveniente de diversas fuentes, respectivamente; ‘veracidad’ tiene que
ver con aumentar la calidad de los datos y obtener valor de los mismos; y ‘velocidad’
finalmente, es la necesidad de procesar en tiempo real flujos continuos de datos.

Bajo este escenario, algunos de los desafíos que afrontan las aplicaciones de big data son
[3]:
- Representación de los datos​: Es importante definir una estructura de los datos que
refleje la semántica de la tarea y sea eficiente de computar. Malas representaciones
pueden derivar en una pérdida del valor de los datos y dificultan la ejecución de las
tareas.
- Reducción de la redundancia​: Algunas fuentes de datos, como por ejemplo las redes
de sensores, generan altos niveles de redundancia. Por esta razón es posible
reducir el volumen de los datasets sin mayores pérdidas de información y logrando
reducir los costos tanto de procesamiento como de almacenamiento.
- Administración del ciclo de vida de los datos​: En un escenario donde los recursos de
almacenamiento de los sistemas son insuficientes para hacer frente a flujos
constantes de datos, se torna indispensable distinguir qué data debe ser
almacenada y cuál descartada.
- Escalabilidad​: Los sistemas actuales no solo deben ser capaces de procesar los
datos presentes, sino que además deben poder reaccionar a cambios en el
ambiente y a futuras expansiones de los datos.
- Mecanismos analíticos​: Los sistemas tradicionales de gestión de datos basados en
bases de datos relacionales fueron estrictamente diseñados para manejar data
estructurada y, por lo tanto, no performan bien en escenarios dinámicos donde la
data fluye en estructuras inestables. Existe entonces la necesidad de buscar nuevos
mecanismos para el análisis de los datos que puedan acoplarse a estos
requerimientos.

2. Streaming de datos
En este contexto, se han desarrollado técnicas de minería de datos y machine learning que
abordan este tipo de datasets en búsqueda de conocimiento válido y útil. En líneas
generales, la metodología usual consiste en tomar una muestra de los datos de la colección,
hacer tareas de limpieza y normalización de los datos y entrenar un modelo según la tarea
en cuestión. En particular, estas técnicas se han enfocado en aprendizaje por batch [5], es
decir, que el algoritmo dispone de toda la data de entrenamiento y genera un modelo luego
de procesar la data una o múltiples veces.

Sin embargo, hoy en día la mayor parte de los datos es generada por flujos continuos o
‘stream’ [6]. Tal es el caso para aplicaciones de sensores, monitoreo de redes y
administración de tráfico, logs, flujo de clics de un usuario en la web, redes sociales, entre
otros [7]. Esto significa que los datos son potencialmente ilimitados, arriban de a una
instancia por vez, con restricciones muy grandes de tiempo de procesamiento y con
limitaciones de memoria.

Además, los algoritmos de aprendizaje que actúen en este entorno dinámico deben contar
con mecanismos que permitan manejar cambios en la naturaleza o distribución de los datos,
tanto para incorporar data nueva, como para descartar la antigua. Por estas razones, se
torna necesario que, aplicaciones basadas en clasificación en tiempo real, adapten sus
operaciones de entrenamiento y predicción para lograr mejores resultados [8].

En consecuencia, la data debe cumplir con las siguientes nuevas características [5]:
- Los datos están disponibles a través de flujos continuos e ilimitados en el tiempo.
- Las regularidades subyacentes de los datos no son estacionarias sino que pueden
evolucionar.
- La data ya no es considerada independiente e idénticamente distribuida.
- La data está situada tanto en el espacio como en el tiempo.

Para hacer frente a estas características de los datos, los sistemas o algoritmos deben
contar con los siguientes requerimientos [13]:
- El tiempo para procesar cada registro debe ser constante y pequeño.
- Debe usar un tamaño fijo de memoria principal y no dependiente de la cantidad de
registros ya procesados.
- El modelo es generado a partir de una única pasada sobre los datos.
- Debe contar con un modelo listo para realizar predicciones en cualquier momento.
- Idealmente deberá producir un modelo equivalente o casi idéntico al que hubiera
sido producido en un ambiente de batch.
- Debe mantenerse actualizado ante evoluciones o derivas de concepto en los datos.
Los algoritmos que cumplen con estas cualidades son llamados algoritmos de aprendizaje
adaptativo.

3. Clasificación multi-label
Tradicionalmente, el aprendizaje supervisado consiste en asociar una instancia o ejemplo a
una única etiqueta (label). Dicho ejemplo es una representación de un objeto del mundo real
que consta de características o features particulares, mientras que la etiqueta corresponde
a un significado semántico o concepto que lo caracteriza [9]. La tarea de clasificación
entonces, reside en aprender una función que permita mapear nuevos ejemplos no
observados a una etiqueta. Es preciso notar aquí que dicha definición encubre la restricción
de que cada instancia pertenece a un único concepto. Sin embargo, existen problemas de
clasificación donde más de una etiqueta puede ser asignada a un ejemplo, y por lo tanto, la
anterior presunción no se amolda a problemas complejos donde un objeto pueda tener más
de un significado simultáneamente.

Este tipo de tareas pueden surgir en áreas como las de categorización de texto,
recuperación de información musical, clasificación semántica de escenas, anotación
automática de videos o clasificación de genes y funciones proteicas. Por nombrar algunos
ejemplos, en el campo mencionado de clasificación semántica de escenas, la foto de un
paisaje con una montaña y una playa puede asociarse a las categorías de ‘playa’ y
‘montaña’, simultáneamente [10]; en bioinformática, cada gen puede ser asociado a clases
según su función como ‘metabolismo’, ‘transcripción’ o ‘síntesis proteica’ [11]; en
recuperación de información musical una pieza sinfónica puede tener tags como ‘Mozart’,
‘piano’ o ‘clásica’.

Este nuevo paradigma lleva el nombre de Aprendizaje multi-label (MLL, en inglés) y ataca
problemas con las siguientes características [10]:
- El conjunto de etiquetas se encuentra previamente definido y tiene un significado
interpretable por un humano.
- El número de etiquetas es limitado y no mayor que el número de atributos.
- En caso que el número de atributos sea grande, se debe poder aplicar estrategias
de reducción de atributos.
- El número de ejemplos puede ser grande.
- Las etiquetas pueden estar correlacionadas. Esto significa que se pueden aplicar
técnicas que exploten estas relaciones con el objetivo de reducir los tiempo de
procesamiento de los algoritmos.
- La data puede estar desbalanceada. Es decir, que una etiqueta puede tener un
mayor número de ejemplos que otras.

A partir de este nuevo escenario surge un desafío a superar: el conjunto de etiquetas


posible crece exponencialmente ante cada nueva adición de una etiqueta. Por ejemplo, si
se tuvieran 20 etiquetas, la cantidad de conjuntos de etiquetas distintos excedería el millon
(2^20) [9]. Esto implica un tamaño exorbitante del espacio de salida y, en consecuencia,
costos computacionales altos. En este sentido, se ha buscado generar algoritmos que
aprovechan las correlaciones o dependencias entre etiquetas. Así es que la probabilidad de
que una noticia que contiene los términos ‘pelota’ y ‘gol’ sea anotada con la etiqueta ‘fútbol’
sería mayor que si se etiquetara con la etiqueta ‘música’. Estos algoritmos pueden ser
clasificados en tres grupos según la estrategia de correlación aplicada [11]:
- Estrategia de primer orden​: La tarea de MLL es dividida en ‘q’ tareas de clasificación
binarias, siendo ‘q’ el número de etiquetas de la colección.
- Estrategia de segundo orden​: La tarea de MLL se basa en la generación de
relaciones de a pares de etiquetas ya sea por rankings entre clases relevantes y no
relevantes o por interacción entre pares de etiquetas.
- Estrategia de alto orden​: La tarea de MLL considera relaciones de alto orden entre
etiquetas.

Las estrategias de primer orden son conceptualmente simples y muy eficientes pero logran
resultados de menor calidad ya que no consideran correlaciones. Las estrategias de
segundo orden tienen un mayor poder de generalización pero no todos los problemas de
MLL pueden ser abarcados. El último grupo, por su parte, modela las correlaciones más
potentes pero conlleva un costo computacional alto.

El campo de MLL se ha desarrollado considerablemente en los últimos años pero hasta el


momento muchos de estos trabajos se han llevado a cabo en ambientes estáticos de
aprendizaje por batch [12]. Por lo que se hace necesario encarar nuevos proyectos que
aborden clasificaciones MLL en contextos de streaming de datos. El desafío entonces
consiste en crear clasificadores que sean capaces de manejar un inmenso número de
instancias y adaptarse al cambio, a la vez que estar preparados para hacer tareas de
predicción en cualquier momento, y todo esto en un contexto de altas restricciones de
tiempo de respuesta y memoria.

4. Referencias
[1] Gantz, J., Reinsel, D. 2011 ​Extracting value from chaos​.
[2] Cukier, K., Mayer-Schönberger, V. 2013. ​Big Data: A Revolution That Will Transform How We
Live, Work, and Think​.
[3] Chen, M., Mao, S., Liu, Y. 2014. ​Big data: A survey​.
[4] Lavallen, Pablo. 2018. ​Procesamiento distribuido de flujos de video sobre plataformas de big data​.
[5] Gama, J. 2010. ​Knowledge discovery from Data Streams​.
[6] Bifet, A., Morales, G. D. F. 2014. ​Big Data Stream Learning with SAMOA​.
[7] Read, J., Bifet, A., Holmes, G., Pfahringer, B. 2012. ​Scalable and efficient multi-label classification
for evolving data streams​.
[8] Souza, R., Gama, J. 2018. ​Multi-label classification from high-speed data streams with adaptive
model rules and random rules​.
[9] Zhang, M., Zhou, Z. 2014.​ A Review on Multi-Label Learning Algorithms​.
[10] Gibaja, E., Ventura, S. 2015. ​A Tutorial on Multi-Label Learning​.
[11] Zhang, M., Zhang, K. 2010. ​Multi-label learning by exploiting label dependency​.
[12] Read, J., Bifet, A., Holmes, G., Pfahringer, B. 2011. ​Streaming Multi-label Classification​.
[13] Hulten, G., Domingo, P. 2001. ​Catching Up with the Data: Research Issues in Mining Data
Streams​.

También podría gustarte