使机器学习算法适应我的问题

时间:2010-03-22 22:37:58

标签: authentication machine-learning biometrics

我正在开展一个项目,需要你的想法,建议。

首先,让我说出我的问题。

有电源按钮和机器的其他一些按键 只有一个用户有认证才能使用这台机器。有 没有其他认证方法,机器在公司的公共区域。

机器正在使用按下电源按钮和其他一些按键的组合。 按键的顺序是秘密的,但我们不相信,任何人都可以学习密码并可以访问机器。

我有能力管理密钥保持时间以及其他一些指标 测量关键之间的时间差,例如水平或垂直按键时间(差异)。我也可以测量保持时间等。

这些都意味着我有一些输入,

现在,我正在尝试通过分析这些输入来获取用户个人资料。

我的想法是让经过身份验证的用户按n次密码并创建一个或类似的阈值。

这个方法也可以说是BIOMETRICS,任何知道机器按钮组合的人都可以尝试密码但是如果他超出这个范围就无法访问它。

我如何将这些调整到我的算法中?我应该从哪里开始?

我不想深入研究机器学习,而且我也可以看到,在我的第一次尝试中,我可以得到假阳性和假阴性值非常高,但我可以通过改变我的输入来管理它。

感谢。

2 个答案:

答案 0 :(得分:1)

对我而言,这似乎是分类问题的一个很好的候选人。你有两个类(正确的密码输入/不正确),你的数据可能是按下按钮的时间(从0开始)。你可以教一个学习算法,但有几个正确的密码数据和不正确的密码数据的例子。一旦您的分类器经过培训并且工作正常,您就可以尝试预测新密码输入尝试的正确性。

你可以尝试Weka的几个分类器,Weka是一个基于GUI的机器学习工具http://www.cs.waikato.ac.nz/ml/weka/

您需要的是您的数据采用简单的表格格式进行weka实验,如下所示:

Attempt No | 1st button time | 2nd button time | 3rd button time | is_correct
-----------|-----------------|-----------------|-----------------|------------
     1     |    1.2          |    1.5          |  2.4            | YES
     2     |    1.3          |    1.8          |  2.2            | YES
     3     |    1.1          |    1.9          |  2.0            | YES
     4     |    0.8          |    2.1          |  2.9            | NO
     5     |    1.2          |    1.9          |  2.2            | YES
     6     |    1.1          |    1.8          |  2.1            | NO

这将是一个训练集。结果(已知)是类is_correct。您可以通过weka选择分类器(例如Naive Bayes)来运行此数据。这将产生一个claffier(例如一组规则),可用于预测未来的条目。

答案 1 :(得分:1)

这类问题的关键在于设计好的指标。获得输入值向量后,可以使用多种机器学习算法之一将其分类为已授权或已拒绝。所以第一步应该是确定哪些指标(你提到的指标)最有用,并选择少数指标(5-10)。您可以通过平均折叠(例如,任何按键的平均长度,而不是每个键的单独值)来折叠一些。然后你需要选择一个算法。用于对实数向量进行分类的好方法是支持向量机 - 此时你应该阅读它,特别是关于“内核”功能是什么,所以你可以选择使用它。然后,您需要收集一组学习示例(具有已知结果的向量),使用它们训练算法,并在一组新的示例上测试经过训练的svm以查看其执行情况。如果使用简单的内核(例如线性)性能较差,则可以选择使用更高维的内核。祝你好运!