2012-11-05 17 views
6

Używam algorytmu losowego lasu jako klasyfikatora mojego projektu pracy dyplomowej. Zestaw treningowy składa się z tysięcy obrazów, a dla każdego obrazu około 2000 pikseli jest próbkowanych. Dla każdego piksela mam setki tysięcy funkcji. Z moimi obecnymi ograniczeniami sprzętowymi (8G pamięci RAM, możliwe rozszerzenie do 16G), jestem w stanie dopasować do pamięci próbki (tj. Cechy na piksel) tylko dla jednego obrazu. Moje pytania to: czy można wielokrotnie wywoływać metodę pociągu, za każdym razem za pomocą próbek innego obrazu, i automatycznie aktualizować model statystyczny przy każdym wywołaniu? Szczególnie interesuje mnie zmienne znaczenie, ponieważ po tym, jak trenuję pełny zestaw treningowy z całym zestawem funkcji, moim pomysłem jest zmniejszenie liczby operacji od setek tysięcy do około 2000 z zachowaniem , zachowując tylko najważniejsze z nich .Iteratywne losowe szkolenie lasu

Dziękuję za wszelkie rady, Daniele

Odpowiedz

2

nie sądzę algorytm obsługuje przyrostowe szkolenia. Możesz rozważyć zmniejszenie rozmiarów swoich deskryptorów przed rozpoczęciem szkolenia, korzystając z innej metody redukcji funkcji. Albo oszacuj zmienną ważność losowego podzbioru pikseli wykonanych spośród wszystkich obrazów treningowych, tyle ile możesz włożyć do swojej pamięci ...

0

Zobacz moją odpowiedź na this post. Istnieją przyrostowe wersje losowych lasów, które pozwolą trenować na znacznie większych danych.

+1

Niestety, przeczytałem twoją odpowiedź zbyt późno. Kończę się niestandardową implementacją jakoś podobną do twojej (wzrost drzewa w pierwszy oddech). Co więcej, wzrost odbywa się na węzeł i równolegle za pomocą OpenCL. Cały kod znajduje się tutaj http://code.google.com/p/parloma/source/browse/#svn%2Ftrunk%2Frandom_forest_gpu. Kod jest teraz specyficzny dla mojego problemu (rozpoznawanie ręki), mam nadzieję znaleźć czas na przepisanie biblioteki, aby poradzić sobie z ogólnymi problemami. – mUogoro

+0

Bardziej ogólne zastosowanie można znaleźć tutaj https://github.com/mUogoro/padenti – mUogoro