Autotest en la conexión y durante la ejecución del programa

Las redes neuronales están compuestas de nodos o unidades (véase
Figura 20.15) conectadas

a través de conexiones dirigidas. Una conexión de la unidad j a la unidad i sirve

para propagar la activación aj de j a i. Además cada conexión tiene un peso numérico

Wj,i asociado, que determina la fuerza y el signo de la conexión. Cada unidad i primero

calcula una suma ponderada de sus entradas:

Luego aplica una función de activación g a esta suma para producir la salida:

Nótese que se ha incluido un peso de sesgo
W0, i conectado a una entrada fija a0 = -1.

Se explicará por qué en un momento.

La función de activación g se diseña con dos objetivos. Primero, queremos que la unidad esté «activa» (cercana a +1) cuando se proporcionen las entradas «correctas», e «inactiva» (cercana a 0) cuando se den las entradas «erróneas». Segundo, la activación tiene que ser no lineal, en otro caso la red neuronal en su totalidad se colapsaría con una sencilla función lineal (véase Ejercicio 20.17). En al Figura 20.16 se muestran dos posibles funciones g: la función umbral y la función sigmoide (también conocida como función logística)
. La función sigmoide tiene la ventaja de ser diferenciable, lo cual, como veremos más adelante, es importante para el algoritmo del aprendizaje de los pesos Nótese que ambas funciones tienen un umbral (ni severo ni suave) de cero; los pesos de sesgo W0,i constituyen el umbral real de la unidad, en el sentido de que la unidad se activa cuando la suma de los pesos de las entradas «reales» ©nj =1 Wj,i aj (es decir, incluyendo

la entrada del sesgo) excede W0,i. Podemos asemejar la operación de las unidades individuales a puertas lógicas. Esto es importante ya que significa que podemos usar estas unidades para construir una red que calcule cualquier función booleana de las entradas.

Estructuras:Existen dos categorías principales de estructuras de redes neuronales
: acíclicas o redes con alimentación-hacia-delante y cíclicas o redes recurrentes.
Una red con alimentación- hacia-delante representa una función de sus entradas actuales; de este modo, no tiene otro estado interno que no sea el de sus propios pesos. Por otro lado, una red recurrente permite que sus salidas alimenten sus propias entradas. Esto significa que los niveles de activación de la red forman un sistema dinámico que debe alcanzar un estado estable, exhibir oscilaciones o incluso un comportamiento caótico. Además, la respuesta de la red dadas unas entradas depende de su estado inicial, que dependerá de entradas previas. Por lo tanto, las redes recurrentes (a diferencia de las redes con alimentación hacia delante) pueden tener memoria a corto plazo. Esto las hace más interesantes como modelos del cerebro, pero también más difíciles de entender. Esta sección se concentrará en las redes con alimentación hacia delante: al final del capítulo se proporcionan algunas lecturas adicionales sobre redes recurrentes. Analicemos más detalladamente la afirmación de que una red


perceptrones:El encadenamiento es una técnica del condicionamiento operante que consiste en unir una secuencia de conductas (que ya posee el individuo en su repertorio) mediante el reforzamiento de sus combinaciones


Una red con todas las entradas conectadas directamente a las salidas se denomina red

neuronal de una sola capa, o red perceptrón.
Ya que cada unidad de salida es independiente de las otras (cada peso afecta sólo a una de las salidas) podemos limitar nuestro estudio a los perceptrones con una única unidad de salida,


Se denomina arquitectura a la topología o estructura en la que las distintas neuronas constituyentes de la red neuronal se asocian. En un ANS, los nodos se conectan por medio de sinapsis; esta estructura de conexiones sinápticas determina el comportamiento de la red. Las conexiones sinápticas son direccionales, es decir, la información sólo puede fluir en un sentido (desde la neurona presináptica a la neurona postsináptica).

En general, las neuronas se suelen agrupar en unidades estructurales denominadas capas. Dentro de una capa las neuronas pueden agruparse formando grupos neuronales. Dentro de una misma capa o agrupación, las neuronas suelen ser del mismo tipo. El conjunto de una o más capas constituye una red neurona.L. Podemos distinguir tres tipos de capas: (Ver figura 14)

à Capa de entrada: compuesta por neuronas que reciben datos o señales procedentes del entorno.

à Capa de salida: aquella cuyas neuronas proporcionan la respuesta de la red neuronal.

à Capa oculta: aquella que no tiene una conexión directa con el entorno.

multicapa

Ahora consideraremos redes con unidades ocultas. El caso más común supone una única

capa oculta11, como en la Figura 20.24. La ventaja de añadir capas ocultas es que se

amplía el espacio de hipótesis que puede representar la red. Piense en cada unidad oculta

como un perceptrón que representa una función umbral suave en el espacio de entradas,

como se muestra en la Figura 20.19(b). Entonces, piense en una unidad de salida

como una combinación lineal con umbral suave de varias de estas funciones. Por ejemplo,

añadiendo dos funciones de umbral suave que se oponen y pasando un umbral al

resultado, podemos obtener una función «cresta» como se muestra en la Figura 20.23(a).

Combinando dos de estas crestas, haciendo un ángulo recto entre ellas (es decir, combinando

la salida de cuatro unidades ocultas), obtenemos un «montículo» como se

muestra en la Figura 20.23(b).

Con más unidades ocultas, podemos producir más montículos de diferentes tamaños

en más lugares. De hecho, con una única capa oculta suficientemente grande, es posible

representar cualquier función continua de las entradas con una precisión arbitraria;

con dos capas, incluso se pueden representar funciones discontinuas12. Desafortunadamente,

para una estructura de red determinada, es difícil caracterizar exactamente qué

funciones pueden ser representadas y cuáles no.

Suponga que queremos construir una red con una capa oculta para el problema del

restaurante. Tenemos 10 atributos que describen cada ejemplo, así que necesitamos 10

unidades de entrada. ¿Cuántas unidades ocultas se necesitan? En la Figura 20.24, se muestra

una red con cuatro unidades ocultas que resulta ser apropiada para este problema. El

problema de escoger el número adecuado de unidades ocultas con antelación todavía no

está bien comprendido. (Véase Apartado 20.5.)


Las redes neuronales son funciones complejas no lineales con muchos parámetros.

Sus parámetros pueden aprenderse a partir de datos con ruido y se han usado

para miles de aplicaciones.

• Un perceptrón es una red neuronal con alimentación hacia delante sin unidades

ocultas que puede representar sólo funciones linealmente separables.
Si los datos

son linealmente separables, se puede usar una regla de actualización de pesos

sencilla para ajustar exactamente los datos.

• Las redes neuronales multicapa con alimentación hacia delante pueden representar

cualquier función, con suficientes unidades. El algoritmo de propagación

hacia atrás (back-propagation) implementa un descenso del gradiente en el espacio

de parámetros para minimizar el error de la salida.



● Sistemas con encadenamiento hacia delante

● Un sistema de reglas se basa en la definición de reglas – Si X entonces Y

● X es una condición

● Y es una acción – Modificar la memoria de trabajo – Actuar sobre otros elementos externos

Al sistema de reglas se le puede incluir información externa

● Las reglas se activan según la información que hay en la memoria de trabajo (working memory)

● La memoria de trabajo se modifica

    • Con información asertada de forma externa

    • Con información asertada desde una regla

encadenamiento hacia adelante


La idea es simple: comenzar a partir de las sentencias atómicas de la base de conocimiento y aplicar el Modus Ponens hacia delante, añadiendo las sentencias atómicas nuevas hasta que no se puedan realizar más inferencias.


Comenzando con los hechos conocidos, el proceso dispara todas las reglas cuyas premisas se satisfacen, añadiendo sus conclusiones al conjunto de hechos conocidos. El proceso se va repitiendo hasta que la petición es respondida (asumiendo que sólo se requiere una respuesta) o no se pueden añadir más hechos. FíJesé en que un hecho no es «nuevo», sólo es el renombramiento de un hecho conocido. Una sentencia es el renombramiento de otra si son idénticas excepto en los nombres de las variables.

hacia atrás

El algoritmo se invoca con una lista de objetivos que contiene un solo elemento, la petición original, y devuelve el conjunto de todas las sustituciones que satisfacen la petición. La lista de objetivos se puede ver como una «pila» a la espera de ser procesada; si todos los objetivos se pueden satisfacer, entonces la rama actual de la demostración tiene éxito. El algoritmo toma el primer objetivo de la lista y encuentra cada cláusula de la base de conocimiento cuyo literal positivo, o cabeza, se unifica con él. Cada una de estas cláusulas crea una nueva llamada recursiva en la que las premisas, o cuerpo, de la cláusula se añaden a la pila de objetivos. Recuerda que los hechos son cláusulas con cabeza y sin cuerpo, así, cuando el objetivo se unifica con un hecho conocido, no se añaden más subobjetivos a la pila, y el objetivo se resuelve.



Preguntas

  1. ¿Qué diferencias ves entre ”insert“ e ”insertLogical“?

Insert no tiene en cuenta las reglas actuales, es decir, si ya se ha realizado el insert no debería volver a hacerse, insert lo haría , insertLogic no por que ya ve que se ha hecho


es similar a insertar, pero el objeto se retraerá automáticamente cuando no haya más hechos que respalden la verdad de la regla de activación actual.




  1. ¿Puedes decir a primera vista en qué orden se ejecutan las reglas? Explícalo con alguno de los ejemplos vistos

Si tienen una prioridad definida como salience donde tendrá mayor prioridad el que mayor numero tenga asignado, en caso de haber 2 o mas iguales se realizara primero la regla que este antes definida (como una secuencia )




  1. ¿Existen bucles infinitos en los sistemas de reglas? ¿Cómo crearías uno?

Si, pues por ejemplo con respecto a la practica la función(Renovación) que elimina a los políticos corruptos, que no elimine entoces el programa entra en un bucle diciendo que hay políticos corruptos para eliminar pero no se eliminan




  1. La base de hechos inicial con la que arranca el programa, ¿es igual al final del mismo?

No ya que las reglas pueden alterar dichos hechos con los que arranca el programa