2014-09-16 16 views
5

Mamy klasyfikator do stron internetowych. Model klasyfikatora został zbudowany z danymi pociągu sprzed około dwóch lat. Zauważyliśmy, że wydajność modelu wciąż się pogarsza i zakładamy, że jego właściwości zmieniają się w czasie (najczęściej używane słowa i terminologia, ale także topologia, tagi html itp.).Orzeźwiające dane treningowe dla nadzorowanego uczenia się - jak?

Jak podszedłbyś do tego problemu? czy po prostu ponownie zbudujemy wszystkie dane pociągu i ponownie nauczymy się nowego modelu? Czy jest skrót? Czy są jakieś popularne praktyki lub dokumenty dotyczące tego, jak to zrobić? Zauważ, że jesteśmy dość uzależnieni od podejścia nadzorowanego uczenia się, w którym administratorzy systemu szkolą klasyfikator, oceniają jego wydajność na zestawie testowym, a następnie instalują klasyfikator w systemie "produkcyjnym".

Nadzieja ta nie jest zbyt niejasne ...

+0

Jeśli model nie jest już dobry, proponuję zbudować nowy. Jaki algorytm został użyty do zbudowania modelu? – AdrienNK

+0

hi @ihadanny, czy rozwiązałeś swój problem? – tktktk0711

Odpowiedz

2

Istnieje szereg czynników, które mogą się pod uwagę, najważniejsze z nich to stan klasyfikatora i danych.

Jeśli nie potrzebujesz żadnych nowych danych wejściowych w wyniku zmiany protokołów internetowych, możesz być w stanie przekwalifikować istniejący klasyfikator na nowe dane.

Jeśli klasyfikator nie został zaprojektowany do przekwalifikowania na nowych danych, odzyskanie starego modelu może być trudne. Podobnie, jeśli zmieniono wejścia lub wyjścia, łatwiej będzie zbudować nowy klasyfikator.

Nie wiem, jakiego klasyfikatora używasz, ani sposobu przekwalifikowania lub przetworzenia danych, więc nie mogę podać bezpośredniej odpowiedzi na problem, z którym masz do czynienia, lub jeśli istnieją jakiekolwiek skróty do problemu . To naprawdę sprowadza się do tego, jak dostępny jest twój klasyfikator i jaki jest koszt jego utrzymania.

Zgodnie z powyższym pytaniem, zaleca się przetestowanie i porównanie nowego klasyfikatora w celu potwierdzenia, że ​​spełnia on wymagania przed zastosowaniem go w środowisku produkcyjnym.

+0

Jest to w zasadzie zestaw klasyfikatorów binarnych home-brew - dla każdego elementu obliczamy wynik w stylu TFIDF, a następnie przewidujemy prawdopodobieństwo, że próbka należy do tej kategorii. Następnie wybieramy najwyższe prawdopodobieństwo. – ihadanny

+0

Dzięki ihadanny. Sądzę, że sprowadza się to do tego, czy istnieją dodatkowe zasady/protokoły, które muszą być wbudowane w sam model, oraz czy jest to proste/opłacalne, aby przekwalifikować istniejący model. Jeśli nie stanowią one problemu dla twojego klasyfikatora (i mam nadzieję, że tak nie jest!), To nie powinno to być zbyt dużym problemem. –

2

Jeśli używasz standardowego klasyfikatora poza półką, prawdopodobnie nie ma sposobu na aktualizację parametrów dla nowych danych (zależy to od tego, czego dokładnie używasz). Przebudowa od zera jest prawdopodobnie najszybszym sposobem. Jeśli przejdziesz tę trasę, rozważ uwzględnienie starych danych i nowych danych, ewentualnie ważąc nowsze dane (może to zrobić funkcja ważonych strat). Zachowanie starych danych prawdopodobnie zminimalizuje ilość nowych danych, które musisz utworzyć.

Jeśli chcesz mieć możliwość ciągłej aktualizacji swojego modelu w świetle nowych danych (np. Jeśli będzie to powtarzający się problem), rozważ przejście na klasyfikator, który obsługuje naukę online po wyjęciu z pudełka. Oczywistym wyborem byłaby jedna z metod uczenia pasywnego Agresywnego: MIRA jest całkiem niezły (w zasadzie jest to wirtualna maszyna SVM).

+0

Dzięki. Rozumiem, że MIRA nadal wymaga nadzorowanego uczenia się. Próbki mogą pojawiać się jeden po drugim zamiast w dużym zestawie danych, ale nadal trzeba je oznaczyć przed przekazaniem ich do komputera. Metodologicznie, czy uważasz, że jest to lepsze niż pierwsze podejście, o którym wspomniałeś - tj.ustawianie przedziału czasowego (Powiedz co pół roku), w którym aktualizujemy duży zbiór danych o nowe dane i ponownie szkolymy? – ihadanny

+0

Eliminuje to potrzebę martwienia się o ważenie przeszłych sygnałów, ale o wiele mniej prawdopodobne jest znalezienie standardowej implementacji biblioteki. Oba są rozsądnymi opcjami, które myślę –