Czy perceptron może zapomnieć?

16

Chciałbym zbudować internetowy system uczenia maszynowego online, w którym użytkownicy mogą stale dodawać sklasyfikowane próbki i aktualizować model online. Chciałbym użyć perceptronu lub podobnego algorytmu uczenia się online.

Jednak użytkownicy mogą popełniać błędy i wstawiać nieistotne przykłady. W takim przypadku chciałbym mieć opcję usunięcia określonego przykładu bez ponownego szkolenia perceptronu na całym zestawie przykładów (które mogą być bardzo duże).

czy to możliwe?

Erel Segal-Halevi
źródło
bardzo ciekawy pomysł. czy starałeś się to sformalizować?
Strin
Biorąc pod uwagę specyfikę modelu perceptronu i klasyfikatora, co się stanie, gdy ponownie wstawisz przykład z poprawioną klasyfikacją? Czy to nie zmniejsza masy niewłaściwych neuronów warstwy wewnętrznej i nie zwiększa masy odpowiednich neuronów warstwy wewnętrznej?
Wandering Logic
1
Ponowne wstawienie próbki może oczywiście w jakiś sposób pomóc, jednak nie jestem pewien, czy w tym przypadku zostaną zachowane dowody poprawności i zbieżności perceptronu (tj. Nie jestem pewien, czy wyniki będą identyczne z sytuacją, w której błędna próbka ma nie został wstawiony w pierwszej kolejności).
Erel Segal-Halevi
Jako naiwne rozwiązanie można przechowywać zapis wag perceptronu przed dodaniem każdej nowej próbki. Następnie, gdy chcesz wyeliminować próbkę, (ponownie) ustaw wagi perceptronu na wartości przed dodaniem „złego” przykładu i ponownie wytrenuj perceptron ze wszystkimi prawidłowymi przykładami dodanymi po „złym” przykładzie. Wymagałoby to ponownego przekwalifikowania, ale nie całego zestawu przykładów. Oczywiście musisz również prowadzić rejestr przykładów i związanych z nimi wag.
rphv

Odpowiedzi:

6

Jak rozumiem proces , zmiana perceptronu bez przekwalifikowania jest niemożliwa. Dostosowania ciężaru dotyczą nie tylko tego konkretnego przykładu, ale także innych przykładów treningu, które były wcześniej. Identyfikacja nieprawidłowo sklasyfikowanego wystąpienia i usunięcie go z zestawu testowego przed ponownym przeszkoleniem modelu wydaje się być najbardziej skutecznym sposobem korygowania wag.

Myślę, że warto zauważyć, że w porównaniu z innymi algorytmami uczenia maszynowego perceptrony są stosunkowo odporne na hałas i niepoprawnie klasyfikują instancje w zestawie szkoleniowym . Jeśli napotykasz wiele błędnie sklasyfikowanych instancji, bardziej rozsądnym wydaje się lepsza walidacja w miejscu, w którym spożywasz dane przed treningiem, niż wymyślenie sposobu na skorygowanie błędnie sklasyfikowanych instancji po przeszkoleniu perceptronu. Jeśli nie jest to możliwe i jesteś w stanie zidentyfikować nieprawidłowo sklasyfikowane instancje jako takie, wówczas usunięcie ich i przekwalifikowanie wydaje się jedynym sposobem skutecznego usunięcia wpływu błędnie sklasyfikowanych instancji.

Richard D.
źródło