viernes, 29 de octubre de 2010

Agrupamiento difuso

La lógica difusa ha demostrado ser de gran utilidad para representar el comportamiento o dinámica de los sistemas mediante reglas difusas del tipo “Si-Entonces”. Los primeros sistemas basados en reglas difusas se basaban en la información suministrada por expertos; sin embargo, para el caso de sistemas complejos las reglas así construidas no permitían una simulación aceptable del sistema. La búsqueda de sistemas difusos que aproximen de manera aceptable la dinámica de sistemas complejos ha conllevado al desarrollo de investigación en técnicas de extracción de reglas difusas a partir de datos de entrada y salida; es decir, al desarrollo de técnicas de identificación difusa. Sin embargo, estas técnicas de identificación deben generar modelos difusos que cumplan con dos características fundamentales: una acertada precisión, lo cual se puede determinar mediante una métrica del error; y una buena interpretabilidad para que el sistema difuso resultante se asemeje a la forma como el ser humano toma decisiones. La interpretabilidad requiere de, al menos, un número no muy alto de reglas, preferiblemente no mayor a nueve; no solapamiento de más de dos funciones de pertenencia.

Una de las tareas frecuentes en el área de reconocimiento de patrones, estadística aplicada y minería de datos, consiste en aplicar algoritmos de agrupamiento en el tratamiento de datos, con el fin de obtener características relevantes o reconocer patrones. En general, por patrones se designa alguna representación abstracta de un conjunto de datos. Desde un punto de vista abstracto, el problema del análisis de agrupamiento se define frecuentemente como el de encontrar “grupos naturales”. El agrupamiento es el proceso de asignar un ítem, un individuo, un objeto, o una observación a su lugar propio, es decir, al lugar natural que debe ocupar. En un sentido más concreto, el objetivo es reunir un conjunto de objetos en clases tales que el grado de “asociación natural” para cada individuo es alto con los miembros de su misma clase y bajo con los miembros de las otras clases. Lo esencial del análisis de agrupamiento se enfoca entonces a cómo asignar un significado a los términos “grupos naturales” y “asociación natural”, donde “natural” usualmente se refiere a estructuras homogéneas y “bien separadas”.

Los métodos de agrupamiento poseen en su gran mayoría la limitación de utilizar objetos evaluados en un momento determinado del tiempo. Se supone que no se agregan nuevas variables a las que ya definen o caracterizan un individuo u objeto, dado que el ingreso de éstas puede mejorar el poder de separación entre dos clases. Ahora, en general, ocurre que estos algoritmos no pueden agregar nuevas evaluaciones, actualizaciones o el ingreso de nuevos individuos, para generar nuevamente las clases o “grupos naturales” utilizando las clases ya construidas. Se tiene que para la gran mayoría de los algoritmos de agrupamiento, una vez realizada la tarea de agrupar los individuos u objetos, no son capaces de agregar o actualizar los objetos para generar una nueva estructura de clases a partir de la estructura ya conocida, luego se tiene que los algoritmos de agrupamiento no permiten regenerar el agrupamiento a lo largo de distintos momentos o períodos de tiempo donde se produzcan actualizaciones o se incorporen nuevos objetos.

De lo anterior, se entiende que un algoritmo de agrupamiento tiene carácter estático por el hecho que sólo puede aplicarse sobre objetos evaluados para un momento determinado del tiempo, sin incorporar de alguna forma en su estructura algorítmica las actualizaciones o el ingreso de nuevos objetos. En contraste, un algoritmo de agrupamiento, es dinámico si es capaz de agregar actualizaciones o ingresos de nuevos objetos para redefinir los “grupos naturales” o clases, usando como entrada la información conocida, que incluye como solución básica, reutilizar la estructura conocida de clases. La importancia de desarrollar algoritmos de agrupamiento de carácter dinámico, proviene del hecho que éstos tienen la capacidad para enfrentar situaciones derivadas de actualizaciones o agregación de nuevos objetos, y segundo que pueden reutilizar las estructuras de clases y la información conocida en el pasado.

El agrupamiento difuso, también llamado “Clustering”, es una metodología, que permite la partición del universo de discurso en diferentes grupos; el propósito de este agrupamiento es identificar los “grupos naturales” de datos a lo largo de un historial de datos, donde este grupo de datos debe representar fielmente el comportamiento del sistema. Desde un punto de vista formal, la tarea de un procedimiento de agrupar es asignar los individuos u objetos de un conjunto de elementos a varios subconjuntos, denominados clases o grupos. Cada uno de esos subconjuntos es representado por un prototipo y se calcula para el caso de agrupamiento con lógica difusa el grado de pertenencia del objeto al grupo. La partición del conjunto inicial debe cumplir las siguientes propiedades: (a) Los individuos u objetos similares deben ser incluidos en clases o grupos similares, esta propiedad se denomina homogeneidad. (b) Individuos u objetos diferentes deben ser separados en clases o grupos diferentes, esta propiedad se denomina heterogeneidad. Entre los métodos para agrupar se encuentra los métodos clásicos de la estadística, como el método c-medias o jerarquizados, y otros desarrollados en las áreas de la inteligencia artificial, como las redes neuronales, el aprendizaje de máquina, y los métodos de agrupamiento difuso.

Los algoritmos de agrupamiento difuso representan la técnica más adecuada para la obtención de modelos difusos, siendo los métodos de c-medias difusas y de Gustafson- Kessel los más empleados. Se han realizado diversas variaciones a estos algoritmos de agrupamiento. Los investigadores Nauck y Kruse proponen técnicas de agrupamiento neurodifusas; Espinosa y Vandewalle presentan una metodología para extraer reglas a partir de los datos en un marco de integridad lingüística incluyendo algoritmos de fusión para agrupar conjuntos cuyos valores modales estén a una distancia muy cercana. Sala introduce una novedosa técnica basada en el error de inferencia para aproximar funciones empleando partición suma con conjuntos triangulares; Diez y sus coloegas proponen variaciones a los algoritmos de agrupamiento para mejorar la interpretabilidad y descubrir estructuras afines locales en los modelos difusos obtenidos. Paiva y Dourado presentan un modelo generado por medio del entrenamiento de una red neuronal difusa implementado en dos fases: en la primera fase, se obtiene la estructura del modelo empleando un algoritmo de agrupamiento substractivo, lo cual permite extraer las reglas a partir de datos de entrada y salida; en la segunda fase se realiza la sintonización de los parámetros del modelo mediante una red neuronal que emplea el algoritmo de retropropagación. Guillaume y Charnomordic proponen una estrategia para generar particiones difusas interpretables a partir de los datos mediante una metodología, que denominan partición jerárquica difusa, en la que, en vez de incorporar datos en cada iteración, agrega conjuntos difusos. También presentan un algoritmo de fusión de los conjuntos difusos basado en métricas adecuadas que garanticen la interpretabilidad semántica. Joo y Lee proponen un aproximador universal para cualquier función continua en un conjunto compacto empleando un sistema difuso jerárquico en el que las salidas de las capas previas no se usan en las partes del antecedente de la reglas difusas sino en las partes del consecuente.

Cuando los datos de entrada-salida están disponibles a priori, el agrupamiento difuso es una técnica que puede ser utilizada para la identificación de la estructura. Por una parte se propone un planteamiento intuitivo para la generación de reglas difusas, el cual está basado en el agrupamiento de datos de entrada salida; ésta es una idea simple y aplicable especialmente para sistemas con un gran número de variables de entrada. Por otra parte, se considera que la esencia del método para la identificación de la estructura está en el agrupamiento y la proyección. En ambos planteamientos, el espacio de salida es particionado utilizando un algoritmo de agrupamiento difuso, partición que puede ser siempre considerada como un espacio de una dimensión en el modelo difuso. Luego las particiones o grupos son proyectados dentro del espacio de cada una de las variables de entrada. La partición de salida y su correspondiente partición de entrada son las consecuencias y antecedentes de las reglas difusas respectivamente.

Una de las aplicaciones de agrupamiento es el reconocimiento de patrones, que identifica características concretas o abstractas de un conjunto de individuos u objetos. Para ser clasificados, los individuos u objetos necesitan que existan clases y que estas sean identificadas. Cuando no se conoce a priori las clases, se pueden obtener mediante la ejecución de un algoritmo de agrupamiento. El número de patrones es determinado en referencia a la aplicación particular. Por ejemplo, considérese el problema de reconocer las letras del alfabeto, que define un problema de 26 clases. En otros problemas, por ejemplo el caso de segmentación de clientes de un banco, el número exacto de clases puede no ser conocido inicialmente, y puede ser determinado desde la observación de muchos datos para obtener patrones representativos. Entonces cuando se tiene explicito el número de clases se utiliza algoritmos de agrupamiento, como el algoritmo c-medias por ejemplo. Si se desconoce el número de clases es necesario descubrir dicha cantidad antes de proceder al agrupamiento, esto es conocido como el problema de clases válidas.

Guillermo Choque Aspiazu
http://www.eldiario.net/
Agosto 30 de 2010

jueves, 28 de octubre de 2010

Agentes inteligentes de búsqueda

La gran cantidad de información disponible en línea a través de Internet, puso de manifiesto la necesidad de proveer a los usuarios herramientas que faciliten la navegación y la consiguiente búsqueda en este vasto espacio de información. Las primeras soluciones en este sentido la constituyen los motores de búsqueda que ofrecen, mediante una interface simple basada generalmente en palabras clave, el acceso a un gran número de documentos Web. Sin embargo, esta simplicidad para expresar requerimientos de información usualmente conlleva pobres niveles de precisión en los resultados obtenidos a partir de ellos. Esto implica que el usuario debe dedicar una considerable cantidad de tiempo y esfuerzo en revisar o navegar a través de una lista ordenada de documentos, donde normalmente varios de ellos no son de su interés, antes de encontrar información verdaderamente relevante.

En un principio, diferentes sistemas fueron diseñados para ejecutar consultas en una sola e independiente base de datos. La aparición de Internet ha propiciado el surgimiento de miles de bases de datos almacenadas en diferentes direcciones. Obviamente no tiene ningún sentido recopilar todas las bases de datos existentes en la red y almacenarlas en una única dirección, con los problemas de espacio y costo que esto significaría cada vez que un usuario decidiese realizar una consulta. Pero tampoco tiene mucho sentido que un usuario vaya de Web en Web buscando en cada una de las bases de datos. La distribución de la información conduce a la necesidad de crear un sistema descentralizado de recuperación de información, que puede estar basado en agentes inteligentes, los cuales podrán localizar, recuperar y almacenar las preguntas en un determinado “resultado” para un usuario en concreto.

Un agente es todo aquello que puede considerarse que percibe su ambiente mediante sensores y que responde o actúa en tal ambiente por medio de efectores. Los agentes humanos tienen ojos, oídos y otros órganos que les sirven de sensores, así como manos, piernas, boca y otras partes de su cuerpo que les sirven de efectores. En el caso de los agentes robóticos, los sensores son sustituidos por cámaras y telémetros infrarrojos y los efectores son reemplazados mediante motores. De acuerdo con el punto de vista de la inteligencia artificial un agente posee las siguientes propiedades: autonomía, sociabilidad, capacidad de reacción, iniciativa, benevolencia y racionalidad. En términos de los autores Wooldridge y Jennings: “Un agente inteligente es una entidad software que, basándose en su propio conocimiento, realiza un conjunto de operaciones para satisfacer las necesidades de un usuario o de otro programa, bien por iniciativa propia o porque alguno de éstos se lo requiere”. Todos los agentes inteligentes son programas, pero no todos los programas que realizan búsquedas son agentes inteligentes. Los agentes en sí mismos pueden ser considerados como entidades individuales, partes de programa que tienen control sobre sus propias vidas y movimientos. Continuamente están realizando procesos que les indican qué hacer y cómo. Se comunican con otros agentes para resolver de forma adecuada su trabajo.

Una alternativa al problema de búsqueda de información en la Web la constituyen los agentes inteligentes que asisten interactivamente al usuario proveyéndole de información personalizada mientras navega o realiza sus actividades normales. Recientes desarrollos en este sentido son “Personal Web Watcher” de Mladenic, “Letizia” de Lieberman y “User Profiles” de Syskill & Webert. Para lograr esto un agente debe contar con un perfil de usuario que deberá construir necesariamente a partir del análisis de las interacciones del usuario con el sistema. Un componente de aprendizaje permitirá que este modelo evolucione ante cambios en las preferencias del usuario, utilizando la retroalimentación de relevancia como una fuente importante de información.

Cuando la recuperación en línea de la información daba sus primeros pasos, los usuarios contaban con un intermediario especialista en realizar búsquedas, a menudo familiarizado con el área de conocimiento que el usuario demandaba. Por medio de una entrevista el intermediario determinaba cuáles eran las necesidades de información de cada individuo, llevaba a cabo las consultas pertinentes y enviaba los resultados. Ahora, sin embargo, millones de personas realizan sus propias consultas en línea desde su trabajo u hogar. Pero el hecho de suministrar a los usuarios de la red la capacidad de buscar no es suficiente, puesto que incluso los usuarios expertos necesitan ayuda para realizar búsquedas de forma adecuada. La tecnología influye en la cantidad y tipo de información disponible, pero debe suministrar también los medios necesarios para hacer un uso efectivo de ésta. Los investigadores deben desarrollar sistemas que permitan al usuario final realizar búsquedas de forma efectiva. Éste es el objetivo de los agentes inteligentes para la información, independientemente de que se esté buscando en bases de datos referenciales, a texto completo, en una aplicación Web, etc.

Los agentes inteligentes de búsqueda son agentes de software dedicados a la recuperación de información, están diseñados específicamente para las tareas de localización, acceso y procesamiento de información textual. Constituyen la tipología de agentes más conocida y útil en Internet, al menos en lo que respecta al usuario común. Un agente inteligente de búsqueda posee las siguientes características: (1) Autonomía. Actuar sin ningún tipo de intervención humana directa y tener control sobre sus propios actos. (2) Sociabilidad. Comunicarse por medio de un lenguaje común con otros agentes, incluso con los humanos. (3) Capacidad de reacción. Percibir su entorno y reaccionar para adaptarse a él. (4) Iniciativa. Emprender las acciones para resolver un problema.

Los agentes inteligentes de búsqueda según Hipola y Vargas Quesada se clasifican en los siguientes tipos: (1) Agentes de consulta. Un sistema de agentes orientados a consulta origina uno o más agentes en respuesta a la pregunta formulada por el usuario. Estos agentes trabajan en representación del individuo mientras dura la consulta, recogiendo información de todas las bases de datos disponibles. Un ejemplo de agente de consulta es Mata Hari. (2) Agentes de bases de datos. En el caso anterior las bases de datos funcionan como depósitos pasivos de información. Sin embargo, en este sistema pasan a ser agentes interactivos que interactúan entre sí. Cada base de datos dispone de un agente que sabe como presentar de forma adecuada las subconsultas a su base de datos, conociendo a su vez el tipo de información que se almacena en ella. Un ejemplo de agente de bases de datos es Clientelle, gestor de billetes de avión con cobertura mundial. (3) Agente de consulta a bases de datos. Las bases de datos y las consultas pueden ambas tener sus propios agentes con el fin de proporcionar las repuestas más adecuadas al usuario. Forman una estructura jerárquica en donde los agentes de consulta poseen información de las materias almacenadas en cada base de datos. Un ejemplo de agente de consulta a bases de datos es Seidam, un agente de consulta para sistemas que dan soporte al “Lenguaje Estructurado de Consultas”. (4) Agentes mediadores de consulta de bases de datos. Esta basado en el modelo descrito anteriormente pero, incluye la novedad de contar con un agente mediador entre el agente de consulta y el de la base de datos. Un ejemplo de este tipo de agente es Macron. (5) Agentes de usuario. Los agentes orientados a usuario están asociados a una persona en concreto. A diferencia de los agentes de consulta siempre están activos, buscando información y suministrándosela a su creador. Un ejemplo de agente de usuario es BullsEye. (6) Agentes de recuperación de información en Internet. Son también conocidos en el ámbito anglosajón como “robots de búsqueda”, tienen la capacidad de hacer transparente la complejidad de la información almacenada en la red, filtrando la información disponible sobre la materia requerida.

Por su parte, las funciones técnicas de los agentes inteligentes de búsqueda son las siguientes: (1) Consulta autónoma a fuentes de información. El usuario establece qué fuentes de información van a ser consultadas para solucionar la cuestión planteada. (2) Consulta simultánea. No se lanzan las conexiones secuencialmente sino que lo hacen de forma simultánea e informan del estado de la consulta y de las respuestas definidas consiguiendo optimizar la conexión y el tiempo. (3) Filtrado de respuestas. Se eliminan referencias duplicadas o inexistentes. (4) Criterios de ordenación y ponderación de respuestas. Incorporan algoritmos que analizan el contenido del documento y lo dotan con una escala de valoración de sus contenidos. (5) Obtención del documento original: Permite el almacenamiento y navegación en la computadora del usuario sin necesidad de estar conectada a Internet. (6) Creación de recursos de información locales. Ofrece la posibilidad de crear recursos de información en su propia computadora, adoptando la forma de bases de datos textuales, directorios, etc. (7) Definición de perfiles de usuario. Se crea un archivo permanente donde se pueden almacenar las necesidades de información del usuario. (8) Temporalización de actividades. Ofrece la posibilidad de establecer la ejecución de perfiles de usuarios a intervalos temporales. (9) Tareas de vigilancia y mantenimiento. Supone la revisión de resultados de búsquedas ya realizadas.

Guillermo Choque Aspiazu
http://www.eldiario.net/
Agosto 23 de 2010

martes, 26 de octubre de 2010

Sistemas expertos Bayesianos

Es bastante común que los seres humanos tomen decisiones en condiciones de incertidumbre, es más la incertidumbre hace parte del diario vivir de las personas, un ejemplo tan cotidiano como el de ir tarde al trabajo y preguntarse si tomar bus o taxi, la persona decide con incertidumbre, porque no sabe si el bus se demore o no, o si estará lleno, por otro lado el taxi le costará más, pero debe tomar una decisión que lo lleve a su trabajo. Este tipo de decisiones se presenta a menudo tanto en la vida cotidiana, como en el ámbito científico o en el empresarial; aunque la incertidumbre esté presente en todos esos campos, el ser humano ha desarrollado técnicas y teorías, como la probabilidad y estadística, para enfrentar este tipo de decisiones, pero además de estos métodos, el rápido desarrollo de los sistemas ha permitido fusionar todo el conocimiento, en aplicaciones que permiten dar soluciones que aunque no son perfectas tienen un soporte teórico que le da mayor probabilidad de éxito, que a una decisión tomada al azar.

Un sistema experto puede ser definido como: el sistema informático que imita los procesos que realiza un experto en un área de especialidad, al resolver problemas y “debería ser capaz de procesar y memorizar información, aprender y razonar en situaciones deterministas e inciertas, comunicarse con los hombres y otros sistemas expertos, tomar decisiones apropiadas y explicar porque se han tomado tales decisiones”. Los sistemas expertos pueden ser clasificados, de acuerdo al tipo de problemas con el que tratan, en dos grandes grupos: deterministas y estocásticos. Los sistemas basados en reglas son aquellos que tratan con problemas deterministas y los resuelven utilizando una serie de reglas de producción. Los sistemas probabilísticos son aquellos donde se utiliza la probabilidad como medida intuitiva de la incertidumbre. Un sistema experto tiene básicamente dos partes: (1) La base de conocimiento y (2) La máquina de inferencia La base de conocimiento corresponde a las afirmaciones de validez general tales como reglas, distribuciones de probabilidad, manuales, entre otros. La máquina de inferencia son los algoritmos que manejan la base de conocimiento para obtener conclusiones y propagar el conocimiento.

Los sistemas expertos comunes, basados en reglas no tienen en cuenta la incertidumbre, ya que la forma de tratar los objetos y las reglas, es de tipo determinista, pero como se dijo anteriormente, es frecuente la toma de decisiones en condiciones de incertidumbre, ya sea en áreas de la ingeniería, en los negocios o inclusive en áreas tan sensibles como las sociales. El ejemplo que se presenta a continuación es el de un paciente que asiste al médico, con ciertos síntomas para que este determine con base en estos, que tipo de enfermedad de las posibles padece. Se dice que el sistema no es determinista, ya que la relación entre las enfermedades y los síntomas que tiene un paciente no son deterministas, porque los mismos síntomas pueden estar presentes en distintas enfermedades. Esto crea la necesidad, de herramientas que tengan la capacidad para funcionar, en estos ambientes, una buena opción son los sistemas de tipo probabilístico. Estos como los otros, cuentan con una base de conocimiento, pero esta se forma por el espacio probabilístico, que describe el problema. La máquina de inferencias está basada en probabilidades condicionales y se encarga de actualizar dichas probabilidades con base en los hechos que observa del ambiente en el que se desempeña. De manera principal existen tres tipos de sistemas expertos: (1) Basados en reglas previamente establecidas. (2) Basados en casos. (3) Basados en redes bayesianas. En cada uno de ellos, la solución a un problema planteado se obtiene: (1) Aplicando reglas heurísticas apoyadas generalmente en lógica difusa para su evaluación y aplicación. (2) Aplicando el razonamiento basado en casos, donde la solución a un problema similar planteado con anterioridad se adapta al nuevo problema. (3) Aplicando redes bayesianas, basadas en estadística y el teorema de Bayes.

El teorema de Bayes, dentro de la teoría probabilística, proporciona la distribución de probabilidad condicional de un evento "A" dado otro evento "B", probabilidad aposteriori, en función de la distribución de probabilidad condicional del evento "B" dado "A" y de la distribución de probabilidad marginal del evento "A", probabilidad simple o apriori. El teorema de Bayes es válido en todas las aplicaciones de la teoría de la probabilidad. Sin embargo, hay una controversia sobre el tipo de probabilidades que emplea. En esencia, los seguidores de la estadística tradicional sólo admiten probabilidades basadas en experimentos repetibles y que tengan una confirmación empírica mientras que los llamados estadísticos bayesianos permiten probabilidades subjetivas. El teorema puede servir entonces para indicar cómo se debe modificar las probabilidades subjetivas cuando se recibe información adicional de un experimento. La estadística bayesiana está demostrando su utilidad en ciertas estimaciones basadas en conocimiento subjetivo apriori y el hecho de permitir revisar esas estimaciones en función de la evidencia empírica, es lo que está abriendo nuevas formas de hacer conocimiento. Una aplicación de esto son los clasificadores bayesianos que son frecuentemente usados en implementaciones de filtros de correo basura o spam.

Las redes bayesianas o probabilísticas se fundamentan en la teoría de la probabilidad y combinan la potencia del teorema de Bayes con la expresividad semántica de los grafos dirigidos; las mismas permiten representar un modelo causal por medio de una representación gráfica de las dependencias entre las variables que forman parte del dominio de aplicación. Una red bayesiana es un grafo acíclico dirigido, donde las uniones entre los nodos tienen definidas una dirección, y en la cual los nodos representan variables aleatorias y las flechas representan influencias causales; el que un nodo sea padre de otro implica que es causa directa del mismo. Se puede interpretar a una red bayesiana de dos formas: (1) Distribución de probabilidad. Representa la distribución de la probabilidad conjunta de las variables representadas en la red. (2) Base de reglas. Cada arco representa un conjunto de reglas que asocian a las variables involucradas. Dichas reglas están cuantificadas por las probabilidades respectivas.

Para un sistema experto de diagnóstico, por ejemplo, el modelado de una red bayesiana que la represente, podría ser una red binaria que encapsule la representatividad de la presencia o ausencia de un síntoma o enfermedad. La construcción de una red de éste tipo requiere de un estudio estadístico previo, para determinar las enfermedades y síntomas relacionados, que están presentes en el ambiente a implantarse, esto implica, lograr estimaciones de qué enfermedades están presentes en dicho entorno, y qué síntomas están asociados a cada una de ellas y en qué porcentaje. Obviamente los síntomas con alto grado de sensibilidad y especificidad con respecto a una enfermedad, serán considerados como síntomas verdaderos de dicha enfermedad. La sensibilidad es la probabilidad que indica una correlación entre la aparición de la enfermedad y la aparición del síntoma. Mientras que la especificidad es la probabilidad de no tener el síntoma, cuando no está la enfermedad presente. Los síntomas con baja especificidad y sensibilidad, cuando no son visibles, permiten establecer mucha más duda de que la enfermedad pueda aparecer, aún teniendo síntomas con altas sensibilidades visibles, por ello es recomendable usar siempre síntomas que traten de caracterizar en lo mejor posible a una enfermedad, teniendo altas sensibilidades y especificidades para tener mucha más precisión a la hora de responder una consulta.

Una red causal tiene como ventajas que al razonar sobre un hecho real, el sistema posee un conocimiento profundo de los procesos que intervienen, en vez de limitarse a una mera asociación de datos e hipótesis. Los programas resultantes son capaces de explicar la cadena causal de anomalías que va desde la enfermedad diagnosticada hasta los efectos observados. Se pueden realizar tres tipos de razonamiento: (1) Razonamiento abductivo, que consiste en buscar cuál es la causa que mejor explica los efectos observados. Se diría que se trata de un razonamiento “hacia arriba”. (2) Razonamiento deductivo, que es el recíproco del anterior, pues va desde las causas hasta los efectos, es decir “hacia abajo”. (3) Razonamiento intercausal, que es un razonamiento “en horizontal”. A partir de la seguridad de una causa se debilitan las otras posibilidades, se reduce la sospecha de otras. En la práctica los tres razonamientos se realizan simultáneamente, la distinción entre ellos permite que los modelos causales tengan presente la correlación que existe entre los hallazgos. Su inconveniente mayor es la limitación en su rango de aplicaciones.

Además de las ventajas comunes a otros métodos de razonamiento causal, las redes bayesianas poseen una sólida teoría de probabilidades que les permite dar una interpretación objetiva de los factores numéricos que intervienen y dicta de forma unívoca la manera de realizar la inferencia. Sus inconvenientes son la limitación en cuanto al rango de aplicaciones. Necesitan un gran número de probabilidades numéricas, y normalmente no se dispone de toda esta información por lo que es necesario recurrir a estimaciones de expertos humanos. La presencia de bucles complica extraordinariamente los cálculos ya que los métodos de simulación estocástica resultan más eficientes que los métodos exactos, aunque resulta costoso, en términos de tiempo de computación, lograr el grado de aproximación deseado. Por consiguiente, se hace necesario evitar una explosión combinatoria.

Guillermo Choque Aspiazu
http://www.eldiario.net/
Agosto 16 de 2010

viernes, 22 de octubre de 2010

Supercomputadora Watson

La empresa IBM es una de las más tradicionales y de gran alcance en el mundo tecnológico. El desarrollo de computadoras con el procesamiento de datos de alto rendimiento y las inversiones en inteligencia artificial, la tecnología que permite la creación de robos y androides en las películas, son algunos de los rasgos más característicos de la organización. Para estimular sus colaboradores y demostrar la calidad de sus productos, la multinacional afrenta a la inteligencia humana a través de desafíos nada comunes. Se trata de poner en práctica la vieja y muy discutida batalla entre el hombre y la maquina. Lo que está en boga es averiguar quién es capaz de “pensar” de manera más eficiente.

En 1997 la supercomputadora Deep Blue de IBM le ganó al maestro mundial de ajedrez Gary Kasparov, y esa fue quizás la primera vez que el mundo en la cultura popular despertó al hecho de que “esas máquinas tontas y de poder bruto pero sin inteligencia” quizás no eran tan “brutas” después de todo. El mismo Kasparov dijo en una de sus entrevistas al ser vencido, que de la manera que Deep Blue jugaba a él le daba la impresión de un profundo espíritu casi humano dentro de la máquina. Pasada más de una década, IBM está a punto de hacer historia otra vez, con una nueva super-computadora de última generación a la que llama Watson.

Los ingenieros de IBM durante los últimos años han estado desarrollando la supercomputadora Watson, el nombre fue asignado como un homenaje al fundador de la compañía Thomas J. Watson. La meta del grupo es hacer que esta computadora muy potente gane el concurso televisivo más famoso de los Estados Unidos, el Jeopardy. En este programa distribuido por la “Distribuidora de Televisión CBS”, tres participantes se organizan en frente de un panel con treinta pantallas, en las cuales son mostradas frases relacionadas a los más diversos temas, como política, ciencia, historia y cultura popular. Para ganar puntos, cada competidor debe formular una pregunta que tendría la sentencia escogida como respuesta.

Watson está siendo desarrollada con novedosas técnicas de hardware y software para nada más y nada menos competir contra Ken Jennings en el popular juego de televisión estadounidense denominado “Jeopardy!”, con un antecedente producido el año 2004 donde ganó setenta y cuatro veces consecutivas en ese programa, ganando dos y medio millones de dólares acumulados. Watson también ha sido capaz de ganarle a dos expertos jugadores de Jeopardy!: Dorothy Gilmartin y Alison Kolani, en cuatro partidos de seis jugados, esto en preparación para un futuro partido contra Ken Jennings, aunque se debe reconocer que por el momento, esta es una excepción a la regla, ya que muchos buenos jugadores de Jeopardy aun pueden ganar a Watson. Lo extraordinario de este logro es que Watson juega el juego tal cual juegan otros jugadores: Se crea un set al igual que la TV, se trae un anfitrión, todos los jugadores toman su posición, aunque Watson en realidad está en una habitación llena de máquinas en el piso de arriba, por lo que su “presencia” en realidad es virtual, y a Watson se le dan las preguntas a la misma vez que a los otros participantes, y tiene la misma cantidad de segundos para contestar que los otros participantes.

Lo más asombroso es que Jeopardy no es un simple juego de preguntas y respuestas repetitivas, sino uno que requiere de un muy profundo conocimiento tanto de historia y cultura popular actual, como de las más mínimas idiosincrasias del idioma inglés, incluyendo frases de doble significado, el uso de sarcasmo, etc. El verdadero desafío de Watson radica en interpretar los enigmas, las ironías, las sutilezas y subjetividades que puedan existir en el contenido presentado durante la disputa. Sin pensar en las posibilidades de los temas abordados, el corto tiempo de procesamiento de datos y la comprensión y adaptación de las preguntas en un lenguaje humano, mucho más compleja que los símbolos asociados al lenguaje computacional.

En otras palabras, Watson no es un simple “sistema experto”, sino uno que debe literalmente aprender millones de datos constantemente, hacer relaciones entre ellos, poder estudiar lo que sea que se le pregunte, e inferir, muchos dirían reflexionar, una respuesta. En su modo actual, a Watson se le puede hacer prácticamente cualquier pregunta que uno pueda imaginar de los miles de temas que se tratan en Jeopardy, y muchos otros más fuera de este, y está ya a un nivel que puede ofrecer respuestas más confiables que muchos humanos promedio. Watson es similar a Google en que es posible preguntarle lo que sea, pero con la diferencia de que entiende lo que se le pregunta, y además, no ofrece un lista de miles de enlaces en donde quizá se encuentre la respuesta buscada, sino que ofrece una única respuesta final, tal cual se la daría cualquier ser humano, en el caso de Watson directamente con una voz sintética.

Uno de los grandes avances que han permitido este tipo de máquinas, es el uso de análisis estadístico en la comprensión del lenguaje, así como en la extracción de información, algo que por décadas había sido poco práctico hacerlo a la escala que se hace actualmente, dado los fuertes requerimientos computacionales para procesar el lenguaje natural humano. Con análisis estadístico, es posible pensar de modo diferente a una computadora clásica, en donde debido a la base booleana, todo es un sí o un no, sino pensar como una mente más flexible, en donde es posible aceptar valores intermedios, así como los valores que más se aproximen a una respuesta final, aunque no sea precisamente la respuesta definitiva. Esto permite por ejemplo que estas máquinas hagan el equivalente de “adivinar” o “razonar para proporcionar la respuesta más adecuada posible según los datos conocidos” para así ofrecer posibles respuestas a las preguntas realizadas. Otro de los trucos detrás de Watson es el hecho de que aparte de conocer miles de textos de referencia, Watson no aplica una sola manera de “entender” este conocimiento, sino que utiliza centenares de distintos algoritmos, todos en paralelo, para entre todos descubrir cuáles son las respuestas estadísticamente más posibles para alguna pregunta determinada.

Las características sobresalientes de la supercomputadora Watson son: (1) Está constituida por una serie de racks de servidores. (2) Aprende millones de datos constantemente, hace relaciones entre ellos y computa una respuesta. (3) Utiliza centenares de algoritmos que procesa en paralelo para determinar cuáles son, estadísticamente hablando, las respuestas posibles para una determinada pregunta. (4) Emite las respuestas en tiempo real como si se tratara de un ser humano. (5) Es capaz de entender preguntas y responder con precisión a la velocidad de un concursante de Jeopardy. (6) Utiliza métodos de procesamiento paralelo, análisis estadístico aplicado a la comprensión del lenguaje natural, inteligencia artificial y técnicas avanzadas de extracción de información. (7) Reconoce voz humana y expresa sus respuestas con voz sintética. (8) El cerebro de Watson ha sido alimentado con miles de documentos de referencia: diccionarios, guías, tesis, manuales, tesauros, etc. (9) No está conectada a Internet ni requiere asistencia externa.

Es sin lugar a dudas un impresionante avance en inteligencia artificial y no se pierde nada soñando con la posibilidad de que en poco tiempo tecnologías similares puedan ser incorporadas a los navegadores de Internet, situación en la que no se estaría muy lejos de Multivac, quizá tampoco tan cerca. Si bien se suele utilizar el excelente rendimiento de distintos motores de ajedrez como muestra de superioridad de las computadoras sobre los seres humanos, se deja de lado un hecho igual de importante, a ser los pobres resultados que han obtenidos en el Go, ese juego ancestral inmortalizado por el ganador del Premio Nóbel Yasunari Kawabata y popularizado recientemente por el anime Hikaru no Go. En el Go, al igual que en las artes marciales, los niveles de juego son medidos por Dan. Son en total nueve niveles de Dan para profesionales, siete Dan para amateur y treinta kyu para los principiantes. Hace más de diez años, los mejores programas perdían hasta con niños y hoy en día han mejorado notablemente, es cierto, pero a lo sumo llegan a lograr un rendimiento de tercer Dan.

Volviendo a Jeopardy, los expertos no pensaban que fuese posible que una computadora lograse relacionar siquiera las preguntas del programa con una respuesta, al estar pronunciadas estas de manera tan vaga y alusiva, siendo además el campo abarcado amplio en extremo. Una computadora que comprende el lenguaje humano y responde en consecuencia, quizá en el camino hacia una conversación efectiva. Curiosamente, al hablar de Watson tras el fin de la competencia todos los participantes humanos se refirieron a la computadora como a “él”, como si fuese uno más de ellos. Los resultados obtenidos por la supercomputadora Watson permitirán: (1) Desarrollar aplicaciones que mejorarán la comunicación entre los seres humanos y entre éstos y las máquinas. (2) Mejorar los navegadores. (3) Mejorar las traducciones entre lenguas. (4) Contribuir con los avances de la Web Semántica.

Guillermo Choque Aspiazu
http://www.eldiario.net/
Agosto 9 de 2010

viernes, 15 de octubre de 2010

Dueños de Internet

La idea de una red de computadoras diseñada para permitir la comunicación general entre usuarios de varias computadoras se ha desarrollado en un gran número de pasos. La unión de todos estos desarrollos culminó con la red de redes que se conoce como Internet. Esto incluía tanto desarrollos tecnológicos como la fusión de la infraestructura de la red ya existente y los sistemas de telecomunicaciones. Las más antiguas versiones de estas ideas aparecieron a finales de los años 1950. Implementaciones prácticas de estos conceptos empezaron a finales de los años 1960 y a lo largo de los años 1970. En la década de los años 1980, tecnologías que se reconocen como las bases de la moderna Internet, empezaron a expandirse por todo el mundo. En los años 1990 se introdujo la World Wide Web, que se hizo ampliamente aceptable y de uso común. Un método de conectar computadoras, prevalente sobre los demás, se basaba en el método de la computadora central o unidad principal, que simplemente consistía en permitir a sus terminales conectarse a través de largas líneas alquiladas. Un pionero fundamental en lo que se refiere a una red mundial, J.C.R. Licklider, comprendió la necesidad de una red mundial, según consta en su documento de enero de 1960 denominado “Simbiosis Hombre-Computadora”.

Internet puede ser definida como "Una red de redes de computadoras" que se encuentran interconectadas a lo largo del mundo, nadie es dueño de Internet simplemente cada usuario paga su conexión hasta llegar a la red. Para proporcionar una idea de cómo Internet se incorpora a la sociedad se debe recordar que la radio demoró veinte y ocho años en llegar a cuarenta millones de personas y la televisión solo tardo diez años en llegar a la misma cantidad de gente. Internet apenas tardo tres años en llegar al mismo número de personas y pronto será un elemento de comunicación más en la vida cotidiana. Se calcula que en el año 2000 los usuarios de Internet eran aproximadamente 300 millones.

Internet nació en los Estados Unidos como un proyecto de la Agencia de Investigación de Proyectos Avanzados de Defensa”. La misma buscaba intercambiar información entre los investigadores, científicos y militares, ubicados en distintos sitios distantes. La red debía soportar un ataque nuclear sin perder la conexión con el resto de los sitios, constaba de cuatro computadoras interconectadas y se llamaba DARPANET. En el año 1972 ya había conectadas 37 computadoras y pasó a denominarse ARPANET, la aplicación más utilizada en ésta era Telnet para luego pasar a ser el email o correo electrónico. Hacia el año 1984 la “Fundación Nacional de la Ciencia” estableció la NSFNET paralela a la ARPANET para la investigación académica que ya estaba saturada, también la NSFNET se saturó hacia mediados del año 1987 y no precisamente por la actividad académica. En éste último año se redimensionó totalmente la NSFNET, con un acceso más rápido, con módems y computadoras más veloces, a ellas podían ingresar todos los países aliados de los Estados Unidos.

En los años 1990 se empieza a conocer como en la actualidad, la denominada red de redes o Internet y se abrió para todo aquel que pudiera conectarse. El protocolo utilizado en esta gran red es el “Protocolo de Control de Transferencia” encargado de contabilizar la transmisión de datos entre computadoras y registrar si hay o no errores, mientas que el “Protocolo de Internet” es el que realiza realmente la transferencia de los datos.

Internet es una red centralizada que se asemeja a un sistema circulatorio con sus capilares, venas, arterias y músculo cardíaco. Los proveedores más pequeños son los capilares, en tanto que las venas y arterias son las grandes compañías proveedoras de acceso internacional conectadas a los grandes nodos y, el corazón está en la Corporación Internet Los dueños de la red son los que determinan su funcionamiento y por esa razón, tienen la facultad de controlar los contenidos y hacer uso de ellos para sus fines comerciales y políticos. Internet se ha convertido en un instrumento fundamental para el desarrollo social y humano de los países, sin embargo, al estar en manos de los Estados Unidos y del gran capital de las telecomunicaciones, está en función de sus intereses.

Internet es un conjunto de redes, redes de computadoras y equipos físicamente unidos mediante cables que conectan puntos de todo el mundo. Estos cables se presentan en muchas formas: desde cables de red local, varias máquinas conectadas en una oficina o campus, a cables telefónicos convencionales, digitales y canales de fibra óptica que forman las "carreteras" principales. Esta gigantesca red se difumina en ocasiones porque los datos pueden transmitirse vía satélite, o a través de servicios como la telefonía celular, o porque a veces no se sabe muy bien a dónde está conectada.

En la actualidad gracias al uso del Internet, el mundo ha marcado un cambio importante para las organizaciones, la importancia de contar con una información veraz y oportuna ha ocasionado que las empresas busquen productos más eficientes e innovadores, los cuales hacen posible que las actividades diarias de una organización se realicen de una manera rápida, sencilla y eficiente. Esto mismo ha traído como consecuencia el que la sociedad y el individuo mismo, rompan con viejos paradigmas de comunicación, para adaptarse a la nueva cultura informática que la sociedad y las organizaciones demandan, adaptándose a esta nueva era digital.

Si alguna persona se pregunta ¿de quién es Internet? la respuesta más probable es que se le diga: Internet es de todos, o, quizá, Internet es de nadie. Ambas respuestas están equivocadas. Internet es de Estados Unidos, aunque se la presta al resto del mundo, y eso es precisamente lo que muchos países quisieran cambiar. Es un mito pensar que Internet no tiene dueño. El Gobierno de Estados Unidos controla Internet a través de una organización privada, no lucrativa, llamada “Corporación Internet para la Asignación de Nombres y Números” establecida el año 1998. De hecho, es el Departamento de Comercio estadounidense quien supervisa la labor de los quince miembros del Concejo Directivo de dicha Corporación y son esas pocas personas metidos en una sala de conferencias de la Ciudad de Los Ángeles, quienes administran un sistema de trece servidores gigantes en todo el mundo que permite el envío de miles de millones de correos diarios.

Parece magia cuando se envía un "correo electrónico" y unos segundos después lo pueden leer a miles de kilómetros de distancia. Pero es pura tecnología. Es la Corporación Internet en Estados Unidos, la encargada de asignar la identificación de correo electrónico, permitiendo que haya millones de sitios para visitar en la Internet. Todo parece muy libre. No hay censura abierta en las comunicaciones, es prácticamente gratis y se puede usar Internet casi para cualquier cosa; desde descargar libros y artículos para una investigación hasta escuchar música, archivar fotos y ver televisión, además del ejercicio permanente de comunicación a través del correo electrónico.

Internet es un sistema que conecta cadenas de computadoras y que fue creada por un grupo de ingenieros estadounidenses a mediados de los años 1960 para el Departamento de Defensa. Es, en otras palabras, un invento estadounidense para la guerra y Estados Unidos no está dispuesto a dejarlo en paz. En un momento dado los estadounidenses consideraron entregar el control de Internet a un Organismo Internacional en el año 2006. Sin embargo, cambiaron de opinión para no perder el control de Internet.

Internet es un instrumento fundamental para el funcionamiento de la economía y de la sociedad estadounidense y el gobierno del presidente Obama no quiere correr el riesgo de dejarla en manos antiestadounidenses o poco amistosas, ni siquiera en manos de las Naciones Unidas. La idea de una Internet controlada internacionalmente y no por Estados Unidos suena, a primera vista, como justa y lógica. Pero al más superficial análisis se encuentran varios problemas. Si la Internet, por ejemplo, fuera controlada por un organismo internacional, dictaduras o gobiernos autoritarios podrían censurar la información que cuestionara sus regímenes. O, peor aún, pudieran pedir los nombres, direcciones y teléfonos de aquellos quienes los critican por Internet y, luego, buscarlos y encarcelarlos bajo cualquier pretexto. Incluso ahora, con la Internet fuera de sus manos, los gobiernos dictatoriales limitan enormemente su funcionamiento y contenido dentro de sus países. Imagine entonces, cómo sería si esos gobiernos y otros similares determinaran lo que es posible ver por Internet. A partir de ese momento se dejaría de tener acceso a toneladas de información que hoy están disponibles. Internet está plagado de debates sobre este tema, particularmente en el idioma inglés.

Guillermo Choque Aspiazu
http://www.eldiario.net/
Agosto 2 de 2010

viernes, 8 de octubre de 2010

Cibernética

La fascinación por los autómatas es muy remota entre los hombres. Desde los tiempos de la antigua Grecia hasta principios del siglo veintiuno, las más diversas culturas y civilizaciones han deseado, con una extraña mezcla de simple curiosidad ante lo desconocido y la obsesiva atracción por emular la capacidad creadora de la divinidad, fabricar muñecos articulados que no solo imitasen la apariencia física y el comportamiento de los seres humanos, sino que estuviesen dotaos de vida propia. Las más avanzadas computadoras electrónicas y los más sofisticados robots constituyen uno de los últimos episodios de la imparable carrera en la que los hombres se han trazado como meta simplificar hasta el máximo el esfuerzo que realizan para conocer, controlar e intentar dominar la naturaleza. Los mecanismos de regulación y control necesarios para que tales artefactos resulten operativos y eficaces, con un alto grado de rendimiento, se basan en la moderna teoría de los mensajes, que es precisamente el principal fundamento de la cibernética.

La cibernética es el estudio interdisciplinario de la estructura de los sistemas reguladores. La cibernética está estrechamente vinculada a la teoría de control y a la teoría de sistemas. Tanto en sus orígenes como en su evolución, en la segunda mitad del siglo veinte, la cibernética es igualmente aplicable a los sistemas físicos y sociales. Los sistemas complejos afectan y luego se adaptan a su ambiente externo; en términos técnicos, se encuentra centrada en funciones de control y comunicación: ambos fenómenos externos e internos del sistema. Esta capacidad es natural en los organismos vivos y se ha imitado en máquinas y organizaciones. Especial atención se presta a la retroalimentación y sus conceptos derivados.

La palabra cibernética es de origen griego y significaba originalmente timonel. Pero se trataba de una clase muy peculiar de timonel, era un experto que debía controlar y coordinar remos, timón y vela para conducir una nave. Norbert Wiener rescató esta palabra para denotar lo que él definió como "la ciencia del control y la comunicación en la máquina y el animal". El desarrollo y la aplicación de la cibernética durante los años 1950 y 1960 permitieron el advenimiento de las máquinas lavadoras de automóviles, las puertas automáticas, la computación, Internet, la robótica y casi todos los inventos de las últimas cinco décadas. Es por ello que a la revolución cibernética se le compara frecuentemente con la revolución industrial, pero su aporte no se limita al mundo de la tecnología; por el contrario, su aporte más radical y profundo es el que permite compararla con otro período de revolución intelectual: el renacimiento. La cibernética, en su concepción moderna, se define como la ciencia de los mecanismos de control y comunicaciones entre los seres vivos o las máquinas. En general, la cibernética se considera como algo de reciente creación; sin embargo, la realidad es muy distinta, ya que si se considera la definición anterior como válida, es posible observar que su historia se extiende a lo largo de varios siglos; llevando la misma inclusive hasta las civilizaciones Griega, China y Egipcia.

Para realizar un breve recorrido histórico, es importante tratar de desenmascarar la razón que llevó al hombre a desarrollar esta ciencia. Una posible explicación puede encontrarse en la necesidad del hombre por determinar y comprender las reglas que gobiernan a la naturaleza, y en particular a los seres vivos, para posteriormente dominarlas y así emplearlas en su servicio. Estos intentos por ‘simular’ la vida, fueron aprovechados en un principio ya fuera para crear juguetes para los personajes predominantes de las sociedades, o bien, para explotar la ignorancia del pueblo, y así legitimar la existencia de algunos de sus dioses y la divinidad de los propios reyes y emperadores debido a su proximidad con éstos. La cibernética como ciencia material nació con los trabajos de Wiener, en vísperas de la Segunda Guerra Mundial sus investigaciones acerca de robots automáticos que pudieran favorecer y ofrecer ventaja, sentaron las bases de una nueva ciencia. Luego de terminar la Segunda Guerra Mundial se comenzó a trabajar en la teoría de los mensajes. Además de la parte electrotécnica de su transmisión, existe un campo muy amplio que incluye, no solo el estudio del lenguaje, sino además el estudio de los mensajes como medio de manejar aparatos o grupos humanos, el desarrollo de las maquinas de calcular y otros autómatas similares, algunas reflexiones sobre la psicología y el sistema nervioso y una tentativa de enunciar una nueva hipótesis del método científico. Esta teoría más amplia de los mensajes es probabilística y parte intrínseca de aquella corriente que debe su origen a Willard Gibbs.

Como se menciono en párrafos anteriores, la cibernética es una disciplina íntimamente vinculada con la teoría general de sistemas, al grado en que muchos la consideran inseparable de esta, y se ocupa del estudio de: el mando, el control, las regulaciones y el gobierno de los sistemas. El propósito de la cibernética es desarrollar un lenguaje y técnicas que permitan atacar los problemas de control y comunicación en general. Lo que estabiliza y coordina el funcionamiento de los sistemas complejos como los seres vivos o las sociedades y les permite hacer frente a las variaciones del ambiente y presentar un comportamiento más o menos complejo es el control, que le permite al sistema seleccionar las entradas para obtener ciertas salidas predefinidas. La regulación está constituida por los mecanismos que permiten al sistema mantener su equilibrio dinámico y alcanzar o mantener un estado.

Un concepto muy importante o casi fundamental en cibernética es el de la retroalimentación. La retroalimentación parte del principio de que todos los elementos de una totalidad de un sistema deben comunicarse entre sí para desarrollar interrelaciones coherentes. Sin comunicación no hay orden y sin orden no hay totalidad, lo que rige tanto para los sistemas físicos como para los biológicos y los sociológicos. La retroalimentación puede ser positiva, negativa o compensada. La retroalimentación es negativa cuando su función consiste en contener o regular el cambio, es positiva si amplifica o multiplica el cambio en una dirección determinada y se dice que es compensada cuando un regulador ejerce alternadamente retroalimentaciones positivas y negativas, según las necesidades del mantenimiento de la estabilidad del sistema regulado.

Wiener definió la cibernética como la ciencia del control en la máquina y el animal, con el propósito implícito de proponer una ciencia lógico-matemático-sistémico-interdisciplinaria de la mente. Junto con Wiener, se considera que los otros padres de esta disciplina fueron John von Neumann, Warren McCulloch y Claude Shannon. La orientación que cada uno le otorgaría a la cibernética se corresponde estrechamente con las áreas en las que ésta se ha empleado. A John von Neumann, por ejemplo, se le considera como el padre de la computadora digital. Los trabajos de Shannon, por su parte, sentaron las bases teóricas para el desarrollo de las telecomunicaciones digitales, incluida Internet. Finalmente, Warren McCulloch fue el precursor de la orientación que en la actualidad presenta la cibernética, bajo la denominación más reciente de "ciencia cognitiva". Él se interesó en el estudio de los sistemas nerviosos y la cognición, y fue el primer científico que propuso denominar a este ámbito de estudio “epistemología experimental”. El hecho de que la cibernética fuera establecida por Wiener como la ciencia del control en la máquina y el animal, significó grandes avances en el campo de las máquinas, ampliando sus potencialidades a los niveles que hoy se conocen y se utilizan de manera cotidiana.

Con la cibernética el concepto de máquina ha ido cambiando a lo largo de los años. Luego de aquellas primeras máquinas mecánicas donde se pretendía reemplazar completa o parcialmente el trabajo físico del hombre y de los animales, han seguido otras, cuyo fin, es la mecanización del trabajo intelectual. Hoy las máquinas realizan funciones que antes se consideraban propias del intelecto humano. Pero quizás el aporte más importante de la cibernética fue fundamentarse sobre las analogías, de ahí su característica de ciencia exógena, la cual esta dada por la interrelación con otras ramas del conocimiento y su asimilación interna, pero sobre todo por la propuesta de teorías generales que expliquen fenómenos propios de las otras ciencias.

Las perspectivas abiertas por la cibernética y la síntesis realizada en la comparación de algunos resultados por la biología y la electrónica, han dado vida a una nueva disciplina, la biónica. La biónica es la ciencia que estudia los: principios de la organización de los seres vivos para su aplicación a las necesidades técnicas. Una realización especialmente interesante de la biónica es la construcción de modelos de materia viva, particularmente de las moléculas proteicas y de los ácidos nucléicos. La robótica es la técnica que aplica la informática al diseño y empleo de aparatos que, en substitución de personas, realizan operaciones o trabajos, por lo general en instalaciones industriales. Se emplea en tareas peligrosas o para tareas que requieren una manipulación rápida y exacta. En los últimos años, con los avances de la inteligencia artificial, se han desarrollado sistemas que desarrollan tareas que requieren decisiones y auto programación y se han incorporado sensores de visión y tacto artificial.

Guillermo Choque Aspiazu
http://www.eldiario.net/
Julio 26 de 2010

viernes, 1 de octubre de 2010

Proceso de la minería de datos

La minería de datos es una de las temáticas más importantes en la investigación contemporánea. Sin embargo, años atrás, pocas personas habían escuchado este término. La minería de datos es el resultado de una evolución con una larga historia, el término mismo se ha insertado desde los años 1990 en el contexto de las tecnologías de información, algoritmia y desarrollo de software. Las líneas de desarrollo en el ámbito de minería de datos tienen su origen en tres conceptos importantes. El mayor de ellos es la estadística. “Sin estadísticas, no existiría la minería de datos, pues son los fundamentos de la mayoría de las tecnologías que utilizan este concepto”. La estadística clásica engloba conceptos como análisis de regresión, desviación estándar, varianza, análisis de grupos, intervalos de confianza, entre otros. Ciertamente, en las herramientas y técnicas utilizadas en minería de datos, el análisis de estadística clásica juega un rol sumamente importante.

La segunda línea de desarrollo de la minería de datos es la inteligencia artificial. Esta disciplina se encuentra basada en heurísticas, de forma opuesta a la estadística, pero debido a que su implementación necesitaba de computadoras con un poder de procesamiento alto, no fue práctica hasta los años 1980, cuando las máquinas comenzaron a venderse más baratas con un procesamiento cada vez mayor. La última familia que juega un papel en la historia de la minería de datos es el aprendizaje automático, que puede ser descrito como la unión de estadísticas e inteligencia artificial. Mientras la inteligencia artificial no era exitosamente comercial, sus técnicas fueron en gran importancia utilizadas para el aprendizaje automático. Su aplicación comenzó a jugar un papel importante en los años 1980 y 1990, tomando una ventaja significativa por su bajo costo en comparación con la inteligencia artificial. El aprendizaje automático puede considerarse parte de la evolución de la inteligencia artificial, porque reúne heurísticas con análisis estadístico avanzado. Con lo anterior se puede definir a la minería de datos como la unión de desarrollos históricos y recientes en estadística, inteligencia artificial y aprendizaje automático, pero se concluyes esta breve introducción con una definición más específica: “la minería de datos es un campo interdisciplinario que reúne las técnicas de aprendizaje automático, reconocimiento de patrones, estadística, bases de datos y visualización, para dirigirla a la extracción e interpretación de grandes bases de datos”.

La minería de datos es un mecanismo de explotación, consistente en la búsqueda de información valiosa en grandes volúmenes de datos. Está muy ligada a los almacenes de datos que proporcionan la información histórica con la cual los algoritmos de minería de datos tienen la información necesaria para la toma de decisiones. La minería de datos puede ser dividida en dos tipos de minería: (1) La minería de datos predictiva, que utiliza primordialmente técnicas estadísticas. (2) La minería de datos para descubrimiento de conocimiento, que usa principalmente técnicas de inteligencia artificial.

Las etapas primordiales de la minería de datos son las siguientes: (1) Colección de datos. Consiste en la recolección de los datos que intervienen en el estudio, ya sean tomados de las bases de datos operacionales o de archivos planos o con algún otro formato. Esta fase está directamente relacionada con el quehacer de la empresa, en el sentido en que se vale de los archivos operacionales con los cuales la institución soporta sus procesos. (2) Preparación de datos. Esta etapa tiene como finalidad el entendimiento del comportamiento de los datos, tarea que generalmente está acompañada por el uso de conceptos estadísticos que permiten describir las variables origen del estudio. Además comprende la aplicación de algunas tareas de preprocesamiento para reducir o eliminar la posible basura o inconsistencias en los datos y dejar limpios y listos los datos para posteriormente hacer la minería. Esta etapa comprende la limpieza, selección y transformación de los datos. (3) Extracción de Patrones.
Esta tercera etapa, consiste en la extracción del conocimiento por medio de la aplicación de las técnicas de minería de datos. La definición de los parámetros, y la ejecución iterada de los algoritmos permiten establecer el modelo final que intenta resolver el problema inicial. Dentro de los tipos de actividades de minería de datos se encuentran el análisis exploratorio o visualización, el modelado descriptivo o la segmentación y análisis de grupos, el modelado predictivo a través de la clasificación y regresión, el descubrimiento de reglas y patrones además de la recuperación basada en contenido. (4) Validación. Validar un modelo es la etapa más crítica en el proceso; puesto que permiten verificar la funcionalidad del modelo y establecer si las etapas anteriores fueron realizadas correctamente. Si un modelo no realiza un proceso de validación adecuado, puede deberse a problemas en los datos, transformaciones no apropiadas o técnicas de minería no adecuadas. La aplicación del modelo a otro conjunto de datos, el re-muestreo, son algunas de las técnicas más apropiadas en este sentido. A su vez el uso de algunas estrategias para mejorar la precisión, como en el caso de validación de modelos de clasificación y predicción, conforman esta etapa.

La minería de datos consiste en la extracción no trivial de información que reside de manera implícita en los datos. Dicha información era previamente desconocida y podrá resultar útil para algún proceso. En otras palabras, la minería de datos prepara, sondea y explora los datos para sacar la información oculta en ellos. Bajo el nombre de minería de datos se engloba todo un conjunto de técnicas encaminadas a la extracción de conocimiento procesable, implícito en las bases de datos. Está fuertemente ligado con la supervisión de procesos industriales ya que resulta muy útil para aprovechar los datos almacenados en las bases de datos. Las bases de la minería de datos se encuentran en la inteligencia artificial y en el análisis estadístico. Mediante los modelos extraídos utilizando técnicas de minería de datos se aborda la solución a problemas de predicción, clasificación y segmentación.

El proceso de minería de datos se compone de las siguientes fases: (1) Selección y preprocesado de datos. El formato de los datos contenidos en la fuente de datos, ya sea una base de datos o un almacén de datos, nunca es el idóneo y la mayoría de las veces no es posible ni siquiera utilizar algún algoritmo de minería sobre los datos “en bruto”. Mediante el preprocesado se filtran los datos, de forma que se eliminan valores incorrectos, no válidos, desconocidos y otros, según las necesidades y el algoritmo a ser utilizado, se obtienen muestras de los mismos o se reduce el número de valores posibles. (2) Selección de variables. Aún después de haber sido preprocesados, en la mayoría de los casos se tiene una cantidad ingente de datos. La selección de características reduce el tamaño de los datos eligiendo las variables más influyentes en el problema, sin apenas sacrificar la calidad del modelo de conocimiento obtenido del proceso de minería. Los métodos para la selección de características son básicamente dos, el primero compuesto por aquellos basados en la elección de los mejores atributos del problema y el segundo por aquellos que buscan variables independientes mediante pruebas de sensibilidad, algoritmos de distancia o heurísticos. (3) Extracción de conocimiento. Mediante una técnica de minería de datos, se obtiene un modelo de conocimiento, que representa patrones de comportamiento observados en los valores de las variables del problema o relaciones de asociación entre dichas variables. También pueden usarse varias técnicas a la vez para generar distintos modelos, aunque generalmente cada técnica obliga a un preprocesado diferente de los datos. (4) Interpretación y evaluación. Una vez obtenido el modelo, se debe proceder a su validación comprobando que las conclusiones que arroja son válidas y suficientemente satisfactorias. En el caso de haber obtenido varios modelos mediante el uso de distintas técnicas, se deben comparar los modelos en busca de aquel que se ajuste mejor al problema. Si ninguno de los modelos alcanza los resultados esperados, debe alterarse alguno de los pasos anteriores para generar nuevos modelos.

Una vez validado el modelo, si resulta ser aceptable, es decir que proporciona salidas adecuadas o con márgenes de error admisibles, éste ya está listo para su explotación. Los modelos obtenidos por técnicas de minería de datos se aplican incorporándolos en los sistemas de análisis de información de las organizaciones, e incluso, en los sistemas transaccionales. En este sentido cabe destacar los esfuerzos del Grupo de Minería de Datos, que se encuentra estandarizando el Lenguaje de Marcado para Modelos Predictivos, de manera que los modelos de minería de datos sean interoperables en distintas plataformas, con independencia del sistema con el que han sido construidos. Los principales fabricantes de sistemas de bases de datos y programas de análisis de la información hacen uso de este estándar. Tradicionalmente, las técnicas de minería de datos se aplicaban sobre información contenida en almacenes de datos. De hecho, muchas grandes empresas e instituciones han creado y alimentan bases de datos especialmente diseñadas para proyectos de minería de datos en las que centralizan información potencialmente útil de todas sus áreas de negocio. No obstante, está cobrando una importancia cada vez mayor la minería de datos desestructurados como información contenida en archivos de texto, en Internet, etc.

Guillermo Choque Aspiazu
http://www.eldiario.net/
Julio 19 de 2010