Template Method i sieć neuronowa - kilka pytań

Template Method i sieć neuronowa - kilka pytań
0

Pisze sieć neuronową. Mam pytanie o trzy klasy:

Kopiuj
class NeuronWejściowy
class NeuronŚrodkowy
class NeuronWyjściowy

Chciałem zrobić dziedziczenie:

Kopiuj
class NeuronWejściowy:NeuronWyjściowy
class NeuronŚrodkowy:NeuronWyjściowy

Metorytorycznie ma to sens, bo wiadomo jak działają sieci, ale czy to jest poprawne? Może lepiej zastować Template Method - abstrakcyjna klasa Neuron itd. ?

edytowany 1x, ostatnio: flowCRANE
MK
  • Rejestracja:prawie 11 lat
  • Ostatnio:około 10 lat
  • Postów:33
0

Jak dla mnie, nie ma to merytorycznie żadnego sensu, ani od strony OOP, ani od SSN. Neuron to neuron wchodzi wartość i wychodzi wartość. Neurony są grupowane w warstwy: wejściowe, ukryte, wyjściowe. I dopiero tutaj ma sens dziedziczenie po np. abstract class Layer.

Na youtubie polecam kanał autora książek o SSN w OOP - Jeff Heaton. Oraz zobacz przykładowe biblioteki SSN w c# - jest tego mnóstwo.


edytowany 5x, ostatnio: mkr
Shalom
  • Rejestracja:około 21 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
0

Merytorycznie nie ma to sensu bo te neurony niczym sie nie różnią. Popatrz tutaj: https://github.com/Pharisaeus/Neural jak można zaprojektować hierarchę w sieci neruonowej. Nie jest to na pewno idealne, ale lepsze niż to co proponujesz.


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
HE
to Twoje ? :D
Shalom
A co? Nie działa? :P Ano pisało sie takie coś kiedyś na studiach ;]
HE
Nie sprawdzałem czy działa, ale zauważyłem kilka wskazówek na podstawie których mógłbym przypuszczać, że Twoje :) Muszę zainstalować środowisko do pythona to sobie obczaję ;p
Shalom
pyQt jest tam też potrzebne ;)
0

Rozumiem. Neuron to neuron. Ten podział na klasy to wskazówka od profesora, który dłużej w tym siedzi niż ja żyje. Ja to widzę tak, że chodzi tu o to, że w inny sposób jest np. liczony błąd dla neuronów poszczególnych warstw itd.

MK
To, że profesor jest stary nic nie znaczy. Ja na studiach różne bzdury słyszałem. Ten podział nie ma sensu i tyle.
Shalom
  • Rejestracja:około 21 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
0

No ale przecież algorytm uczenia sieci też nie jest jeden! Sieć feed-forward powinna być zupełnie niezależna od tego w jaki sposób ją uczysz. Inaczej to będzie jakaś tragedia w tym kodzie.
Napisz najpierw samą sieć, tak żeby dało sie podawać na wejście wartości i dostawać wyniki, ustawiać wagi, łączyć neurony etc. Dopiero potem zabierz się za uczenie, ale nie modyfikujac już samej sieci. Ponawiam propozycję -> popatrz na kod wyżej.


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
PI
Chodzi mi tylko o backpropagation. Myślałem, żeby zrobić te trzy klasy, klase połączenie i klase SchematSieci, gdzie utworze szkielet sieci i przypisze momentum, ped itd.
PI
  • Rejestracja:ponad 10 lat
  • Ostatnio:ponad 10 lat
  • Postów:4
0

Myślicie, że aplikacja do prognozowania indeksów giełdowych jest zbyt prosta do wrzucenia do cv? W poszukiwaniu pierwszej pracy.

Johnny_Bit
  • Rejestracja:ponad 22 lata
  • Ostatnio:ponad 8 lat
  • Lokalizacja:Kielce
0

Prognozowanie indeksów giełdowych jest cholernie trudnym zagadnieniem. Jak faktycznie zrobisz to jasne - wpis w CV możesz dać jak byk.


HAKGER - 50% Complete

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.