Sinopse sobre Machine Learning. Análise matemática. Descida de gradiente



Lembre-se da análise matemática


Função Continuidade e Derivada


Vamos E subseteq mathbbR , a É o ponto limite do conjunto E (ou seja, a emE, forall varepsilon>0 space space|(a varepsilon,a+ varepsilon) capE|= infty ), f colonE to mathbbR .

Definição 1 (limite da função Cauchy):

Função f colonE to mathbbR comprometido com A às x procurando a se

 forall varepsilon>0 espaço espaço existe delta>0 espaço espaço forallx emE espaço espaço(0<|xa|< delta Rightarrow|f(x)A|< varepsilon).

çççççç


Designação:  lim limitsE nix paraaf(x)=A .

Definição 2:

  1. Intervalo ab chamado conjunto ] a, b [\ espaço: = \ {x \ in \ mathbb {R} | a <x <b \}] a, b [\ espaço: = \ {x \ in \ mathbb {R} | a <x <b \} ;
  2. Intervalo de pontos x in mathbbR é chamado de vizinhança deste ponto.
  3. Uma vizinhança perfurada de um ponto é uma vizinhança de um ponto do qual esse ponto em si é excluído.

Designação:

  1. V(x) ou U(x) - vizinhança de um ponto x ;
  2.  overset circU(x) - vizinhança perfurada de um ponto x ;
  3. UE(x):=E capU(x), overset circUE(x):=E cap overset circU(x)

Definição 3 (limite de função entre bairros):


 lim limitsE nix paraaf(x)=A:= forVR(A) espaço existe overset circUE(a) space space(f( overset circUE(a)) subconjuntoVR(A)).


As definições 1 e 3 são equivalentes.

Definição 4 (continuidade de uma função em um ponto):

  1. f colonE to mathbbR contínuo em a emE:=

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

  2. f colonE to mathbbR contínuo em a emE:=

     forall varepsilon>0 espaço espaço existe delta>0 espaço espaço forallx emE espaço espaço(|xa|< delta Rightarrow|f(x)f(a)|< varepsilon).


As definições 3 e 4 mostram que
( f colonE to mathbbR contínuo em a emE onde a - ponto limite E )  Leftrightarrow
 Leftrightarrow( lim limitsE nix paraaf(x)=f(a)).

Definição 5:

Função f colonE to mathbbR chamado contínuo no aparelho E se for contínuo em cada ponto do conjunto E .

Definição 6:

  1. Função f colonE to mathbbR definido no conjunto E subset mathbbR é chamado diferenciável no ponto a emE limitando para o conjunto E se existe um linear em relação ao incremento xa função de argumento A cdot(xa) [ diferencial de função f no ponto a ] esse incremento f(x)f(a) as funções f representado como

    f(x)f(a)=A cdot(xa)+o(xa) quadpara espaçox paraa, espaçox emE

  2. Valor

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


    chamada função derivada f no ponto a .

Também

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



Definição 7:

  1. Ponto x0 noE subconjunto mathbbR é chamado ponto máximo local (mínimo) e o valor da função é chamado máximo local (mínimo) da função f colonE to mathbbR se  existeUE(x0) :

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

  2. Os pontos máximo e mínimo locais são chamados pontos extremos locais e os valores da função neles são chamados extremos locais da função .
  3. Ponto x0 emE função extrema f colonE to mathbbR chamado ponto extremo interno se x0 é o ponto limite como para o conjunto E _- = \ {x \ em E | x <x_0 \} e para o conjunto E _ + = \ {x \ em E | x> x_0 \} .

Lema 1 (Fermat):

Se a função f colonE to mathbbR diferenciável no ponto do extremo interno x0 emE , então sua derivada neste momento é zero: f(x0)=0 .

Proposição 1 (teorema de Roll):
Se a função f colon[a,b] to mathbbR contínuo em um segmento [a,b] diferenciável no intervalo ]a,b[ e f(a)=f(b) então há um ponto  xi in]a,b[ tal que f( xi)=0 .

Teorema 1 (teorema do incremento finito de Lagrange):

Se a função f colon[a,b] to mathbbR contínuo em um segmento [a,b] e diferenciável no intervalo ]a,b[ então há um ponto  xi in]a,b[ tal que

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


Corolário 1 (um sinal de monotonicidade de uma função):
Se em qualquer ponto de um intervalo a derivada da função não for negativa (positiva), a função não diminui (aumenta) nesse intervalo.

Corolário 2 (critério para a constância da função):
Contínuo em um corte [a,b] uma função não é constante se e somente se sua derivada for zero em qualquer ponto do intervalo [a,b] (ou pelo menos o intervalo ]a,b[ )

Derivada parcial de uma função de muitas variáveis


Através de  mathbbRm denotar o 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} \}.



Definição 8:

Função f colonE to mathbbR definido no conjunto E subconjunto mathbbRm é chamado diferenciável no ponto x emE limitando para o conjunto E se

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

onde L(x) colon mathbbRm to mathbbR - linear em relação a h função [ diferencial de função f no ponto x (referência df(x) ou f(x) )] e  alpha(x;h)=o(h) às h a0,x+h emE .

A relação (1) pode ser reescrita da seguinte maneira:

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

ou

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


Se formos para o registro de coordenadas do ponto x=(x1,...,xm) vetor h=(h1,...,hm) e funções lineares L(x)h=a1(x)h1+...+am(x)hm , então a igualdade (1) fica assim

(x ^ 1 + h ^ 1, ..., x ^ m + h ^ m) -f (x ^ 1, ..., x ^ m) = \\ = a_1 (x) h ^ 1 + ... + a_m (x) h ^ m + o (h) \ quad for \ space \ space h \ a 0, \ qquad (2) $

onde a1(x),...,am(x) - associado ao ponto x números reais. Você precisa encontrar esses números.

Nós denotamos

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

onde \ {e_1, ..., e_m \} - base em  mathbbRm .

At h=hi de (2) obtemos

f(x1,...,xi1,xi+hi,xi+1,...,xm)f(x1,...,xi,...,xm)==ai(x)hi+o(hi) quadpara espaço espaçohi a0. qquad(3)



De (3) obtemos

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


Definição 9:
O limite (4) é chamado derivada parcial da função f(x) no ponto x=(x1,...,xm) por variável xi . Está designado:

 frac parcialf parcialxi(x), quad parcialif(x), quadfxi(x).



Exemplo 1:

f(u,v)=u3+v2 senu, parcial1f(u,v)= frac parcialf parcialu(u,v)=3u2+v2 cosu, parcial2f(u,v)= frac parcialf parcialv(u,v)=2v sinu.





Descida de gradiente


Vamos f colon mathbbRn to mathbbR onde \ 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} \} .

Definição 10:

Função Gradiente f colon mathbbRn to mathbbR chamado vetor i cujo elemento é igual a  frac parcialf parcial thetai :

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


Gradiente é a direção na qual a função aumenta mais rapidamente. Isso significa que a direção em que diminui mais rapidamente é a direção oposta ao gradiente, ou seja,  bigtriangledown thetaf .

O objetivo do método de descida de gradiente é procurar o ponto extremo (mínimo) de uma função.

Denotar por  theta(t) vetor de parâmetro de função na etapa t . Vetor de atualização de parâmetro na etapa t :

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


Na fórmula acima, o parâmetro  eta É a velocidade de aprendizado que controla o tamanho da etapa que damos na direção da inclinação do gradiente. Em particular, dois problemas opostos podem surgir:

  • se os passos forem muito pequenos, o treinamento será muito longo e aumentará a probabilidade de ficar preso em um mínimo local pequeno e sem êxito ao longo da estrada (a primeira imagem na figura abaixo);
  • se forem muito grandes, você poderá pular sem parar o mínimo desejado, mas nunca atingir o ponto mais baixo (a terceira imagem na figura abaixo).


Um exemplo:
Considere o exemplo do método de descida de gradiente no caso mais simples ( n=1 ) Isso é f colon mathbbR para mathbbR .
Vamos f(x)=x2, quad theta(0)=3, quad eta=1 . Então:

 frac parcialf parcialx(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).

No caso em que  eta=1 , a situação é como na terceira imagem da imagem acima. Saltamos constantemente sobre o ponto extremo.
Vamos  eta=0,8 . Então:

 theta(1)= theta(0)0,8 vezesf theta( theta(0))=30,8 times6=34,8=1,8;theta(2)= theta(1)0,8 vezesf 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 timesf theta( theta(3))=0,648+0,8 times1,296=0,648+1,0368=0,3888;theta(5)= theta(4)0,8 vezesf theta( theta(4))=0,38880,8 times0,7776=0,38880,62208=0,23328;theta(6)= theta(5)0,8 vezesf theta( theta(5))=0,23328+0,8 times0.46656=0,23328+0,373248==0,139968.

É visto que, iterativamente, estamos nos aproximando do ponto extremo.
Vamos  eta=0,5 . Então:

 theta(1)= theta(0)0,5 vezesf theta( theta(0))=30,5 times6=33=0;theta(2)= theta(1)0,5 vezesf theta( theta(1))=00,5 times0=0

O ponto extremo foi encontrado em 1 passo.

Lista de literatura usada:


  • “Análise matemática. Parte 1 ", V.A. Zorich, Moscou, 1997;
  • “Aprendizagem profunda. Imersão no mundo das redes neurais ”, S. Nikulenko, A. Kadurin, E. Arkhangelskaya, PETER, 2018.

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


All Articles