6

Sto lavorando a un progetto e ho un sottoinsieme di dati relativi al tempo di battitura chiave dell'utente. Ciò significa che l'utente effettua n tentativi e userò questi dati di tempo di tentativo registrati in vari tipi di algoritmi di classificazione per tentativi futuri dell'utente di verificare che il processo di accesso sia eseguito dall'utente o da un'altra persona. (Semplicemente posso dire che si tratta di dati biometrici)qual è il modo migliore per generare dati falsi per problemi di classificazione?

Ho 3 diversi tempi del processo di accesso utente, naturalmente questo è un sottoinsieme di dati infiniti.

fino ad ora è un problema di classificazione facile, ho deciso di utilizzare WEKA ma per quanto ho capito devo creare alcuni dati falsi per alimentare l'algoritmo di classificazione. I tentativi misurati dell'utente saranno 1 e i dati falsi saranno 0

posso utilizzare alcuni algoritmi di ottimizzazione? o c'è un modo per creare questi dati falsi per ottenere min falsi positivi?

Grazie

risposta

5
Ci

sono un paio di modi diversi si può andare su questo avvicinamento.

Raccogliere esempi negativi - Una soluzione facile sarebbe semplicemente raccogliere dati di temporizzazione della battitura da altre persone che potrebbero essere utilizzati come esempi negativi. Se si desidera raccogliere un grande campione molto economico, come in circa 1000 campioni per circa $ 10, è possibile utilizzare un servizio come Amazon Mechanical Turk.

Cioè, è possibile mettere insieme un compito di intelligenza umana (HIT) in cui le persone digitano password casuali come le sequenze. Per ottenere le informazioni sui tempi è necessario utilizzare uno External Question, poiché l'HTML limitato per le domande normali non supporta JavaScript.

Utilizzare un modello generativo - In alternativa, è possibile formulare un modello di probabilità generativa sul comportamento di un tasto dell'utente. Ad esempio, è possibile addestrare un Gaussian mixture model (GMM) per il ritardo dell'utente tra le sequenze di tasti.

Tale modello fornirà una stima di probabilità delle informazioni sulla temporizzazione dei tasti generate da un utente specifico. Dovresti quindi solo stabilire una soglia di quanto le informazioni sul tempo dovrebbero essere probabili affinché l'utente possa essere autenticato.

Utilizzare SVM di classe 1 - Infine, 1-class SVMs consente di addestrare un classificatore SVM come utilizzando solo esempi positivi. To learn one-class SVMs in WEKA, utilizzare il wrapper LibSVM se si utilizza la v3.6. Se stai utilizzando la versione per sviluppatori con margini sanguinanti, c'è weka.classifiers.meta.OneClassClassifier.

+0

grazie per la risposta Daniel. Dopo aver capito i tuoi punti, posterò qui per aiuto. – berkay

+0

Certo, fammi sapere se c'è qualcosa che dovrebbe essere elaborato. Se trovi questa risposta o altre informazioni utili o informative, assicurati di votarle e selezionarne una come risposta accettata alla domanda. – dmcer