Каков наилучший способ создания поддельных данных для проблемы классификации? - PullRequest
6 голосов
/ 10 апреля 2010

Я работаю над проектом, и у меня есть подмножество данных времени нажатия клавиш пользователем. Это означает, что пользователь делает n попыток, и я буду использовать эти записанные данные времени попыток в различных типах алгоритмов классификации для будущих попыток пользователя. чтобы убедиться, что процесс входа в систему выполняется пользователем или другим лицом. (Просто могу сказать, что это биометрия)

У меня есть 3 разных раза процесса попытки входа пользователя, конечно, это подмножество бесконечных данных.

до сих пор это была простая проблема классификации, я решил использовать WEKA, но насколько я понимаю, мне нужно создать некоторые поддельные данные для подачи алгоритма классификации. Измеренные попытки пользователя будут равны 1, а поддельные данные будут равны 0.

Могу ли я использовать некоторые алгоритмы оптимизации? или есть ли способ создать эти фальшивые данные, чтобы получить минимум ложных срабатываний?

Спасибо

1 Ответ

5 голосов
/ 10 апреля 2010

Существует несколько способов приблизиться к этому.

Сбор отрицательных примеров - Одним из простых решений было бы просто собрать данные о времени нажатия клавиш от других людей, которые могут бытьиспользуется в качестве отрицательных примеров.Если вы хотите собрать большой образец очень дешево , например, около 1000 образцов за 10 долларов, вы можете воспользоваться услугой, такой как Amazon Mechanical Turk .

То есть вы могли бы составить задачу по человеческому интеллекту (HIT), которая заставляла бы людей вводить случайные пароли, подобные последовательностям.Чтобы получить информацию о сроках, вам нужно использовать Внешний вопрос , поскольку ограниченный HTML-код для обычных вопросов не поддерживает JavaScript.

Использовать порождающую модель - В качестве альтернативы, вы можете обучить генеративную вероятностную модель поведению пользователя.Например, вы могли бы обучить модель гауссовой смеси (GMM) для задержки пользователя между нажатиями клавиш.

Такая модель даст вам оценку вероятности информации о времени нажатия клавиши, сгенерированной конкретным пользователем.Тогда вам просто нужно установить порог того, насколько вероятной должна быть информация о синхронизации для аутентификации пользователя.

Использовать SVM 1-го класса - Наконец, 1Класс SVM позволяет обучать классификатор, подобный SVM, используя только положительные примеры. Чтобы изучить одноклассные SVM в WEKA , используйте обертку LibSVM, если вы используете v3.6.Если вы используете новейшую версию для разработчиков, есть weka.classifiers.meta.OneClassClassifier.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...