Witam
Zbudowałem sieć neuronową w C#, jednak mam pewne problemy.
Wszystko wydawało się, że ładnie działa - jednak czasem sieć dawała dziwne rezultaty uczenia.
Postanowiłem więc narysować to na "Form'ie" , wykresy przedstawiają:
- oś x - kolejne "epoki"
- oś y - błąd
Każda linia przedstawia błąd dla pojedynczego wektoru uczącego.
W większości przypadków, wyniki wyglądają następująco:
(przy zachowanej kolejności podawania wzorców):
(przy losowej kolejności pokazywania wzorców):
..Jednak sieć za Chiny nie chce się nauczyć funkcji XOR:
Dane dla xor:
- współczynnik uczenia 0.9 (próbowałem różne)
- współczynnik dla momentum 0,6 (próbowałem od 0 do 1)
- neuronów wejściowych: 2
- neuronów wyjściowych: 1
- neuronów ukrytych: 2
Liczba epok: od 100 do kilku tysięcy - nie przyniosło rezultatu.
Co robie źle .. czy ktoś patrząc na wykres jest w stanie odpowiedzieć na to pytanie? (wiem, że powinien pokazać kod, jak obliczam itd, ale chyba za dużo by to zajęło).
Będę wdzięczny za jakąkolwiek pomoc.