La variable de code dans la fonction nlm ()

9

Dans R, il existe une fonction nlm () qui effectue une minimisation d'une fonction f en utilisant l'algorithme de Newton-Raphson. En particulier, cette fonction génère la valeur du code variable défini comme suit:

codez un entier indiquant pourquoi le processus d'optimisation s'est terminé.

1: le gradient relatif est proche de zéro, l'itération actuelle est probablement la solution.

2: itérations successives dans les limites de la tolérance, l'itération actuelle est probablement la solution.

3: la dernière étape globale n'a pas réussi à localiser un point inférieur à l'estimation. Soit l'estimation est un minimum local approximatif de la fonction, soit le steptol est trop petit.

4: limite d'itération dépassée.

5: stepmax de taille de pas maximum dépassé cinq fois consécutives. Soit la fonction est illimitée ci-dessous, devient asymptotique à une valeur finie par le haut dans une certaine direction, soit le stepmax est trop petit.

Quelqu'un peut-il m'expliquer (peut-être en utilisant une simple illustration avec une fonction d'une seule variable) à quelles situations correspondent 1-5?

Par exemple, la situation 1 peut correspondre à l'image suivante:

entrez la description de l'image ici

Merci d'avance!

ocram
la source

Réponses:

8

Ces situations sont mieux comprises lorsque l'on pense à ce qu'est réellement la minimisation ou la maximisation et comment fonctionne l'optimisation.

fx0xix0f

i

xx0f(x)>f(x0)f(xi)>f(xi1)

fx0f(x0)=0f(xi)0xi

xix0xixi+1i|xixi1|<εxix0

Les séquences convergentes ont la propriété de se contracter, c'est-à-dire que si nous sommes proches de la convergence, tous les éléments restants de la séquence sont contenus dans une petite zone. Donc, si la séquence qui, en théorie, devrait converger commence à faire de grands pas, c'est une indication qu'il n'y a probablement pas de convergence. Cela correspond à la situation 5

Remarque Les définitions mathématiques strictes ont été intentionnellement omises.

mpiktas
la source