Chciałem eksperymentować z siecią neuronową w związku z problemem klasyfikacji, przed którym stoję. Natknąłem się na dokumenty, które mówią o KMS. Ale z tego, co rozumiem, nie różnią się niczym od posiadania wielowarstwowej sieci neuronowej. Czy to jest dokładne?
Ponadto pracuję z R i nie widzę żadnych puszkowanych pakietów dla RBM. Natknąłem się na literaturę, która mówi o sieciach głębokiego uczenia się, które są w zasadzie ułożone RBM, ale nie jestem pewien, czy warto je wdrożyć w R. Czy ktoś miałby jakieś wskazówki? Dzięki
Odpowiedzi:
Przede wszystkim RBM z pewnością różnią się od normalnych sieci neuronowych, a przy odpowiednim zastosowaniu osiągają znacznie lepszą wydajność. Ponadto, szkolenie kilku warstw RBM, a następnie użycie znalezionych ciężarów jako punktu wyjścia dla Mulitlayer NN często daje lepsze wyniki niż po prostu użycie Wielowarstwowej NN.
Najlepszy wskaźnik, jaki mogę wymyślić, to kurs Coursera, prowadzony przez Geoffreya Hintona, który jest jedną z osób odpowiedzialnych za KMS:
https://class.coursera.org/neuralnets-2012-001/class/index
filmy na temat RBM i Denoising Autoencoders są cennym źródłem wiedzy dla wszystkich zainteresowanych tematem.
Jeśli chodzi o implementację w języku R, ja też nie znam żadnej, ale jeśli chcesz ją wdrożyć, lepiej nie używać czystego języka R (chyba że twoje dane nie są zbyt duże). Trening RBM zajmuje dość dużo czasu, a jeśli użyjesz czystego R zamiast R z C, może znacznie wzrosnąć.
źródło
W R możesz używać sieci neuronowej i RSNNS (która zapewnia interfejs do symulatora sieci neuronowej w Stuttgarcie ), aby dopasować standardowe wielowarstwowe sieci neuronowe, ale istnieją różnice w RBM.
Jeśli chodzi o wdrażanie głębokich sieci neuronowych w R, myślę, że jedyną sensowną strategią byłoby połączenie istniejących implementacji FOSS, co zwykle jest znacznie lepszym rozwiązaniem niż po prostu samodzielne ponowne wdrażanie rzeczy (nigdy nie do końca rozumiałem, dlaczego wszyscy muszą wynaleźć koło na nowo). R oferuje do tego wiele funkcji, a Ty możesz wykorzystać przetwarzanie danych R dzięki szybkości i gotowym aspektom istniejących rozwiązań. Na przykład można połączyć MDP z funkcjami interfejsu Python / R, patrz np. Ten artykuł .
Edycja: Andrew Landgraf ze Statystycznie znaczący zapewnia trochę kodu R dla RBM .
źródło