Obsługa regularnie powiększającego się zestawu funkcji


10

Pracuję nad systemem wykrywania oszustw. W tym polu regularnie pojawiają się nowe oszustwa, dlatego należy na bieżąco dodawać nowe funkcje do modelu.

Zastanawiam się, jaki jest najlepszy sposób, aby sobie z tym poradzić (z perspektywy procesu rozwoju)? Dodanie nowej cechy do wektora cech i ponowne przeszkolenie klasyfikatora wydaje się być naiwnym podejściem, ponieważ zbyt wiele czasu zostanie poświęcone na ponowne nauczenie się starych cech.

Zastanawiam się nad sposobem szkolenia klasyfikatora dla każdej funkcji (lub kilku powiązanych funkcji), a następnie łączeniem wyników tych klasyfikatorów z ogólnym klasyfikatorem. Czy są jakieś wady tego podejścia? Jak mogę wybrać algorytm dla ogólnego klasyfikatora?

Odpowiedzi:


4

W idealnym świecie zachowujesz wszystkie swoje dane historyczne i rzeczywiście uruchamiasz nowy model z nową funkcją wyodrębnioną z danych historycznych. Twierdziłbym, że zasoby komputerowe wydane na to są w rzeczywistości całkiem przydatne. Czy to naprawdę problem?

Tak, jest to powszechnie akceptowana technika budowania zespołu klasyfikatorów i łączenia ich wyników. Możesz zbudować nowy model równolegle tylko na nowych funkcjach i uśrednić w jego prognozach. Powinno to zwiększyć wartość, ale nigdy nie uchwycisz w ten sposób interakcji między nowymi i starymi funkcjami, ponieważ nigdy nie pojawią się one razem w klasyfikatorze.


2

Oto pomysł, który właśnie wyskoczył z nieba - co zrobić, jeśli użyjesz losowego próbkowania podprzestrzeni (jak w rzeczywistości zasugerował już Sean Owen), aby trenować grupę nowych klasyfikatorów za każdym razem, gdy pojawia się nowa funkcja (przy użyciu losowego podzbioru funkcji, w tym nowy zestaw funkcji). Możesz również trenować te modele na podzbiorze próbek, aby zaoszczędzić trochę czasu na szkolenie.

W ten sposób możesz mieć nowe klasyfikatory, które mogą przyjmować zarówno nowe, jak i stare funkcje, a jednocześnie zachować swoje stare klasyfikatory. Możesz nawet, stosując być może technikę weryfikacji krzyżowej do mierzenia wydajności każdego klasyfikatora, być w stanie zabić najgorzej działające po pewnym czasie, aby uniknąć rozdętego modelu.


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.