viernes, 19 de noviembre de 2010

MODELO DE REDES NEURONALES ART


Perceptrón es un tipo de red neuronal artificial desarrollado por Frank Rosenblatt, también puede entenderse como perceptrón la neurona artificial y unidad básica de inferencia en forma de discriminador lineal, que constituye este modelo de red neuronal artificial, esto debido a que el perceptrón puede usarse como neurona dentro de un perceptrón más grande u otro tipo de red neuronal artificial
El perceptrón usa una matriz para representar las redes neuronales y es un discriminador terciario que traza su entrada x (un vector binario) a un único valor de salida f(x) (un solo valor binario) a través de dicha matriz.

Definición:






Donde w es un vector de pesos reales y es el producto punto (que computa una suma ponderada). u es el 'umbral', el cual representa el grado de inhibición de la neurona, es un término constante que no depende del valor que tome la entrada.



PERCEPTRÓN
El valor de f(x) (0 o 1) se usa para clasificar x como un caso positivo o un caso negativo, en el caso de un problema de clasificación binario. El umbral puede pensarse de cómo compensar la función de activación, o dando un nivel bajo de actividad a la neurona del rendimiento. La suma ponderada de las entradas debe producir un valor mayor que u para cambiar la neurona de estado 0 a 1.

Aprendizaje


 
El algoritmo de aprendizaje es el mismo para todas las neuronas, todo lo que sigue se aplica a una sola neurona en el aislamiento. Se definen algunas variables primero:
  • el x(j) denota el elemento en la posición j en el vector de la entrada
  • el w(j) el elemento en la posición j en el vector de peso
  • el y denota la salida de la neurona
  • el δ denota la salida esperada
  • el α es una constante tal que 0 < α < 1
Los pesos son actualizados después de cada entrada según la regla de actualización siguiente:



Por lo cual, el aprendizaje es modelado como la actualización del vector de peso después de cada iteración, lo cual sólo tendrá lugar si la salida y difiere de la salida deseada δ. Para considerar una neurona al interactuar en múltiples iteraciones debemos definir algunas variables más: 
  • xi denota el vector de entrada para la iteración i
  • wi denota el vector de peso para la iteración i
  • yi denota la salida para la iteración i
  • denota un periodo de aprendizaje de m iteraciones
En cada iteración el vector de peso es actualizado como sigue:

·       Pasar (xi,yi,wi) a la regla de actualización w(j)' = w(j) + α(δy)x(j)
El periodo de aprendizaje Dm se dice que es separable linealmente si existe un valor positivo γ y un vector de peso w tal que:

 para todos los i.

Novikoff (1962) probo que el algoritmo de aprendizaje converge después de un número finito de iteraciones si los datos son separables linealmente y el número de errores está limitado a:


Sin embargo si los datos no son separables linealmente, la línea de algoritmo anterior no se garantiza que converja.

Funcionamiento

En la siguiente figura se representa una neurona "artificial", que intenta modelar el comportamiento de la neurona biológica. Aquí el cuerpo de la neurona se representa como un sumador lineal de los estímulos externos zj, seguida de una función no lineal yj = f(zj). La función f(zj) es llamada la función de activación, y es la función que utiliza la suma de estímulos para determinar la actividad de salida de la neurona.


 
Este modelo se conoce como perceptrón de McCulloch-Pitts, y es la base de la mayor parte de las arquitectura de las RNA que se interconectan entre sí. Las neuronas emplean funciones de activación diferentes según la aplicación, algunas veces son funciones lineales, otras funciones sigmoidales (p.ej. la tanh), y otras funciones de umbral de disparo. La eficiencia sináptica se representa por factores de peso de interconección wij, desde la neurona i, hasta la neurona j.

Los pesos pueden ser positivos (excitación) o negativos (inhibición). Los pesos junto con las funciones f(z) dictan la operación de la red neuronal. Normalmente las funciones no se modifican de tal forma que el estado de la red neuronal depende del valor de los factores de peso (sinápsis) que se aplica a los estímulos de la neurona.

En un perceptrón, cada entrada es multiplicada por el peso W correspondiente, y los resultados son sumados, siendo evaluados contra el valor de umbral, si el resultado es mayor al mismo, el perceptrón se activa.

Limitantes

El perceptrón es capaz tan sólo de resolver funciones definidas por un hiperplano (objeto de dimensión N-1 contenida en un espacio de dimensión N). que corte un espacio de dimensión N. Un ejemplo de una función que no puede ser resuelta es el operador lógico XOR.

Una explicación mas sencilla de un hiperplano sería, hablando en un plano de dos dimensiones, una línea que separa a los elementos existentes en dos grupos. El perceptrón sólo puede resolver una función, si todos los posibles resultados del problema pueden separarse de ésta forma (en dos secciones) es decir, que no se combinen entre sí.

Entrenamiento

El entrenamiento de un perceptrón es por medio de la regla de aprendizaje delta:
Para cada peso W se realiza un ajuste dW según la regla:
dW = LR ( T - Y ) X
Donde LR es la razón de aprendizaje, T el valor deseado, Y el valor obtenido, y X la entrada aplicada al perceptrón.

Tipos de perceptrón

El Perceptrón básico de dos capas (entrada con neuronas lineales, analógicas, y la de salida con función de activación de tipo escalón, digital) solo pude establecer dos regiones separadas por una frontera lineal en el espacio de patrones de entrada, donde se tendría un hiperplano.

Un Perceptrón con tres niveles de neuronas puede formar cualquier región convexa en este espacio. Las regiones convexas se forman mediante la intelección entre las regiones formadas por cada neurona de la segunda capa, cada uno de estos elementos se comporta como un Perceptrón simple, activándose su salida para los patrones de un lado del hiperplano.

Un Perceptrón con cuatro capas puede generar regiones de decisión arbitrariamente complejas. El proceso de separación en clases que se lleva a cabo consiste en la partición de la región deseada en pequeños hipercubos. Cada hipercubo requiere 2n neuronas en la segunda capa (siendo n el numero de entradas a la red), una por cada lado del hipercubo, y otra en la tercera capa, que lleva a cabo el and lógico de la salida de los nodos del nivel anterior. La salida de los nodos de este tercer nivel se activaran solo para las entradas de cada hipercubo. Los hipercubos se asignan a la región de decisión adecuada mediante la conexión de la salida de cada nodo del tercer nivel solo con la neurona de salida (cuarta capa) correspondiente a la región de decisión en la que este comprendido el hipercubo llevándose a cabo una operación lógica Or en cada nodo de salida. Este procedimiento se pude generalizar de manera que la forma de las regiones convexas sea arbitraria, en lugar de hipercubos.
 
En teoría, el Perceptrón de 4 capas puede resuelve una gran variedad de problemas cuyas entradas sean analógicas, la salida sea digital y sea linealmente separable. El problema práctico radica en el numero de neuronas, en el numero idóneo de capas ocultas, la extensión de la función de activación, el tiempo de entrenamiento de la red, las implicaciones en la generación de ruido (al tener un numero excesivo de neuronas) en contraparte con la ventaja de tener un sistema tolerante a  fallas al tener un numero de neuronas redundante.


Aplicaciones del perceptrón
El rango de tareas que el Perceptrón puede manejar es mucho mayor que simples decisiones y reconocimiento de patrones. Por ejemplo, se puede entrenar una red para formar el tiempo pasado de los verbos en ingles, leer texto en ingles y manuscrito. El Perceptrón multicapa  (MLP)  puede ser usado para la predicción de una serie de datos en el tiempo; tal a sido su  éxito en la medición de  la demanda de gas y electricidad, además de la predicción de cambios en el valor de los instrumentos financieros.

Predicción de mercados financieros, diagnósticos médicos, el Perceptrón como una red codificadora, el Perceptrón aprende a sumar enteros.

NETtalk es un Perceptrón que es capaz de transformar texto en ingles en sonido individual (representaciones fonéticas) y la pronunciación con la utilización de un sintetizador de voz; cuenta con aproximadamente 300 nodos de neuronas (siendo 80 en la capa escondida)  y 20,000 conexiones individuales.



Sistemas Borrosos (SBs)
Estos Sistemas Borrosos emulan la forma en la que el cerebro razona o piensa.


Características de los Sistemas Borrosos
* Permiten tratar información imprecisa del tipo:
Si temperatura del agua es muy baja entonces la abundancia de la especie X es muy   alta.

* Pueden ser aplicados en los mismos problemas en los que son empleados las RNCs.

* Permiten modelar cualquier proceso no lineal.

* Permiten utilizar el conocimiento del experto humano en un tema.

* Debido a la simplicidad de los cálculos son sistemas baratos y rápidos.

Fundamentos de Lógica Borrosa
* Su fundamento es el lenguaje natural, donde los razonamientos aproximados con sentencias imprecisas son habituales:
A1: Normalmente. Los coches antiguos son difíciles de encontrar.
A2: Lo difícil de encontrar suele ser caro.
C1: Normalmente, los coches antiguos son caros.

* El silogismo anterior emplea predicados borrosos (antiguo, difícil de Encontrar, caro) y un cuantificador borroso (normalmente) en La teoría de conjuntos borroso, base de esta Lógica, se debe aZadeh (1965).

* Un conjunto clásico, o nítido (crisp) tiene una frontera definida:

Ejemplo A = {x : x > 3 } para x en el Universo de los número naturales.

De forma que dado cualquier elemento del Universo del discurso U, Pertenece o no pertenece al conjunto.
Si definimos una función característica para cada elemento x de U:
= 1 si x Î A
= 0 si x Ï A

Podemos definir A por el conjunto de pares ordenados
(x,1 ) " x Î A
(x,0) " x Ï A

La función característica puede generalizarse a una función de pertenencia que nos da un número entre 0 y 1.

* Si a cada elemento del Universo del Discurso se le asigna un grado de pertenencia a un conjunto, ma(x) , valor real entre 0 y 1, tendremos definido un conjunto borroso.

* El grado de pertenencia se asigna por una función de pertenencia.

Sea x = {Números reales próximos a cero}

La función de pertenencia podría ser:

* No confundir grado de pertenencia con probabilidad, ni con medida borrosa.

La suma de los grados de pertenencia de los elementos de U no tiene por qué ser la Unidad.

No hay comentarios:

Publicar un comentario