Существует несколько способов приблизиться к этому.
Сбор отрицательных примеров - Одним из простых решений было бы просто собрать данные о времени нажатия клавиш от других людей, которые могут бытьиспользуется в качестве отрицательных примеров.Если вы хотите собрать большой образец очень дешево , например, около 1000 образцов за 10 долларов, вы можете воспользоваться услугой, такой как Amazon Mechanical Turk .
То есть вы могли бы составить задачу по человеческому интеллекту (HIT), которая заставляла бы людей вводить случайные пароли, подобные последовательностям.Чтобы получить информацию о сроках, вам нужно использовать Внешний вопрос , поскольку ограниченный HTML-код для обычных вопросов не поддерживает JavaScript.
Использовать порождающую модель - В качестве альтернативы, вы можете обучить генеративную вероятностную модель поведению пользователя.Например, вы могли бы обучить модель гауссовой смеси (GMM) для задержки пользователя между нажатиями клавиш.
Такая модель даст вам оценку вероятности информации о времени нажатия клавиши, сгенерированной конкретным пользователем.Тогда вам просто нужно установить порог того, насколько вероятной должна быть информация о синхронизации для аутентификации пользователя.
Использовать SVM 1-го класса - Наконец, 1Класс SVM позволяет обучать классификатор, подобный SVM, используя только положительные примеры. Чтобы изучить одноклассные SVM в WEKA , используйте обертку LibSVM, если вы используете v3.6.Если вы используете новейшую версию для разработчиков, есть weka.classifiers.meta.OneClassClassifier
.