Gestire un set di funzionalità in costante aumento


10

Sto lavorando a un sistema di rilevamento delle frodi. In questo campo, nuove frodi appaiono regolarmente, quindi è necessario aggiungere nuove funzionalità al modello su base continuativa.

Mi chiedo quale sia il modo migliore per gestirlo (dal punto di vista del processo di sviluppo)? L'aggiunta di una nuova funzionalità nel vettore delle funzionalità e la riqualificazione del classificatore sembra essere un approccio ingenuo, poiché verrà dedicato troppo tempo per il re-apprendimento delle vecchie funzionalità.

Sto pensando di addestrare un classificatore per ogni funzione (o un paio di funzionalità correlate), e quindi combinare i risultati di quei classificatori con un classificatore generale. Ci sono degli svantaggi di questo approccio? Come posso scegliere un algoritmo per il classificatore generale?

Risposte:


4

In un mondo ideale, conservi tutti i tuoi dati storici e in effetti esegui un nuovo modello con la nuova funzionalità estratta retroattivamente dai dati storici. Direi che in realtà la risorsa informatica utilizzata per questo è piuttosto utile. È davvero un problema?

Sì, è una tecnica ampiamente accettata per costruire un insieme di classificatori e combinare i loro risultati. È possibile creare un nuovo modello in parallelo solo su nuove funzionalità e media nella sua previsione. Ciò dovrebbe aggiungere valore, ma non catturerai mai l'interazione tra le nuove e le vecchie funzionalità in questo modo, poiché non compariranno mai insieme in un classificatore.


2

Ecco un'idea che è appena uscita dal nulla - cosa succede se si utilizza il campionamento di sottospazi casuali (come già suggerito da Sean Owen) per addestrare un gruppo di nuovi classificatori ogni volta che appare una nuova funzionalità (utilizzando un sottoinsieme di funzionalità casuali, tra cui il nuovo set di funzionalità). Potresti anche addestrare quei modelli su un sottoinsieme di campioni per risparmiare tempo di addestramento.

In questo modo puoi avere nuovi classificatori che possono assumere sia le nuove che le vecchie funzionalità e allo stesso tempo mantenere i tuoi vecchi classificatori. Potresti anche, forse usando una tecnica di validazione incrociata per misurare le prestazioni di ogni classificatore, essere in grado di eliminare dopo un po 'quelli con le peggiori prestazioni, per evitare un modello gonfio.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.