https://github.com/mateusjssilva/neural-network
Java implementation of a simple neural network for binary classification. The neural network architecture consists of three layers: an input layer, a hidden layer, and an output layer.
https://github.com/mateusjssilva/neural-network
binary-classification java neural-network
Last synced: about 1 year ago
JSON representation
Java implementation of a simple neural network for binary classification. The neural network architecture consists of three layers: an input layer, a hidden layer, and an output layer.
- Host: GitHub
- URL: https://github.com/mateusjssilva/neural-network
- Owner: MateusjsSilva
- License: mit
- Created: 2023-08-16T20:34:53.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2023-09-02T12:16:29.000Z (almost 3 years ago)
- Last Synced: 2025-02-05T09:54:03.848Z (over 1 year ago)
- Topics: binary-classification, java, neural-network
- Language: Java
- Homepage:
- Size: 5.86 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Neural Network
Este repositório contém uma implementação em Java de uma rede neural simples para classificação binária. A arquitetura da rede neural consiste em três camadas: uma camada de entrada, uma camada oculta e uma camada de saída.
### Conteúdo
- `NeuralNetwork.java`: A implementação principal da rede neural, incluindo funções de ativação, função de treinamento e função de teste.
- `README.md`: Este arquivo de documentação, que fornece uma visão geral do código e seu uso.
### Implementação da Rede Neural
A classe `NeuralNetwork` contém as seguintes funções-chave:
1. `sigmoid(double val)`: Função de ativação que retorna o valor sigmoid do valor de entrada.
2. `derivadaSigmoid(double val)`: Derivada da função de ativação sigmoidal.
3. `treinar(double taxaAprendizado, double[][] pesos, double[][] dadosEntrada, double[][] saidasEsperadas)`: Função para treinar a rede neural. Ela utiliza a retropropagação para ajustar os pesos com base nos dados de entrada e nas saídas esperadas.
4. `testar(double[][] pesos, double[][] dadosTeste)`: Função para testar a rede neural treinada usando dados de teste.
### Como Usar
1. Compile e execute o arquivo `NeuralNetwork.java` utilizando um compilador Java ou um ambiente de desenvolvimento integrado (IDE) que suporte Java.
2. A função `main` no código fornece um exemplo de como usar a rede neural. Ela inicializa pesos, dados de entrada e saídas esperadas. A rede é treinada usando os dados de treinamento fornecidos e, em seguida, testada nos dados de teste.
3. O processo de treinamento imprime os pesos atualizados e o erro médio quadrático para cada época.
4. O processo de teste imprime as previsões da rede para os dados de teste.
### Ajustando Parâmetros
Você pode modificar os parâmetros e variáveis no código para experimentar com diferentes configurações da rede neural, como alterar a taxa de aprendizado, o número de épocas e os pesos iniciais.
### Requisitos
- Kit de Desenvolvimento Java (JDK)
### Aviso
Este código é destinado a fins educacionais e demonstra uma implementação básica de rede neural.