Sinopsis del aprendizaje automático. Análisis matemático Descenso de gradiente



Recordemos el análisis matemático


Función Continuidad y Derivada


Dejar E subseteq mathbbR , a Es el punto límite del conjunto. E (es decir a enE, forall varepsilon>0 space space|(a varepsilon,a+ varepsilon) capE|= infty ), f colonE to mathbbR .

Definición 1 (límite de la función Cauchy):

Función f colonE to mathbbR comprometido con A a las x buscando a si

 forall varepsilon>0 space space exist delta>0 space space forallx enE space space(0<|xa|< delta Rightarrow|f(x)A|< varepsilon).


Designación:  lim limitsE nix toaf(x)=A .

Definición 2:

  1. Intervalo ab conjunto llamado ] a, b [\ space: = \ {x \ in \ mathbb {R} | a <x <b \}] a, b [\ space: = \ {x \ in \ mathbb {R} | a <x <b \} ;
  2. Intervalo de punto x in mathbbR Se llama el barrio de este punto.
  3. Una vecindad perforada de un punto es una vecindad de un punto del cual este punto está excluido.

Designación:

  1. V(x) o U(x) - vecindad de un punto x ;
  2.  overset circU(x) - barrio pinchado de un punto x ;
  3. UE(x):=E capU(x), overset circUE(x):=E cap overset circU(x)

Definición 3 (límite de función a través de barrios):


 lim limitsE nix toaf(x)=A:= forallVR(A) space exist overset circUE(a) space space(f( overset circUE(a)) subsetVR(A)).


Las definiciones 1 y 3 son equivalentes.

Definición 4 (continuidad de una función en un punto):

  1. f colonE to mathbbR continuo en a enE:=

    = forallV(f(a)) space space existeUE(a) space space(f(UE(a)) subconjuntoV(f(a)));

  2. f colonE to mathbbR continuo en a enE:=

     forall varepsilon>0 space space exist delta>0 space space forallx enE space space(|xa|< delta Rightarrow|f(x)f(a)|< varepsilon).


Las definiciones 3 y 4 muestran que
( f colonE to mathbbR continuo en a enE donde a - punto límite E )  Leftrightarrow
 Leftrightarrow( lim limitsE nix toaf(x)=f(a)).

Definición 5:

Función f colonE to mathbbR llamado continuo en el set E si es continuo en cada punto del conjunto E .

Definición 6:

  1. Función f colonE to mathbbR definido en el conjunto E subconjunto mathbbR se llama diferenciable en el punto a enE limitando para el conjunto E si existe tal lineal con respecto al incremento xa función de argumento A cdot(xa) [función diferencial f en el punto a ] ese incremento f(x)f(a) las funciones f representado como

    f(x)f(a)=A cdot(xa)+o(xa) quadfor spacex toa, spacex enE.

  2. Valor

    f(a)= lim limitsE nix aa fracf(x)f(a)xa


    llamada función derivada f en el punto a .

También

f(x)= lim substackh a0x+h,x inE fracf(x+h)f(x)h.



Definición 7:

  1. Punto x0 enE subconjunto mathbbR se llama punto de máximo local (mínimo) , y el valor de la función en él se llama máximo local (mínimo) de la función f colonE to mathbbR si  existeUE(x0) :

     forallx enUE(x0) space spacef(x) leqf(x0)(respectivamente,f(x) geqf(x0)).

  2. Los puntos de máximo y mínimo local se denominan puntos de extremo local , y los valores de la función en ellos se denominan extremos locales de la función .
  3. Punto x0 enE función extrema f colonE to mathbbR llamado un punto extremo interno si x0 es el punto límite en cuanto al conjunto E _- = \ {x \ en E | x <x_0 \}E _- = \ {x \ en E | x <x_0 \} y para el conjunto E _ + = \ {x \ en E | x> x_0 \}E _ + = \ {x \ en E | x> x_0 \} .

Lema 1 (Fermat):

Si la función f colonE to mathbbR diferenciable en el punto del extremo interno x0 enE , entonces su derivada en este punto es cero: f(x0)=0 .

Proposición 1 (teorema de Roll):
Si la función f colon[a,b] to mathbbR continuo en un segmento [a,b] diferenciable en el intervalo ]a,b[ y f(a)=f(b) entonces hay un punto  xi in]a,b[ tal que f( xi)=0 .

Teorema 1 (teorema de incremento finito de Lagrange):

Si la función f colon[a,b] to mathbbR continuo en un segmento [a,b] y diferenciable en el intervalo ]a,b[ entonces hay un punto  xi in]a,b[ tal que

f(b)f(a)=f( xi)(ba).


Corolario 1 (un signo de monotonicidad de una función):
Si en cualquier punto de un intervalo la derivada de la función no es negativa (positiva), entonces la función no disminuye (aumenta) en este intervalo.

Corolario 2 (criterio para la constancia de la función):
Continuo en un corte [a,b] una función no es constante si y solo si su derivada es cero en cualquier punto del intervalo [a,b] (o al menos el intervalo ]a,b[ )

Derivada parcial de una función de muchas variables.


A través de  mathbbRm denotar el conjunto:

\ mathbb {R} ^ m = \ underbrace {\ mathbb {R} \ times \ mathbb {R} \ times \ cdots \ times \ mathbb {R}} _ m = \ {(\ omega_1, \ omega_2, ... , \ omega_m), \ space \ omega_i \ in \ mathbb {R} \ space \ forall i \ in \ overline {1, m} \}.



Definición 8:

Función f colonE to mathbbR definido en el conjunto E subconjunto mathbbRm se llama diferenciable en el punto x enE limitando para el conjunto E si

f(x+h)f(x)=L(x)h+ alpha(x;h), qquad(1)

donde L(x) colon mathbbRm to mathbbR - lineal con respecto a h función [función diferencial f en el punto x (referencia df(x) o f(x) )], y  alpha(x;h)=o(h) a las h a0,x+h enE .

La relación (1) se puede reescribir de la siguiente manera:

f(x+h)f(x)=f(x)h+ alpha(x;h)

o

 bigtriangleupupf(x;h)=df(x)h+ alpha(x;h).


Si vamos al registro de coordenadas del punto x=(x1,...,xm) vector h=(h1,...,hm) y funciones lineales L(x)h=a1(x)h1+...+am(x)hm , entonces la igualdad (1) se ve así

f(x1+h1,...,xm+hm)f(x1,...,xm)==a1(x)h1+...+am(x)hm+o(h) quadfor space spaceh to0, qquad(2)

donde a1(x),...,am(x) - asociado con el punto x Números reales. Necesitas encontrar estos números.

Denotamos

hi=hiei=0 cdote1+...+0 cdotei1+hi cdotei+0 cdotei+1+...+0 cdotem,

donde \ {e_1, ..., e_m \} - base en  mathbbRm .

En h=hi de (2) obtenemos

f(x1,...,xi1,xi+hi,xi+1,...,xm)f(x1,...,xi,...,xm)==ai(x)hi+o(hi) quadfor space spacehi a0. qquad(3)



De (3) obtenemos

ai(x)= limhi a0 fracf(x1,...,xi1,xi+hi,xi+1,..,xm)f(x1,...,xi,...,xm)hi. qquad(4)


Definición 9:
El límite (4) se denomina derivada parcial de la función. f(x) en el punto x=(x1,...,xm) por variable xi . Se designa:

 frac partialf partialxi(x), quad partialif(x), quadfxi(x).



Ejemplo 1:

f(u,v)=u3+v2 sinu, partial1f(u,v)= frac partialf partialu(u,v)=3u2+v2 cosu, partial2f(u,v)= frac partialf partialv(u,v)=2v sinu.





Descenso de gradiente


Dejar f colon mathbbRn to mathbbR donde \ mathbb {R} ^ n = \ underbrace {\ mathbb {R} \ times \ mathbb {R} \ times \ cdots \ times \ mathbb {R}} _ n = \ {(\ theta_1, \ theta_2, ... , \ theta_n), \ space \ theta_i \ in \ mathbb {R} \ space \ forall i \ in \ overline {1, n} \} .

Definición 10:

Función de gradiente f colon mathbbRn to mathbbR llamado un vector, i cuyo elemento es igual a  frac partialf partial thetai :

 bigtriangledown thetaf= left( beginarrayc frac partialf partial theta1 frac partialf partial theta2 vdots frac partialf partial thetan endarray right), quad theta=( theta1, theta2,..., thetan).


Gradiente es la dirección en la que la función aumenta más rápidamente. Esto significa que la dirección en la que disminuye más rápidamente es la dirección opuesta al gradiente, es decir  bigtriangledown thetaf .

El objetivo del método de descenso de gradiente es encontrar el punto extremo (mínimo) de la función.

Denote por  theta(t) vector de parámetros de función en el paso t . Vector de actualización de parámetros en el paso t :

u(t)= eta bigtriangledown thetaf( theta(t1)), quad theta(t)= theta(t1)+u(t).


En la fórmula anterior, el parámetro  eta Es la velocidad de aprendizaje que controla el tamaño del paso que tomamos en la dirección de la pendiente del gradiente. En particular, pueden surgir dos problemas opuestos:

  • si los pasos son demasiado pequeños, el entrenamiento será demasiado largo y la probabilidad de quedar atrapado en un pequeño mínimo local sin éxito a lo largo del camino aumenta (la primera imagen en la imagen a continuación);
  • si son demasiado grandes, puede saltar sin cesar sobre el mínimo deseado de un lado a otro, pero nunca alcanzar el punto más bajo (la tercera imagen en la imagen a continuación).


Un ejemplo:
Considere el ejemplo del método de descenso de gradiente en el caso más simple ( n=1 ) Eso es f colon mathbbR to mathbbR .
Dejar f(x)=x2, quad theta(0)=3, quad eta=1 . Entonces:

 frac partialf partialx(x)=2x quad Rightarrow quad bigtriangledownf theta(x)=2x; theta(1)= theta(0)1 cdotf theta( theta(0))=36=3; theta(2)= theta(1)1 cdotf theta( theta(1))=3+6=3= theta(0).

En el caso cuando  eta=1 , la situación es como en la tercera imagen de la imagen de arriba. Saltamos constantemente sobre el punto extremo.
Dejar  eta=0.8 . Entonces:

 theta(1)= theta(0)0.8 vecesf theta( theta(0))=30.8 times6=34.8=1.8; theta(2)= theta(1)0.8 timesf theta( theta(1))=1.8+0.8 times3.6=1.8+2.88=1.08; theta(3)= theta(2)0.8 timesf theta( theta(2))=1.080.8 times2.16=1.081.728=0.648; theta(4)= theta(3)0.8 vecesf theta( theta(3))=0.648+0.8 times1.296=0.648+1.0368=0.3888; theta(5)= theta(4)0.8 timesf theta( theta(4))=0.38880.8 times0.7776=0.3888.62208=0,23328; theta(6)= theta(5)0.8 vecesf theta( theta(5))=0.23328+0.8 times0.46656=0.23328+0.373248==0.139968.

Se ve que iterativamente nos estamos acercando al extremo del extremo.
Dejar  eta=0.5 . Entonces:

 theta(1)= theta(0)0.5 vecesf theta( theta(0))=30.5 times6=33=0; theta(2)= theta(1)0.5 vecesf theta( theta(1))=00.5 times0=0.

El punto extremo se encontró en 1 paso.

Lista de literatura utilizada:


  • “Análisis matemático. Parte 1 ", V.A. Zorich, Moscú, 1997;
  • “Aprendizaje profundo. Inmersión en el mundo de las redes neuronales ”, S. Nikulenko, A. Kadurin, E. Arkhangelskaya, PETER, 2018.

Source: https://habr.com/ru/post/474338/


All Articles