machine-learning - 为分类问题生成假数据的最佳方法是什么?

标签 machine-learning classification pattern-recognition biometrics weka

我正在开发一个项目,我有用户击键时间数据的子集。这意味着用户进行了 n 次尝试,我将在各种分类算法中使用这些记录的尝试时间数据以供将来的用户尝试验证登录过程是由用户或其他人完成的。 (简单地说,这是生物识别技术)

我有3次不同时间的用户登录尝试过程,当然这是无限数据的子集。

到目前为止,这是一个简单的分类问题,我决定使用 WEKA,但据我所知,我必须创建一些假数据来提供分类算法。用户的测量尝试将为 1,假数据将为 0。

我可以使用一些优化算法吗?或者有什么方法可以创建这个假数据以获得最小的误报?

谢谢

最佳答案

您可以通过几种不同的方法来解决这个问题。

收集负面示例 - 一种简单的解决方案是仅从其他人那里收集可用作负面示例的击键计时数据。如果您想以非常便宜的方式收集大量样本,例如花费大约 10 美元收集大约 1000 个样本,您可以使用类似 Amazon Mechanical Turk 的服务。 。

也就是说,您可以将一个人类智能任务 (HIT) 放在一起,让人们输入类似序列的随 secret 码。要获取计时信息,您需要使用 External Question ,因为常规问题的受限 HTML 不支持 JavaScript。

使用生成模型 - 或者,您可以针对用户的击键行为训练生成概率模型。例如,您可以训练 Gaussian mixture model (GMM) 用户击键之间的延迟。

这样的模型将为您提供特定用户生成的击键计时信息的概率估计。然后,您只需要设置一个阈值来确定计时信息的可能性,以便对用户进行身份验证。

使用 1 类 SVM - 最后,1-class SVMs允许您仅使用正面示例来训练类似 SVM 的分类器。 To learn one-class SVMs in WEKA ,如果您使用的是 v3.6,请使用 LibSVM 包装器。如果您使用的是前沿开发者版本,可以使用 weka.classifiers.meta.OneClassClassifier

关于machine-learning - 为分类问题生成假数据的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2611765/

相关文章:

python - 为什么 Tensorflow 中二元分类头的 logit_dimension=1 ?

c - matlab 与 C 版本中的 svmtrain 函数执行时间

machine-learning - 堆叠评分和投票算法有什么区别?

python - 找到数字列表的 'shape'(直线/凹/凸,有多少个驼峰)

python - 为什么我的模型准确率停留在 ~32%?

python - scipy中fmin_cg的梯度函数

machine-learning - 决策树与逻辑回归相结合

image-processing - 用于分类的词袋 - 特征与像素

artificial-intelligence - 可以使用感知器来检测手写数字吗?

python - 简单的物体识别