我正在进行一个项目,需要你们的想法和建议。
首先,让我来说明我的问题。
有一台机器,配备了电源按钮和其他一些按键,仅有一名用户有权使用这台机器。没有其他认证方法,这台机器位于公司公共区域。
这台机器通过按下电源按钮和其他按键的组合来操作。按键顺序是保密的,但我们对此并不信任,任何人都可以学会密码并访问这台机器。
我有能力管理按键的按住时间,还可以测量按键之间的时间差异,例如水平或垂直按键时间的差异,我也可以测量按住时间等。
这些都意味着我有一些输入数据,
现在我试图通过分析这些输入数据来建立用户画像。
我的想法是让认证用户多次输入密码,创建一个阈值或类似的标准。
这种方法也可以称为生物识别,任何知道机器按钮组合的人都可以尝试输入密码,但如果他超出这个范围,就无法访问机器。
我该如何将这些适应到我的算法中?我应该从哪里开始?
我不想深入研究机器学习,我也能看到在第一次尝试中,误报和漏报的值可能会非常高,但我可以通过改变我的输入来管理这些问题。
谢谢。
回答:
对我来说,这似乎是一个分类问题的理想候选。你有两个类别(正确密码输入/错误),你的数据可以是按下按钮的时间(从时间0开始)。你可以通过提供多个正确密码数据和错误密码数据的例子来训练一个学习算法。一旦你的分类器训练好并运行满意,你就可以尝试用它来预测新密码输入尝试的正确性。
你可以尝试使用Weka,这是一个基于GUI的机器学习工具 http://www.cs.waikato.ac.nz/ml/weka/
你需要将数据整理成一个简单的表格格式,以便在Weka中进行实验,类似于以下格式:
尝试编号 | 第一个按钮时间 | 第二个按钮时间 | 第三个按钮时间 | 是否正确-----------|-----------------|-----------------|-----------------|------------ 1 | 1.2 | 1.5 | 2.4 | 是 2 | 1.3 | 1.8 | 2.2 | 是 3 | 1.1 | 1.9 | 2.0 | 是 4 | 0.8 | 2.1 | 2.9 | 否 5 | 1.2 | 1.9 | 2.2 | 是 6 | 1.1 | 1.8 | 2.1 | 否
这将是一个训练集。结果(已知)是类别是否正确。你将通过Weka运行这些数据,选择一个分类器(例如Naive Bayes)。这将生成一个分类器(例如一组规则),可用于预测未来的输入。