理想的算法方法-规则引擎/决策树和一些学习逻辑?

| 我的要求可能接近人们对“专家系统”的期望。并寻找最简单的解决方案,该解决方案可以通过一些离线(非实时)学习功能为我提供实时或接近实时的推断。 详细地说,我的问题是- 观看正在实时更新的日志,并将每个条目分类为红色,绿色和蓝色。 红色,绿色,蓝色的分类基于被编码为生产规则的逻辑(正如我今天想象的那样)。 它具有挑战性的一点是- 1)根据后续的日志条目,标记为蓝色的日志条目最终将必须标记为红色/绿色,我们希望在该日志条目中获得更详细的信息,因此需要记住一些事情。确切的等待时间尚未预先知道,但有一个最大限制。当然,在任何给定时间点,可能会有数十万个标记为蓝色的条目。 2)确定红色和绿色的规则并不完美,因此有时会在标签上出现错误。因此,偶尔进行的手动审核会发现这些错误。我的主要挑战是看是否可以以最少的编程工作来自动化规则更新的一部分。 我(正在进行的研究)表明,基于RETE算法的规则引擎可能会为我的分类和标签(包括重新标签)服务。如果那行得通,我仍然需要弄清楚如何使“从错误中学习”这一部分自动化?可以采用统计方法吗?贝叶斯分类?另外,对于初始分类s.t.,可以完全采用贝叶斯分类而不是Rule-Engine。我已经对系统进行了充分的手动培训?贝叶斯方法似乎通过“信任统计信息”方法“降低了”维护正确规则集的任务,特别是因为存在这些定期的手动审核。 PS>我的主要应用程序是用C ++编写的(如果有的话)。     
已邀请:
这听起来像复杂事件处理(CEP),在这里您有规则,并且能够使用事件X之类的时间计算在事件y之后2分钟之内。 在Java领域,Drools Fusion(或Drools Expert)可以很好地解决这一问题(不过我有偏见)。在C ++领域...也许您可以设置
drools-camel-server
并通过XML与之通信。     

要回复问题请先登录注册