Outras técnicas de otimização

Técnica de gradiente descendente iterado

A descida gradiente, também conhecida como descida mais íngreme, é um algoritmo de otimização iterativa para encontrar um mínimo local de uma função. Enquanto minimizamos a função, estamos preocupados com o custo ou erro a ser minimizado (Lembre-se do problema do caixeiro viajante). É amplamente utilizado no aprendizado profundo, o que é útil em uma ampla variedade de situações. O ponto a ser lembrado é que nos preocupamos com a otimização local e não com a otimização global.

Ideia Principal de Trabalho

Podemos entender a ideia principal de trabalho da descida de gradiente com a ajuda das seguintes etapas -

  • Primeiro, comece com uma estimativa inicial da solução.

  • Então, pegue o gradiente da função nesse ponto.

  • Mais tarde, repita o processo avançando a solução na direção negativa do gradiente.

Seguindo as etapas acima, o algoritmo eventualmente convergirá onde o gradiente é zero.

Conceito Matemático

Suponha que temos uma função f(x)e estamos tentando encontrar o mínimo dessa função. A seguir estão as etapas para encontrar o mínimo def(x).

  • Primeiro, dê algum valor inicial $ x_ {0} \: for \: x $

  • Agora pegue o gradiente $ \ nabla f $ ⁡ da função, com a intuição de que o gradiente dará a inclinação da curva naquele x e sua direção apontará para o aumento da função, para descobrir a melhor direção para minimizá-la.

  • Agora mude x da seguinte forma -

    $$ x_ {n \: + \: 1} \: = \: x_ {n} \: - \: \ theta \ nabla f (x_ {n}) $$

Aqui, θ > 0 é a taxa de treinamento (tamanho do passo) que força o algoritmo a dar pequenos saltos.

Estimando o tamanho do passo

Na verdade, um tamanho de passo errado θpode não atingir a convergência, portanto, uma seleção cuidadosa do mesmo é muito importante. Os seguintes pontos devem ser lembrados ao escolher o tamanho do passo

  • Não escolha um tamanho de passo muito grande, caso contrário, terá um impacto negativo, ou seja, irá divergir ao invés de convergir.

  • Não escolha um tamanho de passo muito pequeno, caso contrário, demorará muito para convergir.

Algumas opções com relação à escolha do tamanho do passo -

  • Uma opção é escolher um tamanho de passo fixo.

  • Outra opção é escolher um tamanho de etapa diferente para cada iteração.

Recozimento simulado

O conceito básico de Simulated Annealing (SA) é motivado pelo recozimento em sólidos. No processo de recozimento, se aquecermos um metal acima de seu ponto de fusão e resfriá-lo, as propriedades estruturais dependerão da taxa de resfriamento. Também podemos dizer que SA simula o processo metalúrgico de recozimento.

Use em ANN

SA é um método computacional estocástico, inspirado na analogia do Annealing, para aproximar a otimização global de uma dada função. Podemos usar SA para treinar redes neurais feed-forward.

Algoritmo

Step 1 - Gere uma solução aleatória.

Step 2 - Calcule seu custo usando alguma função de custo.

Step 3 - Gere uma solução vizinha aleatória.

Step 4 - Calcular o custo da nova solução pela mesma função de custo.

Step 5 - Compare o custo de uma nova solução com o de uma solução antiga da seguinte forma -

E se CostNew Solution < CostOld Solution em seguida, passe para a nova solução.

Step 6 - Teste a condição de parada, que pode ser o número máximo de iterações alcançadas ou obter uma solução aceitável.