Confusão sobre a regra de Armijo

13

Eu tenho essa confusão sobre a regra Armijo usada na pesquisa de linha. Eu estava lendo a pesquisa de linha de rastreamento anterior, mas não entendi o que é essa regra Armijo. Alguém pode elaborar qual é a regra de Armijo? A Wikipédia não parece explicar bem. obrigado

user34790
fonte
E se na equação a variável x não for um vetor, mas uma matriz? Como a regra do Armijo deve ser atualizada?
precisa saber é o seguinte
nada muda. você deve simplesmente remodelar sua matriz em um vetor (coluna) x k . Xkxk
GoHokies
Foi aí que fiquei preso. Quando se torna uma matriz, o valor no lado esquerdo ( f ( x k + α p k ) ) ainda é um escalar. Mas o valor no lado direito não é - em vez disso, é uma matriz ( f ( x k ) é um escalar e beta alfa f ( x k ) T p k é uma matriz.)xkf(xk+αpk)f(xk)βαf(xk)Tpk
Frank Puk
você precisará trabalhar com um vetor, não uma matriz. assim você remodelar seu matriz de variáveis de controle (eu denotado pelo X k ) em um vetor x k com N 2 elementos. A direção da pesquisa e o gradiente também serão vetores com elementos N 2 . dessa forma, tanto o RHS quanto o LHS da condição Armijo são escalares e podem ser comparados. N×NXkxkN2N2
GoHokies

Respostas:

19

Depois de obter uma direção de descida para sua função objetiva f ( x ) , você precisa escolher um comprimento de passo "bom". Você não deseja dar um passo muito grande para que a função no seu novo ponto seja maior que o ponto atual. Ao mesmo tempo, você não quer dar um passo pequeno demais, de modo que leva uma eternidade para convergir.pf(x)

A condição de Armijo basicamente sugere que um "bom" comprimento do passo é tal que você tem "uma diminuição suficiente" em no seu novo ponto. A condição é matematicamente declarada como f ( x k + α p k ) f ( x k ) + β α f ( x k ) T p k onde p k é uma direção de descida em x k e β ( 0 , 1 ) . f

f(xk+αpk)f(xk)+βαf(xk)Tpk
pkxkβ(0 0,1)

A intuição por trás disso é que o valor da função no novo ponto deve estar abaixo da "linha tangente" reduzida em x k na direção de p k . Veja o livro "Numerical Optimization" de Nocedal & Wright. No capítulo 3, há uma excelente descrição gráfica da condição de diminuição suficiente do armijo.f(xk+αpk)xkpk

Paulo
fonte
1
Em vez de pensar nela como uma linha tangente, você também pode pensar nela como a expansão de Taylor de primeira ordem. Neste caso, o apenas garante que existe um tamanho de passo α . βα
Cjordan1
A razão pela qual isso é importante, ou seja, por que é necessário um passo "bom", é que muitos esquemas de otimização convergirão mais lentamente, como Paulo diz, ou talvez não convergam. Portanto, pesquisas de linha - que vêm em várias variedades, o Armijo é apenas o mais popular - podem ser usadas para fornecer propriedades de convergência mais robustas aos algoritmos.
Cjordan1
1
Paul: sua explicação está incompleta. Essa desigualdade por si só não garante a diminuição "suficiente". De fato, você pode ter alfa = 0 e ainda satisfazer a desigualdade que escreveu. Uma característica importante é que a regra de Armijo é limitar o tamanho da etapa a zero, o que é feito por outra desigualdade: f (gama * xnovo) -f (x_old)> beta * (gama * xnovo-x_old) ^ T * grad (f (x_old))
f(x)=x2xk=1pk=2αf(xk+αpk)α=1/2β>1/2f(xk+1/2pk)=0>12β=f(xk)+βαf(xk)pkβ
β>1/2β=10-4β
0

Cinco anos depois, essa pergunta ainda é válida.

Aqui (páginas 16 e 17), você pode encontrar uma ótima explicação, incluindo um algoritmo.

Bojan Hrnkas
fonte