A RNA (Rede Neural Artificial) Perceptron é um dos modelos mais simples de rede neural, sendo a base para redes neurais mais complexas. É um classificador linear usado principalmente para problemas de classificação binária. A seguir, descrevemos o funcionamento básico do Perceptron.
Um Perceptron consiste em um único neurônio com múltiplas entradas e uma única saída. Cada entrada possui um peso associado e o neurônio também possui um bias (viés).
-
Inicialização dos Pesos: Os pesos (
$w$ ) e o bias ($b$ ) são inicializados com valores pequenos (geralmente aleatórios). -
Cálculo da Entrada Ponderada: A entrada ponderada é calculada pela soma das multiplicações dos pesos pelas respectivas entradas
$(x_i)$ , mais o bias:$$z = \sum_{i=1}^{n} w_i x_i + b$$ -
Função de Ativação: O valor da entrada ponderada
$z$ é passado por uma função de ativação. No caso do Perceptron, a função de ativação é a função degrau (também conhecida como função Heaviside):$$\text{saída} = \begin{cases} 1 & \text{se } z \geq 0 \ 0 & \text{se } z < 0 \end{cases}$$
-
Atualização dos Pesos: Os pesos são atualizados com base no erro (diferença entre a saída esperada e a saída obtida). O algoritmo de aprendizado é chamado de "regra do Perceptron" e é definido como:
$$w_i = w_i + \Delta w_i$$ onde$$\Delta w_i = \eta (d - y) x_i$$ Aqui,
$\eta$ é a taxa de aprendizagem,$d$ é a saída desejada,$y$ é a saída calculada e$x_i$ é a entrada correspondente.
Suponha que tenhamos um Perceptron com duas entradas
saída esperada | ||
---|---|---|
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
Inicializamos os pesos e o bias (ex.: (
O código implementa um Perceptron em JavaScript para treinar e testar um modelo de rede neural artificial para reconhecimento de padrões
Para executar o código, siga os passos abaixo:
-
Requisitos: Certifique-se de ter o Node.js instalado em seu sistema.
-
Comando de Execução: Abra o terminal ou prompt de comando, navegue até o diretório onde o arquivo
perceptron.js
está localizado e execute o comando:node perceptron.js
Isso iniciará a execução do código em um ambiente Node.js.
-
Instruções durante a Execução: O programa irá solicitar que você insira os valores de entrada necessários para treinamento e teste do Perceptron.
-
Resultados: Ao final da execução, o programa exibirá os pesos finais ajustados pelo Perceptron e permitirá testar novos valores de entrada para verificar o desempenho do modelo treinado.
O código implementa um Perceptron em JavaScript utilizando a biblioteca readline para capturar entradas do usuário. Aqui estão as funções principais:
-
inputEntradas()
,inputEntradasAposTreinamento()
,inputPesos()
,inputTaxaAprendizagem()
: Funções assíncronas para capturar diferentes tipos de entradas do usuário. -
fnet(entrada, pesos)
: Calcula a entrada ponderada$z$ do Perceptron. -
saida(result)
: Aplica a função de ativação do Perceptron. -
novosPesos(entrada, taxa_aprendizagem, saida, pesos)
: Atualiza os pesos do Perceptron com base no erro. -
main()
: Função principal que coordena o treinamento