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.