lunes, 27 de julio de 2015

Agentes en inteligencia ambiental

En la memoria escrita el año 2014 para optar al grado de doctor, presentada por el investigador Fernández con el título “Arquitectura de pizarras distribuidas para sistemas de inteligencia ambiental”, se menciona que la información en un sistema de inteligencia ambiental es de naturaleza diversa. Los datos sin procesar de los sensores se agregan y filtran para crear información abstracta, que puede ser procesada por componentes que observan sus cambios para decidir qué acciones tomar. Este proceso involucra las siguientes tareas: Encontrar las fuentes de información disponibles y sus tipos, reunir los datos proporcionados por estas fuentes, facilitar la fusión de los fragmentos de información, y actualizar la representación de este contexto para que sea utilizada por diferentes aplicaciones. Los sistemas de inteligencia ambiental deben adaptarse a estas condiciones cambiantes para ser capaces de proporcionar sus servicios, siendo tan poco intrusivos como sea posible. También hay requisitos de rendimiento que el sistema debe cumplir para proporcionar respuestas en tiempo real a los estímulos del entorno. Los mecanismos de control oportunista, a través de agentes inteligentes, abordan estos aspectos monitorizando el contexto, y suspendiendo o resolviendo objetivos cuando las condiciones apropiadas se cumplen.

En palabras de Russell y Norvig, en el libro publicado el año 1996 con el título “Inteligencia artificial: Un enfoque moderno”, un agente es una entidad de software que puede actuar por sí mismo con el fin de alcanzar unos objetivos que se ha fijado inicialmente y además está caracterizado por una o varias cualidades tales como capacidad de razonamiento o inteligencia, percepción de su entorno y actuación con base a ciertas circunstancias, de manera reactiva. También, tiene la capacidad de actuar en forma proactiva, es decir, actúa sin necesidad de darle una orden y la habilidad de desplazarse de un lugar a otro. Según Wooldridge y Jennings, en el artículo publicado el año 1995 titulado “Agentes inteligentes: Teoría y práctica”, un agente es un sistema computacional que está ubicado en algún ambiente, y está capacitado de acciones autónomas en este ambiente para cumplir sus objetivos planteados. La primera definición general de agente, citada en la tesis doctoral de Pérez, escrita el año 2000 con el título “Sahara: Arquitectura de seguridad integral para sistemas de agentes móviles basados en Java”, fue la proporcionada por G.W. Lecky-Thompson, la cual menciona lo siguiente: “Un agente es una pieza de software que ejecuta una tarea dada usando información obtenida de su entorno para actuar de forma apropiada para completar la tarea exitosamente. El software debe ser capaz de adaptarse a sí mismo en base a los cambios que ocurren en su entorno, para que un cambio en circunstancias le permita aún obtener el resultado deseado”.

Según Horfan, en el artículo publicado el año 2005 titulado “Sistema de seguridad en redes locales utilizando sistemas multiagente distribuidos, las principales características de un sistema multiagente son: (1) Organización. Se encuentra relacionada con la estructura de las componentes funcionales del sistema, sus características, sus responsabilidades, sus necesidades y de la forma como realizan sus comunicaciones. (2) Comunicación. Es el medio por el cual los agentes comparten conocimiento y se sincronizan para llevar a cabo sus tareas conjuntamente. (3) Coordinación. Es una propiedad de un sistema de agentes que realizan alguna actividad en un ambiente compartido, esta característica se describe en detalle en el libro de Weiss, publicado el año 1999 con el título “Sistemas multiagente”. (4) Cooperación. Se refiere a la forma como los agentes trabajan conjuntamente para lograr un objetivo global, la cual depende de la configuración organizacional del sistema. (5) Control. Se encarga de estimar el tiempo para la solución de una tarea, evaluar si se ha generado una solución para una subtarea, escoger entre varias subtareas a realizar basados en su importancia y determinar el contexto que debe ser utilizado por un agente para la solución de una subtarea.

Por su parte O’Hare y sus colegas, en el artículo publicado el año 2004 con el título “Agentes inteligentes agiles”, mencionan que la inteligencia ambiental consiste en la creación de espacios donde los usuarios interactúan de forma natural y sin esfuerzo con los diferentes sistemas, gracias a que las tecnologías de computación y comunicación se vuelven invisibles para el usuario, al estar siempre presentes e integradas en los objetos cotidianos del mismo. Esta visión ha despertado un creciente interés por utilizar las tecnologías de la computación en la construcción de sistemas que soporten las actividades de la vida diaria de forma más eficiente. De esta forma, dentro de estos espacios se abarcan cualidades, como el reconocimiento y la acomodación de los diversos componentes que los constituyen, la personalización y la adaptabilidad del sistema, el entendimiento del estado en determinada situación, la colaboración y la cooperación entre componentes del sistema y las características autónomas como auto-administración y auto-reparación. Aarts y Marzano, en el libro publicado el año 2003 titulado “El nuevo diario: Opiniones sobre inteligencia ambiental”, mencionan que las cinco características principales de la inteligencia ambiental son: (1) Embebida. Muchos dispositivos conectados en red son integrados en el ambiente. (2) Sensible al contexto. Los dispositivos pueden reconocer a las personas y la situación de su contexto en un momento determinado. (3) Personalizada. Los dispositivos pueden adaptarse a las necesidades de las personas. (4) Adaptativa. Estos dispositivos pueden cambiar en respuesta a las personas y a su ambiente. (5) Anticipativa. Los dispositivos pueden anticipar los deseos sin una mediación consciente. Así, los entornos inteligentes, denominados también entornos de inteligencia ambiental, pueden implementarse en escenarios domésticos, espacios móviles, entornos públicos y espacios privados reducidos.

lunes, 20 de julio de 2015

Segunda parte Aprendizaje automático

En la tesis de doctorado de José Giraldez, publicada el año 1999 con el título “Modelo de toma de decisiones y aprendizaje en sistemas multiagente” el primer método inductivo supervisado es el denominado “Inducción descendente de árboles de decisión”, que es una estrategia que puede emplearse para solucionar el problema que plantea el aprendizaje. Consiste en dividir el conjunto de entrenamiento en subconjuntos, empleando la estrategia “divide y vencerás” además de los criterios que separen más los ejemplos. Cuando los ejemplos están descritos en lógica de atributos, esta división se hace introduciendo en el mismo conjunto todos los ejemplos que comparten un mismo valor de un atributo dado. Smith, en el libro publicado el año 1988 con el título “Análisis de decisiones, un enfoque bayesiano”, menciona que si se representa mediante nodos de un árbol cada uno de los subconjuntos así formados, puede construirse un árbol de decisión que permita clasificar instancias. El tipo de métodos que hacen esto se llama: Inducción descendente de árboles de decisión, y el más conocido de ellos es el ID3, que fue seguido por versiones más potentes como C4.5, ambos trabajados por Quinlan, reportados en los libros publicados los años 1983 y 1993 titulados “Procedimientos de clasificación eficiente de aprendizaje y sus aplicaciones al juego del ajedrez” y “C4.5: Programas para el aprendizaje automático”.

Otro método inductivo supervisado es denominado “Programación lógica inductiva”, cuyo objetivo fundamental es aprender programas lógicos que describan un concepto a partir de un conjunto de entrenamiento compuesto por ejemplos. En el artículo de Bratko y Muggleton, publicado en año 1995 con el título “Aplicaciones de la programación lógica inductiva”, se menciona que este paradigma se presta fácilmente al uso de conocimiento del dominio durante el proceso de aprendizaje, siempre que se exprese en el lenguaje de programación lógica. Además, el poder expresivo del lenguaje de entrada y de salida es mayor que en el caso de otros paradigmas de aprendizaje automático que usan lenguajes proposicionales tipo atributo-valor como en el método ID3. Como consecuencia de esto, se extiende el número de aplicaciones que pueden tratarse con métodos de aprendizaje inductivo. En el articulo “Aprendizaje de definiciones lógicas a partir de relaciones”, escrito por Quinlan el año 1990, se presenta el sistema FOIL, que aprende definiciones de conceptos expresadas en forma de cláusulas de Horn, a partir de ejemplos expresados de manera relacional. Entre sus características más relevantes se encuentran: (a) Que es capaz de aprender definiciones recursivas del concepto objetivo; (b) el uso de métodos eficientes adaptados de sistemas de aprendizaje inductivo que emplean el formalismo de representación proposicional atributo-valor; y (c) que es capaz de aprender reglas que, aunque puedan ser ocasionalmente inexactas, son útiles.

En relación con los métodos no inductivos destacan los métodos: Aprendizaje basado en la explicación y el razonamiento basado en casos. Los métodos de aprendizaje basado en la explicación, se encargan de explicar por qué un ejemplo en particular es una instancia de un concepto. Mitchell y sus colegas, en el artículo escrito el año 1986 con el título “Generalización basada en la explicación: Una vista unificada”, mencionan que estas explicaciones son convertidas en reglas y empleadas para la categorización. Los métodos de aprendizaje basado en la explicación son analíticos y hacen un uso intensivo del conocimiento, mientras que los métodos inductivos son empíricos y hacen un uso muy pobre del conocimiento disponible por lo que necesitan muchos ejemplos. Los métodos de aprendizaje basado en la explicación pueden generalizar a partir de un único ejemplo, analizando por qué ese ejemplo es una instancia del concepto. La explicación identifica las características relevantes del ejemplo que constituyen condiciones suficientes para la descripción del concepto. La potencia de los métodos de aprendizaje basado en la explicación radica en su capacidad de utilizar la teoría del dominio para guiar el proceso de análisis.

Por su parte, el investigador Watson, en el libro publicado el año 1997 con el título “Aplicación del razonamiento basado en casos”, menciona que los sistemas de razonamiento basado en casos resuelven nuevos problemas adaptando soluciones que sirvieron para resolver problemas antiguos. Este paradigma de razonamiento es similar al que las personas usan habitualmente para resolver problemas. Según Aha, en el artículo escrito el año 1998 titulado “La omnipresencia del razonamiento basado en casos en la ciencia y su aplicación”, el proceso de resolución de problemas puede resumirse en las siguientes etapas: (1) Extracción. Dado un problema propuesto al sistema de razonamiento basado en casos, se extrae de una biblioteca donde están almacenados los casos en forma de tripletas: Problema, solución, resultado. (2) Reutilización. Se aplican una o más soluciones de estos casos extraídos al problema en cuestión. También pueden aplicarse combinaciones de las soluciones entre ellas y con conocimiento disponible del dominio de aplicación. (3) Adaptación. Se adapta la solución extraída según se necesite para resolver el nuevo problema. (4) Evaluación. Se evalúa el resultado de aplicar la solución adaptada al problema, y si el resultado no es aceptable, se vuelve a la etapa de adaptación. (5) Conservación. se considera el añadido del nuevo caso a la biblioteca de casos. Aquí se precisa de una métrica de la similitud que afectará decisivamente el éxito del sistema de razonamiento basado en casos.

Este proceso de resolver los problemas pertenece a un tipo de solucionado de problemas denominado perezoso, definido en el artículo escrito por Aha y sus colegas el año 1991 titulado “Algoritmos de aprendizaje basados en instancias”, debido a que los cálculos son realizados bajo demanda. Un solucionador de problemas perezoso se caracteriza por: (1) No procesar los datos de que dispone hasta que se le solicita información; (2) responder a peticiones de información combinando información obtenida a partir de datos almacenados; y (3) eliminar resultados intermedios empleados en el proceso de construcción de la solución. La técnica de aprendizaje automático empleada se denomina “Aprendizaje basado en instancias”, debido a que se encuentra basado en instancias específicas para generar predicciones de clasificación.

lunes, 13 de julio de 2015

Aprendizaje automático

En la tesis de maestría en educación superior escrita por Armando Tutau el año 2011, con el título “Estilos de aprendizaje de estudiantes universitarios y su relación con su situación laboral”, se menciona que el proceso de enseñanza aprendizaje es una de las temáticas de más frecuente tratamiento, y mucho es lo que se ha escrito sobre el tema. Aparece de manera sencilla como un cierto acuerdo entre dos personas para la transferencia de conocimiento, que no agotándose en el proceso de comunicación, debería provocar el cambio definitivo en el comportamiento del que aprende. Apoyándose en el Diccionario Santillana, menciona que es el aprendizaje el “proceso mediante el cual un sujeto adquiere destrezas o habilidades prácticas, incorpora contenidos informativos, o adopta nuevas estrategias de conocimiento o acción”; etimológicamente deriva del latín insignare, que sugiere proponer orientación acerca de qué camino seguir, aplicándose a los actos que pueden realizar maestros, padres, profesores, y otros. De acuerdo con visiones actuales, el docente actuaría como “facilitador” o “mediador” entre el conocimiento y los estudiantes, provocando un proceso de interacción, que necesitado de la iniciativa y el interés por saber de los estudiantes, recorre un proceso constante, un ciclo. Según Dolto en el libro escrito el año 1986 titulado “La imagen inconsciente del cuerpo”, es frecuente que los métodos para llevar adelante procesos de enseñanza aprendizaje se encuentren basados en la comunicación, preferentemente oral o escrita, y requiera de técnicas expositivas, estudio de casos, resolución de problemas, dinámicas grupales, etc.

En este entendido, en el blog “Definición de”, se denomina aprendizaje al proceso de adquisición de conocimientos, habilidades, valores y actitudes, posibilitado mediante el estudio, la enseñanza o la experiencia. Dicho proceso puede ser entendido a partir de diversas posturas, lo que implica que existen diferentes teorías vinculadas al hecho de aprender. La psicología conductista, por ejemplo, describe el aprendizaje de acuerdo a los cambios que pueden observarse en la conducta de un sujeto. El proceso fundamental en el aprendizaje es la imitación, es decir la repetición de un proceso observado, que implica tiempo, espacio, habilidades y otros recursos. El aprendizaje humano se define como el cambio relativamente invariable de la conducta de una persona a partir del resultado de la experiencia. Este cambio es conseguido tras el establecimiento de una asociación entre un estímulo y su correspondiente respuesta. La capacidad no es exclusiva de la especie humana, aunque en el ser humano el aprendizaje se constituyó como un factor que supera a la habilidad común de las ramas de la evolución más similares. Gracias al desarrollo del aprendizaje, las personas han logrado alcanzar una cierta independencia de su entorno ecológico y hasta pueden cambiarla de acuerdo a sus necesidades.

En la tesis doctoral de Troncoso, publicada en año 2005 con el título “Técnicas avanzadas de predicción y optimización aplicadas a sistemas de potencia”, se menciona que el aprendizaje automático es la rama de la inteligencia artificial que estudia el desarrollo de técnicas para extraer de forma automática conocimiento subyacente en los datos. Uno de los modelos de aprendizaje más estudiados es el aprendizaje inductivo, el cual engloba todas aquellas técnicas que aplican inferencias inductivas sobre un conjunto de datos para adquirir el conocimiento inherente a ellos.

Por su parte, la capacidad de que un sistema informático aprenda de manera automática es fundamental en inteligencia artificial, pues para que un sistema pueda ser considerado inteligente debe ser al menos capaz de aprender automáticamente, tal como se explica en el libro publicado el año 1998 por Kubat y sus colegas titulado “Revisión de los métodos de aprendizaje automático”. El inicio del aprendizaje automático se remonta a la década de los años 1950 y su objetivo es el desarrollo de métodos computacionales para la implementación de diversas formas de aprendizaje. Generalizando, la tarea de aprendizaje automático se puede describir como un proceso automático que permite mejorar la solución que se le da a los problemas. Según Carbonell, en el libro publicado el año 1990 titulado “Paradigmas del aprendizaje automático”, los métodos de aprendizaje automático pueden clasificarse de forma muy genérica en inductivos y no inductivos. Los inductivos son aquellos que dado un conjunto de ejemplos positivos y negativos del concepto objetivo, construyen una descripción del mismo de la cual se pueden derivar todos los ejemplos positivos y ninguno de los negativos. Además, un método de aprendizaje automático puede clasificarse como supervisado, no supervisado y criticado según la información que contengan los ejemplos de aprendizaje que se le proporcionen al sistema. (a) Método supervisado. Es el método que aprovecha la supervisión de un “profesor” durante el aprendizaje que le informa sobre la relación entre el ejemplo a aprender y el concepto objetivo. (b) Método criticado. Es el método que recibe una crítica sobre el acierto de sus decisiones en la que se basa para mejorar su comportamiento. También se le conoce como método de aprendizaje por refuerzo. (c) Método no supervisado. Es el método que no obtiene ningún tipo de ayuda externa para realizar su labor de aprendizaje.En este caso no hay ni crítico ni “profesor”.