2019-07-08 09:36:57
4 - Ensinar matemática usando redes neurais
Vamos construir um programa, que vai ensinar o computador a prever a saída de uma expressão matemática sem "conhecer" a fórmula exata.
Considere a seguinte expressão: (a+b)*2
Para duas entradas a E b a operação terá uma saída distinta.
O objetivo é criar um programa, que irá prever a saída de dados de entrada, sem saber a fórmula da expressão.
Para isso, usaremos redes neurais. Redes neurais artificiais, como cérebros reais, são formadas a partir de "neurônios" conectados, todos capazes de realizar uma tarefa relacionada a dados, tais como responder a uma pergunta sobre a relação entre eles.
Para torná-lo realmente simples, nós vamos apenas modelar um único neurônio, com duas entradas e uma saída.
Estes quatro primeiros exemplos são chamados de conjunto de treinamento:
Produção De Entradas
2 3 10
1 1 4
5 2 14
12 3 30
Nós vamos treinar o neurônio para trabalhar o padrão e resolver a tarefa para entradas personalizadas, apenas tendo o conjunto de treinamento e sem saber que Operação ele realiza.
Formacao
Damos a cada entrada um peso, que pode ser um número positivo ou negativo. Uma entrada com um grande peso positivo ou um grande peso negativo tem um forte efeito na saída do neurônio. Antes de começarmos, definimos cada peso num número aleatório. Então começamos o processo de treinamento:
1. Pegue as entradas do conjunto de treinamento, ajuste - as pelos pesos, e passe-as através de uma fórmula especial para calcular a saída do neurônio.
dois. Calcule o erro, que é a diferença entre a saída do neurônio e a saída desejada no exemplo de conjunto de treinamento.
três. Dependendo da direção do erro, ajuste os pesos.
4. Repita este processo 10 mil vezes.
Eventualmente, os pesos do neurônio alcançarão um ótimo resultado para o conjunto de treinamento. Este processo é chamado de propagação traseira.
Para a fórmula, tomamos a soma ponderada das entradas:
produção = peso1 * input1+peso2 * input2
Após cada iteração, precisamos ajustar o peso com base no erro (a diferença da saída calculada e a saída real). Usamos esta fórmula para cada peso:
ajuste = 0,01 * erro * entrada
Isto torna o ajuste proporcional ao tamanho do erro. Após cada ajuste o tamanho do erro deve ficar menor e menor.
Após as 10.000 iterações, teremos pesos ótimos e, em seguida, podemos dar ao programa as entradas desejadas. O programa irá usar os pesos e calcular a saída usando a mesma soma ponderada como acima.
455 views06:36