我有一个系统(有关详细信息,请参见网站上的页面),其中:
- 我需要输出与特定特征向量匹配的类别的排序列表,并带有置信度
- 二进制特征向量是站点 ID 的列表以及此会话是否检测到命中
- 对于给定的分类,特征向量有些嘈杂(网站会从历史中消失,人们会访问他们通常不访问的网站)
- 类别是一个大的、非封闭的集合(用户 ID)
- 我的总特征空间大约有 5000 万个项目(URL)
- 对于任何给定的测试,我只能查询大约。该空间的 0.2%
- 我只能根据迄今为止的结果决定查询什么,大约 10-30 次,并且必须在 <~100 毫秒内完成(尽管我可能需要更长的时间来进行后处理、相关聚合等)
- 根据目前的结果获得人工智能对类别的概率排名有点贵;理想情况下,决定将主要取决于一些廉价的 sql 查询
- 我有训练数据可以权威地说任何两个特征向量是同一类别但不是不同的(人们有时会忘记他们的代码并使用新的代码,从而创建一个新的用户 ID)
我需要一种算法来确定哪些特征(站点)最有可能具有高 ROI 进行查询(即更好地区分目前看来合理的类别 [用户],并增加确定它是任何给定的类别)。
这需要平衡开发(基于先前的测试数据的测试)和探索(测试的东西没有经过足够的测试来了解它的性能)。
还有一个关于先验排名的问题。这一个专门关于基于迄今为止收集的结果的后验排名。
现在,我没有足够的数据来测试任何其他人曾经受到打击的所有东西,但最终情况并非如此,此时需要解决这个问题。
我想这是 AI 中一个相当标准的问题——对于要进行的昂贵查询有一个廉价的启发式方法——但我的 AI 课程没有涵盖它,所以我实际上不知道是否有标准答案。因此,数学不太重的相关阅读以及对特定算法的建议会有所帮助。
解决这个问题的好方法是什么?