Material Metodos Mineria Datos Aplicaciones Tiempo Real

9
Métodos de Minería de Datos para Aplicaciones en Tiempo Real Alix E. Rojas Hernández Facultad de Ingeniería de Sistemas, Universidad Nacional de Colombia Avenida Carrera 30 No. 45 – 03, Bogotá D.C., Colombia [email protected] RESUMEN En este artículo se presenta una visión general de algunos métodos usados en minería de datos para ambientes de tiempo real. Se identifica una clasificación a priori de los métodos de minería, enfocados en el tema para narrar de una forma ordenada este estado del arte. Palabras Clave Minería de Datos, aplicaciones, tiempo real, en línea, algoritmos, flujos de Datos (Data Streams). CONTENIDO 1. INTRODUCCIÓN 2. EL CONCEPTO DE TIEMPO REAL 2.1. CONTEXTO 2.2. TERMINOLOGÍA 3. GENERALIDADES 3.1. ORÍGENES 3.2. CUADRO SINÓPTICO SOBRE LA MINERÍA DE DATOS EN TIEMPO REAL 3.3. LO QUE NO ESTÁ CUBIERTO 4. MINERÍA EN TIEMPO REAL 4.1. INVESTIGADORES 4.1.1 CHARU AGGARWAL 4.1.2 JIAWEI HAN 4.1.3 PEDRO DOMINGOS 4.1.4 PHILIP S. YU 4.1.5 JOÃO GAMA 4.1.6 OTROS AUTORES DESTACADOS 4.2. MÉTODOS INVESTIGADOS 4.2.1 Métodos Clasificadores 4.2.1.1. Un modelo de clasificación bayesiano para la detección de intrusos en tiempo real 4.2.1.2. Árboles de decisión de flujos de datos espaciales usando “Peano Count Trees” 4.2.1.3. Árboles de decisión para minería en flujos de datos 4.2.2 Métodos que encuentran Reglas de Asociación 4.2.2.1. Encontrando conjuntos de ítems frecuentes sobre flujos de datos en línea 4.2.2.2. Un simple algoritmo para encontrar elementos frecuentes en flujos de datos y bolsas 4.2.2.3. Tópicos de investigación en reglas de asociación de minería para flujos de datos 4.2.3 Métodos Agrupadores 4.2.3.1. Un marco de trabajo para agrupamiento en flujos de datos 4.2.3.2. Agrupamiento Proyectado sobre Flujos de Datos Altamente Dimensionales 4.2.3.3. Un marco de trabajo para agrupamiento proyectado sobre flujos de datos altamente dimensionales 4.2.3.4. Agrupamiento en línea de flujos de datos paralelos 4.2.3.5. Un marco de trabajo para diagnosticar cambios en flujos de datos que evolucionan 4.2.3.6. Agrupamiento binario: Flujos de datos con K-means 4.2.3.7. Algoritmos de flujos de datos para un agrupamiento refinado 4.2.4 Métodos que Descubren Patrones 4.2.4.1. Algoritmos de tiempo real para correspondencia de cadenas y reconocimiento de palíndromos 4.2.4.2. Un marco de trabajo intuitivo para entender cambios en flujos de datos 4.2.5 Métodos Detectores de anomalías 4.2.5.1. Detección de cambio en flujos de datos 4.2.5.2. Clasificación en línea de flujos de datos no estacionarios 4.2.5.3. Algoritmos incrementales Info-Difusos para minería de datos en tiempo real de flujos de datos no estacionarios 5. TEMAS DE INVESTIGACIÓN 6. OPINIÓN Y CONCLUSIONES 7. REFERENCIAS

Transcript of Material Metodos Mineria Datos Aplicaciones Tiempo Real

Page 1: Material Metodos Mineria Datos Aplicaciones Tiempo Real

Métodos de Minería de Datos para Aplicaciones en Tiempo Real

Alix E. Rojas Hernández

Facultad de Ingeniería de Sistemas, Universidad Nacional de Colombia Avenida Carrera 30 No. 45 – 03, Bogotá D.C., Colombia

[email protected]

RESUMEN En este artículo se presenta una visión general de algunos métodos usados en minería de datos para ambientes de tiempo real. Se identifica una clasificación a priori de los métodos de minería, enfocados en el tema para narrar de una forma ordenada este estado del arte.

Palabras Clave Minería de Datos, aplicaciones, tiempo real, en línea, algoritmos, flujos de Datos (Data Streams).

CONTENIDO

1. INTRODUCCIÓN

2. EL CONCEPTO DE TIEMPO REAL

2.1. CONTEXTO 2.2. TERMINOLOGÍA

3. GENERALIDADES

3.1. ORÍGENES 3.2. CUADRO SINÓPTICO SOBRE LA MINERÍA DE DATOS EN TIEMPO REAL 3.3. LO QUE NO ESTÁ CUBIERTO

4. MINERÍA EN TIEMPO REAL

4.1. INVESTIGADORES 4.1.1 CHARU AGGARWAL 4.1.2 JIAWEI HAN 4.1.3 PEDRO DOMINGOS 4.1.4 PHILIP S. YU 4.1.5 JOÃO GAMA 4.1.6 OTROS AUTORES DESTACADOS 4.2. MÉTODOS INVESTIGADOS 4.2.1 Métodos Clasificadores

4.2.1.1. Un modelo de clasificación bayesiano para la detección de intrusos en tiempo real 4.2.1.2. Árboles de decisión de flujos de datos espaciales usando “Peano Count Trees”

4.2.1.3. Árboles de decisión para minería en flujos de datos

4.2.2 Métodos que encuentran Reglas de Asociación

4.2.2.1. Encontrando conjuntos de ítems frecuentes sobre flujos de datos en línea 4.2.2.2. Un simple algoritmo para encontrar elementos frecuentes en flujos de datos y bolsas 4.2.2.3. Tópicos de investigación en reglas de asociación de minería para flujos de datos

4.2.3 Métodos Agrupadores 4.2.3.1. Un marco de trabajo para agrupamiento en flujos de datos 4.2.3.2. Agrupamiento Proyectado sobre Flujos de Datos Altamente Dimensionales 4.2.3.3. Un marco de trabajo para agrupamiento proyectado sobre flujos de datos altamente dimensionales 4.2.3.4. Agrupamiento en línea de flujos de datos paralelos 4.2.3.5. Un marco de trabajo para diagnosticar cambios en flujos de datos que evolucionan 4.2.3.6. Agrupamiento binario: Flujos de datos con K-means 4.2.3.7. Algoritmos de flujos de datos para un agrupamiento refinado

4.2.4 Métodos que Descubren Patrones 4.2.4.1. Algoritmos de tiempo real para correspondencia de cadenas y reconocimiento de palíndromos 4.2.4.2. Un marco de trabajo intuitivo para entender cambios en flujos de datos

4.2.5 Métodos Detectores de anomalías 4.2.5.1. Detección de cambio en flujos de datos 4.2.5.2. Clasificación en línea de flujos de datos no estacionarios 4.2.5.3. Algoritmos incrementales Info-Difusos para minería de datos en tiempo real de flujos de datos no estacionarios

5. TEMAS DE INVESTIGACIÓN

6. OPINIÓN Y CONCLUSIONES

7. REFERENCIAS

Page 2: Material Metodos Mineria Datos Aplicaciones Tiempo Real

Algoritmos de Minería de Datos para Aplicaciones en Tiempo Real 2

1. INTRODUCCIÓN El concepto de tiempo real, en lo que tiene que ver con minería de datos, es un tema relativamente reciente. Sin embargo, es una noción transversal para la gran mayoría de métodos de minería que existen; es decir, se pueden tener aplicaciones que respondan en cualquier momento, y que basen su arquitectura en algoritmos de clasificación o agrupamiento, indistintamente. En este estado del arte se mostrarán varios trabajos realizados hasta el momento sobre minería de datos en ambientes de tiempo real, con el único objeto de saber que hay hasta el momento en cuanto a investigaciones sobre el tema, cual es la tendencia, grupos e investigadores especialistas, y sobre todo, llegar a plantear una idea esquemática de qué, cómo y por qué el concepto de ‘tiempo real’ en la metodología de minería de datos. El artículo se compone inicialmente por la definición del tema a tratar, para luego pasar a mencionar y discutir los trabajos de investigación alrededor del área, y por último, terminar con lo que se podría seguir investigando sobre este tema.

2. EL CONCEPTO DE TIEMPO REAL Con el fin de ubicar el contexto del cual se hablará de aquí en adelante, se planteará de forma concreta que ambientes son relevantes para este artículo. Además se definirá que significa tiempo real y una serie de terminología común para evitar, en lo posible, ambigüedades.

2.1. Contexto Cuando se toca el tema de aplicaciones en tiempo real (y ello no significa que sea absoluto) hay dos posibles puntos de vista∗: 1) minería sobre modelos preconstruidos y 2) minería sobre modelos en construcción. Ahora, lo más lógico es explicar en que consiste cada uno de ellos. Un modelo en construcción cumple las siguientes condiciones: a) Aplicaciones en línea que se están alimentando constantemente de diferentes modalidades: por múltiples usuarios que acceden de una u otra forma a la aplicación ó porque reciben datos de la red ó de otros medios; b) realizan predicciones o reconocen ciertos patrones en los datos a través de un modelo que se va construyendo a medida que los datos van llegando y c) con los nuevos datos se espera que el modelo se actualice y que los valores de error vayan disminuyendo. Un modelo preconstruido, difiere del anterior, en que se basa de un modelo que ya está construido con anterioridad; el cual tomó como conjunto de datos información histórica, pasando por todo el proceso de minería para la construcción de dicho modelo. En este artículo se tomarán los métodos de minería que cubren el primer grupo: modelos en construcción.

∗ En ningún artículo dentro de esta bibliografía seleccionada, bautizan estos tipos de aplicaciones, pero se ha hecho, con el único objeto de dar claridad dentro del curso de la lectura.

2.2. Terminología Dentro de una búsqueda normal, sobre minería de datos en tiempo real, es normal que aparezcan términos como en línea, tiempo real, aprendizaje de máquina o su término tal vez más familiar en inglés ‘machine learning’, flujos de datos o su equivalencia anglosajona ‘data streams’, entre otros, que en su momento, serán mencionados de acuerdo a su contexto. De manera concreta se puede decir que el término “tiempo real” se emplea para definir métodos o aplicaciones que requieren una respuesta casi inmediata durante su procesamiento. Se puede pensar en la ejecución continua de algún proceso que se alimenta de datos externos que afectan su comportamiento. Este proceso se podría bautizar, como uno, de tiempo-real. También se ha empleado el término “en línea” en este artículo. Este trae consigo todo el contexto ‘web’, pues la mayor parte de procesos o aplicaciones montadas en Internet, tiene la característica de ser altamente transaccionales e implícitamente se relacionan al concepto de tiempo-real; por ello, aunque no son la misma idea, para este caso, se tomarán de manera indistinta. Por otra parte, los flujos de datos o “data streams” que son el concepto concreto del término “en línea”; porque son los datos que usados para recibir y transmitir información en la web. Serán referidos al mismo contexto. Obsérvese que los tres términos mencionados, tienen inherente a así mismos, el concepto de tiempo. Por último, se menciona el término “aprendizaje de máquina” o “machine learning” que es como el padre de la minería de datos; y que por ello, también se tuvo en cuenta.

3. GENERALIDADES A continuación se expone una serie de ideas que son básicas para continuar con la definición del tema en cuestión.

3.1. Orígenes El tema de interés se ubica a mediados de los años noventa [1], después del nacimiento de la minería de datos, y con ella conceptos como: ‘Adaptive software agents’, teoría de refinamiento, programación de lógica inductiva, aprendizaje de redes bayesianas, ‘bagging’, ‘boosting’, ‘stacking’ y ‘voting’∗. Con el nacimiento de la minería de datos y el ‘boom’ de Internet, se abre paso a nuevas investigaciones enfocadas a explotar la riqueza de la minería de datos, en ámbitos donde una respuesta inmediata se vuelve mucho más valiosa, que un modelo construido con datos de antaño e inamovibles, que pierden su interés al transcurrir del tiempo. Válgase aclarar que existen muchos temas alrededor de la minería de datos, como los que se mencionaron en el párrafo anterior, pero se señalan para ubicar un contexto común, pues ningún tema de investigación nace y se desarrolla de manera única y exclusiva; pero no se entra en detalle para no descuidar el tema central de este artículo, ya que con un tema tan amplio como este, es muy fácil irse por las ramas.

∗ En algunos casos no fueron traducidos los términos en inglés con el ánimo de no caer en barbarismos innecesarios.

Page 3: Material Metodos Mineria Datos Aplicaciones Tiempo Real

Algoritmos de Minería de Datos para Aplicaciones en Tiempo Real 3

3.2. Cuadro Sinóptico sobre la Minería de Datos en Tiempo Real El siguiente esquema (ver Ilustración 1) no es una conclusión propia, pero si es una posible compilación del trabajo de muchas personas alrededor de este tema [2][3]. A continuación se muestra una clasificación compacta de la minería de datos, en la que se ha trabajado el tema de métodos en tiempo real.

3.3. Lo que no está cubierto Aunque en este artículo se hace bastante referencia a aplicaciones y ambientes de tiempo real, no se hablará de OLAP∗ (On-Line Analytical Processing): 1) porque no es un tema que está relacionado con el interés particular de este artículo. 2) OLAP es una solución, valga la aclaración, que hace parte de otra rama que no nace precisamente del ‘aprendizaje de máquina’; su contexto es el de `Inteligencia de negocios’. La única forma en la que se relaciona con el tema de minería de datos, es en su presencia opcional, dentro del proceso completo del ‘descubrimiento de conocimiento’. Por otra parte, aun cuando se mencionan los métodos de minería como parte del enfoque de este artículo, ello no significa que se hará un análisis de cada uno de los existentes, ni que se revisará cual tiene mejor desempeño ó cada una de las propuestas en el campo de la investigación que existe alrededor del mundo; pues este artículo pasaría de ser un estado del arte a ser un tratado completo sobre minería de datos: cuestión que está lejos del alcance y expectativas de este trabajo.

4. MINERÍA EN TIEMPO REAL Esta sección es el núcleo de todo el artículo. Aquí se comenta sobre los investigadores contemporáneos más destacados y las investigaciones y demás trabajos relacionados sobre el tema.

∗Descripción detallada a cerca de OLAP, se puede encontrar en: http://es.wikipedia.org/wiki/OLAP.

4.1. Investigadores El objetivo de identificar diferentes investigadores, es sin duda, conocer las tendencias en este medio académico y llegar directamente a las fuentes de conocimiento. A continuación se relacionan algunos autores representativos y una descripción de su trabajo; para otros solo se menciona el nombre del investigador ∗∗: 4.1.1 Charu Aggarwal Investigador miembro de la IBM T. J, Centro de Investigación Watson en Yorktown Heights, Nueva York. Realizó su doctorado en el MIT en 1996. El tema de sus tesis fue algoritmos en flujos de redes y el director de su trabajo fue el Profesor James B. Orlin. Desde entonces ha trabajado en el campo de análisis del desempeño de la Minería de Datos. Ha publicado cerca de 95 artículos en conferencias y revistas especializadas, además de obtener alrededor de 40 patentes. Y a parte del valor comercial de los patentes mencionados, él ha sido nombrado inventor maestro en IBM desde el año 2.000. Con su trabajo sobre tiempo real y detección de bio-ataques en flujos de datos, ganó el premio corporativo de IBM por excelencia en el 2003. Él es editor asociado de la IEEE Transactions on Knowledge and Data Engineering Journal y editor activo de Data Mining and Knowledge Discovery Journal. Sus intereses incluyen minería de datos, privacidad, recuperación de información y flujos de datos. 4.1.2 Jiawei Han Profesor del Departamento de Ciencia de la Universidad de Illinois en Urbana-Champaign del Centro Siebel para Ciencias de la Computación y Doctor de Ciencias de la Computación de la Universidad Wisconsin-Madison. Actualmente tiene un grupo de investigación en Minería de Datos y Sistemas de Bases de Datos con el que adelanta proyectos de investigación en: Endowing Biological Databases with Analytical Power: Indexing, Querying, and Mining of Complex Biological Structures (NSF/BDI), MotionEye: Querying and Mining Large Datasets of Moving Objects (NSF/SEIII) y Automatic On-the-fly Detection, Characterization, Recovery, and Correction of Software Bugs in Production Runs (NSF/ITR). 4.1.3 Pedro Domingos Investigador del Departamento de Ciencias de la Computación e Ingeniería de la Universidad de Washington. Entre sus principales intereses se encuentra la investigación en las áreas de Minería de Datos y Aprendizaje de Máquina. Proyectos actuales: Aprendizaje Estadístico Relacional, Bases Colectivas de Conocimiento y Aprendizaje de Máquina a gran escala. 4.1.4 Philip S. Yu El Doctor Philip es el director del grupo de Herramientas y Técnicas de Software del Centro de Investigación del IBM Thomas J. Watson. El enfoque actual del proyecto incluye el desarrollo de algoritmos avanzados y optimización de técnicas para Minería de Datos, detección de anomalías y personalización. Es editor asociado de la ACM Transactions de Tecnología en Internet y es editor de la IEEE Transactions on knowledge and Data Engineering desde enero de 2001

∗∗Esta lista fue seleccionada a partir del sitio web: http://www.csse.monash.edu.au/~mgaber/researcher.htm

Ilustración 1. Se define el marco de trabajo de la Minería de Datos en tiempo real. Nótese que es tansversal a las diferentes técnicas empleadas en la Minería de Datos convencional. Se abrevió el término ‘Data Streams’ como DS para facilitar el despliegue.

Métod

os

− Resultado

− Objetivo

− Modelos para DS − Patrones para DS

− Predicción para DS − Clasificación de DS − Agrupamiento de DS − Asociación de DS − Detección de Anomalías en DS

− Búsqueda y Recuperación de DS

− Descubrimiento de Patrones en DS

Minería de Datos

Page 4: Material Metodos Mineria Datos Aplicaciones Tiempo Real

Algoritmos de Minería de Datos para Aplicaciones en Tiempo Real 4

4.1.5 João Gama Es investigador en LIACC y hace parte del grupo de investigación sobre Aprendizaje de Máquina del laboratorio de Inteligencia Artificial y Ciencias de la Computación de la Universidad de Porto en Portugal. Su tesis de doctorado fue sobre Combinación de Algoritmos de Clasificación. Entre sus intereses de investigación están Aprendizaje de máquina, Combinación de clasificadores, aprendizaje de flujos de datos en línea, Inducción Constructiva, Caracterización de aprendizaje de algoritmos y razonamiento probabilístico. 4.1.6 Otros autores destacados Otros autores destacados: Venkatesh Ganti, Minos N. Garofalakis, Johannes Gehrke, Sudipto Guha, Geoff Hulten, Hillol Kargupta, Eamonn Keogh, Ralf Klinkenberg, Nikos Koudas, Nina Mishra, Rajeev Motwani, Muthu Muthukrishnan, Olfa Nasraoui, Rajeev Rastogi, Haixun Wang, Qian Weining,

4.2. Métodos investigados Los métodos fueron escogidos por los siguientes criterios: 1) Los más recientes; 2) que fueran reconocidos; 3) por su disponibilidad y 4) que tocaran ítems específicos en la clasificación propuesta. De tal forma que para abarcar las diferentes investigaciones alrededor del tema de enfoque, se trata de seguir el orden propuesto en el esquema de la sección 3.2. Específicamente se retomarán los métodos clasificados por objetivo, ya que es mucho más amplia y fácil de seguir. 4.2.1 Métodos Clasificadores Previamente se consultaron algunos artículos para identificar este tema en particular [4], [5], [6], [7], [8]. 4.2.1.1. Un modelo de clasificación bayesiano para

la detección de intrusos en tiempo real Clasificar este artículo en este primer grupo, podría parecer injusto, pues por la finalidad de los autores y la forma en la que este se encuentra escrito, podría identificarse en el grupo de los detectores de anomalías; sin embargo, se dejó aquí, porque la estrategia de solución es un método netamente de clasificación y, definitivamente es el hecho, de lo flexible que esta macro-técnica (me refiero a la clasificación) lo que hace que se sienta cierta dependencia con otros temas[9]. Se identifica un tema central que son los IDS (Instruction-Detection Systems), alrededor de ellos se realiza el proceso de minería completo. Para realizar el modelo, se explican tres etapas: uno, construcción bajo un comportamiento normal; dos, detección de anomalías; tres, actualización del modelo. En la primera etapa se usa un modelo paramétrico con el fin de modelar el conjunto de datos. En la segunda, se usa la clasificación bayesiana. Para la tercera etapa, discuten un modelo continuo con parámetros de re-estimación con fines heurísticos. La característica de tiempo real, es tenida en cuenta para identificar los requerimientos del sistema. Lo interesante del artículo, es que se incluyen todas las pruebas necesarias para mostrar la funcionalidad de su trabajo, y estas no requieren de una plataforma especial, ni condiciones de hardware específicas.

4.2.1.2. Árboles de decisión de flujos de datos espaciales usando “Peano Count Trees”

Cuando se lee la palabra Peano, se podría pensar, que es el autor de un método específico, así como el caso anterior, que era Bayes; pero realmente, “Peano Count Trees” es una estructura que organiza datos espaciales y que los representa de una forma comprimida y sin pérdida de datos, de tal forma que facilita una clasificación del conjunto de datos más eficiente, al igual que otras técnicas de minería. Para probar la efectividad del modelo realizan pruebas contra el método clásico de inducción de árboles de decisión; y muestran que la construcción del modelo es significativamente más rápida con la nueva estructura [10]. Es un artículo muy ilustrativo, y las fórmulas y demás gráficos empleados por los investigadores, ayuda en la comprensión de todo el proceso. 4.2.1.3. Árboles de decisión para minería en flujos

de datos Se describe en gran detalle la construcción de árboles de decisión de flujos de datos usando un algoritmo mejorado del VFDT (Very Fast Decisión Tree learner). Tópicos importantes del artículo son la clasificación de nuevos datos en línea con buenos tiempos de respuestas; el análisis de datos reales que muestran un desempeño interesante y la demostración del uso de este algoritmo en conjuntos de datos grandes y medianos. Este es un buen artículo para incursionar sobre el tema en cuestión, pues se explica de manera sencilla como se hace la construcción de los árboles resaltando en cada paso la relevancia de los flujos de datos [11]. 4.2.2 Métodos que encuentran Reglas de Asociación Para la comprensión de ciertos artículos se hizo necesario hacer consultas adicionales en otros textos [12][13], para así comprender el contexto de algunas investigaciones específicas. También fue necesario identificar que es lo que ya no se está investigando con tanto auge; y lo que definitivamente, empieza a ganar interés entre los medios académicos de este tema específico [14]. A continuación se dan a conocer un grupo de artículos muy interesantes y que coinciden en este grupo de métodos. 4.2.2.1. Encontrando conjuntos de ítems frecuentes

sobre flujos de datos en línea La motivación del artículo se centra en la propuesta de solventar el esfuerzo computacional requerido para encontrar ítems frecuentes en flujos de datos. La idea del equipo de trabajo es satisfacer los requerimientos de tiempo de procesamiento pequeño, precisión en la minería y disponibilidad de un conjunto de ítems frecuentes en cualquier momento, a través de un árbol lexicográfico residente en memoria, el cual examina cada transacción sin escoger un candidato para generar el proceso de minería. Ahora, el conjunto de datos actual de items monitoreados del flujo de datos en línea se minimiza con dos operaciones: inserción tardía y poda. En el primero, se retarda la inserción de un ítem hasta que este se vuelva significante durante el monitoreo. En el segundo, se poda un ítem cuando deja de ser significante al ser pocamente monitoreado [15].

Page 5: Material Metodos Mineria Datos Aplicaciones Tiempo Real

Algoritmos de Minería de Datos para Aplicaciones en Tiempo Real 5

En las pruebas realizadas por el equipo no hay una comparación explícita con otro algoritmo, pero muestran gráficas de escalabilidad y desempeño variando el tamaño de los flujos de datos. 4.2.2.2. Un simple algoritmo para encontrar

elementos frecuentes en flujos de datos y bolsas

Los autores presentan un algoritmo para hallar ítems frecuentes en flujos de datos y grupos de elementos que pueden repetirse, en el que definen un parámetro θ que identifica el espacio en el que trabajará el algoritmo. La idea es que usando el algoritmo para encontrar el mayor elemento, se pueda identificar un conjunto de al menos 1/θ ítems que incluyen todos los elementos con una frecuencia mayor a θ. Finalmente, hacen una demostración formal para probar la correctitud del algoritmo; sin embargo, no hacen pruebas de desempeño ni escalabilidad, ni comparaciones con otros algoritmos de la misma clase [16]. 4.2.2.3. Tópicos de investigación en reglas de

asociación de minería para flujos de datos La idea principal de este artículo es identificar aquellos tópicos que deben ser tenidos en cuenta cuando se quiere investigar sobre reglas de asociación para flujos de datos. Presentan varios algoritmos para implementar las reglas de asociación, pero sobre todo hacen un gran énfasis en las aplicaciones y motivaciones que conllevan a empezar una investigación en esta área tan específica [17]. 4.2.3 Métodos Agrupadores Se puede definir agrupamiento [18] como una división de datos en grupos de objetos similares. Al representar los datos en varios cluster necesariamente se pierden ciertos detalles finos de los elementos, pero se gana simplificación. Y esto es justamente lo que se mostrará en los siguientes artículos [19]. 4.2.3.1. Un marco de trabajo para agrupamiento en

flujos de datos En resumen se puede decir que la solución propuesta empieza con el marco de trabajo para agrupamiento de flujos de datos: primero, la separación del enfoque del agrupamiento en línea y de sus componentes que también están en línea. Segundo, el resumen estadístico que debe proporcionar suficiente información temporal y espacial para un horizonte específico en el proceso del agrupamiento en línea [20].

Finalmente, los autores comentan acerca de la evolución de los clúster para analizar ambientes de prueba. Muestran resultados empíricos y su respectiva evaluación. 4.2.3.2. Agrupamiento Proyectado sobre Flujos de

Datos Altamente Dimensionales En este problema se reconoce claramente qué son los flujos de datos. También se explica, la definición sobre agrupamiento, que es el otro tema en el que se centra la investigación; y la definen así: “un conjunto de puntos (de datos) que se quieren repartir dentro de uno o más grupos de objetos similares, donde la noción de similitud está definida por una función de distancia”. Partiendo de esto, comienzan a ilustrar su propuesta de una ‘buena’

solución: El algoritmo HPStream. Y antes de comenzar con su explicación definen varios conceptos alrededor de esto como son: “flujos de datos proyectados”, “la estructura atenuante” y “tiempo de vida media de los datos”. Así, para cada registro X de un conjunto de datos, existe un tiempo T relacionado con el registro X, ya que los flujos de datos están cambiando rápidamente en el tiempo y es necesario asociarles una prioridad de permanencia que consiste en asignarle un peso a cada registro e ir conservando los más jóvenes (de menor peso) y desechar los más antiguos. Por ello los autores asocian el término tiempo de vida media como f(t0) = ½ f(0), de tal forma que se reduce el peso de cada registro a la mitad por cada procesamiento. Después usan el término proyectado para asumir el número de grupos y conjunto de dimensiones que serán calculadas por el algoritmo. Con esto, se cierra el algoritmo completo HPStream que agrupa flujos de datos vía distancia ecludiana. Finalmente, se compara dicho algoritmo con CluStream (su predecesor) y comentan el incremento significativo en cuanto a desempeño y calidad [21]. Este artículo fue de gran utilidad académica. Pude identificar la problemática existente alrededor de los flujos de datos. Sin embargo, algunos conceptos se tienden a tornar complejos debido a su fuerte contexto matemático.

4.2.3.3. Un marco de trabajo para agrupamiento

proyectado sobre flujos de datos altamente dimensionales

Este fue un trabajo previo al artículo presentado anteriormente, realizado por el mismo equipo. Aquí se definen la mayor parte de conceptos empleados en la siguiente etapa de esta investigación [22]. La principal razón para adicionarlo al conjunto de artículos seleccionados, fue el hecho de incluir las motivaciones para realizar la investigación y una introducción mucho más amplia del nacimiento del algoritmo HPStream. 4.2.3.4. Agrupamiento en línea de flujos de datos

paralelos El enfoque de este artículo es el problema de agrupar flujos de datos. El autor proporciona un ligero contexto a manera de información sobre flujos de datos y agrupamiento. Entonces se menciona el preprocesamiento y mantenimiento de los flujos de datos, para pasar a explicar la versión en línea del k-means y la extensión de este último, al que le adiciona lógica difusa. Finalmente, se discuten partes específicas de las implementaciones de la solución a partir de resultados experimentales con varios conjuntos de datos [23]. 4.2.3.5. Un marco de trabajo para diagnosticar

cambios en flujos de datos que evolucionan Al inicio del artículo se definen conceptos como: ‘kernel’ y estimación de densidad, que proporcionan una visión general del tema a tratar. Luego, enfatizan en la técnica de estimación de la velocidad de densidad y muestran como se calcula. De allí, los autores definen como la velocidad temporal puede ser usada para generar perfiles de velocidad espacial, usados para proporcionar entendimiento visual de reorganización de datos. Finalmente se habla de datos altamente dimensionales y problemas temporales y espaciales para presentar resultados empíricos, los cuales muestran un comportamiento de evolución para diferentes conjuntos de datos [24].

Page 6: Material Metodos Mineria Datos Aplicaciones Tiempo Real

Algoritmos de Minería de Datos para Aplicaciones en Tiempo Real 6

4.2.3.6. Agrupamiento binario: Flujos de datos con K-means

En este artículo se proponen tres extensiones para el clásico algoritmo del k-means. Estos son: k-means en línea, k-means incremental y k-means escalable. Estos no solo tienen la característica de ser más rápidos que el algoritmo clásico, sino que presentan soluciones de mayor calidad. Las tres extensiones se basan en una información estadística adicional que se convierten en un parámetro de entrada para los algoritmos. Al final del artículo presentan diferentes pruebas realizadas con los tres nuevos algoritmos, y se comprueba en la mayoría de ilustraciones la efectividad de los mismos [25]. 4.2.3.7. Algoritmos de flujos de datos para un

agrupamiento refinado En la parte introductoria de este artículo se hace toda una reflexión sobre la problemática de los flujos de datos. De aquí, los autores rescatan principalmente el consumo desmesurado de memoria, que requiere el procesamiento de cantidades de datos tan altamente cambiantes. Entonces proponen, el algoritmo de flujos (en inglés, the streaming algorithm) que propone solventar, en parte, el problema crítico de los recursos que intervienen en el proceso. Después de definir el algoritmo, proporcionan varias pruebas empíricas con conjuntos de datos creados, y por otra parte, conjunto de datos reales; con los cuales hacen comparaciones de desempeño y calidad [26]. 4.2.4 Métodos que Descubren Patrones En esta sección se presentan artículos relacionados con investigaciones enfocadas en el hallazgo de patrones para grandes volúmenes de datos en tiempo real. 4.2.4.1. Algoritmos de tiempo real para

correspondencia de cadenas y reconocimiento de palíndromos

En la primera parte resaltan específicamente dos conceptos: uno, el modelo computacional RAM (Random Access Machine) y la máquina de Turing. Dos, la definición de maquinas en el tiempo. Este artículo tratan un tema especifico: Los palíndromos. Pero no fue seleccionado por esta aplicación tan específica, sino por una la característica de pasar de un algoritmo en línea a uno de tiempo real, gracias al concepto de “string-matching”. Igual, a veces es importante hacer una escogencia no por el tema general sino por la parte que resulta de gran interés [27]. 4.2.4.2. Un marco de trabajo intuitivo para

entender cambios en flujos de datos Aquí se explica como se pueden convertir procesos computacionales en formatos gráficos. Este último puede ser útil para analizar como obtener un amplio entendimiento de la cantidad y el nivel de cambios en diferentes regiones. En algunos casos, la naturaleza del cambio en una región dada, hace difícil su clasificación; y es allí, donde se centra la mayor motivación de estudiar flujos de datos. Un comentario del grupo de investigación es “los flujos de datos son nuestra pasión, nuestro reto” [28].

No se tuvo la versión final y completa de este artículo, pero lo que se leyó someramente de este, gustó tanto, que se optó por adicionarlo con los demás. 4.2.5 Métodos Detectores de anomalías A continuación se adicionan artículos en los que el enfoque de la investigación es la detección de valores atípicos dentro de conjuntos de datos en un contexto de tiempo real. 4.2.5.1. Detección de cambio en flujos de datos El artículo se enfoca principalmente en resaltar la aplicabilidad de encontrar cambios en los conjuntos de datos. De esas aplicaciones se destacan: Control de calidad, para analizar la cantidad de productos defectuosas en el tiempo para la toma de decisiones; y la minería de datos, en el que el cambio funciona para reestructuran el modelo y desvincular datos desactualizados que podrían ser removidos, de ser detectados. Después, resuelven los requisitos básicos para alimentar los algoritmos, presentados a posteriori, que son: las probabilidades de densidad de los datos. Luego, enuncian diferentes propuestas de algoritmos y el meta-algoritmo final para la detección del cambio en flujos de datos. Para demostrar la correctitud de los algoritmos presentan definiciones y pruebas formales, junto con una serie de teoremas, que corroboran la funcionalidad de la técnica [29]. 4.2.5.2. Clasificación en línea de flujos de datos no

estacionarios Se enfoca en el funcionamiento y pruebas empíricas de su sistema OLIN (On Line Information Network). El supuesto con el que se este se crea, es la problemática que existe al trabajar con datos reales, y el hecho de ignorar los cambios inherente a estos; dicho fenómeno se conoce como ‘concept drift’. Las características más relevantes de este sistema es el ajuste dinámico del tamaño de la ventana de entrenamiento y el número de nuevos ejemplos para la re-construcción del modelo [30]. 4.2.5.3. Algoritmos incrementales Info-Difusos para

minería de datos en tiempo real de flujos de datos no estacionarios

Este artículo es la continuación del anterior. Como característica principal, este nuevo y renovado sistema adiciona lógica difusa para contrarrestar el esfuerzo computacional en el procesamiento de los datos. Para ello, se incorpora un algoritmo que lo bautizan como el “algoritmo IFN”, que se basa en una estructura de redes neuronales. Prueban el algoritmo con dos conjuntos de datos; uno, con datos del tipo tráfico en Internet; y otro, con datos sobre el abastecimiento de un producto. Y hacen pruebas comparativas entre el viejo OLIN y el mejorado [31].

5. TEMAS DE INVESTIGACIÓN Dada la importancia de este tema han surgido varias investigaciones y actualmente se estudian varios casos que aquí se mencionan de manera general: [32] Uno, manejo de datos: Bases de datos tradicionales con la variante de ser alimentadas con datos altamente cambiantes en el tiempo. [33] Dos, requerimientos de memoria: Se refiere al manejo de memoria que debe hacerse al utilizar diferentes algoritmos que residen sus datos y procesos en ella, y que dadas las limitaciones se hace un problema evidente. Resultados con alta precisión: Hace referencia

Page 7: Material Metodos Mineria Datos Aplicaciones Tiempo Real

Algoritmos de Minería de Datos para Aplicaciones en Tiempo Real 7

al uso de técnicas que generen resultados muy buenos, que al ser probados se compruebe la precisión de sus predicciones. [34] Tres, Transferencia de resultados de minería sobre medio inalámbricos con ancho de banda limitados. [35] Cuatro, Modelado de cambios en resultados de minería en el tiempo: La adaptabilidad de modelos generados en el proceso de minería que deben ajustarse a la variación de los datos para su uso en diferentes aplicaciones de análisis. Cinco, Visualización de los resultados de minería en dispositivos móviles. Seis, Pre-procesamiento: Específicamente, como deben estar los datos a la hora de trabajar con ellos. [36] Siete, Modelos sobre-ajustados: No hay mucha literatura que se enfoque específicamente sobre los modelos de flujos de datos que presenten estos inconvenientes. [37] Ocho, Tecnología: las plataformas, los diferentes ambientes de ejecución y varias particularidades físicas, son importantes a la hora de procesar grandes cantidades de datos. [38] Nueve, Formalización: Es importante entrar a definir formalmente los flujos de datos y su contexto para hallar algoritmos óptimos y precisos.

6. OPINIÓN Y CONCLUSIONES El área de minería de datos es relativamente nueva, y no por ello, carece de información o de interés en su investigación. Pero es aún más motivante, no dejar de encontrar información con una de sus ramas: La minería de datos en aplicaciones de tiempo real. En esta exhaustiva consulta, he encontrado diferentes trabajos relacionados con el tema, y de todos ellos he aprendido bastante; por eso espero que a los lectores les resulte muy útil.

7. REFERENCIAS [1] Domingos, P. & Hulten, G. (2001), Catching Up with the

Data: Research Issues in Mining Data Streams. [2] Srivatsan Laxman And P S Sastry. A survey of temporal data

mining. Department of Electrical Engineering, Indian Institute of Science, Bangalore 560 012, India. Sadhana Vol. 31, Part 2, pp. 173–198. April 2006.

[3] Agrawal, R., Mannila, H., Srikant, H. et al. (1996), Fast

discovery of association rules, in Fayyad, U.M., Piatetsky-Shapiro, G., Smy, P. et al. (eds), ‘Advances in Knowledge Discovery and Data Mining’, AAAI Press/The MIT Press, Menlo Park, CA, pp. 307 – 328.

[4] Demsar, J. (2006), Statistical Comparisons of Classifiers

over Multiple Data Sets, Journal of Machine Learning Research 7, 1-30.

[5] ZHANG, H. (2005), Exploring Conditions For The

Optimality Of Nдive Bayes, International Journal of Pattern Recognition & Artificial Intelligence 19(2), 183-198.

[6] Appice, A. and Appice, C.E.F.M.D. (2006), Classification of

symbolic objects: A lazy learning approach, Intelligent Data Analysis 10, 301-324. The author proposal is to use a general method to classify data set, specially symbolic objects (SOs). It's is based on k-means algorithm: A lazzy-learning one. And It was

implemented on system SO-NN (Symbolic Objects Nearest Neighbor).

It's useful for my job. But the author often comments the SO-NN, because that is like the application research, but for my case is irrelevant. Principal keys: K-means, symbolic objects, lazzy-learning.

[7] Murthy, S. K. (1998), Automatic Construction of Decision

Trees from Data: A Multi-Disciplinary Survey, Data Mining and Knowledge Discovery 2, 345. This article review three ways for data exploration. One, description: To reduce a volume of data. Two, classification: Discovering whether the data contains well-separated classes of objects. Three, generalization: To make a mapping from independent to dependent variables for predicting the value of the dependent variable in the future (It's part is not so clear). After, they mention several advantages of decision tree-based classification: Knowatledge acquisition, Hierarchical decomposition, trees can be used with the same ease in deterministic as well as incomplete problems, and their use in data streams probles (maybe the most important for me). with those ideas they show the entire process to begin trees. In the last sections, they talk about real-world data (authors commentairs: it's complex and imperfect).

[8] Fu, B. L. L. S. R. S. W. E. (2006), Diversification for better

classification trees, Computers & Operations Research 33(11), 3185-3202. The principal idea of this article is decision trees. They use a different mechanism for building trees with genetic algorithms and changing the mean value by various percetiles. They shows the wholy process to develop this proposal.

The author is clear to explain the advantages of this new way to make decision trees. However, some procedures are no obvious and have short explanations.

[9] Puttini, Z.M.L. (2003), A Bayesian Classification Model for

Real-Time Intrusion Detection, in C. J. Williams, ed.,'AIP Conf. Proc. 659: Bayesian Inference and Maximum Entropy Methods in Science and Engineering', pp. 150-162.

[10] Ding, Q. and Perrizo, W. (2002), Decision tree

classification of spatial data streams using Peano Count Trees, in 'SAC '02: Proceedings of the 2002 ACM symposium on Applied computing', ACM Press, New York, NY, USA, pp. 413-417.

[11] Gama, R.R.R. (2006), Decision trees for mining data

streams, Intelligent Data Analysis 10(1), 23-45. [12] (2006), Association Mining, ACM Computing Surveys

38(2), 1-42. [13] Bodon, I. N. M. C. H. T. A. K. (2005), Automatic discovery

of locally frequent itemsets in the presence of highly frequent itemsets, Intelligent Data Analysis 9(1), 83-104.

Page 8: Material Metodos Mineria Datos Aplicaciones Tiempo Real

Algoritmos de Minería de Datos para Aplicaciones en Tiempo Real 8

[14] Cormode, S. (2005), What's Hot and What's Not:

Tracking Most Frequent Items Dynamically, ACM Transactions on Database Systems 30(1), 249-278. I think topics more important are: - Onepass algorithms with limited storage, has reopened interest in this problem (Author recomendation. Surveys such as those by Muthukrishnan and Garofalakis). - Insert-Only Algorithms with Item Counts. The earliest work on finding frequent items considered the problem of finding an item which occurred more than half of the time. - All the methods discussed thus far have certain features in common: in particular, they all hold some number of counters, each of which counts the number of times a single item is seen in the sequence. -Insert-Only Algorithms with Filters. An alternative approach to finding frequent items is based on constructing a data structure which can be used as a filter. This has been suggested several times to construct such filters being suggested. - Insert and Delete Algorithms. Previous work that studied hot items in the presence of both of inserts and deletes is sparse. These articles have proposed methods to maintain a sample of items and count of the number of times each item occurs in the data set, and focused on the harder problem of monitoring the k most frequent items. - They propose some new approaches to this problem, based on ideas from group testing and error-correcting codes. Our algorithms depend on ideas drawn from group testing. The idea of group testing is to arrange a number of tests, each of which groups together a number of themitems in order to find up to k items which test “positive.”

[15] Chang, W.S. (2006), Finding frequent itemsets over

online data streams, Information & Software Technology 48(7), 606-618.

[16] Karp, R. M., Shenker, S. and Papadimitriou, C. H. (2003), A

simple algorithm for finding frequent elements in streams and bags, ACM Trans. Database Syst. 28(1), 51-55.

[17] Jiang, N. & Gruenwald, L. (2006), Research issues in data

stream association rule mining, SIGMOD Rec. 35(1), 14-19.

[18] Berkhin, P. (2002),'Survey Of Clustering Data Mining

Techniques', Technical report, Accrue Software, San Jose, CA. Author defines the following "Clustering is a division of data into groups of similar objects. Representing the data by fewer clusters necessarily loses certain fine details, but achieves simplification. It models data by its clusters. Data modeling puts clustering in a historical perspective rooted in mathematics, statistics, and numerical analysis. From a machine learning perspective clusters correspond to hidden patterns, the search for clusters is unsupervised learning, and the resulting system represents a data concept". For covering the entire theme he talk about: Clustering and Classification of Clustering Algorithms; Hierarchical Clustering; Partitioning Relocation

Clustering; Density-Based Partitioning; Grid-Based Methods; Co-Occurrence of Categorical; Constraint-Based Clustering; Relation to Supervised Learning; Gradient Descent and Artificial Neural Networks; Evolutionary Methods; Scalability and VLDB Extensions; Clustering High Dimensional Data; and General Algorithmic Issues.

[19] Aggarwal, R.; Gehrke, J.; Gunopulos, D. & Raghavan, P.

(1998), Automatic subspace clustering of high dimensional data for data mining applications, in 'SIGMOD '98: Proceedings of the 1998 ACM SIGMOD international conference on Management of data', ACM Press, New York, NY, USA, pp. 94--105.

[20] C. Aggarwal, J.W.P.S.Y. (2003), A Framework for

Clustering Evolving Data Streams, Proc. 2003 Int. Conf. on Very Large Data Bases (VLDB'03), Berlin, Germany

[21] Aggarwal, C., Han, J., Wang, J. & Yu, P.S. (2005), On

High Dimensional Projected Clustering of Data Streams, Data Mining and Knowledge Discovery, 251–273.

[22] Aggarwal, C.; Han, J.; Wang, J. & Yu, P.S. (2004), A

Framework for Projected Clustering of High Dimensional Data Streams, Proceedings, 852-863.

[23] Beringer, J. & Hьllermeier, E. (2006), Online clustering of

parallel data streams, Data Knowl. Eng. 58(2), 180-204. [24] Aggarwal, C. (2003), A Framework for Diagnosing

Changes in Evolving Data Streams, Proceedings of the ACM SIGMOD

[25] Ordonez, C. (2003), Clustering binary data streams with

K-means, in 'DMKD '03: Proceedings of the 8th ACM SIGMOD workshop on Research issues in data mining and knowledge discovery', ACM Press, New York, NY, USA, pp. 12-19.

[26] Oapos Callaghan, N. M. A. G. S. M. R. (2002), Streaming-

data algorithms for high-quality clustering, Data Engineering, 2002. Proceedings. 18th International Conference on', 685-694.

[27] Galil, Z. (1976), Real-time algorithms for string-

matching and palindrome recognition, in 'STOC '76: Proceedings of the eighth annual ACM symposium on Theory of computing', ACM Press, New York, NY, USA, pp. 161-173.

[28] Aggarwal, C. (2002), An Intuitive Framework for

Understanding Changes in Evolving Data Streams, Proceedings of the ICDE Conference

[29] Kifer, D.; Ben-David, S. & Gehrke, J., Detecting Change in

Data Streams. [30] Last, M. (2002), Online Classification of Nonstationary

Data Streams, Intelligent Data Analysis 6(2), 129-147.

Page 9: Material Metodos Mineria Datos Aplicaciones Tiempo Real

Algoritmos de Minería de Datos para Aplicaciones en Tiempo Real 9

[31] L. Cohen, G.A. & Last, M. (2004), Incremental Info-Fuzzy

Algorithm for Real Time Data Mining of Non-Stationary Data Streams, Proceedings of TDM 2004 - ICDM 2004 Workshop on Temporal Data Mining: Algorithms, Theory and Applications.

[32] Gaber, M. M.; Zaslavsky, A., and Krishnaswamy, S. (2005),

Mining data streams: A review, SIGMOD Rec. 34(2), 18-26.

[33] Cannataro, A. P. A. T. D. T. P. (2004), Distributed Data

Mining on Grids: Services, Tools, and Applications, IEEE Transactions on Systems, Man & Cybernetics: Part B 34(6), 2451-2465.

[34] Guozhu Dong, L.V.L.J.P.H.W. & Yu., P.S. (2003), Online

mining of changes from data streams: Research problems and preliminary results, In ACM SIGMOD MPDS.

[35] Berberidis, I. (2005), Mining for weak periodic signals in

time series databases, Intelligent Data Analysis 9(1), 29-42.

[36] Bull, B. (2005), Exemplar Sampling: Nonrandom

Methods of Selecting a Sample Which Characterizes a Finite Multivariate Population, American Statistician 59(2), 166-172.

[37] Connolly, B. (2004), SQL, Data Mining & Genetic

Programming, Dr. Dobb's Journal: Software Tools for the Professional Programmer 29(4), 34-39.

[38] Babcock, S. B. M. D. R. M. J. W. (2002), Models and

Issues in Data Stream Systems, Madison, Wisconsin.