2013-03-20 16 views
5

Mam problem z niektórymi koncepcjami uczenia maszynowego za pośrednictwem sieci neuronowych. Jednym z nich jest backpropagation. W aktualizującego równania wagi,Uczenie maszynowe: bez nadzoru Backpropagation

delta_w = a*(t - y)*g'(h)*x 

t jest „wyjście target”, która byłaby etykieta klasa, albo coś, w przypadku nadzorowanego uczenia się. Ale jaki byłby "wynik docelowy" dla uczenia bez nadzoru?

Czy ktoś może podać przykład zastosowania BP w nauczaniu bez nadzoru, w szczególności w celu grupowania klasyfikacji?

Z góry dziękuję.

Odpowiedz

6

Nie jestem pewien, który z algorytmów uczenia maszynowego bez nadzoru używa w szczególności metody wstecznej; jeśli jest taki, o którym nie słyszałem. Czy możesz wskazać przykład?

Metoda wsteczna służy do obliczania pochodnych funkcji błędu do szkolenia sztucznej sieci neuronowej w odniesieniu do wag w sieci. Nazwano go jako taki, ponieważ "błędy" są "propagowane" przez sieć "wstecz". Potrzebujesz go w tym przypadku, ponieważ ostateczny błąd w odniesieniu do celu zależy od funkcji funkcji (funkcji ... w zależności od liczby warstw w Twojej SSN). Instrumenty pochodne pozwalają następnie dostosować wartości w celu poprawy błędu funkcja, hartowana przez szybkość uczenia się (jest to gradient descent).

W nienadzorowanych algorytmach nie trzeba tego robić. Na przykład w k-Means, gdy próbujesz zminimalizować błąd średniej kwadratowej (MSE), możesz zminimalizować błąd bezpośrednio na każdym kroku, biorąc pod uwagę przypisania; nie potrzeba żadnych wzniesień. W innych modelach klastrowania, takich jak mixture of Gaussians, algorytm expectation-maximization (EM) jest znacznie bardziej wydajny i dokładniejszy niż jakakolwiek metoda oparta na gradiencie.

+2

Tak, myślę, że następne pytanie, które mam, to jest to ... Czy możemy użyć EM do szkolenia nadzorowanej sieci neuronowej? Jeśli tak, dlaczego wolelibyśmy BackPropagation ponad EM? – Shatu

6

Najpopularniejszą rzeczą do zrobienia jest przeszkolenie an autoencoder, gdzie pożądane wyniki są równe wejściom. To sprawia, że ​​sieć stara się nauczyć reprezentacji, która najlepiej "kompresuje" dystrybucję wejściową.

Here's a patent opisuje inne podejście, w którym etykiety wyjściowe są przydzielane losowo, a następnie czasami odwracane w oparciu o współczynniki konwergencji. Wydaje mi się to dziwne, ale w porządku.

Nie jestem zaznajomiony z innymi metodami, które używają backpropogation do klastrowania lub innych nienadzorowanych zadań. Podejście do klastrowania za pomocą SS wydaje się wykorzystywać inne algorytmy (example 1, example 2).

+1

+1 w przypadku wzmianki o automatycznym kodowaniu. Całkowicie o tym zapomniałem. :) –

1

Aby korzystać z propagacji wstecznej dla uczenia bez nadzoru, wystarczy ustawić t, docelowy wynik, na każdym etapie algorytmu, do klasy, dla której średnia odległość do każdego elementu klasy przed aktualizacją jest najmniejsza. Krótko mówiąc, zawsze staramy się szkolić ANN, aby umieścić swój wkład w klasie, której członkowie są najbardziej podobni pod względem naszego wkładu. Ponieważ proces ten jest wrażliwy na skalę wejściową, należy najpierw znormalizować dane wejściowe w każdym wymiarze, odejmując średnią i dzieląc przez standardowe odchylenie dla każdego składnika, aby obliczyć odległość w sposób niezmienny w skali.

Zaletą stosowania sieci neuronowej typu back-prop, a nie prostej odległości od środkowej definicji klastrów, jest to, że sieci neuronowe umożliwiają bardziej złożone i nieregularne granice między klastrami.

2

To, o co pytasz, dotyczy bezobsługowej nauki i głębokiego uczenia się.

Uczenie się cech jest jedyną nienadzorowaną metodą, jaką mogę sobie wyobrazić w odniesieniu do NN lub jej niedawnego wariantu. (Wariant o nazwie mieszanka RBM jest analogiczny do mieszaniny gaussów, ale można zbudować wiele modeli na podstawie dwóch). Ale w zasadzie Dwa modele, które znam to RBM (ograniczone maszyny typu boltzman) i Autoencodery.

Autohenodery (opcjonalnie nieliczne aktywacje mogą być zakodowane w funkcji optymalizacji) to tylko sprzężone sieci neuronowe, które dostrajają swoje wagi w taki sposób, że wyjście jest zrekonstruowanym wejściem. Można użyć wielu ukrytych warstw, ale inicjalizacja wagi używa chciwego treningu warstwowego dla lepszego punktu startowego. Aby odpowiedzieć na pytanie, funkcja docelowa zostanie wprowadzona sama.

RBM to sieci stochastyczne interpretowane zwykle jako model graficzny z ograniczeniami połączeń. W tym ustawieniu nie ma warstwy wyjściowej, a połączenie między warstwą wejściową a warstwą ukrytą jest dwukierunkowe jak nieokreślony model graficzny. Czego się stara się nauczyć, to rozkład na wejściach (zmienne obserwowane i nieobserwowane). Tutaj również twoja odpowiedź będzie wkładem jest celem.

Mieszanka RBM (analogiczna do mieszanki gaussów) może być używana do miękkiego grupowania lub KRBM (analogiczny do K-średnich) może być używany do grupowania twardego. Co w efekcie wydaje się uczeniem wielu nieliniowych podprzestrzeni.

http://deeplearning.net/tutorial/rbm.html

http://ufldl.stanford.edu/wiki/index.php/UFLDL_Tutorial

2

Alternatywnym podejściem jest użycie czegoś podobnego generatywnej wstecznej propagacji błędów. W tym scenariuszu trenujesz sieć neuronową aktualizującą wagi I wartości wejściowe. Podane wartości są używane jako wartości wyjściowe, ponieważ można bezpośrednio obliczyć wartość błędu. To podejście zostało zastosowane w redukcji wymiarów, uzupełnieniu macierzy (imputacja wartości brakującej) wśród innych aplikacji. Aby uzyskać więcej informacji, zobacz: non-linear principal component analysis (NLPCA) i unsupervised backpropagation (UBP), która wykorzystuje ideę generatywnej wstecznej propagacji. UBP rozszerza NLPCA, wprowadzając etap przedtreningowy. Implementację UBP i NLPCA oraz nienadzorowaną backpropagację można znaleźć w pakiecie narzędzi do uczenia maszyn wafli. Dokumentację dla UBP i NLPCA można znaleźć za pomocą polecenia nlpca.

1

Propagacja wsteczna w jej rdzeniu polega po prostu na wielokrotnym stosowaniu reguły łańcucha przez wszystkie możliwe ścieżki w naszej sieci neuronowej. Metoda wsteczna działa tylko wtedy, gdy podano etykietę wyjściową. Bez etykiety zwrotna propagacja nie działa dobrze.