Przejdź do treści
Home Blog Projekty O mnie

Neural Network from Scratch

🧠 Neural Network from Scratch

Edukacyjny projekt implementujący sieć neuronową od podstaw w czystej Javie. Całość została zbudowana bez użycia żadnych bibliotek do uczenia maszynowego - tylko czysta matematyka i implementacja algorytmów od zera. Projekt wykorzystuje dataset MNIST do rozpoznawania odręcznie pisanych cyfr.

✨ Funkcjonalność

Implementacja od podstaw

Wszystkie komponenty sieci neuronowej zostały zaimplementowane manualnie:

  • Własne klasy matematyczne (Vector, Matrix) z operacjami macierzowymi
  • Warstwy fully connected z forward i backward propagation
  • Neurony z konfigurowalnymi wagami i biasami

Funkcje aktywacji

Projekt zawiera implementacje popularnych funkcji aktywacji:

  • ReLU (Rectified Linear Unit)
  • Sigmoid
  • SoftMax

Mechanizm uczenia

Pełna implementacja backpropagation z:

  • Obliczaniem gradientów dla warstw ukrytych i wyjściowych
  • Aktualizacją wag na podstawie learning rate
  • Funkcjami kosztu (Square Cost)

Rozpoznawanie cyfr MNIST

Praktyczne zastosowanie sieci do klasyfikacji obrazów:

  • Wczytywanie i przetwarzanie datasetu MNIST (28x28 pikseli)
  • Trening na zbiorze treningowym
  • Walidacja dokładności na zbiorze testowym
  • Mierzenie sukcesu klasyfikacji po każdej epoce