Skip to content

Biblioteca para implementar uma Rede MPL em JavaScript

License

Notifications You must be signed in to change notification settings

SanzioRaphael/MLP.js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 

Repository files navigation

CDN: https://cdn.jsdelivr.net/gh/SanzioRaphael/MLP.js@62b8cc8dac5c69c130da308511d9ad43a499b3ec/mlp.js

Documentação da Biblioteca MLP.js

A classe MLP representa uma rede neural de camadas densas com uma camada de entrada, uma ou mais camadas ocultas e uma camada de saída. Esta implementação utiliza as funções de ativação ReLU e sigmoid. Esta classe também fornece métodos para treinamento da rede neural e previsão.

Construtor

Construtor

MLP(inputLayer, hiddenLayers, outputLayer)


Cria uma instância da classe MLP com a seguinte estrutura:

inputLayer: número de neurônios na camada de entrada

hiddenLayers: um inteiro ou um array de inteiros, representando o número de neurônios em cada camada oculta. Se for um inteiro, a rede neural terá uma única camada oculta com esse número de neurônios. Se for um array, a rede neural terá o número de camadas ocultas igual ao comprimento do array e o número de neurônios em cada camada será dado pelos elementos do array.

outputLayer: número de neurônios na camada de saída



Métodos

randomMatrix(rows, cols)

Gera uma matriz rows x cols com valores aleatórios entre -1 e 1.


matrixMultiply(a, b)

Realiza a multiplicação de matrizes a x b e retorna o resultado.


matrixAdd(a, b)

Realiza a soma de matrizes a e b e retorna o resultado.


sigmoid(x)

Retorna o valor da função de ativação sigmoid aplicada ao valor x.


relu(x)

Retorna o valor da função de ativação ReLU aplicada ao valor x.


train(input, target, learningRate, epochs)

Realiza o treinamento da rede neural com base em um conjunto de dados de entrada input e de saída esperada target. learningRate define a taxa de aprendizado da rede e epochs define o número de épocas de treinamento. Durante o treinamento, a função realiza o cálculo dos gradientes e atualiza os pesos e bias da rede neural.


predict(input)

Utiliza a rede neural treinada para fazer previsões com base em um conjunto de dados de entrada input. Retorna um array com as previsões correspondentes para cada entrada.



Exemplo:


vamos criar uma rede neural com 2 neurônios na camada de entrada, 3 neurônios na camada escondida e 1 neurônio na camada de saída.

const mlp = new MLP(2, [3], 1);

const input = [[0, 0], [0, 1]];

const target = [[0], [1]];

mlp.train(input, target, 0.1, 1000);

const input = [1, 0];

const output = mlp.predict(input);

console.log(output); // exibe a previsão para a entrada [1, 0]

About

Biblioteca para implementar uma Rede MPL em JavaScript

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published