Beruflich Dokumente
Kultur Dokumente
Los sistemas multiagente son sistemas distribuidos de software formados por un conjunto
de agentes autónomos (nodos) que trabajan juntos para resolver problemas. Asignándose
tareas unos a otros y colaborando, los agentes pueden solucionar problemas que serían
irresolubles para un agente aislado. En un sistema multiagente no hay un control global del
sistema ni un lugar donde esté toda la información. La "inteligencia" de un sistema
multiagente puede obtenerse de dos maneras. En primer lugar, mediante el uso de agentes
inteligentes para el sistema. En segundo lugar, usando agentes reactivos (como expliqué
antes, son aquellos que reaccionan siguiendo el esquema conductista: estímulo-respuesta).
En este caso, la inteligencia colectiva del sistema es un fenómeno emergente.
Las enormes posibilidades de los sistemas multiagente se vislumbran en Robocup Rescue
(puede encontrarlo en http://www.rescuesystem.org/robocuprescue/), un sistema
multiagente que simula la respuesta de los equipos de rescate a cualquier desastre natural
(un terremoto, por ejemplo). La simulación consiste en la reconstrucción fotográfica de un
desastre y, luego, en manejar un conjunto de agentes inteligentes (que hacen el papel de
víctimas, policías, bomberos, etc.) en ese entorno. El objetivo de Robocup Rescue consiste,
por un lado, en reducir al mínimo los daños en el mundo virtual que sufre el desastre; y, por
otro, en sacar de la simulación conclusiones que puedan aplicarse en el mundo real a la
coordinación de equipos de rescate. La complejidad de Robocup Rescue es ingente, por
cuanto maneja situaciones como rescatar personas atrapadas en edificios en ruinas, en
llamas o inundados. RoboCup Rescue es también una competición: los participantes
construyen sus propios agentes y compiten por reducir al mínimo los efectos de los
desastres naturales.
Existen muchas plataformas para crear agentes e interconectarlos: IBM Aglets, ZEUS,
JADE (Java Agent Development Framework), ABLE, MadKit, JATLite (Java Agent
Template Lite), Grasshopper, AgentBuilder, FIPA-OS, Concordia, Gossip, FarGo,
Voyager. Si usted no tiene experiencia en agentes y desea probar alguna plataforma, le
recomiendo empezar con AgentBuilder
(http://www.agentbuilder.com/Documentation/product.html). Es un conjunto integrado de
herramientas que permite desarrollar agentes inteligentes y aplicaciones basadas en ellos,
sin necesidad de programar (la versión PRO permite desarrollar también aplicaciones
multiagente). Recomiendo esta solución comercial porque me parece una de las más
sencillas y rápidas para quien carezca de experiencia en el desarrollo de agentes. JADE y
ABLE son más potentes que AgentBuilder, pero también son más complejas de usar.
ZEUS (http://labs.bt.com/projects/agents/zeus/) es una herramienta para desarrollar
sistemas multiagente. Es una herramienta educativa y no necesita conocimientos de
programación. Tanto las ontologías como los agentes se crean mediante asistentes visuales,
como sucede con AgentBuilder. Al final del proceso de creación de los agentes, ZEUS
genera código fuente escrito en Java. Como Java es un lenguaje multiplataforma (véase, por
ejemplo, http://www.javahispano.org/articles.article.action?id=55), el código compilado
puede ejecutarse en las plataformas más habituales (una plataforma es una combinación de
hardware y software que permite ejecutar aplicaciones; por ejemplo, Microsoft
Windows/Intel x86 es la plataforma más común). En consecuencia, con ZEUS pueden
construirse sistemas multiagente donde un agente "viva" (perdón, resida) en un PC con
Linux, otro en un Macinstosh con Mac OS X, un tercero en una estación de trabajo
UNIX…
Los agentes semánticos son agentes que usan tecnologías de la Web semántica
(RDF/RDFS, OWL, ontologías) para cumplir sus objetivos. Puede obtener una descripción
de tales tecnologías en http://www.javahispano.org/tutorials.item.action?id=55. Debido a
que todavía no existe una Web semántica, no hay agentes semánticos que puedan
aprovechar sus posibilidades. Existen, sin embargo, agentes semánticos que operan sobre
dominios muy específicos (intranets de empresas, por ejemplo); y también hay algunos
agentes semánticos que actúan como buscadores de información o como asistentes
personales. Por ejemplo, el navegador Amblit Navigator
(http://www.amblit.com/products/AmblitNavigator.html) incluye un asistente (Intelligent
Personal Agent) al que se le puede enseñar qué desea el usuario y cuándo lo desea.
Este agente admite preguntas como las siguientes: ¿Cuál es la cotización de Endesa? ¿Qué
tiempo hará en París la próxima semana? ¿Cuál es el número de teléfono de María Senso
Huertas? También se le pueden dar órdenes del tipo "Búscame un mapa de Hannover" o
"Averigua dónde puedo encontrar la película Les 400 coups". Para entender miles de
sentencias en lenguaje natural, el agente semántico de Amblit se apoya en una ontología y
en un software de comprensión del lenguaje natural. Este software "traduce" las preguntas u
ordenes en texto libre a conceptos de la ontología (puede encontrar más información sobre
ontologías en http://www.wshoy.sidar.org/index.php?2005/12/09/30-ontologias-que-son-y-
para-que-sirven).
Para mostrar las posibilidades de los agentes semánticos, considero el siguiente ejemplo:
Heliodoro Gómez ha puesto en marcha una tienda de lámparas en su barrio. Se acerca la
hora de hacer el primer pago fraccionado del IRPF y no sabé qué impreso usar ni cómo
calcular el rendimiento neto empresarial. Preocupado por hacer mal las cosas y recibir
luego una simpática carta de Hacienda, Heliodoro ha decidido usar un agente semántico
para encontrar un asesor contable y fiscal. Para ello, se conecta a la Web semántica y elige
un agente personal que parece fiable.
Escribe en un cuadro de texto "Busco asesor contable y fiscal (cerca de la calle Arboleda,
en Soria). Quiero que sea barato y bueno", y el agente se pone en marcha. Primero obtiene
una lista de todos los asesores que están a menos de dos kilómetros de la calle Arboleda;
luego, para comprobar la calidad de cada uno, investiga si tienen reclamaciones de clientes,
quejas ante los colegios profesionales o denuncias. A continuación, busca los que tienen
tarifas bajas. Finalmente, selecciona a dos asesores y se los propone a Heliodoro.
A éste no le gusta ninguno de los dos. Uno no es todo lo barato que Heliodoro desearía, y el
otro no puede atenderle hasta dentro de dos semanas (está de viaje de novios).
Decepcionado con los resultados, Heliodoro escribe a su agente semántico: "Mira otras
opciones". El agente repite el trabajo que había hecho, pero no encuentra más asesores que
cumplan las condiciones del usuario. Entonces prepara una lista de los asesores cercanos a
la calle Arboleda y de buena reputación, independientemente de que sean caros o baratos;
acto seguido, contacta con los agentes semánticos de esos asesores para intentar negociar
una reducción de las tarifas que aplican. Sólo uno acepta la reducción. Tras una rápida
negociación entre agentes, la reducción se fija en un 20% (con la condición de que el
cliente pagará cada trimestre de asesoría por anticipado y al contado).
El agente muestra a Heliodoro los datos del asesor elegido y la tarifa que ha quedado
establecida. Heliodoro desconfía de la tarifa, porque le parece demasiado barata, y le
pregunta a su agente: ¿Cómo has negociado la tarifa? ¿Cómo sabes que ese asesor es
bueno? El agente, dotado de paciencia infinita, le proporciona pruebas de todo (para saber
más sobre estas pruebas, puede consultar http://www.wshoy.sidar.org/index.php?
2007/01/30/37-la-web-semantica-metadatos-ontologias-logica-y-confianza). Contento por
ahorrarse un dinerillo, Heliodoro cierra su agente personal y se levanta del ordenador.
Mientras se prepara un café, piensa en la Web semántica: "Es buena idea esto de la nueva
Web. ¡Y pensar que hace diez años parecía ciencia-ficción! Hasta me están cayendo
simpáticos los bichos esos, los agentes".
Trackbacks
Ningún trackback.
Los trackbacks para esta entrada están cerrados.
Comentarios
El martes 8 mayo 2007 a 09:51, por Gonzalo :: email :: sitio :: #
Felicidades por tu artículo (y ya van...) como siempre, muy completo y didáctico.
Espero que dentro de no muchos años, haya muchos "Heliodoros" :)
¿Hay ganas y tema para un próximo artículo?
===============================================
==================0
«La industria del software, con fines puramente comerciales, nos está presentando
aplicaciones catalogadas como agentes inteligentes que realmente no lo son»
Agentes de bases de datos: en el tipo de arquitectura anterior las bases de datos son
depósitos pasivos de información; por contra, en este sistema pasan a ser agentes activos
que interactúan entre sí. Cada base de datos dispone de un agente que sabe cómo
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. Los agentes de bases de datos están
organizados en un sistema federado, teniendo mucha información de otros agentes que
componen el mismo sistema, pero muy poca de aquellos que están en otras federaciones.
Cuando el agente primario (o facilitador) recibe una consulta, asigna las subconsultas a
aquellos agentes de su propia federación que él sabe que las satisfarán de forma
adecuada. Si alguna subconsulta no puede ser respondida, el agente primario la enviará a
otras federaciones, se comunicará con sus agentes primarios y decidirán a qué agente
encargársela para que la resuelva.
Un ejemplo de este tipo de agente lo podemos encontrar en:
http://www.clientelle.net
Se trata de un gestor de billetes de avión con cobertura mundial.
Agentes de consulta de bases de datos: las bdd y las consultas pueden ambas tener sus
propios agentes con el fin de proporcionar las respuestas 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.
Cuando los agentes de consulta reciben una pregunta por parte del usuario, éstos
determinan qué base o bases de datos contienen esa información y se la entregan a los
agentes primarios de cada una de ellas, siguiendo el método de «lo menos costoso».
Por ejemplo, si una consulta consta de dos términos y hay una base de datos que posee
información sobre uno de ellos, mientras que en otra se recoge información sobre los dos,
los agentes de búsqueda siempre preferirán la segunda, puesto que implica menos trabajo
y por tanto menos costo. Una vez que los agentes de bases de datos han recibido la
consulta, éstos la descompondrán en subconsultas y seleccionarán a los agentes de su
federación para que las resuelvan. Si los términos de búsqueda no se encuentran en la
misma base de datos, distribuirán la consulta en tantas como sea necesario para
resolverla.
http://www.aft.pfc.forestry.ca/Seidam_Documentation/Systems_Guide/DatabaseQueries.ht
ml
En esta dirección se nos ofrece una completa guía de referencia ilustrada sobre el
funcionamiento de Seidam, un agente de consulta para sistemas que dan soporte a SQL
(Structured query language).
Agentes mediadores de consulta de bases de datos: un sistema mediador está basado en el
modelo descrito anteriormente, pero incluye la novedad de contar con un agente mediador
entre el agente de consulta y el de base de datos. El proyecto quizá más relevante de este
tipo es Macron (Multi-agent architecture for cooperative retrieval online), de 1995
(Decker).
«Estos sistemas incorporan estrategias de búsqueda aprendidas de buscadores humanos
expertos»
En este sistema los agentes utilizan información de internet (grupos de trabajo, archivos,
bases de datos de revistas, sitios web, etc.). Su arquitectura es doble. Por una parte cuenta
con una estructura organizacional que usa agentes de razonamiento, agentes de
recuperación en red de bajo nivel y agentes de interfaz de usuario. Por otra parte tiene
una estructura funcional con unidades tipo pregunta/respuesta conformada por agentes
individuales y un facilitador.
La primera arquitectura proporciona el acceso a las fuentes de información (grupos de
trabajo, archivos...), mientras que la segunda se encarga de procesar las preguntas de los
usuarios. En esta estructura el agente gestor de consultas será el encargado de diseñar el
sistema de recuperación de información y de suministrar a los agentes de tipo funcional un
agente facilitador para la correcta resolución de las subconsultas.
Agentes de usuario: los agentes orientados a usuario están asociados a una persona en
concreto. A diferencia de los agentes de consulta, que se generan cada vez que tienen que
realizar una consulta para un individuo, los agentes de usuario siempre están activos,
buscando información y suministrándosela a su creador.
«Un agente de información posee las propiedades: autonomía, sociabilidad, capacidad
de reacción e iniciativa»
Los agentes de consulta son útiles para recuperar información donde las fuentes son
relativamente estáticas y la información que se busca es dinámica. Por el contrario, los
agentes de usuario son más efectivos cuando se trata de recuperar información que es
relativamente constante, pero cuyas fuentes son dinámicas. Los agentes de usuario pueden
ser utilizados para recuperar información de bases de datos, de revistas electrónicas, o
incluso de los mensajes e-mail. Su objetivo es disminuir el trabajo necesario en la
recuperación de la información. En definitiva, hacer la vida de «su propietario» más fácil.
Los agentes de usuario pueden aprender a recuperar información de una forma más
pertinente y relevante mediante realimentación positiva o negativa. Cuando el agente
presenta al usuario los documentos recuperados, éste podrá indicar si está, o no, contento
con un grupo determinado de ellos. También es posible realizar el aprendizaje a través de
algoritmos genéticos, donde el agente no es más que un conjunto de perfiles. En función de
las respuestas, la idoneidad de los perfiles aumentará o disminuirá.
http://microsoftsoft.miningco.com/library/weekly/aa031797.htm
Aquí se puede ver cómo funciona un agente de usuario. Además se ofrece la posibilidad de
obtener una licencia para utilizarlo, tras descargarlo e instalarlo.
Otra posibilidad es utilizar BullsEye, que al igual que el anterior podemos descargarlo e
instalarlo en nuestro equipo. No se trata sólo de un agente, sino que en su conjunto son
múltiples agentes al servicio de un mismo usuario.
http://www.intelliseek.com
Agentes de búsqueda inteligentes para el web
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. Las consultas
pueden ser textuales (productos en concreto, información sobre viajes, etc.) o por las
distintas partes (título, cuerpo...) en que el world wide web se representa hoy día.
Desgraciadamente la investigación sobre los agentes de búsqueda en la Red aún está en
pañales. Lo que a continuación se expone es una serie de aplicaciones cuya cobertura va
desde interfaces generales hasta agentes de compra.
Interfaces web: el usuario puede realizar la consulta en lenguaje natural (alto nivel), pero
el agente de interfaz crea una memoria intermedia entre el usuario y elweb, para
transformar dicha consulta a bajo nivel.
Un ejemplo de agente de interfaz web es Softbot (Etzioni y Weld, 1995). Se diferencia de
anteriores sistemas, destinados a ayudar al usuario en la búsqueda y en la recuperación de
información, en que acepta preguntas de alto nivel por parte del usuario, y es él quien
decide qué procesos de descomposición y consulta realizar para satisfacer adecuadamente
la petición. Gestiona servicios de información estructurada tales como servidores
meteorológicos, de bolsa, e incluso puede monitorizar hechos o acontecimientos y
enviarlos al usuario de forma autónoma. Posee la capacidad de moverse en la Red,
comprimir, cambiar protecciones e incluso almacenar ficheros en formatos distintos y
acceder a bases de datos remotas para obtener información.
«Softbot es altamente autónomo, reactivo y con una gran capacidad de iniciativa»
Se puede decir que Softbot es un gestor de consulta parecido a un gestor de tareas
programadas, un planificador que consigue realizar su trabajo con información
incompleta, un sistema de gestión que almacena todos los conocimientos que va
adquiriendo, y un modelo de dominio de internet con información codificada de las
acciones permitidas en internet. Es altamente autónomo, reactivo y con una gran
capacidad de iniciativa. Sus creadores pronostican que las páginas WWW se convertirán
en entidades totalmente transparentes a las que se accederá por medio de agentes
intermediarios como éste.
Podemos ver las distintas versiones de Softbot que existen actualmente, e incluso
«bajarnos» las que queramos. Sólo hay un pequeño problema: necesitamos un sistema
operativo Unix para hacerlas funcionar:
http://members.xoom.com/alexco9/sftp.htm
Equipado con una batería de URLs de la página principal de los distintos vendedores, así
como con una descripción de las características que se pueden utilizar para distinguir los
diferentes tipos de productos y sus variantes (nombre, fabricante, precio, etc.), el agente es
capaz de encontrar y determinar los elementos requeridos, mostrándoselos al usuario por
los siguientes criterios para que éste decida: adecuación a la consulta original, presencia
del precio del producto e inclusión de características del mismo en la descripción. En
teoría, el objeto de compra más adecuado será el que aparezca en primer lugar.
ShopBot trabaja sólo con textos en html. Si un vendedor incorpora gráficos o utiliza Java,
no será incluido en su lista de proveedores. Es más, su cobertura está limitada sólo a
aquellos que suministren un índice de sus productos. Se está intentado salvar este
inconveniente para un futuro cercano.
Es posible obtener una copia de Shopbot, así como herramientas de todo tipo para
personalizarlo (en función de los productos que deseemos adquirir y de los proveedores
disponibles), así como los requerimientos hardware y software necesarios para que
nuestro agente de compra funcione perfectamente.
http://www.shopbottools.com/faq.htm
Conclusión
La aparición de una serie de agentes que puedan consultar y recuperar la información por
nosotros es atractiva a la vez que sorprendente. Sin embargo, el sistema de trabajo de
estos agentes, unido a su reducida cobertura, hacen imposible que, hoy por hoy, puedan
ocuparse de un área tan extensa como es internet.
La integración es un problema para los sistemas de agentes de información. ¿Cómo crear
y mantener un agente en cada una de las bases de datos de la Red? ¿Cómo utilizar agentes
personalizados para cada usuario y asegurar una buena intercomunicación entre ellos?
Las respuestas a estas preguntas parecen, de momento, insalvables mientras los webs
continúen realizándose en html y sigan manteniendo su actual estructura de información.
«Es necesario abandonar el poco operativo, aunque fácil, lenguaje html para la
construcción de páginas web y adoptar xml»
En la situación actual, un agente autónomo de información deberá estar saltando
constantemente de página en página para satisfacer la consulta que se le ha encargado,
pues le resultará imposible comunicarse con otros agentes que se pueda encontrar en la
Red. Igual ocurrirá con un multiagente de consulta si no consigue dar una respuesta con la
información contenida en su dominio, pues deberá generar agentes que vayan de web en
web hasta que se pueda responder a dicha consulta.
Darpa (Defense Advanced Research Project Agency) está trabajando en una serie de
estándares que permitan la comunicación y la transferencia de conocimientos entre
agentes: Kqml, que hace posible la comunicación entre agentes, y Kif (Knowledge
interchange format), que permite el intercambio de conocimiento en distintos tipos de
formato. El objetivo de estos proyectos es dar respuesta a las preguntas anteriormente
expuestas, pero para poder conseguir una verdadera solución es necesario además
abandonar el poco operativo, aunque fácil lenguaje html, para la construcción de páginas
web y adoptar xml.
El desarrollo de los agentes para la recuperación de la información es muy deseable. No
sólo por el hecho de que exista demasiada información disponible en la Red para una
persona que desee realizar una consulta, sino porque es mucho más fácil encargar ésta a
un agente y dejar que él realice el trabajo por nosotros, a la vez que nos evita la pérdida
de tiempo y el tedio de ir pasando de conexión en conexión.
Bibliografía
4th ACM Conference on intelligent user interfaces. 1998.
http://www.afit.af.mil/workshops/iui.html
Agent-based information retrieval. 1998.
http://www.cs.umbc.edu/abir/#metadata
Bargainbot, 1998.
http://www.ece.curtin.edu.au/~saounb/bargainbot
Internet.com LLC. 1998.
http://www.botspot.com/main.html
Bradley, Phil. «Intelligent agents on the web». En: Managing information, 1999, n. 6, pp.
35-41.
Coult, Graham. «Intelligent agents». En: Managing information, 1999, n. 6, pp. 33-34.
Decker, K. [et al.]. «Macron: an architecture for multi-agent cooperative information
gathering». En: Proceedings of the Cikm workshop on intelligent information agents.
Baltimore, 1995.
Doorembos, B.; Etzioni, O. y Weld, D. A scalable comparison-shopping agent for the
world wide web. Washington, 1996.
Etzioni, O.; Weld, D. Intelligent agent on the internet: fact, fiction and forecast. 1995.
Finin, Tim [et al.]. Kqml - A language and protocol for knowledge and information
exchange.
http://www.cs.umbc.edu/kqml/papers/kbkshtml/kbks.html
Foner, Lenny. What’s an agent?
http://foner.www.media.mit.edu/people/foner/agents.html
Foner, Lenny. What’s an agent, anyway?
http://foner.www.media.mit.edu/people/foner/Julia/Julia.html
Foundation for Intelligent Physical Agents. Agent definition
http://drogo.cselt.stet.it/fipa/fipa_rationale.htm
Franklin, Stan y Graesser, Art. Introduction to agent concepts
http://www.agent-software.com.au/agents.html
Franklin, Stan y Graesser, Art. Is it an agent, or just a program?
http://www.msci.memphis.edu/~franklin/AgentProg.html
Gadomski, Adam Maria. Agents and intelligence.
http://wwwerg.casaccia.enea.it/ing/tispi/gadomski/gad-agen.html
Gauch, S. y Smith, J. B. «An expert system for information retrieval». En: Journal of the
American Society for Information Science, 1993, n. 44, pp. 124-136.
Gnsi Inc. Clientelle. 1998.
http://www.clientelle.net
Haverkamp, Donna S. y Gauch, Susan. «Intelligent information agents: review and
challenges for distributed information sources». En: Journal of the American Society for
Information Science, 1998, n. 49, pp. 304-310.
Hebrew University. What is an agent? 1999.
http://www.cs.huji.ac.il/labs/dai/wkshp/defag.html
Knoblock, C. y Arens Y. Hsu, C. N. «Cooperating agents for information retrieval». En:
Proceedings of the Second International Conference on Cooperative Information Retrieval,
1994.
Lanier, Jaron. Agents of alienation
http://www.well.com/user/jaron/agentalien.html
Laskari, Yezdi; Metral, Max y Maes, Pattie. Collaborative interface agents.
http://agents.www.media.mit.edu/groups/agents/publications/aaai-ymp/aaai.html
Maes, Pattie. Agents that reduce work and information overload.
http://pattie.www.media.mit.edu/people/pattie/CACM-94/CACM-94.p1.html
Maes, Pattie. Long tutorial notes on software agents.
http://pattie.www.media.mit.edu/people/pattie/CHI97
Mark, C. Software agents, what are they?
http://www.geocities.com/ResearchTriangle/Thinktank/4633/Agents_definition.html
Microsoft Corporation. Microsoft agents. 1999.
http://microsoftsoft.miningco.com/library/weekly/aa031797.htm
Miller, Damien. Three types of intelligent agents, their uses, and their future. 1998.
http://www.netscapeworld.com/netscapeworld/nw-11-1996/nw-11-agents.html
Mobile agents: white paper at general magic. 1998.
http://www.genmagic.com/technology/techwhitepaper.html
Petrie, Charles. Agent-based engineering, the web, and intelligence.
http://cdr.stanford.edu/NextLink/Expert.html
Pollitt, A. S. «Cansearch: an expert system approach to document retrieval». En:
Information Processing and Management, 1987, v. 23, n. 2, pp. 119-136.
Research on Mobile Computing at Purdue. 1998.
http://www.cs.purdue.edu/research/cse/mobile
Seidam Documentation. Seidam. 1998.
http://www.aft.pfc.forestry.ca/Seidam_Documentation/Systems_Guide/DatabaseQueries.ht
ml
Smith, P. J. [et al.]. «Knowledge based search tactics for an intelligent intermediary
system». En: ACM Transactions of Information Systems, 1996, v. 7, n. 3, pp. 246-270.
Stone, P. y Veloso, M. Why multiagent systems? 1996.
http://www.cs.cmu.edu/afs/cs/usr/pstone/public/papers/96ieee-survey/node5.html
Wooldridge, M. y Jennings, N. R. Intelligent agents: theory and practice.
http://pattie.www.media.mit.edu/people/pattie/CHI97/sld001.htm
Pedro Hípola
Benjamín Vargas-Quesada
Universidad de Granada, Departamento de Biblioteconomía y Documentación. Campus
universitario Cartuja. 18071 Granada.
phipola@ugr.es
bvargas@platon.ugr.es
Enlace del artículo:
http://www.elprofesionaldelainformacion.com/contenidos/1999/abril/agentes_inteligentes_definicion_y_tipologia_los_agentes_de_informacion.html
======================================
Contenido
[ocultar]
• 1 Definiciones sobre Agentes Inteligentes
• 2 Ejemplos
• 3 Clasificación
• 4 La racionalidad es necesaria
• 5 La conducta de un agente no suele ser la
óptima
• 6 Véase también
[editar] Ejemplos
Como ejemplos de entidades físicas pueden nombrarse:
• un robot de comportamiento variable autoregulado (ya sea que su
comportamiento sea determinado por software o incorporado
directamente en la electrónica),
• una computadora que ejecuta un software de diagnóstico médico y
muestra resultados en una pantalla para ayudar a decidir a un médico,
• una computadora especializada que controla un helicóptero en
maniobras peligrosas para un hombre.
Ejemplos de entidad puramente virtual serían:
• un software de descubrimiento de patrones en Internet que sólo
interactúa con otros software.
• un software softbot que simula a una persona en un juego de
computadora, tal como un jugador de ajedrez, un jugador de fútbol
contrincante o un conductor de carreras de automóviles, etc.
[editar] Clasificación
Es posible clasificar los agentes inteligentes en 5 categorías principales:
1. agentes reactivos
2. agentes reactivos basados en modelo
3. agentes basados en objetivos
4. agentes basados en utilidad
5. agentes que aprenden
6. agentes de consultas
Tutorial de MATLAB
Resumen: ¿Qué es MATLAB?. Toolboxes de MATLAB. Inicio de MATLAB. ¿Cómo funciona
MATLAB?. Gráficas en tres dimensiones. Otros comandos. Como hacer un programa en MATLAB.
Análisis de datos. Polinomios.
exp ( 1 ) Exponencial: e( x )
REM ( X,Y ) Resto después de la división ( x / y)
sqrt (2) Raízcuadrada
Operaciones Lógicas
En MATLAB se pueden hacer operaciones lógicas, por ejemplo.
1<2
Como 1 es menor que 2, la respuesta es cierta por lo que obtenemos un 1.
1<1
Obtenemos un 0, porque 1 no es menor que 1.
Como se puede observar las únicas respuestas posibles con las operaciones lógicasson :
Cierto = 1 y Falso = 0.
Operadores relaciónales :
> Mayor que
< Menor que
>= Mayor o igual a
<= Menor o igual a
== Igual a
~= No igual a
Existen tres operadores lógicos : AND &
OR |
NOT ~
Para que la operación AND sea verdadera las dos relaciones deben serverdaderas.
Recordemos AND = 0 0 | 0 Falso
0 1 | 0 Falso
1 0 | 0 Falso
1 1 | 1 Verdadero
( 1 < 2 ) & ( 2 < 3) Verdadero.
( 1 < 2) & ( 2 < 1 ) Falso.
Para la operación OR : 0 0 | 0
01|1
10|1
11|1
( 1 < 2 ) | ( 2 < 1 ) Verdadero.
Para la operación NOT : ~ 0 | 1
~1|0
~ ( 2 < 1) Verdadero.
La variable NaN (Not a Number)
Cuando en un lenguaje de programación como basic, pascal o C, se da unasituación que el
programa no pueda manejar, como una división como 0/0 elprograma se detiene, marcando un
error.
Cuando en MATLAB se presenta una situación similar el programa no sedetiene, sólo da una
pequeña advertencia de que se presentó una divisiónentre cero. Y el resultado es un NaN, que es
una variable interna no es un número).
0/ 0
Ejemplo: defina a=[1 2 0] y b=[1 2 0] ahora pida la división elemento aelemento (comando "./")
a ./ b
Solución de ecuaciones de segundo grado.
MATLAB se puede resolver fácilmente ecuaciones del tipo ax²+ bx + c = 0, haciéndolo como si
fuera una sola instrucción. La förmula pararesolver una ecuación de segundo grado de este tipo
es :
Como se ve es posible gráficar en Matlab con símbolos y además escoger elcolor, tal como se
muestra en la tabla inferior.
y amarillo . punto
m magenta o circulo
c cían x equis
r rojo + más
g verde * asterisco
b azul - menos
-- menos menos
Es posible agregar un cuadriculado a la gráfica, para tener más precisión,con el comando.
grid
Se pueden agregar títulos a las gráficas y etiquetas en los ejes con loscomandos siguientes.
title(' Gráfica del coseno de x')
Para ponerle etiquetas a los ejes se puede utilizar los comandos
ylabel ('etiqueta')
xlabel('etiqueta')
axis off Desaparecelos ejes.
Subplot
El comando subplot nos permite desplegar en pantalla varias gráficas.
subplot(m,n,a)
'm' y 'n' son una matriz que representa las cantidades de gráficas que sevan desplegar; 'a' indicaría
el lugar que ocuparía la gráfica en el subplot.
Hagamos la gráfica de los siguientes puntos. La desplegaremos en cuatropuntos diferentes en
pantalla para ver las características de subplot.
a=[ 1 ,2 ,3 9 ,8 ,7 ,4, 5, 6, 8, 7, 5];
plot (a)
Vamos hacer una matriz de 2 x 2 para gráficar, cuatro posibles ventanas o gráficas.Y queremos
que la primera gráfica ocupe el lugar (1,1) de la matriz. entoncesescribimos.
subplot(2,2,1) ,plot(a)
subplot(2,2,2) , plot(a)
subplot(2,2,4), plot(a)
CLF borra todos los objetos de la gráfica.
CLF RESET Borra todo lo que hay en la gráfica y resetea todas laspropiedades de la figura.
clf
Gráficas en tres dimensiones.
El comando plot se puede extender a 3 dimensiones con el comando plot3 .
El siguiente ejemplo hace una gráfica de una espiral en tres dimensiones.
t=0:pi/50:10*pi;
plot3(sin(t),cos(t),t)
zlabel ('etiqueta')
Se utiliza para dar etiquetas al eje z, en las gráficas en tres dimensiones.
Otros comandos
• Para cargar un editor, se puede hacer desde la ventana options, escogiendo editor
preference, y cargando el editor que se desee utilizar.
• Para escribir código, requerimos crear un archivo *.M. Para esto necesitamos abrir new
M.file en la ventana file.
• Ahora escribimos el código y salvamos el archivo utilizando la terminación archivo.M.
• Se puede correr el programa desde Matlab simplemente escribiendo el nombre del archivo
que fue creado.
• Es posible abrir programas con la terminación *.M desde Matlab, en el menú file, open
M.file.
Bucles For
Tal como en otros programas de programación en Matlab esposible crear programas con
estructura con ciclos for.
For x = Número incial : número
final
Instrucción
End.
for x = 1 : 10
x=x+1
end
También se pueden hacer operaciones como la siguiente :
matriz = [ 1 2 3 4; 1 2 3 4; 1 2 3 4; 1 2 3 4]
for x = matriz
x = n(1)*n(2)*n(3)*n(4)
end
Bucles while
While permite que ciertas instrucciones sean repetidas un númeroindefinido de veces bajo el
control de una condición lógica.
Por ejemplo, ¿ Cual es primer entero n para el cual n!(factorial) es un número de 100 dígitos ?.
n = 1;
while prod(1:n)<1.e100,n=n+1;end
n
IF ELSE END
Se pueden utilizar estructuras como:
If expresión (verdadero)
acción
End.
If expresión (verdadero)
acción 1
else (Falso)
acción 2
End.
If expresión (verdadero)
acción 1
elseif expresión (verdadero)
acción 2
...
else (Falso)
acción "n"
End
Análisis de datos.
En Matlab podemos hacer análisis de datos estadísticamenteo probabilisticamente. Entre estos
análisis están cálculos de medias, máximos,mínimos, desviaciones estándar, etc.
Inventemos un conjunto de datos, los cuales podremos análizar.
x =[ 9 1 ;23 34; 16 28 ;12 33 ;5 7; 9 4 ;12 34 ;5 14 ;436 ;3 6 ;12 9; 2 30 ;3 2; 2 4]
plot (x) Larepresentación gráfica de los puntos anteriores.
A continuación se hace una análisis de los datospresentados, habrá dos respuestas porque
tenemos dos columnas.
media=mean(x) Obtenciónde la media
max(x) El máximode los valores.
min(x) El mínimode los todos los valores
std(x) Ladesviación estándar
hist(x) Histograma.
Interpolación
Matlab tiene varios comandos que nos permiten hacerinterpolaciones, uno de los métodos es por
medio de mínimos cuadrados.
Mínimos cuadrados
Se crean varios puntos.
x = [ 0 .1 .2 .3 .4 .5 .6 .7 .8 .9 1 ];
y =[ 0.09 .12 .24 .27 .4 .45 .61 .67 .71 .63 .59];
se muestra los puntos a los cuales se les va a interpolar
plot (x,y,'*')
Se utiliza una aproximación de segundo orden, porque lafunción es no lineal.
n=2 ; Segundoorden.
p=polyfit(x,y,n)Crea los elementos del polinomio quehará la interpolación.
El polinomio es del tipo ax2 + bx + c = 0
f=linspace(0, 1, 100); Formamosuna serie de puntos para gráficar.
z=polyval(p,f); Evaluaciónpolinomial.
plot(x,y,'*',x,y,f,z,':') Hacemosla gráfica de la interpolación.
Podemos ver que la interpolación es pobre. Ahora tratemos dehacerla con un polinomio de quinto
grado, el procedimiento es el mismo que elanterior.
n=5;
p = polyfit(x,y,n)
z = polyval(p,f);
plot(x,y,'*',x,y,f,z,':')
Otra forma de interpolar, es con el comando interp1.
g=interp1(x,y,f)
Se puede observar en la gráfica resultante, que parece comouna aproximación lineal entre cada
punto.
plot(x,y,'*',f,g)
Para una aproximación más suave es recomendable usar el comando spline, quehace una
interpolación tipo cubic spline.
g=spline(x,y,f)
plot(x,y,'*',f,g)
Polinomios
MATLAB puede sacar ls raíces de un polinomio. Para capturar el polinomio deabajo, solamente
ponemos el valor de cada variable, respetando su lugar. Como nohay termino x1 ,de todos modos
se captura como cero.
X3 + 5x2 - 2
p = [1 5 0 -2]
Para sacar las raíces escribimos.
r=roots(p)
Tips de memoria.
Para obtener la máxima velocidad en Matlab debemos tratar de vectorizar losalgoritmos, por
ejemplo :
a=0
for a = 0:.0.1:10
a = a + 1;
y(a)=sin(t)
end
La versión vectorizada sería :
t= 0:0.01:10;
y = sin(t)
El primer ejemplo en MATLAB toma aproximadamente 15 segundos,mientras que el segundo toma
sólo 0.6 segundos.
Se recomienda ver los tutoriales propios de MATLAB como el intro, expo, elmanual de
MATLAB y otros libros de consulta.
Bibliografía
Resumen realizado a partir del tutorial electrónico del paquete Matlab porEnder José López
Méndez (Estudiante de la Escuela de Petróleo de la Facultadde Ingeniería de la Universidad del
Zulia Maracaibo Venezuela, Abril de 2003
Autor:
Ender José López Méndez
===============================================
=============
CONEXIONISMO
ÍNDICE
We www.e-
b torredebabel.com
GALT:#660000;G es
VII. 2. CONCEPTOS Y MECANISMOS BÁSICOS PARA EL PROCESAMIENTO EN LAS REDES CONEXIONISTAS - LEER
VII. 2.
VII. 2. 1. Notación utilizada para representar los elementos y mecanismos de las redes conexionistas - Leer VII. 2. 1
VII. 2. 2. La entrada (input) total. La regla de propagación - Leer VII. 2. 2.
VII. 2. 3. El estado de activación - Leer VII. 2. 3.
VII. 2. 4. La regla o función de activación - Leer VII. 2. 4.
VII. 2. 4. a. Concepto y fórmula general - Leer VII. 2. 4. a.
VII. 2. 4. b. Tipos de funciones de activación - Leer VII. 2. 4. b.
VII. 2. 5. La salida de las unidades. La función de transferencia - Leer VII. 2. 5.
VII. 2. 5. a. Concepto y fórmula general de la función de transferencia - Leer VII. 2. 5. a.
VII. 2. 5. b. Tipos de función de salida o de transferencia - Leer VII. 2. 5. b.
VII. 2. 6. Reglas de aprendizaje - Leer VII. 2. 6.
VII. 2. 6. a. Concepto y modelos de aprendizaje - Leer VII. 2. 6. a.
VII. 2. 6. b. Regla de Hebb (o regla del producto) - Leer VII. 2. 6. b.
VII. 2. 6. c. Regla de Widrow-Hoff o regla delta o regla del menor error cuadrático - Leer VII. 2. 6. c.
VII. 2. 6. d. Regla Delta generalizada (o regla de propagación hacia atrás) - Leer VII. 2. 6. d.
VIII. ALGUNOS MODELOS DE REDES NEURONALES - LEER VIII.
VIII. 1. REDES DE McCULLOCH-PITTS O REDES DE NEURONAS FORMALES - LEER VIII. 1.
CONEXIONISMO
I. INTRODUCCIÓN
formulario de búsqueda
Web www.e-torredebabel.com
pub-3445538573 1 6474334069 ISO-8859-1 ISO-8859-1
GALT:#660000;G es
We www.e-
b torredebabel.com
GALT:#660000;G es
5. Toda conexión viene caracterizada por un valor de fuerza del trazo o peso de
la conexión, también expresado de forma cuantitativa.
11. Dado que toda la actividad de la red no es otra cosa que cálculos o
transformaciones de números, se puede afirmar que en realidad la red neural
es un dispositivo para computar una función, un sistema capaz de
transformar la información de entrada en información de salida. La función
presente en la red y que realiza el computo es básicamente el patrón o
conjunto de pesos sinápticos de las unidades.
CONEXIONISMO
We www.e-
b torredebabel.com
GALT:#660000;G es
CONEXIONISMO
We www.e-
b torredebabel.com
GALT:#660000;G es
CONEXIONISMO
We www.e-
b torredebabel.com
• para que la neurona responda enviando una señal eléctrica a lo largo del
axón (el impulso nervioso) es necesario que los estímulos que recibe de
otras unidades alcancen un cierto nivel eléctrico (el umbral del impulso
eléctrico o intensidad mínima del estimulo que es suficiente para provocar
el impulso nervioso); de este modo, la respuesta de la célula ante los
estímulos tiene la forma de todo o nada.
V. 3. PROCESAMIENTO Y
nos permite emparejar los vectores de entrada (1,1) y (1,-1) con los
vectores de salida (-1,1) y (-1,-1):
la entrada +1 +1 produce: 1x -1 + 1x 0 1x 0 + 1x 1 = -1 1
CONEXIONISMO
We www.e-
b torredebabel.com
GALT:#660000;G es
VOLVER AL ÍNDICE
VOLVER AL ÍNDICE
VI.2.2. EL RECONOCIMIENTO DE PATRONES
VOLVER AL ÍNDICE
CONEXIONISMO
We www.e-
b torredebabel.com
GALT:#660000;G es
Final del formulario
VOLVER AL ÍNDICE
VOLVER AL ÍNDICE
VOLVER AL ÍNDICE
CONEXIONISMO
We www.e-
b torredebabel.com
GALT:#660000;G es
Conceptos y mecanismos
Conceptos y elementos de la
básicos para el procesamiento
estructura conexionista
en las redes conexionistas
La regla de propagación
Tipos de sinapsis:
a) sinapsis inhibidora: en este tipo de conexión el impulso transmitido por una
neurona inhibe la activación de la neurona con la que está conectada: si la neurona
j le transmite a la neurona i un impulso que inhibe a ésta, el nivel de activación de
la neurona i decrecerá, y decrecerá en función del peso establecido para dicha
conexión y de la cantidad de información que se transmite por dicha sinapsis. Se
suele representar la sinapsis inhibidora mediante puntos negros;
b) sinapsis excitadora: en este tipo de conexión el impulso transmitido por una
neurona excita la activación de la neurona con la que está conectada: si la neurona
j está conectada mediante una sinapsis excitadora con la neurona i, el nivel de
activación de la unidad i aumentará si le llega información por dicha conexión desde
la neurona j, y lo hará en función del peso de la conexión y de la magnitud de la
señal o información que por dicha conexión se le envía. Se suele representar este
tipo de conexión mediante puntos huecos.
Volver al índice
Volver al índice
Veamos un ejemplo:
valores de los pesos
wi1: -0.5 wj1: 1
wi3: -1 wj3: 0
ui uj
u1 -0.5 1
u2 0.3 0.2
u3 -1 0
u4 0.6 -0.3
CONEXIONISMO
We www.e-
b torredebabel.com
GALT:#660000;G es
• Función identidad
• Función de activación tipo umbral
VII.2.5. La salida de las unidades. La función de transferencia
• aprendizaje supervisado
• aprendizaje no supervisado
• aprendizaje reforzado
VII.2.6.b. Regla de Hebb (o regla del producto)
2. cada unidad utiliza una función de salida, fi, que calcula la señal de salida (“oi”, del
inglés output o salida) a partir del estado de activación que en ese momento tiene
la neurona;
3. la señal de salida se trasmite a otras unidades con las que dicha neurona está
conectada;
4. una neurona recibe la señal de todas las unidades con las que está conectada, pero
lo hace teniendo en cuenta:
• el peso asociado a cada una de las conexiones, wij (del inglés “wheit”,
peso)
• y la intensidad o señal que se transmite por la sinapsis;
a la suma de todas las señales ponderadas por el peso de las correspondientes
conexiones se le llama NETi
Los valores que transmite una neurona a las neuronas con las que está
conectada se representan como “o” (oj sería el valor que transmite la neurona j).
Pongamos que los valores que transmite las neuronas de la capa de entrada, y los
pesos correspondientes a sus conexiones con la neurona i son los siguientes:
(0.5 x -0.5) + (0.3 x 1) + (0.5 x 0.5) + (-1 x -0.3) = -2.5 + 0.3 + 2.5 + 0.3
= 0.6
I. CONTINUOS
a) abiertos; los modelos que utilizan este tipo reciben el nombre de modelos no
acotados (o modelos sin límite): el valor de activación de una neurona i puede
ser cualquier número real;
b) o cerrados; los modelos que utilizan este tipo reciben el nombre de modelos
acotados (o modelos con límites): pueden tomar cualquier valor real
comprendido en un intervalo con un valor mínimo y un valor máximo, por
ejemplo, el intervalo {0,1}, o el intervalo {-1,1}, generalmente siguiendo una
función sigmoidal.
a) los más frecuentes son los valores binarios: la neurona sólo puede tener dos
estados: activada o desactivada, estados que se suelen identificar mediante el
par de valores {0,1}, representado el 1 el estado de activado y el 0 el estado de
desactivado o en reposo, o bien {-1,+1}; o, simplemente, {–,+}, representado
el 1 (o el +) el estado de activado y el -1 (o el –) el estado de desactivado.
b) en otros casos son valores discretos no binarios, valores que están entre
cualquiera de un pequeño conjunto: por ejemplo, pueden estar restringidos al
conjunto de valores {-1, 0, +1}, o a un pequeño conjunto finito de valores
tales como {1, 2, 3, 4, 5, 6, 7, 8, 9}.
Volver a al índice
Como ocurría para los valores de activación de cada neurona, existen múltiples
funciones de activación, y es el diseñador de la red quien debe establecer la que se ha
de utilizar en función de las peculiaridades de la tarea para la que se diseña la red.
Volver a al índice
VII. 2. 4. b. Tipos de funciones de activación
• Función identidad
Se trata de una función muy simple que no tiene en cuenta el anterior estado
de activación de la unidad. Se puede expresar con la siguiente fórmula:
Con esta variante conseguimos que la unidad o neurona mantenga cierto estado
de activación durante varios ciclos, incluso en el caso de que las entradas sean cero,
en esta última circunstancia en cada período de tiempo su estado de activación
corresponderá a la mitad del valor de activación anterior. Con este tipo de funciones de
activación se garantiza que cada neurona no varíe en su estado y en su respuesta
demasiado bruscamente (recordamos que la respuesta de la red depende en gran
medida de los estados de activación de las unidades que la componen).
Volver a al índice
Las unidades o neuronas transmiten señales a otras con las que están
conectadas. La intensidad de estas señales y, por lo tanto, el grado en que influyen en
las unidades con las que están conectadas está determinado por dos factores:
• su grado de activación;
• una función matemática que modula dicho estado de activación provocando la
señal de salida, función que suele ser la misma para todas las unidades.
Por lo tanto, unidades con el mismo grado de activación pero distintas funciones
de salida producirán distintas señales (oi). A dicha función se le llama habitualmente
función de transferencia, y puede representarse del siguiente modo:
oi(t+1) = fi[ai(t+1)]
fi[ai(t+1)] = ai(t+1)
oi(t+1) = ai(t+1)
y, en representación gráfica:
La función de identidad es adecuada cuando la función de activación que hemos
utilizado para calcular la activación de la unidad es de tipo umbral. En este caso la
activación de la unidad será 1 si está activa y 0 si está inactiva, y la salida
correspondiente será 1 en el primer caso y 0 en el segundo (o 1 y -1 si hemos
preferido esta notación).
• Función umbral
O función escalón. Su uso es más frecuente que la función identidad. Con la
función umbral la unidad envía señales de salida sólo cuando su activación es mayor o
igual que cierto valor umbral. La respuesta de salida será binaria o discreta: sólo 1 ó 0
(o bien 1 y -1 si utilizamos esta otra notación), y dependerá de si el valor de activación
(que en este caso es un valor continuo) supera cierto umbral.
1 si ai(t+1) ≥
umbral
oi(t+1) =
0 si ai(t+1) <
umbral
si el umbral es 0 tendríamos
1 si ai(t+1) ≥
0 1 si ai(t+1) ≥ 0
oi(t+1) = oi(t+1) =
0 si ai(t+1) < -1 si ai(t+1) < 0
0
y, en representación gráfica:
Si en lugar de 0 el umbral fuese otro número, el escalón quedaría desplazado.
• Función mixta
Con esta función, si la activación es menor que un límite inferior, la salida es 0
(ó -1). Si la activación es mayor o igual que el límite superior, entonces la salida es 1.
Si la activación está entre los límites, la salida es una función lineal de la activación
0 si x < -C -1 si x < - C
1 si x ≥ C 1 si x ≥ C
f(x) = f(x) =
x/ (2C) + ½ en otro
caso a.x en otro caso
y, en representación gráfica
C es el límite superior de la activación y -C el límite inferior
• Funciones de Saturación
Son las funciones en las que los incrementos o disminuciones de la intensidad
de la actividad de la unidad producen incrementos o disminuciones de los valores de
salida hasta llegar a unos límites de salida máxima o mínima a partir de los cuales la
salida se estabiliza y es la misma a pesar del incremento o disminución de la
intensidad de actividad de la unidad. Dicho de otro modo: mediante las funciones de
saturación conseguimos que el aumento de la actividad de la unidad por encima de un
límite no se traduzca en un incremento de salida (y lo mismo para los valores
mínimos). Las funciones de saturación establecen límites máximos y mínimos para las
salidas (por ejemplo 1 y -1) y aunque la actividad de la unidad esté por encima de
dichos límites, la salida es siempre el valor máximo.
• Función Sigmoide
Es una de las funciones de transferencia más utilizadas. Produce salidas
continuas y proporcionales al nivel de activación de la neurona dentro del
rango [0,1]; sus niveles de saturación son 0 y 1, por lo que su salida máxima
será 1 y la mínima 0. Cuando el nivel de activación supere al umbral de
saturación máximo la salida seguirá siendo 1 y cuando el nivel de activación
sea inferior al umbral de saturación mínimo la salida seguirá siendo 0.
• Neuronas lineales
Tienen funciones de activación y de transferencia lineales, por lo que la
composición de ambas funciones da lugar a otra función lineal. En estas neuronas la
salida oi es linealmente dependiente (es decir, proporcional) de sus entradas Oj
ponderadas cada una de ellas por el peso asociado a las sinapsis (Wij) por las que le
llega a la unidad i las entradas señal. La respuesta de las neuronas lineales no está
acotada y puede tomar cualquier valor.
Está demostrado que los cómputos que realizan redes con más de dos capas
con unidades lineales se pueden realizar también con redes de dos capas, con lo que
se hace superfluo construir redes de más de dos capas si las funciones utilizadas son
siempre lineales.
Las primeras redes que aparecieron eran de este tipo y presentaban por esta
característica dos grandes problemas:
• Neuronas no lineales
En estas neuronas su respuesta no es una función lineal o proporcional de sus
entradas pues o bien la función de activación o bien la de transferencia o bien ambas
son funciones no lineales. Este es el caso cuando la unidad o neurona utiliza las
funciones no lineales Umbral, Sigmoide o Hiperbólica Tangente.
Estas neuronas son más interesantes que las anteriores pues producen
respuestas acotadas y con ello resuelven en gran medida los problemas anteriores; por
ejemplo en el caso del uso de la función umbral, la neurona produce una salida
discreta (0 o 1 por ejemplo) con lo que no se da el problema de la fluctuación de la
respuesta. En el caso de neuronas con función sigmoide o hiperbólica tangente las
repuestas sólo varíen significativamente ante los cambios de las entradas cuando el
valor de la actividad de la neurona está a medio camino entre los dos niveles de
saturación, mientras que cuando se alcanza los niveles de saturación pequeñas
fluctuaciones en los datos de entrada no producen cambios en la respuesta; con ello se
consigue el efecto de que la neurona no produce salidas con cambios significativos
cuando las nuevas señales de entrada no son muy diferentes de los actuales.
Volver a al índice
En las redes neuronales se dice que la red aprende cuando es capaz de ofrecer
ante un determinado patrón de entrada el correspondiente patrón de salida. Esta
capacidad para emparejar adecuadamente los vectores de entrada y los vectores de
salida lo consigue la red mediante la modificación de los patrones de interconexión. Las
redes neuronales biológicas realizan estas modificaciones mediante, al menos, los
siguientes procedimientos:
Los aspectos 1 y 2 han sido poco tratados en el marco de las redes neuronales
conexionistas. De todos modos, pueden considerarse como un caso especial de 3,
puesto que el cambio de la fuerza de conexión de cero a algún otro valor, sea positivo
o negativo, tiene un efecto similar al hecho de desarrollarse una nueva conexión; y, a
la inversa, siempre que se modifique la fuerza de conexión situándola en cero es como
si se perdiese una conexión existente. En definitiva, el aprendizaje en las redes
conexionistas consiste en la modificación de las intensidades de las
conexiones; las reglas de aprendizaje no son otra cosa que las reglas o
procedimientos para cambiar los pesos sinápticos o pesos de las conexiones.
Volver a al índice
Volver a al índice
La regla delta no se puede utilizar en redes que tengan más de dos capas de
unidades pues con él no es posible averiguar en cuánto colaboran las unidades de las
capas intermedias en el error total. Dado que hay muchos problemas de clasificación
que las redes de dos capas no pueden resolver y sí lo pueden hacer las redes
multicapa, es necesario ampliar la regla delta para aplicarla a estas últimas. La regla
delta generalizada es precisamente una modificación de la regla delta para su
aplicación a redes multicapa Se suele atribuir su desarrollo a David E. Rumelhart,
Geoffrey Hinton, Robert J. Williams (“Learning internal representations by error
propagation”, en Parallel Distributed Processing: Explorations in the Microstructure of
Cognition, vol. 1, Foundations, ed. David E. Rumelhart y James L. McClelland,
Cambridge: Mit Press, 1986).
La regla delta generalizada es una de las más utilizadas en las redes conexionistas
multicapa alimentadas hacia adelante; desde un punto de vista histórico y
metodológico supuso un impulso muy importante para el conexionismo pues consiguió
superar las dificultades matemáticas descubiertas por Minsky y Papert y que tanto
frenaron la investigación en redes neurales. Con este algoritmo de aprendizaje
utilizado en redes multicapa es posible resolver el problema de la disyunción exclusiva
y el de la distinción entre T y C (recordamos que estos problemas se utilizaron como
ejemplo de las limitaciones del Perceptrón).
CONEXIONISMO
búsqueda
www.e-
torredebabel.com
We www.e-
b torredebabel.com
GALT:#660000;G es
El conexionismo parece ser una teoría que apela al cerebro para explicar
competencias atribuidas tradicionalmente a la mente. Con esto se quiere sugerir que
desde el conexionismo se defiende la tesis de que lo mental no tiene un estatuto
propio, que la vida mental no posee un tipo de regularidades que puedan dar lugar a
una disciplina independiente de la biología (más exactamente de las ciencias del
sistema nervioso). En esta línea de interpretación se incluyen, por ejemplo, las tesis de
dos de los representantes más destacados en el campo de la reflexión teórica sobre el
sentido, valor y límites del conexionismo, los Churchland.
células
granulares (g);
son las únicas
células excitatorias,
el resto son
inhibitorias;
células de Golgi
(Go) controlan los
umbrales de las
células granulares;
células de cesta
(Ba): controlan los
umbrales de las
células de Purkinje
(Pu)
células
estrelladas (S):
controlan los
umbrales de las
células de Purkinje
(Pu)
La red se comporta
como una red ACAM
y asocia los
patrones de las
fibras musgosas
(MF) y de las
células en
pendiente (CF).
CONEXIONISMO
APÉNDICE: MATRICES
Principio del formulario
w w w .e-torredeb
formulario de búsqueda
Web www.e-torredebabel.com
pub-3445538573 1 6474334069 ISO-8859-1 ISO-8859-1
GALT:#660000;G es
+ + = =
Ejemplo
+ = =
2 =
Multiplicación de matrices
Dos matrices se pueden multiplicar si y sólo si el número de columnas de la
primera matriz es igual al número de filas de la segunda
AxB=
Ejemplo
* = =
Ejemplo
* = =
Ejemplo
* = =2
CONEXIONISMO
We www.e-
b torredebabel.com
GALT:#660000;G es
http://www.e-torredebabel.com/Psicologia/Conexionismo/Conexionismo-
Indice.htm
==============================================
Tabla de contenidos
A. Referencias interesantes
B.1. PREAMBLE
B.5. MODIFICATIONS
B.9. TRANSLATION
B.10. TERMINATION
Lista de tablas
Lista de figuras
Lista de ecuaciones
http://softwarelibre.unsa.edu.ar/docs/descarga/2003/curso/htmls/redes_neuron
ales/index.html