Pisze w c++ sieć neuronową która kompresuje dane a nastepnie je dekompresuje. jest to sieć jednokierunkowa autoasocjacyjna o strukturze typu X-A-X gdzie A<X;
moja sieć niestety nie działa do końca prawidłowo. Potrafi nauczyć się tylko jednego wektora wejściowego. przy większej ich liczbie odpowiedzi neuronow zawsze sa bardzo zblizone do zera. Skoro jednak uczy się jednego wektora to znaczy, ze algorytm uczenia jest napisany poprawnie. Neuron ma funkcje aktywacji:
wyjscie = 1/(1+exp(-beta*wejscie)); współczynnik beta w tym wzorze byl zmieniany od 0.05 do 0.99. bez rezultatow
wszystkie wagi losowane sa z przedzialu (0;1)
wektor wejsciowy to liczby naturalne, dlatego na poczatku jest on normalizowany poprzez podzielenie pojedynczego wejscia przez sumę wszystkich wejsc.
nie mam w sieci biasu i stosuje algorytm backpropagation.
co może powodować błąd? będe wdzięczny za wszelkie wskazówki bo brakuje mi na razie pomysłów.