Tutorial Guiado
Este tutorial mostra um caminho curto para estudar o projeto sem se perder.
1. Comece pelo caso XOR
Rode:
python examples/xor_exemplo.py
Esse e o melhor ponto de entrada porque:
- o dataset e pequeno
- a rede aprende um padrao nao linear simples
- fica facil relacionar entrada, saida e predicoes finais
2. Leia o fluxo do modelo
Arquivos mais importantes:
src/core/rede_neural_core.pysrc/core/funcoes_ativacao.pysrc/data/utils.py
Ordem recomendada:
_forward_pass()_calcular_delta_saida()_backward_propagation()_atualizar_parametros()treinar()
3. Entenda as configuracoes
O projeto permite duas formas de uso:
API direta
rede = RedeNeural([2, 4, 1], ativacao="sigmoid", seed=42)
API organizada
modelo = RedeNeural.from_config(
ModelConfig([2, 16, 12, 3], ativacao="relu", seed=42, funcao_custo="categorical_crossentropy")
)
TrainingConfig organiza hiperparametros como:
epochstaxa_aprendizadobatch_sizeotimizadorl2_lambdadropoutgradient_clip
4. Estude os callbacks
Callbacks deixam o treino mais limpo:
History: guarda logs em memoriaCSVLogger: salva um CSVModelCheckpoint: salva os melhores pesosEarlyStopping: interrompe treino sem progresso
Exemplo mental:
treino produz logs -> callbacks observam logs -> callbacks salvam, param ou restauram pesos
5. Va para classificacao binaria
Rode:
python examples/classificacao.py
python examples/exemplo.py --no-plots
Aqui voce observa:
- normalizacao dos dados
- split treino/teste
- uso de
Adam - historico de treino
- metricas como precisao, recall e F1
6. Va para multiclasse
Rode:
python examples/multiclasse.py --no-plots
Esse exemplo mostra:
softmaxcategorical_crossentropy- one-hot encoding
- matriz de confusao multiclasse
- fronteira de decisao multiclasse
7. Compare configuracoes
Rode:
python -m rede_neural_do_zero benchmark --mode binario
python -m rede_neural_do_zero benchmark --config configs/benchmark/suite.yaml
Isso ajuda a responder perguntas como:
Adamesta melhor do queSGDaqui?batch_sizemenor ajuda?L2edropoutmelhoraram generalizacao?
8. Verifique a qualidade do projeto
Comandos uteis:
python -m rede_neural_do_zero verify
python -m rede_neural_do_zero evaluate --config configs/evaluate/diabetes.toml
9. Melhor jeito de continuar estudando
Se voce quiser aprofundar sem se perder, siga esta ordem:
- XOR
- classificacao binaria
- callbacks
- multiclasse
- benchmark
- testes
Essa progressao vai do menor caso possivel ate uma base de projeto mais parecida com bibliotecas reais.