6

Ich arbeite an einem Projekt und ich habe eine Teilmenge der Key-Schlag-Zeit-Daten des Benutzers. Dies bedeutet, dass der Benutzer n versucht, und ich werde diese aufgezeichneten Versuch Zeit Daten in verschiedenen Arten von Klassifikationsalgorithmen für zukünftige Benutzer versuchen zu verwenden Vergewissern Sie sich, dass der Anmeldevorgang vom Benutzer oder einer anderen Person ausgeführt wird. (Ich kann nur sagen, dass dies Biometrie ist)Was ist der beste Weg, gefälschte Daten für Klassifizierungsprobleme zu generieren?

Ich habe 3 verschiedene Zeiten der Benutzer Login Versuch, natürlich ist dies eine Teilmenge der unendlichen Daten.

bis jetzt ist es ein einfaches Klassifizierungsproblem, ich entschied mich, WEKA zu verwenden, aber soweit ich verstehe, muss ich einige gefälschte Daten erstellen, um den Klassifizierungsalgorithmus zu speisen.Die vom Benutzer gemessenen Versuche werden 1 sein und falsche Daten werden 0 sein

kann ich einige Optimierungsalgorithmen verwenden? Oder gibt es eine Möglichkeit, diese gefälschten Daten zu erstellen, um falsch positive Ergebnisse zu erhalten?

Dank

Antwort

5

Es gibt ein paar verschiedene Möglichkeiten, wie Sie zu nähern dies gehen könnte.

Sammle negative Beispiele - Eine einfache Lösung wäre, nur Taktdaten von anderen Personen zu sammeln, die als negative Beispiele verwendet werden könnten. Wenn Sie eine große Probe sehr billig, wie in etwa 1000 Proben für etwa $ 10 sammeln möchten, könnten Sie einen Service wie Amazon Mechanical Turk verwenden.

Das heißt, Sie könnten eine Human Intelligence Task (HIT) zusammenstellen, bei der Menschen randomisierte Passwörter wie Sequenzen eingeben. Um die Timing-Informationen zu erhalten, müssen Sie einen External Question verwenden, da der eingeschränkte HTML-Code für reguläre Fragen kein JavaScript unterstützt.

Verwenden Sie ein generatives Modell - Alternativ könnten Sie ein generatives Wahrscheinlichkeitsmodell für das Tastendruckverhalten eines Benutzers trainieren. Beispielsweise könnten Sie eine Gaussian mixture model (GMM) für die Verzögerung des Benutzers zwischen Tastenanschlägen trainieren.

Ein solches Modell gibt Ihnen eine Wahrscheinlichkeitsschätzung für die von einem bestimmten Benutzer generierten Tastenanschlagsinformationen. Sie müssten dann nur einen Schwellenwert für die Wahrscheinlichkeit festlegen, mit der die Timing-Informationen angezeigt werden, damit der Benutzer authentifiziert wird.

Verwenden Sie 1-Klasse-SVMs - Schließlich können Sie mit 1-class SVMs einen SVM-ähnlichen Klassifikator nur mit positiven Beispielen trainieren. To learn one-class SVMs in WEKA, verwenden Sie den LibSVM-Wrapper, wenn Sie v3.6 verwenden. Wenn Sie die neueste Entwicklerversion verwenden, gibt es weka.classifiers.meta.OneClassClassifier.

+0

danke für die Antwort Daniel.Nachdem ich Ihre Punkte verstehe, werde ich hier für Hilfe posten. – berkay

+0

Sicher, lassen Sie mich wissen, wenn es etwas gibt, das ausgearbeitet werden sollte. Wenn Sie diese oder andere Antworten als hilfreich oder informativ empfinden, sollten Sie sie abstimmen und als Antwort auf die Frage auswählen. – dmcer