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

时间:2011-05-23 16:08:02

标签: artificial-intelligence classification rule-engine bayesian inference

我的要求可能接近人们对“专家系统”的期望。寻找最简单的解决方案,可以为我提供实时或接近实时的推理,以及一些离线(非实时)学习功能。

详细说明,我的问题是 -

观看正在更新的日志,并将每个条目分类为红色,绿色和蓝色。 红色,绿色,蓝色的分类基于编码为生产规则的逻辑(正如我今天所想象的那样)。

挑战的地方是 -

1)标记为蓝色的日志条目最终必须标记为红色/绿色,基于后续日志条目,我们希望有更详细的信息,因此有一些记忆要做。等待的确切持续时间事先不知道,但有最大限制。当然,在任何给定的时间点,可能有数十万个标记为蓝色的条目。

2)确定Red& amp;的规则绿色并不完美,所以有时标签会出现错误。所以偶尔的人工审计会揭示这些错误。我的主要挑战是看看我是否能够以最少的编程工作自动化规则更新的某些部分。

我的(继续研究)揭示了基于RETE算法的规则引擎可能会服务于我的分类&标签,包括重新标签。如果可行的话,我还需要弄清楚如何自动化“从错误中学习”这一部分?可以采取统计方法 - s.a.贝叶斯分类?对于初始分类s.t.,也可以完全采用贝叶斯分类作为规则引擎。我已经手动训练了系统吗?贝叶斯方法似乎通过“信任统计”方法“愚弄”维护正确规则集的任务,特别是因为存在这些定期的人工审计。

PS>我的主要应用程序是用C ++编写的(如果重要的话)。

1 个答案:

答案 0 :(得分:2)

这听起来像复杂事件处理(CEP),您可以在其中拥有规则,并且能够在事件y 之后的2分钟内使用事件X等时间计算。< / p>

Java 土地中,Drools Fusion(或Drools Expert)可以很好地处理(尽管我有偏见)。在 C ++ 中......也许您可以设置drools-camel-server并通过XML与它进行通信。