miércoles, 23 de febrero de 2011
GUÍA 5: PREGUNTAS
GUIA 5: PALABRAS
APRENDIZAJE AUTOMÁTICO
El Aprendizaje Automático o Aprendizaje de Máquinas es una rama de la Inteligencia Artificial cuyo objetivo es desarrollar técnicas que permitan a las computadoras aprender. De forma más concreta, se trata de crear programas capaces de generalizar comportamientos a partir de una información no estructurada suministrada en forma de ejemplos. Es, por lo tanto, un proceso de inducción del conocimiento. En muchas ocasiones el campo de actuación del Aprendizaje Automático se solapa con el de la Estadística, ya que las dos disciplinas se basan en el análisis de datos. Sin embargo, el Aprendizaje Automático se centra más en el estudio de la Complejidad Computacional de los problemas. Muchos problemas son de clase NP-hard, por lo que gran parte de la investigación realizada en Aprendizaje Automático está enfocada al diseño de soluciones factibles a esos problemas. El Aprendizaje Automático puede ser visto como un intento de automatizar algunas partes del Método Científico mediante métodos matemáticos.
La ingeniería del conocimiento es aquella disciplina moderna que forma parte de la Inteligencia Artificial y cuyo fin es el diseño y desarrollo de Sistemas Expertos (o Sistemas Basados en el Conocimiento SS.BB.CC). Para ello, se apoya en metodologías instruccionales y en las ciencias de la computación y de las tecnologías de la información, intentando representar el conocimiento y razonamiento humanos en un determinado dominio, dentro de un sistema artificial.
El trabajo de los ingenieros del conocimiento consiste en extraer el conocimiento de los expertos humanos en un determinado área, y en codificar dicho conocimiento de manera que pueda ser procesado por un sistema.
El problema es que el ingeniero del conocimiento no es un experto en el campo que intenta modelar, mientras que el experto en el tema no tiene experiencia modelando su conocimiento (basado en la heurística) de forma que pueda ser representado de forma genérica en un sistema.
La ingeniería del conocimiento engloba a los científicos, tecnología y metodología necesarios para procesar el conocimiento. Su objetivo es extraer, articular e informatizar el conocimiento de un experto.
LÓGICA DIFUSA
La lógica difusa o lógica heuristica se basa en lo relativo de lo observado. Este tipo de lógica toma dos valores aleatorios, pero contextualizados y referidos entre sí. Así, por ejemplo, una persona que mida 2 metros es claramente una persona alta, si previamente se ha tomado el valor de persona baja y se ha establecido en 1 metro. Ambos valores están contextualizados a personas y referidos a una medida métrica lineal.
La lógica difusa se adapta mejor al mundo real en el que vivimos, e incluso puede comprender y funcionar con nuestras expresiones, del tipo "hace mucho calor", "no es muy alto", "el ritmo del corazón está un poco acelerado", etc.
REDES NEURONALES ARTIFICIALES
Las redes de neuronas artificiales son un paradigma de aprendizaje y procesamiento automático inspirado en la forma en que funciona el sistema nervioso de los animales. Se trata de un sistema de interconexión de neuronas en una red que colabora para producir un estímulo de salida. En inteligencia artificial es frecuente referirse a ellas como redes de neuronas o redes neuronales.
SISTEMAS REACTIVOS
Los sistemas reactivos, a diferencia de los puramente transformacionales, mantienen una continua interacción con su entorno, respondiendo ante los estímulos externos en función de su estado interno. Esto causa que su comportamiento sea complejo de analizar y muy sujeto a errores. Muchos de estos errores pueden causar problemas de seguridad, por lo que a menudo los sistemas reactivos son también sistemas críticos.
Entre los formalismos utilizados para especificación de sistemas en tiempo real y sistemas reactivos destacan los métodos estructurados. Son métodos operacionales que tienen amplia difusión en la industria por ser gráficos, fáciles de aprender, de utilizar y de revisar. Sin embargo, al no ser métodos formales, no existe, en general la posibilidad de analizar propiedades tan importantes como pueden ser las de seguridad.
SISTEMA MULTI-AGENTE
El dominio del sistema multiagente o de inteligencia artificial distribuida es una ciencia y una técnica que trata con los sistemas de inteligencia artificial en red.
El bloque fundamental de construcción de un sistema multiagente, como es de esperarse, son los agentes.
Aunque no existe una definición formal y precisa de lo que es un agente, éstos son por lo general vistos como entidades inteligentes, equivalentes en términos computacionales a unproceso del sistema operativo, que existen dentro de cierto contexto o ambiente, y que se pueden comunicar a través de un mecanismo de comunicación inter-proceso, usualmente un sistema de red, utilizando protocolos de comunicación.
En cierto modo, un sistema multiagente es un sistema distribuido en el cual los nodos o elementos son sistemas de inteligencia artificial, o bien un sistema distribuido donde la conducta combinada de dichos elementos produce un resultado en conjunto inteligente.
SISTEMAS BASADOS EN REGLAS
Los sistemas basados en reglas trabajan mediante la aplicación de reglas, comparación de resultados y aplicación de las nuevas reglas basadas en situación modificada. También pueden trabajar por inferencia lógica dirigida, bien empezando con una evidencia inicial en una determinada situación y dirigiéndose hacia la obtención de una solución, o bien conhipótesis sobre las posibles soluciones y volviendo hacia atrás para encontrar una evidencia existente (o una deducción de una evidencia existente) que apoye una hipótesis en particular.
Algunos ejemplos de sistemas expertos son:
Dendral.- Fue ideado a finales de los años 1970 para generar una representación estructural de las moléculas orgánicas a partir de los datos de un espectrógrafo de masas. Tal solución tiene los siguientes pasos:
- Obtener las limitaciones de los datos.
- Generar estructuras candidatas.
- Predecir espectros de masa con los candidatos.
- Comparar los resultados con los datos.
Este sistema ilustra la solución común de resolver problemas en Inteligencia Artificial (IA) de generación y prueba.
Los sistemas multiagentes proponen ayudas metodológicas de ingeniería de software, en este caso metodologías de ingeniería del software orientada a agentes (en inglés AOSE, Agent Oriented Software Engineering) y notaciones. Es decir, artefactos de desarrollo que son específicamente concebidos para crear sistemas basados en agentes.
RAZONAMIENTO BASADO EN CASOS
El Razonamiento basado en casos es el proceso de solucionar nuevos problemas basándose en las soluciones de problemas anteriores. Un mecánico de automóviles que repara un motor porque recordó que otro auto presentaba los mismos síntomas está usando razonamiento basado en casos. Un abogado que apela a precedentes legales para defender alguna causa está usando razonamiento basado en casos. También un ingeniero cuando copia elementos de la naturaleza, está tratando a esta como una “base de datos de soluciones”. ElRazonamiento basado en casos es una manera de razonar haciendo analogías. Se ha argumentado que el razonamiento basado en casos no sólo es un método poderoso para el razonamiento de computadoras, sino que es usado por las personas para solucionar problemas cotidianos. Más radicalmente se ha sostenido que todo razonamiento es basado en casos porque está basado en la experiencia previa.
SISTEMAS EXPERTOS
Los sistemas expertos son llamados así porque emulan el comportamiento de un experto en un dominio concreto y en ocasiones son usados por éstos. Con los sistemas expertos se busca una mejor calidad y rapidez en las respuestas dando así lugar a una mejora de la productividad del experto.
Es una aplicación informática capaz de solucionar un conjunto de problemas que exigen un gran conocimiento sobre un determinado tema. Un sistema experto es un conjunto de programas que, sobre una base de conocimientos, posee información de uno o más expertos en un área específica. Se puede entender como una rama de la inteligencia artificial, donde el poder de resolución de un problema en un programa de computadora viene del conocimiento de un dominio específico. Estos sistemas imitan las actividades de un humano para resolver problemas de distinta índole (no necesariamente tiene que ser de inteligencia artificial). También se dice que un SE se basa en el conocimiento declarativo (hechos sobre objetos, situaciones) y el conocimiento de control (información sobre el seguimiento de una acción).
REDES BAYESIANAS
Una red bayesiana, o red de creencia, es un modelo probabilístico multivariado que relaciona un conjunto de variables aleatorias mediante un grafo dirigido que indica explícitamente influencia causal. Gracias a su motor de actualización de probabilidades, el Teorema de Bayes, las redes bayesianas son una herramienta extremadamente útil en la estimación de probabilidades ante nuevas evidencias.
Una red bayesiana es un tipo de red causal. Un híbrido de red bayesiana y Teoría de la Utilidad es un diagrama de influencia.
VIDA ARTIFICIAL
La vida artificial es el estudio de la vida y de los sistemas artificiales que exhiben propiedades similares a los seres vivos, a través de modelos de simulación. El científico Christopher Langton fue el primero en utilizar el término a fines de la década de 1980 cuando se celebró la "Primera Conferencia Internacional de la Síntesis y Simulación de Sistemas Vivientes" (también conocido como Vida Artificial I) en Laboratorio Nacional de Los Álamos en 1987.
El área de vida artificial es un punto de encuentro para gente de otras áreas más tradicionales como lingüística, física, matemáticas,filosofía, psicología, ciencias de la computación, biología, antropología y sociología en las que sería inusual que se discutieran enfoques teóricos y computacionales. Como área, tiene una historia controvertida; John Maynard Smith criticó ciertos trabajos de vida artificial en1995 calificándolos de "ciencia sin hechos", y generalmente no ha recibido mucha atención de parte de biólogos. Sin embargo, la reciente publicación de artículos sobre vida artificial en revistas de amplia difusión,1 como Science y Nature son evidencia de que las técnicas de vida artificial son cada vez más aceptadas por los científicos, al menos como un método de estudio de la evolución.
ESTRATEGIAS EVOLUTIVAS
En informática, las estrategias evolutivas son métodos computacionales que trabajan con una población de individuos que pertenecen al dominio de los números reales, que mediante los procesos de mutación y de recombinación evolucionan para alcanzar el óptimo de la función objetivo.
Cada individuo de la población es un posible óptimo de la función objetivo; la representación de cada individuo de la población consta de 2 tipos de variables: las variables objeto y las variables estratégicas. Las variables objeto son los posibles valores que hacen que la función objetivo alcance el óptimo global y las variables estratégicas son los parámetros mediante los que se gobierna el proceso evolutivo o, en otras palabras, las variables estratégicas indican de qué manera las variables objeto son afectadas por la mutación.
Haciendo una analogía más precisa, el genotipo en las estrategias evolutivas es el conjunto formado por las variables objeto y las variables estratégicas. Y el fenotipo son las variables objeto, ya que conforme se da la variación de éstas, se percibe un mejor o peor desempeño del individuo.
ALGORITMOS GENÉTICOS
Los algoritmos genéticos establecen una analogía entre el conjunto de soluciones de un problema, llamado fenotipo, y el conjunto de individuos de una población natural, codificando la información de cada solución en una cadena, generalmente binaria, llamada cromosoma. Los símbolos que forman la cadena son llamados los genes. Cuando la representación de los cromosomas se hace con cadenas de dígitos binarios se le conoce como genotipo. Los cromosomas evolucionan a través de iteraciones, llamadas generaciones. En cada generación, los cromosomas son evaluados usando alguna medida de aptitud. Las siguientes generaciones (nuevos cromosomas), llamada descendencia, se forman utilizando dos operadores genéticos, de sobrecruzamiento y de mutación.
Son llamados así porque se inspiran en la evolución biológica y su base genético-molecular. Estos algoritmos hacen evolucionar una población de individuos sometiéndola a acciones aleatorias semejantes a las que actúan en la evolución biológica(mutaciones y recombinaciones genéticas), así como también a una Selección de acuerdo con algún criterio, en función del cual se decide cuáles son los individuos más adaptados, que sobreviven, y cuáles los menos aptos, que son descartados. También es denominado algoritmos evolutivos, e incluye las estrategias evolutivas, la programación evolutiva y laprogramación genética.
TÉCNICAS
DE REPRESENTACIÓN DEL CONOCIMIENTOLa representación del conocimiento se utiliza para la clasificación en bibliotecas y para procesar conceptos en un sistema de información. En el área de la inteligencia artificial, la resolución de problemas puede ser simplificada con la elección apropiada de representación del conocimiento.
Si bien representar el conocimiento de una manera hace la solución más simple, elegir una representación inadecueda puede hacer que la solución sea difícil. Una analogía es hacer cálculos con números arábigos o con números romanos. Dentro de las técnicas de representación del conocimiento tenemos: reglas, marcos, redes semánticas, entre otras. Asimismo, no se conoce una representación que pueda servir para cualquier propósito.
RED SEMÁNTICA
Una red semántica o esquema de representación en Red es una forma de representación de conocimiento lingüístico en la que los conceptos y sus interrelaciones se representan mediante un grafo. En caso de que no existan ciclos, estas redes pueden ser visualizadas como árboles. Las redes semánticas son usadas, entre otras cosas, para representar mapas conceptuales y mentales.
En un grafo o red semántica los elementos semánticos se representan por nodos. Dos elementos semánticos entre los que se admite se da la relación semántica que representa la red, estarán unidos mediante una línea, flecha o enlace o arista. Cierto tipo de relaciones no simétricas requieren grafos dirigidos que usan flechas en lugar de líneas.
FRAMES
Se denomina frame en inglés, a un fotograma o cuadro, una imagen particular dentro de una sucesión de imágenes que componen una animación. La continua sucesión de estos fotogramas producen a la vista la sensación de movimiento, fenómeno dado por las pequeñas diferencias que hay entre cada uno de ellos.
La frecuencia es el número de fotogramas por segundo que se necesitan para crear movimiento.
VISIÓN ARTIFICIAL
La Visión artificial, también conocida como Visión por Computador o Visión técnica, es un subcampo de la inteligencia artificial. El propósito de la visión artificial es programar un computador para que "entienda" una escena o las características de una imagen.
Los objetivos típicos de la visión artificial incluyen:
- La detección, segmentación, localización y reconocimiento de ciertos objetos en imágenes (por ejemplo, caras humanas).
- La evaluación de los resultados (ej.: segmentación, registro).
- Registro de diferentes imágenes de una misma escena u objeto, i.e., hacer concordar un mismo objeto en diversas imágenes.
- Seguimiento de un objeto en una secuencia de imágenes.
- Mape o de una escena para generar un modelo tridimensional de la escena; tal modelo podría ser usado por un robot para navegar por la escena.
- Estimación de las posturas tridimensionales de humanos.
- Búsqueda de imágenes digitales por su contenido.
LINGÜÍSTICA COMPUTACIONAL
La lingüística computacional es un campo multidisciplinar de la lingüística y la informática que utiliza la informática para estudiar y tratar el lenguaje humano. Para lograrlo, intenta modelar de forma lógica el lenguaje natural desde un punto de vista computacional. Dicho modelado no se centra en ninguna de las áreas de la lingüística en particular, sino que es un campo interdisciplinar, en el que participan lingüistas, informáticos especializados en inteligencia artificial, psicólogos cognoscitivos y expertos en lógica, entre otros.
Algunas de las áreas de estudio de la lingüística computacional son:
- Corpus lingüístico asistido por ordenador.
- Diseño de analizadores sintácticos (en inglés: parser), para lenguajes naturales.
- Diseño de etiquetadores o lematizadores (en inglés: tagger), tales como el POS-tagger.
- Definición de lógicas especializadas que sirvan como fuente para el Procesamiento de Lenguajes Naturales.
- Estudio de la posible relación entre lenguajes formales y naturales.
- Traducción automática.
PROCESAMIENTO DEL LENGUAJE NATURAL
El Procesamiento de Lenguajes Naturales es una subdisciplina de la Inteligencia Artificial y la rama ingenieril de la lingüística computacional. El PLN se ocupa de la formulación e investigación de mecanismos eficaces computacionalmente para la comunicación entre personas o entre personas y máquinas por medio de lenguajes naturales. El PLN no trata de la comunicación por medio de lenguajes naturales de una forma abstracta, sino de diseñar mecanismos para comunicarse que sean eficaces computacionalmente —que se puedan realizar por medio de programas que ejecuten o simulen la comunicación—. Los modelos aplicados se enfocan no sólo a la comprensión del lenguaje de por sí, sino a aspectos generales cognitivos humanos y a la organización de la memoria. El lenguaje natural sirve sólo de medio para estudiar estos fenómenos.
MINERÍA DE DATOS
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.