redesproyectoexamen

Anuncio
REDES NEURONALES
Proyecto final de semestre
Oscar Velázquez Longinos, Rogelio Valdez Sánchez
Universidad Autónoma del estado de México Centro
Universitario UAEM Atlacomulco
[email protected]
[email protected]
Abstract--- El objetivo de este trabajo es con el motivo de tener
conocimiento de las redes neuronales para ello se toma en cuenta todos
los elementos que constituyen una red neuronal y así tener una mejor
comprensión del comportamiento de la misma, donde se abarcarán los
temas de reglas de actualización de la Backpropagation entre diversos
temas que se relacionan con las redes neuronales. Así mismo para tener
un amplio conocimiento para la aplicación de las redes neuronales en los
distintos campos de estudio como lo son medicina, inteligencia artificial,
aeronáutica, industria en general etc.
INTRODUCCION
En este trabajo se presentaran algunas investigaciones relacionadas con
las redes neuronales que nos ayudaran a comprender con facilidad la
estructura y el funcionamiento que genera su uso que pueden facilitar.
Las redes neuronales son un elemento importante de las denominadas
tecnologías de Inteligencia Artificial.
La inteligencia artificial es una disciplina científica y técnica que se ocupa
del estudio de las ideas que permiten ser inteligentes a los ordenadores"
(definición de H. Winston).
Otra posible definición de la Inteligencia Artificial sería: rama de la
computación que se encarga de los problemas de percepción,
razonamiento y aprendizaje en relación con sistemas artificiales, y que
tiene como áreas de investigación a los sistemas expertos y de
conocimiento, la robótica, los lenguajes naturales y las redes neuronales.
Página 1 de 40
REDES NEURONALES
Y a pesar de que el objetivo final de la inteligencia artificial, dotar de
inteligencia a los sistemas automatizados.
Las redes neuronales, son modelos simplificados de las redes de
neuronas que forman el cerebro. Intentan aprender a partir de los datos
que se le suministran.
Las principales características que diferencian a las redes neuronales de
otras tecnologías de Inteligencia Artificial son:
•
•
•
Su capacidad de aprendizaje a partir de la experiencia
(entrenamiento). Las redes neuronales pueden ser entrenadas
para realizar una determinada tarea sin necesidad de un estudiar
está a fondo ni programarla usando un lenguaje de programación.
Su velocidad de respuesta una vez concluido el entrenamiento. Se
comportan también en este caso de manera similar ha como lo
hace el cerebro: los seres humanos no necesitamos pensar mucho
para identificar un objeto, una palabra, etc. Una vez hayamos
aprendido a hacerlo.
Su robustez en el sentido de que el conocimiento adquirido se
encuentra dispersado por toda la red, de forma que si se modifica
una parte se continúan generando cierto número de respuestas
correctas (en este caso también hay cierta analogía con los
cerebros parcialmente dañados).
Página 2 de 40
REDES NEURONALES
INDICE
CAPITULO 1
RED BACKPROPAGTION
ALGORITMO ....................................................................................... pág.4
ESTRUCTURA ............................................................................... pág.5 a 7
GRADIENTE DECENDIENTE ........................................................ pág.7 a 8
DEMOSTRACION DE REGLAS DE APENDIZAJE
..................... pág.8 a 9
RAZON DE APRENDIZAJE ........................................................ pág.9 a 10
MOMENTO ............................................................................... pág.11 a 12
SESGO ..................................................................................... pág.12 a 14
CONTROL DE CONVERGENCIA ............................................ pág.14 a 15
FUNCION DE FINALIZACION .......................................................... pág.16
CAPITULO 2
DESARROLLO DEL PROGRAMA
PROBLEMA QUE RESULVE ............................................................. pág.16
DISEÑO Y DESARROLLO ........................................................ pág.17 a 32
FUNCIONAMIENTO ......................................................................... pág.33
EVIDENCIAS (IMAGENES Y CODIGO) .................................. pág.34 a 35
COMENTARIOS .......................................................................................... pág.33
EVIDENCIAS ........................................................................................ pág. 34 a 35
Página 3 de 40
REDES NEURONALES
ALGORITMO
Paso 1. Inicializar los
pesos de la red con
valores pequeños
aleatorios.
Paso 2. Presentar un
patrón de entrada y
especificar la salida
deseada que debe
generar la red.
Paso 3. Calcular la salida actual de la
red. Para ello se presentan las
entradas a la red y se calcula la
salida de cada capa hasta llegar a la
capa de salida, ésta será la salida de
la red. Los pasos son los siguientes:
Se calculan las entradas netas para
las neuronas ocultas procedentes de
las neuronas de entrada. Para una
neurona j oculta:
Paso 4. Calcular los
términos de error para
todas las neuronas.
Paso 5. Actualización de
los pesos: para ello
utilizamos un algoritmo
recursivo, comenzando
por las neuronas de
salida y trabajando
hacia atrás hasta llegar
a la capa de entrada,
ajustando los pesos de
la siguiente forma:
Paso 6. El proceso se repite
hasta que el término de
error resulta
aceptablemente pequeño
para cada uno de los
patrones aprendidos.
Página 4 de 40
REDES NEURONALES
Estructura
>Paso 1. Inicializar los pesos de la red con valores pequeños aleatorios.
>Paso 2. Presentar un patrón de entrada y especificar la salida deseada que debe
generar la red.
>Paso 3. Calcular la salida actual de la red. Para ello se presentan las entradas a la
red y se calcula la salida de cada capa hasta llegar a la capa de salida, ésta será la
salida de la red. Los pasos son los siguientes:
Se calculan las entradas netas para las neuronas ocultas procedentes de las
neuronas de entrada. Para una neurona j oculta:
En donde el índice h se refiere a magnitudes de la capa oculta; el subíndice p, al pésimo vector de entrenamiento, y j a la j-ésima neurona oculta. El término puede ser
opcional, pues actúa como una entrada más. θ
Se calculan las salidas de las neuronas ocultas:
Se realizan los mismos cálculos para obtener las salidas de las neuronas de salida:
Paso 4 . Calcular los términos de error para todas las neuronas.
Si la neurona k es una neurona de la capa de salida, el valor de la delta es:
La función f debe ser derivable. En general disponemos de dos formas de función
de salida:
La función lineal:
La función sigmoidal:
Página 5 de 40
REDES NEURONALES
La selección de la función depende de la forma que se decida representar la salida:
si se desea que las neuronas de salida sean binarias, se utiliza la función sigmoidal,
en otros casos, la lineal.
Para una función lineal, tenemos
mientras que la derivada de una función
sigmoidal es:
por lo que los términos de error para las neuronas de salida quedan:
Para la salida lineal.
Para la salida sigmoidal.
Si la neurona j no es de salida, entonces la derivada parcial del error no puede ser
evaluada directamente, por tanto se obtiene el desarrollo a partir de valores que son
conocidos y otros que pueden ser evaluados.
La expresión obtenida en este caso es:
donde observamos que el error en las capas ocultas depende
de todos los términos de error de la capa de salida. De aquí surge el término
propagación hacia atrás.
Paso 5. Actualización de los pesos: para ello utilizamos un algoritmo recursivo,
comenzando por las neuronas de salida y trabajando hacia atrás hasta llegar a la
capa de entrada, ajustando los pesos de la siguiente forma:
Para los pesos de las neuronas de la capa de salida:
Para los pesos de las neuronas de la capa oculta:
En ambos casos, para acelerar el proceso de aprendizaje se puede añadir un
término momento.
Paso 6. El proceso se repite hasta que el término de error resulta aceptablemente
pequeño para cada uno de los patrones aprendidos.
Página 6 de 40
REDES NEURONALES
Estructura y Aprendizaje de la Red Backpropagation
En una red Backpropagation existe una capa de entrada con n neuronas y una capa
de salida con m neuronas y al menos una capa oculta de neuronas internas. Cada
neurona de una capa (excepto las de entrada) recibe entradas de todas las
neuronas de la capa anterior y envía su salida a todas las neuronas de la capa
posterior (excepto las de salida). No hay conexiones hacia atrás feedback ni
laterales entre las neuronas de la misma capa.
La aplicación del algoritmo tiene dos fases, una hacia delante y otra hacia atrás.
Durante la primera fase el patrón de entrada es presentado a la red y propagado a
través de las capas hasta llegar a la capa de salida. Obtenidos los valores de salida
de la red, se inicia la segunda fase, comparándose éstos valores con la salida
esperada para así obtener el error. Se ajustan los pesos de la última capa
proporcionalmente al error. Se pasa a la capa anterior con una retropopagación del
error, ajustando los pesos y continuando con este proceso hasta llegar a la primera
capa. De esta manera se han modificado los pesos de las conexiones de la red para
cada patrón de aprendizaje del problema, del que conocíamos su valor de entrada
y la salida deseada que debería generar la red ante dicho patrón.
La técnica Backpropagation requiere el uso de neuronas cuya función de activación
sea continua, y por lo tanto, diferenciable. Generalmente, la función utilizada será
del tipo sigmoidal.
GRADIENTE DESCENDIENTE
De acuerdo a Reeves(1964) la utilización del gradiente descendiente consiste en
ajustar pesos y bias tratando de minimizar la suma del error cuadrático debido a que
es el método de entrenamiento más utilizado. Define una función E (W) que
proporciona el error que comete la red en función del conjunto de pesos W.
[191,1,2,5].
El objetivo del aprendizaje es encontrar la configuración de pesos que corresponda al
mínimo global de la función de error, el principio general del método es el siguiente:
Dado un conjunto de pesos W (0) para el instante de tiempo t=0, se calcula la
dirección de máxima variación del error. La dirección de máximo crecimiento de la
función E (W) en W (0) viene dado por el gradiente ∇E (W). P á g i n a 13 | 58
Página 7 de 40
REDES NEURONALES
Posteriormente se actualizan los pesos siguiendo el sentido contrario al indicado por
el gradiente ∇E (W), dirección que indica el sentido de máximo decrecimiento de este
modo se va produciendo un descenso por la superficie de error hasta alcanzar un
mínimo local.
W (t +1) = W (t) −α∇E (W).
Derivada de la función sigmoidal 1.4
𝜎(𝑥)=función Sigmoidal =
1
1+𝑒 −𝑥
𝛿
𝛿
1
𝜎(𝑥) =
(
)
𝑑𝑥
𝑑𝑥 1 + 𝑒 −𝑥
𝑒 −𝑥
=(1+𝑒 −𝑥)2
1+𝑒 −𝑥 −1
=(1+𝑒 −𝑥)²
1+𝑒 −𝑥
1
1+𝑒 −𝑥
1
=(1+𝑒 −𝑥)² − (1+𝑒 −𝑥)²
=(1+𝑒 −𝑥)² − (1+𝑒 −𝑥)²
= 𝜎(𝑥) − 𝜎(𝑥)
𝜎 1 = 𝜎(1 − 𝜎)
𝛿
𝑑𝑥
=(1 + 𝑒 −𝑥 )¯¹
=-1=(1 + 𝑒 −𝑥 )¯2 .
𝛿
𝑑𝑥
𝑑1
=-(1 + 𝑒 −𝑥 )¯2 . (
𝑑𝑥
(1 + 𝑒 −𝑥 )
+
𝑑𝑒 −𝑥
𝑑𝑥
)
= (1 + 𝑒 −𝑥 )¯2 . ( 𝑒 −𝑥 . (−1))
=(1 + 𝑒 −𝑥 )¯2 𝑒 −𝑥
𝑒 −𝑥
=(1+𝑒 −𝑥)¯2
Demostración de reglas de actualización 1.5
𝜕𝐸
𝜕𝛴
1
= (0𝑘 − 𝑇𝑘)²
𝜕𝑊𝑖𝑗 𝜕𝑤𝑦𝑘𝐸²𝐾 2
Página 8 de 40
REDES NEURONALES
2
𝑑
( 0k − tk)
∑ (0k − tk)
2
𝑑𝑤𝑖𝑗
𝑘𝑡𝑘
∑ (0k − tk) (
𝑑0𝑘
𝑑𝑡𝑘
−
)
𝑑𝑤𝑖𝑗
𝑑𝑤𝑖𝑗
𝑘𝑡𝑘
𝑑0𝑘
)
𝑑𝑤𝑖𝑗
∑ (0k − tk) (
𝑘𝑡𝑘
Si 0 k =𝜎 (Xk)
𝑑0𝑘
𝑑𝑥𝑘
= 𝜎(𝑋𝑘)(1 − 𝜎(𝑋𝑘))
𝑑𝑤𝑖𝑗
𝑑𝑤𝑖𝑗
∑(0k − tk)σ Xk ) (1 − 𝜎(𝑋 𝑘))
𝑘𝑡𝑘
𝑑𝑥𝑘
𝑑𝑤𝑖𝑗
Si X k=dwjk-0j
𝑑 𝑥 𝑘 𝑑 𝑤𝑖 𝑘
=
: 0𝑗
𝑑𝑤𝑖𝑗
𝑑𝑤𝑖𝑗
=
𝑑𝑤𝑗
𝑑𝑜𝑗
𝑘. 0 𝑗 .
𝑑0𝑗
𝑑𝑤𝑖𝑗
Si 0j=𝜎 (wij.xj)
= Wjk ∗
𝑑
(𝜎(𝑤𝑖𝑗 𝑥𝑗))
𝑑𝑤𝑖𝑗
= wjk ∗ σ (wijxj) (1 − σ(wij x))j
𝑑𝑤𝑖 𝑗
𝑑𝑤𝑖𝑗
= w j k*0j (1-0 jj) xj
Si xj=0j
Wjk. 0 j (1-0 j) 0 i
𝑑𝐸
= (∑(0k − tk)σ Xk ) (1 − 𝜎(𝑋 𝑘)) − (𝑊𝑗𝑘 ∗ 0 𝑗(1 − 0)0𝑖)
𝑑𝑤𝑖𝑗
𝑘𝑡𝑘
Si 𝜎 (X k)
Página 9 de 40
REDES NEURONALES
(0 j (1 − 0j)0 i) ∗ ∑(0k − tk)0 k (1 − 0 k) ) ∗ 𝑄 𝑗 𝑘
𝑘𝑡𝑘
Si 𝝏k=0 k (0 k-t k) (1-0 k)
𝑑𝐸
= 0𝑖 0 𝑗(1 − 0𝑗) ∑ ∂k ∗ W j k
𝑑𝑤𝑖
𝑘𝑡𝑘
Si σj = 0j(1 − 0j) ∑ ∂k Wj k = 0iσj
𝑘𝑡𝑘
LVBP Razón de Aprendizaje Variable 1.6
2.-Razón de Aprendizaje Variable (LVBP)
Incrementa la velocidad de convergencia al aumentar la velocidad de aprendizaje
 en superficies planas y disminuye esta razón cuando la pendiente aumenta.
3.- Razón de Aprendizaje Adaptable (  )
Una forma de incrementar la velocidad de convergencia hacia un mínimo del error
cuadrático medio (E) es variando la velocidad de aprendizaje.
si E disminuye constantemente,  E es negativo para un número de pasos,
entonces se debe incrementar la  .
4.-Razón de Aprendizaje Adaptable (  ) 2
si E se ha incrementado (  E>0) entonces se debe reducir la  .
5. -Reglas del algoritmo VLBP (1)
1.- Si el error cuadrático se incrementa mayor a un porcentaje establecido (1% a
5%) después de haber actualizado W; entonces se descarta la actualización;
 se multiplica por 0 <  < 1
 se ajusta a cero (si se utiliza el momento).
6.-Reglas de algoritmo VLBP (2)
2.- si el error cuadrático disminuye después de haber actualizado W, entonces la
actualización es aceptada.
Página 10 de 40
REDES NEURONALES
 es multiplicada por un factor  >1.
Si  había sido ajusta a cero, este regresa a su valor original.
7.-Reglas de Algoritmo VLBP
3.- Si el error cuadrático se incrementa en un valor menor a   , entonces la
actualización de W se acepta pero  no cambia.
Si  había sido ajusta a cero, este regresa a su valor original.
Valores típicos:  = 1.05  = 0.7  =4%
8.- Cuando la trayectoria viaja en línea recta,  y el tamaño del paso tienden a
incrementarse con una disminución del error constante.
Cuando la trayectoria llega a un valle angosto disminuye  rápidamente.
9.-w 1 1,1 w 2 1,1 Ejemplo
10.-Razón de Aprendizaje Error Cuadrático
11.-Variantes del Algoritmo VLBP
Delta-bar-delta (R. A Jacobs)
Cada parámetro de la red (W y b) tiene su propia razón de aprendizaje. El
algoritmo incrementa  , para un parámetro si este cambia en la misma dirección
por varia iteraciones. Si la dirección del parámetro (p/ej. W) cambia alternamente,
entonces debe reducirse la  .
12.-Variantes del Algoritmo VLBP (2)
Algoritmo de tolerancia SuperSAB (T. Tollenaere)
Es similar al Delta bar delta de Jacobs, pero tiene reglas más complejas para
ajustar la velocidad de aprendizaje 
Momento
El elegir un incremento adecuado influye en la velocidad con la que
converge el algoritmo, se sabe que con este control se puede realizar
mediante el parámetro denominado ganancia, normalmente se le
asigna un valor pequeño, para asegurar que la red llegue asentarse
en una solución.
Esta variante añade un término que controla la velocidad de acercamiento
al mínimo, acelerándola cuando se está lejos del mínimo y deteniéndola
Página 11 de 40
REDES NEURONALES
cuando se está cerca (influye en la velocidad del aprendizaje) y está dado
por la expresión:
El cambio en el peso es proporcional al gradiente del error, siendo α
(tasa de aprendizaje) la constante de proporcionalidad
– Si α es grande, el error puede oscilar alrededor del mínimo
– Si α es pequeña, la convergencia de más lenta
Donde
es el incremento que sufrió el
parámetro w en la
Iteración anterior y n es un numero positivo que controla la importancia
dada al
Incremento anterior y se denomina momento. Aplicación la regla de
Se obtiene:
Este método trata de ser más estable ya que si la derivada parcial
del error respecto al peso tiene el mismo signo en iteraciones
consecutivas, la utilización del momento procura un cambio mayor
en el peso, acelerando así la convergencia del algoritmo, presenta
problemas en proximidades del mínimo.
Las mayores tasas de convergencia suelen lograrse para valores
grandes tanto de h (siempre que el aumento en dicho valor no
produzca inestabilidades) como el momento m. La elección de los
pesos iniciales es también importante, ya que la función de error para
el PMC puede tener varios mínimos locales, y el punto final de
convergencia depende de las condiciones iniciales. Típicamente,
dicho problema se resuelve aplicando el algoritmo de retro
propagaciones varias veces con diferentes pesos iniciales hasta que
se encuentra una solución adecuada.
Sesgo 1.8
Página 12 de 40
REDES NEURONALES
El algoritmo Backpropagation emplea un ciclo propagación – adaptación de dos
fases. Una vez que se ha aplicado un patrón a la entrada de la red como estímulo,
este se propaga desde la primera capa a través de las capas superiores de la red,
hasta generar una salida. La señal de salida se compara con la salida deseada y se
calcula una señal de error para cada una de las salidas. Las salidas de error se
propagan hacia atrás, partiendo de la capa de salida, hacia todas las neuronas de
la capa oculta que contribuyen directamente a la salida. Sin embargo las neuronas
de la capa oculta solo reciben una fracción de la señal total del error, basándose
aproximadamente en la contribución relativa que haya aportado cada neurona a la
salida original. Este proceso se repite, capa por capa, hasta que todas las neuronas
de la red hayan recibido una señal de error que describa su contribución relativa al
error total. Basándose en la señal de error percibida, se actualizan los pesos de
conexión de cada neurona, para hacer que la red converja hacia un estado que
permita clasificar correctamente todos los patrones de entrenamiento. La
importancia de este proceso consiste en que, a medida que se entrena la red, las
neuronas de las capas intermedias se organizan a sí mismas de tal modo que las
distintas neuronas aprenden a reconocer distintas características del espacio total
de entrada. Después del entrenamiento, cuando se les presente un patrón Página
6 de 9 arbitrario de entrada que contenga ruido o que esté incompleto, las neuronas
de la capa oculta de la red responderán con una salida activa si la nueva entrada
contiene un patrón que se asemeje a aquella característica que las neuronas
individuales hayan aprendido a reconocer durante su entrenamiento. Y a la inversa,
las unidades de las capas ocultas tienen una tendencia a inhibir su salida si el patrón
de entrada no contiene la característica para reconocer, para la cual han sido
entrenadas, el sesgo para una backpropagation se denota conforme a los siguientes
pasos:
Sea el problema de clasificación con dos clases con codificación Y = {−1, 1} y con
pérdida 0-1, (y, g(x)) = 1{y6=g(x)} y riesgo R(g(x)) = EY/x[(Y/x, g(x))], en el cuál, la
predicción óptima viene dada por la regla de Bayes: g(x) = arg inf g(x){R(g(x)) =
EY/x[(Y/x, g(x))]}
TEOREMA 1:
En el problema de clasificación anterior, si D es un conjunto de muestras aleatorias
de entrenamiento obtenidas de la distribución PX,Y, y ˆgn es el estimador obtenido
a partir de una muestra aleatoria Zn = (Z1, ..., Zn), con Zi =
(Xi,Yi), i = 1 : n, se verifica la siguiente descomposición de la esperanza del error de
predicción: MPE(ˆgn(x)) = EZn,Y/x[(Y/x, ˆgn(x))] = c1σ2(Y/x) +Sesgo(ˆgn(x)) + c2
Var(ˆgn(x)) (1) donde:
c1 = c1(x) =2PZn[ˆgn(x) = g(x)] − 1
c2 = c2(x) =½+1 si ˆg∗D (x) = g(x)
Página 13 de 40
REDES NEURONALES
−1 en otro caso son constantes dependientes de x (y también del algoritmo), y:
Sesgo
(ˆgn(x)).=(g(x),
ˆg∗D(x))
Var(ˆgn(x))
.=EZn
[(ˆg∗D(x),
ˆgn(x)]σ2(Y/x).=EY/x[(Y/x, g(x))] donde ˆg∗D es la predicción principal en D
definidacomo: ˆg∗D (x)= argming(x)
EZn [(g(x), ˆgn(x))] que, en el problema de clasificación, es la moda de las
predicciones de las hipótesis entrenadas con muestras de D.
Análogamente, puede definirse:
ME (ˆgn(x)) = Sesgo (ˆgn(x)) + c2 Var(ˆgn(x)) (3)
y su correspondiente valor medio (análogamente para MPE):Página 7 de 9 ME (ˆgn)
= EX [ME(ˆgn(X))] = EX[Sesgo(ˆgn(X))] + EX[c2(X)Var(ˆgn(X))] (4) A diferencia de
la descomposición en regresión, el término de varianza, puede resultar negativo
debido a que c2(x) = −1 en los puntos donde existe sesgo:
Sesgo (ˆgn(x)) =(g(x), ˆg∗D(x)) = 1.
Ello significa que en estos puntos, cuanto más varianza menor error de
generalización. Claramente, esto no ocurre en el caso de regresión con pérdida
cuadrática. Por otra parte, es peculiar el término del ruido, pero su expresión sigue
rigurosamente el paralelismo con la descomposición con pérdida cuadrática,
[Domingos, 2000]. Para la regla de Bayes, su valor resulta intuitivo al ser el riesgo
de Bayes en x:
c1(x)EY/x[(Y/x, g(x))] = (2PZn [g(x) = g(x)] − 1)EY/x[(Y/x, g(x))] = EY/x[(Y/x,g(x))]
Sin embargo, para cualquier otro algoritmo entrenado con muestras de D, dicho
valor resulta menor que dicho riesgo si PZn[ˆgn(x) = g(x)] < 1 e, incluso negativo, si
PZn[ˆgn(x) = g(x)] < 0.5 con lo que, además, depende del algoritmo utilizado. Así, si
el estimador está lejos de ser óptimo, cuanto mayor ruido, mejor es su
comportamiento.
[Domingos, 2000] estudia el comportamiento de su propuesta de descomposición
con árboles de regresión (regression trees) y con clasificadores k-nearest
neighbors, y anima a estudiar dicho comportamiento con otros estimadores.
Control de convergencia
En las técnicas de gradiente descendente es conveniente avanzar por la superficie
de error con incrementos pequeños de los pesos.
Página 14 de 40
REDES NEURONALES
Información local de la superficie.
Incrementos grandes: se corre el riesgo de pasar por encima del punto mínimo sin
conseguir estacionarse en él. · Incrementos pequeños: aunque se tarde más en
llegar, se evita que ocurra esto.
El elegir un incremento adecuado influye en la velocidad con la que converge el
algoritmo. Sabemos que este control lo podemos realizar mediante el parámetro
denominado ganancia. Normalmente se le asigna un valor pequeño (0,05-0,25) para
asegurar que la red llegue a asentarse en una solución.
Otra manera de incrementar la velocidad de aprendizaje, consiste en utilizar otro
parámetro llamado Momento:
Un último aspecto a tener en cuenta es la posibilidad de convergencia hacia alguno
de los mínimos locales.


No se puede asegurar en ningún momento que el mínimo que se encuentre
sea global.
Una vez que la red se asienta en un mínimo, sea local o global, cesa el
aprendizaje, aunque el error siga siendo demasiado alto, si se ha alcanzado
un mínimo local.
Si se alcanza un mínimo local y el error es satisfactorio, el entrenamiento ha sido un
éxito, si no sucede así, puede realizarse varias acciones para solucionar el
problema:


Cambio de arquitectura (más capas ocultas o más PE)
Modificación de parámetros de aprendizaje.
Página 15 de 40
REDES NEURONALES


Emplear un conjunto de pesos iniciales diferentes.
Modificar el conjunto de entrenamiento o presentar los patrones en distinta
secuencia.
Capítulo 2
Desarrollo del programa
PROBLEMAS QUE RESULBE
Los TLU resuelven separabilidad en la clasificación de problemas típicamente
lineales. Es decir son buenos clasificadores lineales.
Los TLU multicapas podría resolver teóricamente cualquier problema pero no se
dispone de procedimientos y mucho menos de algoritmos generales de
entrenamiento para estos casos.
La principal ventaja de la Backpropagation es su capacidad genérica de mapeo de
patrones. La red es capaz de aprender una gran variedad de relaciones de mapeo
Página 16 de 40
REDES NEURONALES
de patrones. No requiere un conocimiento matemático de la función que relaciona
los patrones de la entrada y los patrones de salida. La Backpropagation sólo
necesita ejemplos de mapeo para aprender. La flexibilidad de esta red es
aumentada con la posibilidad de elegir número de capas, interconexiones, unidades
procesadoras, constante de aprendizaje y representación de datos. Como resultado
de estas características la red Backpropagation es capaz de participar con éxito en
una amplia gama de aplicaciones.
DISEÑO Y DESARROLLO
BACKPROPAGATION I
Página 17 de 40
REDES NEURONALES
Clase red neuronal
Página 18 de 40
REDES NEURONALES
Página 19 de 40
REDES NEURONALES
Página 20 de 40
REDES NEURONALES
Clase neurona
Página 21 de 40
REDES NEURONALES
Página 22 de 40
REDES NEURONALES
Clase sigmoide
Pantalla de salida
Página 23 de 40
REDES NEURONALES
BACKPROPAGATION II
Clase net
Página 24 de 40
REDES NEURONALES
Clase neuron
Página 25 de 40
REDES NEURONALES
Página 26 de 40
REDES NEURONALES
Página 27 de 40
REDES NEURONALES
Pantallas de salida
Página 28 de 40
REDES NEURONALES
Página 29 de 40
REDES NEURONALES
Página 30 de 40
REDES NEURONALES
Página 31 de 40
REDES NEURONALES
Página 32 de 40
REDES NEURONALES
.
....
Página 33 de 40
REDES NEURONALES
FUNCIONAMIENTO
Esta programa está diseñado con base a la red Backpropagation esta programa
tienes funciones como el momento, función de aprendizaje, pesos esta se refiere a
los pesos de la capa oculta ya que esta está constituida por tres capas de entrada
oculta y salida, también otra función es el número de neuronas ocultas.
Este lo que hace es leer todo en una tabla XOR estos valores se evalúan después
de evaluar los pesos.
Al terminar de evaluar los valores de los pesos al igual que los datos totales de la
sigmoidal.
Al introducir los datos de la red Backpropagation 0 y 1 esta te manda los
resultados de la sigmoidal, al igual que el error de propagación esto lo hace con un
cierto número de iteraciones dados al código principal.
Bueno al darte estos datos te manda automáticamente los datos y registros de
pesos de la capa oculta la salida de las neuronas, los pesos de la capa de oculta y
la salida de las neuronas.
Al final de la obtención de los datos esto tiene que mandarte los datos a un
documento de texto de los pesos de cada iteración de la capa de salida y de la
capa de salida para que grafique el error.
Primero lo que graficara es el error por lotes y después el error normal
Página 34 de 40
REDES NEURONALES
EVIDANCIAS
Grafica del error
Página 35 de 40
REDES NEURONALES
CONCLUCIONES
Rogelio Valdes Sánchez
Esta parte de la ingeniería es importante ya que esta se aplica para las
matemáticas cosa inteligentes virtuales y para las ciencias exactas. Esto se aplica
en la tecnología artificial y de última generación.
Los usos de estas son mediante las matemáticas y las llamadas redes, redes
neuronales que son parte fundamental para la creación desarrollo e invención de
nuevas tecnologías como reconocimientos faciales de voz huella dactilar etc.
Por otra parte la redes como la red Backpropagation sirve para aceptar y rechazar
lo que se llama como error. Por otra parte también esta red regresa al error para
corregir. En este documento encontraremos donde se aplica como se aplica y
como funciona matemáticamente su derivada etc. Esta investigación describe
muchas cosas acerca de la red Backpropagation de sus funciones y
actualizaciones y como se desarrolla pasó a paso la red ya mencionada.
Esta parte de las redes neuronales abarca y se aplican más tipos de redes y cada
una de ellas sirve para trabajar en un tipo de clase ya cada una tiene diferente uso
y aplicaciones en las que se pueden desarrollar.
Oscar Velázquez Longinos
La red Backpropagation aprende y corrige errores mediante un programa
desarrollado en java teniendo como resultado una gráfica y conclusiones
contundentes sobre pesos y errores producidos por el programa en una serie de
operaciones matemáticas basadas en fórmulas matemáticas previamente
analizadas e investigadas por diferentes estudiosos de las redes neuronales. En
este proyecto desarrollado me fue muy útil ya que pude comprender más a fondo
sobre las redes neuronales así mismo comprenderlas y motivarme a quizás
utilizarlas en un futuro próximo, considero que es una herramienta muy útil para
desarrollar más tecnología que ayude a resolver problemas en la ingeniería y vida
diaria, por ello se tiene que estudiar la Backpropagation más a fondo para saber
dónde podemos emplearlos.
El error que genera una red neuronal en función de sus pesos genera un espacio
de n dimensiones, donde n es el número de pesos de conexión de la red, al evaluar
el gradiente del error en un punto de esta superficie se obtendrá la dirección en la
cual la función del error tendrá un mayor crecimiento, como el objetivo del proceso
Página 36 de 40
REDES NEURONALES
de aprendizaje es minimizar el error debe tomarse la dirección negativa del
gradiente para obtener el mayor decremento del error.
REFERENCIAS
1. Rosenblatt, F. Principios de Neurodinámica (Spartan, Washington, DC, 1961).
2. Minsky, ML & Papert, S. Perceptrones (MIT, Cambridge, 1969).
3. Le Cun, Y. Proc. Cognitiva 85 , 599-604 (1985).
4. Rumelhart, DE, Hinton, GE & Williams, RJ en procesamiento distribuido en
paralelo: Exploraciones en la microestructura de la
cognición. Vol. 1 : Fundamentos (editores Rumelhart, DE & McClelland, JL)
318-362 (MIT, Cambridge, 1986).
Las citas
817
Ant sistema: Optimización por una colonia de agentes cooperantes Dorigo, Maniezzo, et al. - 1996
637
Sistema de colonia de hormigas: Un enfoque de aprendizaje cooperativo
para el problema del viajante de comercio - Dorigo, Gambardella - 1997
323
Un algoritmo heurístico eficaz para el problema del viajante de comercio Lin, Kernighan - 1973
El problema del viajante: Un estudio de caso en la optimización
273 local. Búsqueda local en la optimización combinatoria - Johnson,
McGeoch – 1997
250 1965] "Computer Solutions del problema del viajante - Lin
229
Algoritmos para el ruteo de vehículos y problemas de programación con
restricciones de ventana de tiempo - Salomón - 1987
225 La búsqueda tabú reactiva - Battiti, TECCHIOLLI - 1994
157
El viajante de comercio: soluciones computacionales para aplicaciones
TSP - Reinelt - 1994
133
ªRobust Taboo Busque el problema de asignación cuadrática, º - Taillard –
1991
131
Algoritmos rápidos para problemas del viajante de comercio geométrica Bentley – 1992
Página 37 de 40
REDES NEURONALES
106
Red Ant: unos agentes móviles se acercan al encaminamiento adaptativo Caro, Dorigo – 1998
105 Las hormigas pueden colorear los gráficos - Costa, Hertz - 1997
89
Híbridos genéticos para el problema de asignación cuadrática - Fleurent,
Ferland – 1993
66 Un esquema de recocido mejorado para el QAP - Connolly - 1990
66
El sistema de hormiga: Un proceso de optimización autocatalítico - Dorigo,
Maniezzo, et al. - 1991
54
Travelling Salesman-Tipo Combinatoria problemas y su relación con la
logística de la Sangre-Banking - o - 1976
51
M .: Las colonias de hormigas para el QAP - Gambardella, Taillard, et al. –
1999
45 Agentes móviles para enrutamiento adaptativo - Caro, Dorigo - 1998
27 Q .: Self-Guided algoritmo genético - Chen, Chang, et al. - 2008
25
Problemas hamiltonianos de Sendero en la optimización on-line de
sistemas de fabricación flexibles - Ascheuer - 1996
22
Enrutamiento de vehículo: Manipulación intercambios borde - Kinderwater,
Savelsbergh – 1997
21
Una implementación eficiente de los algoritmos de búsqueda local para los
problemas de enrutamiento contrained - Savelsbergh - 1990
15
apprendimento automatico, ed Algoritmi basati Do metafora naturale
(Optimización - Dorigo, Ottimizzazione - 1992
Un enfoque plano de corte al problema ordenamiento secuencial (con
14 aplicaciones a la planificación de trabajos en la industria manufacturera Ascheuer, Escudero, et al -. 1993
14
El viaje asimétrica vendedor politopo con restricciones de precedencia Balas, Fischetti, et al. - 1995
Página 38 de 40
REDES NEURONALES
14
k-intercambio procedimientos de búsqueda local en una prioridad limitada
problema de enrutamiento - Psaraftis - 1983
Un enfoque relajarse y corte de Lagrange para el problema de
12 ordenamiento secuencial con relaciones de precedencia - Escudero,
Guignard et al. - 1994
11
Un algoritmo inexacto para el Problema de pedido secuencial - Escudero –
1988
7
Precedencia limitado de enrutamiento y helicóptero programación: diseño
heurístico. Interfaces 22 - Timlin, Pulleyblank - 1992
Página 39 de 40
REDES NEURONALES
Página 40 de 40
Descargar