Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Novo artigo Rede neural na prática: Gradiente foi publicado:
O artigo explica por que e como o gradiente é usado no treinamento de um perceptron, partindo do erro de mínimo quadrado e da regra da cadeia para obter as derivadas parciais. Mostramos a implementação do cálculo do gradiente na classe C_Neuron em MQL5 e validamos com exemplos de 1 e 2 entradas. Você aprenderá a ajustar pesos e viés por gradiente descendente e se preparar para forward e back propagation.
Em outro artigo, abordei o tema sobre gradiente. Mas ao meu ver, aquilo ficou muito mal explicado em diversos aspectos. Talvez este seja o motivo pelo qual tanta gente faz uma grande confusão sobre o tema. Mas aqui vou abordar a coisa toda de uma forma bem mais simples. Isto porque, em breve vamos entrar em um assunto bem mais complicado. Então não iremos adicionar, ainda, as funções de ativação a classe C_Neuron. Isto porque não quero complicar desnecessariamente antes da hora.
Bem, o gradiente é uma forma bem mais simples e cômoda, de representar uma derivada. Ou melhor dizendo, de realmente usarmos a reta tangente. Isto quando temos diversas variáveis sendo utilizadas. Ao fazermos isto, podemos de fato encontrar um cálculo que será mais eficiente, para convergir em muitas situações.
O primeiro ponto a ser compreendido, é o fato de que todo gradiente é na verdade um vetor. E o que isto significa na prática? A primeira consequência disto, é que sendo um vetor, ele aponta em alguma direção. No caso ele aponta para a direção de maior incremento possível. Mas se usarmos ele de forma invertida, poderemos ir na direção de menor incremento. Ou no nosso caso, menor custo. Daí, para diferenciá-lo de todos os demais tipos de vetores, chamamo-lo de gradiente descendente.
O segundo ponto, e este é onde muitos começam a confundir as coisas, é que o gradiente é um vetor ortogonal. Por este motivo, ele literalmente, está perpendicular a uma outra reta que passa pelo ponto de origem do vetor. Esta reta que é sim, a reta tangente. Preste atenção a isto, pois este tipo de coisa será importante depois. Diferente do que acontece com o mínimo quadrado, onde temos uma reta secante sendo criada de fato. Muitos dizem de maneira equivocada, que o perceptron utiliza a reta tangente. Mas quando vamos de fato olhar os cálculos que estão sendo feitos, notamos que se trata na realidade da reta secante. Então cuidado ao mencionar que tipo de reta você está usando nos cálculos trigonométricos. Existem outras coisas relacionadas a vetores, mas para o que se propõem estes artigos, o que foi mencionado ha pouco já será mais do que o suficiente, para explicar todo o conteúdo.
Assim sendo, como o gradiente é um vetor, ele é consideravelmente mais prático em diversos cenários. Mas aqui vamos focar na questão mais básica. Pelo menos por hora. Caso contrário, iríamos começar a falar de coisa não relacionadas ao tema principal.
Autor: Daniel Jose