← menu Segurança Vibração
def neuronio(entradas, pesos, vies): total = 0 for i in range(len(entradas)): total = total + entradas[i] * pesos[i] total = total + vies return total def sigmoid(x): return 1 / (1 + math.exp(-x))
Logo do Python
# sem numpy, sem biblioteca nenhuma

Uma rede
em tijolos

Um neurônio é uma continha: entradas vezes pesos, soma, mais o viés. Daí até a XOR aprender são cinco passos — e cada um foi rodado e medido antes de virar página.

role para ver os cinco ↓

total = total + entradas[i] * pesos[i]
1 / (1 + math.exp(-x))
z = Σ(xᵢ · wᵢ) + b
if previsto != esperado: peso += taxa * erro * entrada
erro_oculto = erro_saida * peso * derivada
# a medição que quase ninguém publica

A XOR não converge sempre

Com 2 neurônios na camada oculta, a rede aprende em cerca de 34 de 40 rodadas. Nas outras seis ela empaca num mínimo local e as previsões travam perto de 0,49 — meio caminho, sem decidir nada.

Quase todo tutorial mostra a rodada que deu certo e vai embora. A informação útil é a outra: o mesmo código, rodado quarenta vezes, falha seis.

Texto e código vêm da Livraria do Neon, estante redes-neurais. ← voltar ao menu