Witam,
na początek ogromne podziękowania dla uczestnika i moderatora tego forum Deti-ego za udostępnienie biblioteki HSynapse z zaimplementowaną siecią neuronową :). Mam nadzieję, że autor się nie pogniewa i pozwoli spróbować przerobić (mam nadzieję, że naszymi wspólnymi siłami) ten kod na C++.
Cel tego wątku
Dlatego, że od dłuższego czasu interesuję się sztuczną inteligencją, co zresztą skłoniło mnie do nauki programowania w C++ (ciągle się uczę!), chciałbym w końcu wykorzystać te mechanizmy w praktyce. Niestety nie urodziłem się informatykiem i mam pewne problemy z myśleniem obiektowym a poza tym nie mam jeszcze dużego doświadczenia, dlatego na początku postanowiłem bazować na czyjejś pracy.
Niestety biblioteki, które znalazłem w internecie napisane w C++ albo są gigantycznie długie (i ciężko jest je analizować) albo dot. tylko jednej warstwy ukrytej, albo są napisane strukturalnie (a chciałbym zrobić to obiektowo) i w ogóle ciężko znaleźć coś wartościowego, więc czuje się "zmuszony" (to kiepskie słowo ale nic) bazować na - wydaje mi się - bardzo ciekawiej koncepcji implementacji sieci napisanej przez Deti-ego -> niestety w języku C#.
Pierwszy kontakt z tym językiem trochę mnie zniechęca (mimo, że większość z was twierdzi przeciwnie). Jednak mimo wszystko zależy mi na tym kodzie i nie chcę się tak łatwo poddać.
W związku z powyższym co jakiś czas będę zamieszczał w tym wątku jakąś klasę z biblioteki Deti-ego i "próbował" samodzielnie (lub z wami) ją przerobić na C++. Niestety, z uwagi na niezbyt dobrą znajomość programowania i praktycznie zerową znajomość C# obawiam się, że często będę potrzebował waszej pomocy.
Pomoc może polegać zarówno na wyjaśnianiu kwestii technicznych, sprawdzeniu poprawności mojej lub czyjejś implementacji jak również (co jest najbardziej pożądane) samodzielnej próbie napisania/przerobienia kodu :). Będę wdzięczny i bardzo zobowiązany z okazania wszelkiej pomocy!
Zdaję sobie sprawę, że nie jest to kwestia minut czy godzin mam jednak nadzieję, że jakoś się z tym uporamy :)
drobne uwagi
Wstępnie Deti omawia działanie tej biblioteki w tym wątku: Backpropagation i SSN typu RBF natomiast tutaj: Sieci neuronowe, aproksymacja i rozpoznawanie pisma można znaleźć artykuł napisany przez Detiego o SSN.
P.S.
Prosiłbym również o merytoryczne wypowiadanie się w temacie a nie bezcelowe uwagi np. dot. wyboru przeze mnie języka etc.
Aha, jak by co to: nie, nie chcę uczyć się innego języka programowania - zacząłem C++ i obecnie opanowanie go jest jednym z moich celów, i nie chcę go zmieniać.
No to zaczynamy :)