ai:确定要运行哪些测试以获取最有用的数据

时间:2010-03-11 11:43:30

标签: artificial-intelligence heuristics

这适用于http://cssfingerprint.com

我有一个系统(详见网站页面),其中:

  • 我需要输出符合特定要素向量的类别的排名列表
  • 二进制特征向量是站点ID列表&此会话是否检测到命中
  • 对于给定的分类,
  • 特征向量有点嘈杂(站点将从历史中衰退,人们将访问他们通常不访问的站点)
  • 类别是一个较大的非封闭集(用户ID)
  • 我的总功能空间约为5000万个项目(网址)
  • 对于任何给定的测试,我只能查询约。 0.2%的空间
  • 我只能基于到目前为止的结果来判断要查询什么 ~10-30次,并且必须在< ~100ms内完成(尽管我可能需要更长的时间做后处理,相关聚合等)
  • 到目前为止,基于结果获得AI的类别概率排名是稍微昂贵的;理想情况下,决定主要取决于一些廉价的SQL查询
  • 我有训练数据可以权威地说任何两个特征向量是相同的类别但不是它们不同(人们有时会忘记他们的代码并使用新的代码,从而创建一个新的用户ID)

我需要一种算法来确定哪些特征(网站)最有可能具有较高的ROI来查询(即更好地区分似乎合理的类别[用户],并增加确定性是任何给定的一个)

这需要考虑平衡利用(基于先前测试数据的测试)和探索(未经过足够测试的测试内容,以了解其执行情况)。

another question处理先验排名;根据迄今为止收集的结果,这个具体是关于 a posteriori 排名。

现在,我的数据足够少,我可以随时测试所有人,其他任何人都曾受到打击,但最终情况并非如此,此时此问题需要解决。

我认为这是AI中一个相当标准的问题 - 对于要进行的昂贵查询有一个廉价的启发式算法 - 但是我的AI类没有涉及,所以我实际上并不知道是否有标准答案。因此,相关阅读不是太重要的数学会有所帮助,以及对特定算法的建议。

解决这个问题的好方法是什么?

1 个答案:

答案 0 :(得分:0)

如果您对未采样的功能一无所知,那么在决定是否探索或利用您的数据时,您几乎无法继续。如果您可以在每次查询后将ROI表示为单个数字,那么通过跟踪上限置信度,可以通过最佳方式进行此选择。参见论文多臂匪徒问题的有限时间分析