2 r031 mineria de datos y redes neuronales 2

Upload: mercy-mercy

Post on 10-Oct-2015

24 views

Category:

Documents


0 download

TRANSCRIPT

  • MDULOS INTRODUCCIN A LAS REDES NEURONALES EN Marzo del 2003 LA MINERA DE DATOS (I PARTE)

    31

    Faubricio Guilln Varela [email protected] y Bernardo Salguero Lpez [email protected], Universidad de Costa Rica, Maestra Acadmica. Escuela de Ciencias de la Computacin e Informtica.

    Resumen Las grandes cantidades de datos con que cuentan las empresas obligan a encontrar mtodos para analizar la informacin que tienen almacenada; de este modo surge la minera de datos como un medio para estudiar de una forma ms profunda y eficiente los datos recolectados. Por otra parte, para la minera de datos se tienen tcnicas como las redes neuronales que son muy eficientes para los objetivos buscados, pero de compleja comprensin en su funcionamiento.

    Palabras clave: minera de datos, redes neuronales, redes de retropropagacin, activacin de neuronas, aprendizaje. 1 INTRODUCCIN

    La tecnologa de bases de datos ha evolucionado de manera muy positiva gracias al desarrollo en las plataformas de hardware y software existentes revolucionando la manera de organizar y almacenar y manejar los datos.

    Debido a esta revolucin las empresas han recolectado durante mucho tiempo in formacin sobre los clientes y otros datos que puedan ser relevantes para las operaciones de su empresa. Estos grandes depsitos de datos han venido a significar sitios donde se encuentran pistas sobre tendencias seguidas y comportamientos que entre otras caractersticas permiten mejorar las ganancias de una empresa.

    Estos grandes depsitos de datos que poseen las empresas son conocidos como bodegas de datos y permiten analizar aspectos claves del negocio con respecto a distintos ngulos; ms concretamente, es una coleccin de datos orientada a temas, integrada, no voltil y variante en el tiempo. Una vez que se cuenta con la informacin es importante analizar los datos para extraer la informacin relevante. Existen varios mtodos para el anlisis de los datos o la extraccin de conocimiento, uno de ellos es el estadstico, que requiere de un experto en el campo y puede resultar difcil de implementar e ineficiente, por otra parte existe la minera de datos que utiliza tcnicas de la inteligencia artificial, entre otras, para el reconocimiento de determinados patrones, una de las tcnicas ms eficientes en la minera de datos son las redes neuronales aunque son las ms difciles de comprender en su funcionamiento y este articulo versa precisamente sobre stas y su aplicacin en la minera de datos.

    El presente artculo est organizado de modo que primeramente presenta una pequea introduccin a la minera de datos incluyendo su proceso y sus principales tcnicas. La siguiente parte del artculo expone las redes neuronales y su relacin con la minera de datos, luego se muestra la estructura de las redes neuronales estudiando la representacin de los datos, la arquitectura de las mismas, el aprendizaje, el entrenamiento y las desventajas que las caracterizan.

    2 CONCEPTOS BSICOS DE MINERA DE DATOS La minera de datos se trata del proceso analtico, por medio del cual se extrae informacin oculta de grandes cantidades de datos siendo muy til para predecir futuros comportamientos y tendencias. Por medio de la minera de datos es posible responder preguntas de gran complejidad en tiempo y espacio que no es posible o resulta ms difcil utilizando otras tcnicas como por ejemplo los mtodos estadsticos. Adems, la minera de datos permite descubrir patrones o relaciones entre distintos elementos en un modelo y entonces aplicarlos a un nuevo subconjunto de datos [THEA99] [STAR02].

    Este proceso se ve beneficiado por la inmensa cantidad de datos que actualmente coleccionan las compaas1 (principal mercado de la minera de datos), dando un mayor valor a sus datos por medio de las tcnicas de anlisis que se utilizan para extraer el conocimiento. Es gran importancia que los datos sean suficientes y de calidad aceptable, de modo que en situaciones donde la certidumbre sea limitada, la minera de datos puede venir a revelar un conocimiento ms exacto

    1 Condicin importante para efectuar la minera de datos

    Introduccin a las Redes Neuronales en la Minera De Datos (I Parte)

  • MDULOS INTRODUCCIN A LAS REDES NEURONALES EN Marzo del 2003 LA MINERA DE DATOS (I PARTE)

    32

    por los datos sobre los cuales est fundamentado [STAR02] [CHAP02].

    La ejecucin de la minera de datos se observa como un enfoque de caja negra para explorar y descubrir el conocimiento usando una gran cantidad de tcnicas derivadas en su mayora de la estadstica y la inteligencia artificial como lo son los rboles de decisin y las redes neuronales [THEA99]. Es significativo hacer la distincin entre la minera de datos y la estadstica, que tienen ciertas similitudes que tienden a generar confusin sobre los conceptos. La principal semejanza se establece en que los objetivos son los mismos, pero los medios para alcanzarlos y su dificultad difieren [PMS02].

    El objetivo es efectuar modelos compactos y que resulten comprensibles de modo que se analicen las relaciones establecidas entre la descripcin de una situacin y un resultado relacionado con dicha descripcin. El modelo que resulta es descriptivo y aclarativo, de modo que se establece la orientacin que debe tener, adems de ser predictivo, de modo que si se desea conocer el resultado de una situacin hipottica descrita por las variables en que se basa el modelo se puede usar para obtener una estimacin [PMS02].

    La diferencia bsica es que las tcnicas de minera de datos construyen el modelo de forma automatizada al contrario de las tcnicas de estadstica que necesitan ser manejadas y orientadas por un estadstico profesional. Se debe destacar que dadas las caractersticas de la minera de datos se obtiene un mayor rendimiento en manejabilidad y tiempo de trabajo, estando entre sus ventajas la rapidez y sencillez [PMS02].

    Otra de las principales ventajas resulta del hecho que las tcnicas permiten trabajar con grandes cantidades de datos y variables sin inconvenientes mayores.

    Al realizar modelos estadsticos no siempre es posible explicar la dependencia si los datos son demasiado complejos y se requiere analizar gran cantidad de datos, adems de que no siempre es posible formular los problemas exactamente.

    Proceso de minera de datos

    Es importante analizar como es que la minera de datos averigua cuales son los aspectos relevantes o sobre que es lo que va a suceder. La procedimiento utilizado para extraer este conocimiento es conocida como modelaje. El modelaje es bsicamente construir un modelo de una situacin que se sabe a ciencia cierta la respuesta y entonces se aplica ste a una situacin que no se conoce [THEA99]. En la construccin de modelos, las computadoras son cargadas con grandes cantidades de informacin alrededor de una variedad de situaciones donde la respuesta es conocida y entonces, el software de minera de datos se ejecuta sobre esos datos obteniendo sus caractersticas que se establecern en el modelo. Una vez que el modelo se construye es posible utilizarlo en situaciones semejantes donde no se conoce la respuesta. Si se desea comprobar si el modelo funciona se puede verificar sobre datos ya existentes y resultados conocidos, esperando obtener resultados similares [THEA99]. En la figura 1, se muestra el proceso completo de la minera de datos, por medio del repositorio de datos se entrena al sistema y entonces se obtienen diferentes puntajes para los resultados que se derivan del proceso.

    Figura 1 Descripcin del Proceso de minera de datos [THEA00].

    Tcnicas de minera de datos Las tcnicas de minera de datos son producto de un largo proceso de investigacin y desarrollo. El primer paso es cuando los negocios almacenaron la informacin en sus computadoras y continuaron con mejoras en el acceso a los datos, luego surgieron tecnologas que permitieron

  • MDULOS INTRODUCCIN A LAS REDES NEURONALES EN Marzo del 2003 LA MINERA DE DATOS (I PARTE)

    33

    navegar en los datos de forma sencilla. La minera de datos es apoyada por tres tecnologas que actualmente se encuentran bastante avanzadas [THEA99]:

    Coleccin de datos masiva. Poderosas computadoras con

    multiprocesamiento. Algoritmos de minera de datos.

    Los datos en las empresas estn creciendo a un ritmo muy acelerado, las computadoras con caractersticas de multiprocesador y procesamiento paralelo son ms cada ms accesibles en precio y con rendimientos cada vez mayores. Por su parte los algoritmos utilizados en minera de datos han existido desde hace al menos 10 aos, pero solo recientemente se han implementado de una manera adecuada muchos de ellos [THEA99].

    Los beneficios de la automatizacin y las plataformas existentes de software y hardware Cuando las herramientas de minera de datos son implementadas sobre sistemas de alto procesamiento paralelo, ellas pueden analizar grandes bases de datos en minutos, lo que favorece que el usuario pueda experimentar automticamente con ms modelos para comprender datos complejos. Las bases de datos pueden ser grandes en profundidad y ancho, siendo ms fcilmente analizables mediante tcnicas de minera de datos que permiten realizar un anlisis global de la situacin en estudio independientemente del nmero de variables y datos como se detalla a continuacin [THEA99]:

    Ms columnas: Es imposible para un analista estudiar ms de 10 variables al mismo tiempo, las variables que son descartadas pueden tener informacin importante acerca de patrones desconocidos. La minera de datos permite a los usuarios explorar la profundidad total de una base de datos, sin preseleccionar un subconjunto de variables.

    Ms filas: Grandes ejemplos o muestras llevan a una estimacin menor de error y permite a los usuarios hacer inferencias con respecto a importantes segmentos de la poblacin.

    Para obtener la calidad y eficiencia de resultados, las tcnicas ms comnmente usadas en minera de datos son [THEA99]:

    rboles de decisin: Estructura arbrea que representa un conjunto de decisiones. Esas decisiones generan reglas para la clasificacin de un conjunto de datos. Entre los mtodos especficos de rboles de decisin se incluyen rboles de clasificacin y regresin (ACR) y chi cuadrado de detencin de interaccin automtica (CCDIA).

    Algoritmos genticos: Tcnicas de automatizacin que usan un proceso similar a la combinacin gentica, mutacin y seleccin natural en un diseo basado sobre la teora de la evolucin de Charles Darwin.

    Induccin de reglas: Se refiere a la extraccin de reglas si-entonces de los datos basados en significado estadstico.

    Redes Neuronales Artificiales: Son modelos predictivos no lineales que aprenden directamente del entrenamiento y reensamblan redes de neuronas biolgicas en su estructura. Estas sern tratadas con ms profundidad en este artculo.

    La claridad del modelo y su poder de prediccin tienen una relacin estrecha, que se comporta de manera inversa como se revela en la figura 2.

    Figura 2 Comparacin de diferentes algoritmos de minera de datos [PMS02].

    Se revela, que entre ms sencilla sea la forma del modelo, ms fcil ser su comprensin, pero tendr menor capacidad para encontrar diferencias sutiles o demasiado variadas [PMS02].

    Las que mejor rendimiento tienen en cuanto a exactitud de resultados son las redes neuronales

  • MDULOS INTRODUCCIN A LAS REDES NEURONALES EN Marzo del 2003 LA MINERA DE DATOS (I PARTE)

    34

    que tienen la posibilidad de adaptarse a valores indefinidos o incluso ausentes, pero es casi imposible inspeccionarlas, es como si se tratar de inspeccionar el cerebro de una persona para saber que esta pensando. Solamente las predicciones realizadas pueden ser inspeccionadas y visualizadas.

    3 MINERA DE DATOS Y REDES NEURONALES Las redes neuronales son tiles en la minera de datos debido a su capacidad para modelar datos complejos y multidimensionales. La disponibilidad de datos ha crecido tanto como la dimensin de los problemas a solucionar, limitando as muchas de las tcnicas tradicionales tales como el anlisis manual de los datos y algunos mtodos estadsticos, mientras que las redes neuronales ofrecen cualidades como:

    Bsqueda automtica de todas las correlaciones posibles entre los hechos claves.

    Un modelado automtico de problemas complejos sin el conocimiento a priori del nivel de la complejidad.

    Capacidad de extraer los resultados claves mucho ms rpidamente que muchas otras herramientas.

    Aunque las redes neuronales son hbiles para encontrar los modelos ocultos en los datos, no revelan directamente sus resultados. El examen del modelo final es necesario para extraer las relaciones claves descubiertas [ZSOL01].

    4 FUNDAMENTOS DE REDES NEURONALES Las redes neuronales son el resultado de las investigaciones acadmicas que implican el usar de formulas matemticas para modelar operaciones de sistema nervioso. Pero qu es una red neuronal?. En primer lugar cabe mencionar que para la ciencia sigue siendo un misterio como el cerebro genera el pensamiento, es ms, tom mucho tiempo saber que la conciencia reside en el cerebro y para conocer la interrelacin entre las distintas reas funcionales del cerebro.

    Ahora bien, las redes neuronales estn formadas por elementos sencillos de clculo aritmtico, equivalentes a las neuronas, o sea, las clulas que procesan la informacin en el cerebro, por tanto la red neuronal equivale a un conjunto de neuronas interconectadas.

    Las redes neuronales presentan muchos aspectos que las hacen atrayentes como lo es su inherente paralelismo, su capacidad de degradacin gradual de desempeo conforme empeoran las condiciones, y adems de que el aprendizaje que las caracteriza y se da a travs de un algoritmo inductivo, es decir, una vez inicializada la red, sta puede ser modificada para mejorar su eficiencia.

    Las redes neuronales se utilizan para aprender modelos y vnculos entre datos, y no requieren la codificacin explcita del problema. Por ejemplo, para generar un modelo que realice un pronstico de las ventas, solamente se necesita la informacin en bruto relacionada con el problema. La informacin puede consistir en historia de las ltimas ventas, precios, precios de los competidores, y otras variables. La red neuronal ordena esta informacin y produce un juicio de los factores que afectan ventas. El modelo puede entonces utilizarse para proporcionar a una prediccin de las ventas futuras dado un pronstico de los factores claves.

    Estos adelantos se dan debido a la creacin de reglas de aprendizaje de la red neuronal, que son los algoritmos que aprenden" las relaciones entre los datos. Las reglas de aprendizaje le permiten a la red "ganar conocimiento" de datos disponibles y aplicar este conocimiento para ayudar en la toma de decisiones claves.

    Las redes neuronales son herramientas de anlisis estadstico que permiten la construccin de un modelo de comportamiento a partir de una determinada cantidad de ejemplos (constituidos por una determinada cantidad de "variables descriptivas") de dicho comportamiento. La red neuronal, completamente "ignorante" al principio, efecta un "aprendizaje" partiendo de los ejemplos, para luego transformarse, a travs de modificaciones sucesivas, en un modelo susceptible de rendir cuenta del comportamiento observado en funcin de las variables descriptivas. La construccin del modelo es automtica y directa desde los datos.

    En todo caso, la red neuronal una vez construida constituye un verdadero modelo a la medida, y que acta en funcin de lo que percibe, es decir,

  • MDULOS INTRODUCCIN A LAS REDES NEURONALES EN Marzo del 2003 LA MINERA DE DATOS (I PARTE)

    35

    no repite las experiencias pasadas de manera tonta, tampoco se trata de ir a buscar dentro de una biblioteca un modelo ms o menos adaptado; si en realidad existe una relacin de causa a efecto en medio de las descripciones introducidas y los valores a prever, la red la descubrir. La red neuronal es slida, es decir, no se queda invalidada con algunos ejemplos enredados o falsos; estos sern descartados del resto por su incoherencia y los valores ausentes son tambin hbilmente manejados y no perturban la construccin del modelo.

    Estructura de una red neuronal Una red neuronal est constituida por nodos unidos mediante conexiones, y cada una de stas se le asigna un peso numrico. Los pesos constituyen el principal recurso de memoria de largo plazo y el aprendizaje se realiza con la actualizacin de tales pesos. Algunos de los nodos estn conectados al ambiente externo y son designadas como unidades de entrada o de salida, como se aprecia en la figura 3.

    Figura 3 Concepto de una red neuronal [THEA00].

    Cada nodo realiza un sencillo clculo, recibe seales de sus vnculos de entrada y calcula el correspondiente nuevo nivel de activacin que enva a travs de sus vnculos de salida. El clculo del nivel de activacin esta basado en los valores de cada una de las seales de entrada que enva un nodo vecino, as como los pesos de cada uno de los vnculos de entrada. El clculo consta de dos partes, la primera es una componente lineal denominada funcin de entrada, que calcula la suma ponderada de los valores de la unidad. La segunda es un componente no lineal conocida como funcin de activacin que transforma la suma ponderada en el valor final que sirve como valor de activacin de la unidad, y por lo general todas las unidades utilizan el mismo valor de activacin, tal y como lo muestra la figura 4.

    Figura 4 Combinacin lineal con una funcin lgica [THEA00].

    La entrada ponderada total es la suma de las activaciones de entrada multiplicadas por sus pesos respectivos:

    enti = nj= 1Wj,iai = Wjai

    En la expresin final, se usa la notacin vectorial. En esta notacin los pesos correspondientes al nodo i estn designados por W, al conjunto de valores de entrada se les llama ai, y el producto punto denota la suma de los productos por pares.

    Mediante el paso de cmputo elemental de cada una de las unidades se calcula el nuevo valor de activacin de la unidad. Para ello aplicamos la funcin de activacin, g, al resultado de la funcin de entrada:

    ai g(enti) = g(nj= 1 Wj,iai)

    Al utilizar distintas funciones matemticas para la funcin de activacin, se obtienen diferentes modelos. Las unidades tienen capacidad de representar funciones booleanas bsicas, lo que significa que podemos utilizarlas para construir cualquier funcin booleana de las entradas.

    Representacin de los datos Un valor discreto debe ser representado como una unidad de entrada simple, es decir, una activacin de 1 corresponde a un si o verdadero, por lo tanto una activacin de 0 corresponde a un no o falso. La ac tivacin debe estar entre 0 y 1, indicando la probabilidad del valor [FU94].

    Un valor continuo puede ser representado de varias maneras. Cada estado es representado por una unidad de entrada, y el valor es mapeado dentro de una unidad de activacin. En la prctica, el rango de valores continuos est a menudo normalizado en intervalos entre 0 y 1 [FU94].

  • MDULOS INTRODUCCIN A LAS REDES NEURONALES EN Marzo del 2003 LA MINERA DE DATOS (I PARTE)

    36

    Se debe mencionar que la precisin computacional puede afectar las propiedades de convergencia de una red neuronal.

    Arquitecturas de redes neuronales En una red neuronal, existen unidades de entrada (que reciben del ambiente la seal de activacin) y las unidades de salida (muestra los resultados), en medio de ambas se encuentran las unidades ocultas, sin conexin con el exterior. Algunas redes conocidas como perceptrones no tienen unidades ocultas, simplificando as el problema del aprendizaje, aunque tambin se limita lo que se puede representar. Las redes que cuentan con uno o ms niveles ocultos se les llama redes de varios niveles, basta con un solo nivel oculto (lo suficientemente grande), para representar cualquier funcin continua de las entradas con dos niveles se pueden representar funciones discontinuas inclusive.

    Adems, existen varias arquitecturas y las principales son las redes de prealimentacin o alimentacin progresiva y las redes recurrentes. En las redes de prealimentacin las conexiones son unidireccionales, no tienen ciclos, y la red puede tener topologas arbitrarias, est configurada por niveles o capas, y las unidades de un nivel estn conectadas nicamente a las unidades del nivel siguiente, permitiendo as realizar el clculo uniformemente, desde las unidades de entrada a las de salida, es decir, el clculo de una funcin de valores de entrada depende de la configuracin de los pesos, por lo tanto su nico estado interno es el de los pesos mismos. Una red neuronal de prealimentacin multi-capa es mostrada en la figura 5.

    Figura 5 Red neuronal de prealimentacin multi-capa [THEA00].

    Figura 6 Aprendizaje por retropropagacin [THEA00].

    Aprendizaje en las redes neuronales Las redes de prealimentacin con varios niveles utilizan algoritmos de aprendizaje tales como el de retropropagacin que es uno de los ms populares, este se realiza en dos etapas al inicio se le dan a la red un conjunto de entradas y salidas como ejemplo, una trama de entrada estimula la primera capa de unidades de la red y se va propagando hacia las unidades de las capas superiores, hasta generar una salida. Esta salida se compara con la salida deseada y se calcula una unidad de error para cada salida. La seal de error se propaga hacia las unidades en las capas inferiores que contribuyeron directamente con la salida, las cuales reciben un fragmento de la seal, proporcional a la contribucin de cada unidad a la salida. Con esta nueva informacin se actualizarn todos los valores de las conexiones en cada nodo, hasta que la red pueda analizar correctamente todas las tramas de entrenamiento, as cada uno de los nodos se especializa en reconocer una caracterstica especifica de la entrada y emite una salida activa solo si sta se encuentra presente en la trama de entrada. Gracias a esto la red puede reconocer diferencias sutiles en tramas incompletas o con ruido y ofrecer como salida la mejor aproximacin a la salida correcta. Se muestra en la figura 6 el proceso de la retropropagacin a travs de la red.

    Sobre entrenamiento de la red El sobre entrenamiento est relacionado con el aprendizaje con datos demasiado correctos. El problema se presenta porque la red corresponde tan cercanamente con los datos, que pierde la capacidad de generalizacin sobre los datos no vistos (datos de prueba). En la figura 7 se muestra el comportamiento de la red con un aprendizaje adecuado y cuando tiende a sobre entrenarse:

  • MDULOS INTRODUCCIN A LAS REDES NEURONALES EN Marzo del 2003 LA MINERA DE DATOS (I PARTE)

    37

    Figura 7 Grafica del sobre entrenamiento de una red [THEA00].

    Un enfoque para enfrentarse al este problema es el de simplificar y regularizar la red neuronal ya entrenada, una forma de lograrlo es eliminando las conexiones entre nodos cuando son demasiadas y muy fuertes, a esto se le llama poda de la red, y consiste en remover los enlaces y nodos redundantes, sin incrementar el rango de error de la red, al final, queda un nmero pequeo de unidades y enlaces [HON96].

    Desventajas de las redes neuronales El problema principal es que su funcionamiento es difcil de entender, esto se da debido a factores tales como:

    Las redes neuronales son un modelo que dificulta la comprensin.

    La relacin entre pesos y variables es complicada.

    No permite una comprensin intuitiva de los resultados.

    Adems, presenta otra desventaja importante que es el tiempo de entrenamiento, y esto se debe a que el error decrece como una potencia del tamao del entrenamiento. Por ltimo cabe mencionar que se requiere a menudo un significativo procesamiento previo de los datos para adaptarlos al de entrada que acepta la red.

    5 CONCLUSIONES El artculo present un anlisis somero de la minera de datos y la aplicacin de las redes neuronales como una tcnica especializada en la extraccin del conocimiento. Primeramente es importante acotar que la minera de datos es un proceso que, gracias al apoyo recibido de diferentes tecnologas que han evolucionado actualmente, funciona de manera eficiente y confiable. Esta eficiencia, caracterstica

    de la minera de datos, es variable dependiendo de la tcnica que se utilice en el modelaje del sistema, as se establece que las redes neuronales son las que obtienen mejores resultados, sin embargo, su dificultad de implementacin es mayor. Ahora bien, una red neuronal es un modelo basado en el comportamiento del cerebro, es bsicamente un conjunto de elementos de clculo simples conectados por enlaces que tienen un peso asociado. Y que por medio de la modificacin de estos pesos tiene la capacidad de aprender a partir de ejemplos. Otro punto importante es que los valores que recibe como entrada la red deben oscilar entre 0 y 1, finalmente se debe decir que los modelos basados en redes neuronales son los mejor comportamiento presentan en cuanto a la prediccin, pero es ms difcil saber como se concluyo con los resultados.

    Dada la complejidad inherente de las redes neuronales se deber analizar para cada caso la conveniencia de su implementacin existen mtodos que resultan ms sencillos que pueden ser utilizados dependiendo de la necesidad de poder predictivo en el sistema.

    REFERENCIAS BIBLIOGRFICAS [CHAP02] Chapple Mike, Data Mining: An Introduction, 2002.

    URL: http://databases.about.com/library/weekly/aa100700a.htm

    [FU94] Fu, LiMin, Neural Networks in computer intelligence, Editorial McGraw Hill, Primera Edicin, 1994

    [PMS02] PMSI, Data Mining, 2002. URL: http://www.pmsi.fr/home-sp.htm

    [STAR02] StartSoft Inc., Data Mining Techniques, 2002. URL: http://www3.shore.net/~kht/dmintro/dmintro.htm

    [THEA99] Thearling Kurt, An Introduction to Data Mining, 1999. URL: http://www3.shore.net/~kht/text/dmwhite/dmwhite.htm

    [THEA00] Thearling Kurt, An Introduction to D ata Mining Technology, 2000. URL: http://www3.shore.net/~kht/dmintro/dmintro.htm

    [ZSOL01] Zolutions Software, A Light Introduction to Neural Networks, 2001. URL: http://www.zsolutions.com/light.htm

    Faubricio Guilln, Universidad de Costa Rica, estudiante de Maestra Acadmica, Escuela de Ciencias de la Computacin e Informtica. Bernardo Salguero, Universidad de Costa Rica, estudiante de Maestra Acadmica, Escuela de Ciencias de la Computacin e Informtica.