Aplicaciones de análisis vectorial.
Enviado por Yair Cuellar Rivera • 24 de Febrero de 2016 • Ensayo • 1.208 Palabras (5 Páginas) • 543 Visitas
Análisis Vectorial: Un enfóque hacia Redes Neurales
Análisis Vectorial Primer Año Ingeniería en Sistemas Computacionales Profesor: Lopez Carrera Benjamín Escuela Superior de Cómputo
1
Proyecto SalvaVidas
ÍNDICE
Resúmen 3
Introducción
Descenso de Gradiente 4
Descenso Estocástico de Gradiente 6
Método Iterativo 6
Problema del Gradiente Evanescente 8
Propagación Inversa 8
Conclusión 10
Bibliografía 11
2
Proyecto SalvaVidas
Resúmen
El análisis vectorial es un campo de las matematicas dedicado al analisis real de
multivariable de vectores de 2 o más dimensiones. Es un enfoque de la geometria
diferencial como conjunto de formulas y técnicas para solucionar problemas muy utiles para
la ingenieria y la fisica.
En este escrito, se podrá encontrar una aplicación de una rama del anális vectorial,
el uso de gradientes. Mediante el uso de estos se puede obtener una amplia variedad de
algoritmos relacionados a la creacion de redes neurales artificiales, las cuales permiten a
una computadora “aprender”.
3
Proyecto SalvaVidas
Introducción
Descenso de Gradiente:
El descenso de gradiente es un algoritmo de optimizacion de primer orden, el cual
sirve para encontrar un valor minimo local. Para realizar esto, tomamos una serie de
pequeños valores que son proporcionales al negativo del gradient de una funcion
correspondiente a cierto punto.
Tambien es conocido como descenso empinado o metodo del descenso empinado, sin
embargo, no debemos confundirlo con el metodo relacionado a la aproximacion de
integrales.
Está basado en la observación de una funcion multivariable:
f (x) La cual debe estar definida y ser diferenciable cerca de un punto “α”. La función deberá
decrecer en valor numérico de una manera mas rápida y acelerada si vamos del punto dado
hacia la dirección del gradiente negativo correspondiente a la función:
− ∇ F(∝) Y ahora, si tomamos a “ b ” como sigue:
b = ∝ − δ ∇F(∝) Con un “δ” bastante pequeño, podemos entonces asumir que la función evaluada en “α” va
a tener un valor igual o mayor al del punto representado como “ b ”.
Por tanto, usando la observación, podemos deducir que existe un “ X 0 ”
para un valor local
mínimo, correspondiente a esa función, lo que también nos permite tener en cuenta una
secuencia: “X
0, X
1, X
2, X
3 ,...
“
Y a su vez, esto nos permite hacer una generalización como sigue:
X
n+1
= X
n
− δ
∇F(X n
) , n
≥0 4
Proyecto SalvaVidas
Y ahora, usando lo que habíamos obtenido previamente, podemos determinar la siguiente
“secuencia” :
F
(X n )≥F(X 1 )≥F(X 2 )≥... Por lo que, se puede esperar que una secuencia de términos “ X n “
llegue a converger en un
punto mínimo deseado.
El descenso de gradiente también puede ser usado para la resolución de ecuaciones
lineares, sin embargo estas mismas deben ser reformuladas como ecuaciones cuadráticas
de minimización.
5
Proyecto SalvaVidas
Descenso Estocástico de Gradiente:
Es un método de optimizacion para el descenso de gradiente, desarrollado para
minimizar una funcion objetiva que debe ser escrita como una sume de funciones
diferenciables.Tanto la estimación estadística como la enseñanza a computadoras
consideran resolver la minimization de una funcion mediante la siguiente forma:
Q (w) = ∑
n (w) i=1 Q
i
Cuando el parametro específicado “ w ” es el requerido a estimar.
w = w − η
∇Q i (w) Cada iteracion recorrida genera un termino “ Q i ”,
el cual se relaciona a la neava
observacion de un cierto conjunto de datos, los cuales tipicamente estan relacionados al
aprendizaje de una red neural artificial.
Método Iterativo:
En descenso estocastico ó descenso de gradiente linear, el autentico valor
del gradiente de la funcion es una aproximacion de gradient como la siguiente:
Al tiempo que el algoritmo recorre todo el conjunto de datos, usa la aproximacion de
arriba para cada dato usado para entrenar, por tanto, esto podría llevar mucho
tiempo para un algoritmo hasta llegar a una cierta convergencia. A pesar de esto,
una implementacion mas adecuada, haría uso de un rango de aprendizaje variable,
por lo que podria saltar ciertos datos y llegar mas rápido a la convergencia.
Un ejemplo de pseudocódigo sería la siguiente:
“Establecemos un par de “minibatches”, los cuales se encargaran de
calcular el gradiente con mas de un dato a la vez por iteracion. Esto podrá
resultar en un desempeño notablemente mayor que un auténtico descenso
estocástico de gradient, porque de esta forma podemos integrar de manera
sencilla y fácil librerias de vectorización, en lugar de estar realizando cada
...