决策科学苑 | 结合决策引擎的规则优化

发表时间:2018-08-13 17:49


上篇文章通过新旧规则更替的例子说明了通过人工去优化规则是非常困难的,特别是对于许多覆盖率较低的规则,更加难以评价新规则是不是更好。本文介绍一种结合决策引擎对规则进行优化的方法。


要讨论优化问题,首先需要一个可参考的目标,这个目标可以是过去某段时间的表现,也可以是一个根据经验定义的数值。每个公司的产品,其每单收益和损失是不同的,获客成本也千差万别;以下的讨论仅从规则集的覆盖率(通过的比例)和准确率进行优化,不过多讨论决策的收益/损失问题。这种优化可以分解为三个子目标:


覆盖率不变,提高准确率;

准确率不变,提高覆盖率;

降低覆盖率,提高准确率。


对于覆盖率不变,提高准确率的目标,可以采用相同的LHS(Left Hand Side),重新对规则的判别阈值进行划分。重新划分的工作可以通过人工对比检查后进行严格指定,以达到更高的准确率;对于规则的模糊边界不直接拒绝,而是转向人工调整,这样既确保了覆盖率,也提高了准确率(但是会加大人工审核的工作量)。另一种更好的方法是通过机器学习的方式对规则阈值进行重划分,这种方式要求决策引擎能够执行机器学习算法,并能方便的将算法学到的规则进行测试和部署,目前已经有一部分先进的产品可以做到这一点,例如明策决策引擎。假设现有的规则集LHS有三个变量a1,a2,a3,算法挑选这三个变量作为预测变量,我们只要指定新的数据进行训练就可以得到一组新的规则集,这组规则集可以直接与已有的规则集进行比较,完成比较后可以直接部署上线。所以规则优化工作简化为:选择合适的数据给不同的算法进行学习,然后比较结果,整个过程不需要编写代码。这种改进使得业务人员从大量的表格中解脱出来,将他们的注意力从校对数字转变为理解业务并寻找合适的数据交给算法。


对于准确率不变,提高覆盖率的目标实现也是类似的。从算法的角度看,可以尝试减少预测变量,例如只用a1,a2(降低通过要求)挖掘新规则集并测试,如果准确率差别不大,就会获得更高的覆盖率,这样就可以保证质量的扩大业务量。反过来,我们也可以增加增多的预测变量,例如使用a1,a2,a3,a4(提高通过 要求)创建规则集,创建更严格的规则集。这样会牺牲掉一部分业务量,但是会提高准确率,对于某些行业的应用来说是有意义的(每单损失高,收益小)。


对于规则集结果(事实上决策引擎一般都支持对每一条规则变化的比较)的观察可以通过图形化的方式进行观察。从图1可以容易看出对于A来说,B降低了覆盖率,但是提高了准确率。



图1 规则集覆盖率和准确率变化比较

Fig1. Comparison of Coverage and Accuracy of Rules After Change


每一次运行新的规则集都会产生一张这样的“快照”,因此在优化的过程中会产生大量的快照,业务人员可以选择最符合当时需求的一套规则集进行部署。另外,对于上一篇文章提到的部分规则没有历史数据问题,一种方法是全部通过人工审批,积累数据以后慢慢完善规则;还有一种方法是通过决策引擎进行AB Test:根据用户画像,在某些人群中投放一定比例的通过案例,再根据实验的结果调整规则参数。


以上的讨论都是借助决策引擎,采用算法对一套规则集进行优化的方法。这种做法的好处是逻辑清晰、可控,这对于需要对商业决策进行合理性和合规性说明的行业应用特别合适,例如金融行业。事实上,从算法的角度看还存在一种略显“暴力”的规则优化方法。如果把一套规则集当成一颗决策树,通过随机地选择预测变量作为LHS可以生成多颗决策树,然后使用多颗决策树的投票结果来决定最终的规则结果。这样做的好处是规则的优化步骤变得更加简单,而且其结果会更加稳定,通过为投票结果设定不同的也很容易调节通过率,但是这样也会带来一些问题。


首先,规则执行的次数变多,可能会拖慢速度。由于使用多套规则集产生最终结果,过程中会重复的使用数据进行规则判断,这会导致很多无效的等待、数据读取和规则执行。但如果使用了基于Rete算法的决策引擎,这类问题影响就不大,因为Rete算法构建的Rete网络允许变量被许多规则重用,其执行结构也是最优的。


其次,可解释性变差。不同于单个决策集,现在规则执行的最终结果是多个决策集的综合结果,而某些决策集变量的随机选择未必是符合逻辑的,这个问题可以通过决策集变量选择的约束进行一定改善。


总体来说,结合决策引擎可以达到数据驱动规则改善的结果,在这个过程中,业务人员聚焦在业务的思考和数据的选择上,没有任何的编写代码和调试的工作。从另一方面看,这可以帮助企业利用数据,而不是雇佣更多的人埋没在海量的数据的校对中。



文章作者

余锴

曾在华为、惠普、SAP合作伙伴从事市场、咨询和数据科学领域工作,并在互联网金融行业有丰富的大数据建模、智能算法研发以及决策引擎设计经验。






干货回顾

点击蓝字阅读


决策科学苑 | 规则优化算法的探讨

决策科学苑 | 算法优化规则的实例

【决策科学院】复杂逻辑控制的概念

【决策科学院】复杂逻辑控制的实例

【决策科学苑】复杂逻辑控制与智能规则引擎





分享到:
关注信数

联系我们


电话     : 021-50196198

E-mail  :   contact@xinshucredit.com

地址     :上海市杨浦区昆明路739号

              文通大厦1209室