CHAPTER 3: THEORY
3.1 Vibration
En esta sección se realiza una revisión de los principales algoritmos que dividen el flujo de datos en bloques de igual tamaño y entrenan clasificadores con cada uno de estos bloques. El esquema general seguido por estos algoritmos se muestra en Algoritmo1.
Algoritmo 1:Multiclasificadores basados en bloques de instancias.
Entrada:
flujo de datos, cantidadMde clasificadores bases, tamañoNdel bloque de instancias
Salida :
clase predicha por el ensamble
1 Bloque: bloque de instancias para crear clasificadores 2 foreachinstancia de entrenamientodo
3 ifBloque no está llenothen
4 Bloque+ =nuevainstancia
5 else ifBloque está llenothen
6 realizar acciones como, crear nuevo clasificador, actualizar clasificadores, calcular
pesos, etc.
7 Vacciar el Bloque
8 returnen todo momento la clase predicha por el multiclasificador
SEA (Streaming Ensemble Algorithm)
Uno de los primeros algoritmos de ensamble para el procesamiento de flujos de datos fue SEA (Streaming Ensemble Algorithm) (Street y Kim, 2001). SEA crea los clasificadores base a partir de pequeños subconjuntos de los datos, leídos secuencialmente en bloques de un tamaño fijo. El tamaño de esos bloques es un parámetro importante porque es responsable del equili- brio entre precisión y flexibilidad. Cada bloque se utiliza para entrenar un nuevo clasificador, es cual es comparado con los demás miembros del conjunto. Si alguno de los miembros es peor que el nuevo clasificador este se sustituye por el nuevo. Para evaluar los clasificadores, Street y Kim proponen utilizar la precisión de clasificación obtenida en el bloque de datos más reciente. El algoritmo cuenta con un límite máximo de clasificadores que actúa como mecanismo de adaptación. Al ser alcanzado este límite máximo obliga al algoritmo sustituir a clasificadores básicos anteriores siguiendo cierto criterio de remplazo. Para combinar las predicciones de los clasificadores base utiliza votación por mayoría no ponderada y como clasificador base utiliza el
algoritmo C4.5. SEA presenta problemas para adaptarse a los cambios de conceptos abruptos; en estos resultados influye el mecanismo de votación utilizado ya que los clasificadores dejan de aprender una vez que son creados.
AWE (Accuracy Weighted Ensemble)
Bajo el mismo esquema de entrenamiento de SEA,Wang et al.(2003) propusieron el método AWE (Accuracy Weighted Ensemble). AWE entrena un nuevo clasificadorC′en cada bloque de datos entrantes y usan ese bloque para evaluar todos los clasificadores del conjunto para selec- cionar los mejores clasificadores. Los autores demostraron que para un conjunto de clasificadores
Ekconstruido a partir de loskbloques de datos más recientes y un único clasificadorGktambién
construido a partir de estoskbloques , se cumple el siguiente teorema:
Teorema. Ek produce un error de clasificación menor que Gk, si los clasificadores en Ek son
pesados de acuerdo a su precisión de clasificación esperada en los datos de la prueba.
De acuerdo con este teorema , para pesar adecuadamente a los clasificadores base se necesita conocer la función real que se está aprendiendo, la cual no está disponible. Es por eso que los autores proponen derivar los pesos mediante la estimación de la tasa de error en los datos más recientesxi, como se muestra en las ecuaciones siguientes:
MSEi= 1 |xi|(x,
∑
y)∈ xi 1−fyi(x)2 (1.12) MSEr =∑
y p(y) (1−p(y))2 (1.13) wi=MSEr−MSEi (1.14)La función fyi(x)denota la probabilidad dada por el clasificadorCi quex sea una instancia de la clasey. Esta es una característica interesante del cálculo del peso, ya que la mayoría de las funciones de ponderación utilizan sólo la predicción de los clasificadores en lugar de la probabi- lidad de todas las clases posibles. También es importante notar que para el clasificador candidato denotado comoC′, la tasa de error se calcula utilizando validación cruzada en el bloque actual para evitar el sobre-ajuste. El valor de MSEr es el error medio cuadrático de un clasificador y
se utiliza para poner a cero los pesos de los modelos que no contienen ningún conocimiento útil sobre los datos.
Para los primerosk bloques de datos, el algoritmo crea los clasificadores disponibles, pero al procesar otros bloques, selecciona sólo los k mejores clasificadores para conformar la com- binación. Los autores plantean que para un flujo de datos grande es imposible almacenar todos los clasificadores creados durante el proceso de aprendizaje y la selección no se puede realizar en un conjunto ilimitado de clasificadores. Es por eso que para los flujos de datos dinámicos, es necesario introducir un nuevo parámetro que limite el número de clasificadores disponibles para la selección.
El algoritmo AWE funciona bien en los flujos de datos con conceptos recurrentes, así como en diferentes tipos de cambio. Al igual que SEA, es crucial definir correctamente el tamaño de los bloques de datos, ya que determina la flexibilidad del multiclasificador. Aunque como en SEA, su rendimiento frente a cambios de conceptos graduales es aceptable, pero esto no ocurre así cuando los cambios son abruptos. Eso se debe fundamentalmente a que AWE espera al próximo bloque de entrenamiento para actualizar los pesos de los clasificadores base.
FAE (Fast Adapting Ensemble)
El algoritmo FAE propuesto por Ortíz Díaz et al.(2014) es un método de combinación de clasificadores diseñado para adaptarse rápidamente a los cambios de concepto, tanto abruptos co- mo graduales, y se especializa en el tratamiento de conceptos recurrentes. Esta propuesta cuenta con una colección de clasificadores que representan a varios de los conceptos aprendidos previa- mente; como diferencia, en este caso los clasificadores están organizados en activos e inactivos según su comportamiento frente a los datos actuales. FAE es un multiclasificador que toma su decisión global a partir de las decisiones parciales de los clasificadores activos; mientras que conserva un grupo de clasificadores inactivos como almacén de antiguos conceptos, los cuales le favorecen en el tratamiento de conceptos recurrentes. Estos clasificadores inactivos son acti- vados de forma muy rápida si reaparece el concepto al cual ellos representan. La reactivación de clasificadores y la inserción, de ser necesaria, de nuevos clasificadores actualizados garantiza una rápida adaptación, sobre todo si existen conceptos recurrentes.
Este algoritmo divide el flujo de datos de entrenamiento en bloques de igual tamaño y con cada uno de estos bloques construye, de ser necesario, un nuevo clasificador básico que agrega al multiclasificador; de esta forma extrae conocimiento de grandes conjuntos de datos de forma natural. El algoritmo FAE también fija un límite máximo de clasificadores a almacenar, que al ser alcanzado y como mecanismo de adaptación obliga a sustituir a clasificadores base anteriores siguiendo ciertos criterios de reemplazo. Esta es la única forma de eliminar clasificadores que tiene el algoritmo.