Skip to content

SanzioRaphael/perceptron.js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 

Repository files navigation

CDN: https://cdn.jsdelivr.net/gh/SanzioRaphael/perceptron.js@b694883851fb2b64a579d34d8c9f6d6777aa79d4/perceptron.min.js

perceptron.js


Introdução

A biblioteca Perceptron implementa o algoritmo de treinamento de um único neurônio artificial, chamado Perceptron. O objetivo é classificar dados em duas classes distintas, ou seja, é uma biblioteca de aprendizado supervisionado binário.

Instalação

Para utilizar esta biblioteca, você pode clonar o repositório a partir do GitHub e incluir o arquivo perceptron.js no seu projeto. O código foi escrito em JavaScript, portanto, pode ser executado em qualquer ambiente que suporte esta linguagem.

Utilização

Para começar a utilizar a biblioteca, você deve criar uma instância da classe Perceptron. É necessário passar dois argumentos para o construtor: o tamanho do vetor de entrada e a taxa de aprendizado (learning rate). O tamanho do vetor de entrada é o número de características que o seu conjunto de dados possui.

Exemplo:

const perceptron = new Perceptron(inputSize, learningRate);



Métodos

predict(inputs)

O método predict recebe um vetor de entrada inputs e retorna a classe prevista pelo Perceptron. A classe prevista é calculada pela soma ponderada dos pesos associados a cada entrada e comparada a um limite, que é o bias. A função de ativação utilizada é a função degrau, que retorna 1 se o limite é ultrapassado e 0 caso contrário.


Exemplo:

const inputs = [0, 1, 0.5, 1.5];

const prediction = perceptron.predict(inputs);



train(inputs, label)

O método train é responsável por atualizar os pesos do Perceptron. Recebe como argumento um vetor de entrada inputs e a classe real associada a esta entrada label. O erro é calculado como a diferença entre a classe real e a prevista. Os pesos são atualizados proporcionalmente ao erro e à taxa de aprendizado.

Exemplo:

const inputs = [0, 1, 0.5, 1.5];

const label = 1;

perceptron.train(inputs, label);



Propriedades

O Perceptron possui três propriedades:

- weights: um vetor de pesos associados a cada entrada.

- bias: um valor adicionado à soma ponderada das entradas.

- learningRate: a taxa de aprendizado utilizada para atualizar os pesos.



Exemplo de uso

A seguir, um exemplo de utilização da biblioteca Perceptron para classificar o conjunto de dados Iris em duas classes: Iris setosa e Iris versicolor.



const perceptron = new Perceptron(4, 0.1);

// Dados de treinamento const irisData = [ { inputs: [5.1, 3.5, 1.4, 0.2], label: 1 }, // Iris setosa { inputs: [4.9, 3.0, 1.4, 0.2], label: 1 }, // Iris setosa { inputs: [7.0, 3.2, 4.7, 1.4], label: 0 }, // Iris versicolor { inputs: [6.4, 3.2, 4.5, 1.5], label: 0 }, // Iris versicolor ];


// Teste do Perceptron for (let i = 0; i < irisTest.length; i++) { const prediction = perceptron.predict(irisTest[i]); console.log(Prediction: ${prediction}); }




Neste exemplo, foram utilizados quatro atributos (comprimento da sépala, largura da sépala, comprimento da pétala e largura da pétala) para treinar o Perceptron a classificar duas espécies de Iris: setosa e versicolor. Os dados de treinamento foram passados para o método `train`, que atualizou os pesos do Perceptron. Em seguida, foram utilizados dados de teste para avaliar o desempenho do Perceptron.

Considerações finais

A biblioteca Perceptron é uma implementação simples do algoritmo de aprendizado de máquina para classificação binária. Ela pode ser utilizada como ponto de partida para construir algoritmos mais complexos, como redes neurais multicamadas. A taxa de aprendizado é um parâmetro importante que deve ser ajustado de acordo com o problema em questão. Caso a taxa de aprendizado seja muito alta, os pesos podem oscilar demasiadamente e impedir a convergência do algoritmo. Por outro lado, caso a taxa de aprendizado seja muito baixa, o treinamento pode demorar demasiadamente para convergir.

About

Biblioteca para implementar uma Rede Perceptron em JavaScript

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy