我有以下问题 - 我有一个规则引擎(流口水(,评估交易的风险评分。如果风险太高(> 200(,则标记为不安全。每个规则都有其权重(1-100(,如果执行规则,则将其分配给风险分数。
我想拥有一个用于优化权重的工具。因此,我想到了遗传算法。
1。我将发送一批测试交易(带有其他参数,告诉他们应该如何将它们标记为 ->不安全与否(以使其对其进行评估
2。我会检查驱除多少规则(它将决定 基因型中的染色体(,假设是否被解雇,然后...
3。 ...我将创建由500个基因型组成的首先种群,每种型号具有5个染色体(染色体(染色体(具有值范围为1-100的基因(
4。 5。我会通过使用前面提到的其他参数来检查正确标记的交易的百分比。 6。我将根据正确评估多少交易的百分比分配给每个基因型健身函数 7。重复几代人的周期,直到达到解决方案(正确标记100%交易(,并使用交叉,突变等。 这是我第一次尝试使用遗传算法做任何事情,所以我想澄清的第一件事是 我对基因型/染色体/基因的工作方式的理解。在不同的站点中,他们有时将术语用作彼此的替代品,并且可以同时使用。我正在学习术语基于吉尼特学库,因为我正在考虑将其用于实施。 我后来意识到我没有考虑一件事 - 我可能会发展规则权重的值,但权重并不是唯一重要的事情 - 同样重要的是,将重量分配给出的规则也很重要!但是我不知道我应该在哪里提到有关重量指的其他信息。这对我来说是最大的问题,我只是看不到将其放在方程式中。
优化是一个快速而快速扩展的字段。您会发现有很多术语以相同的特征飞行,这可能会变得非常混乱。对我来说,似乎您对遗传算法的工作原理和相关术语有一个不错的掌握(根据问题的轮廓(。有关一个很好的参考,请参阅此网站。作为建议,您可以查看MOEA框架,而不是is耐用框架。我认为这是一个更适合许多优化技术的图书馆。
关于问题的第二部分。如果我的理解是正确的,那么您不确定如何跟踪哪种染色体适用于哪个规则。如果是这种情况,您可以简单地将规则保存在列表中,并将其与染色体匹配。换句话说,个体的第一个染色体(或根据您的参考,基因型(对应问题中的第一个规则。通过这样做,您可以一定要知道哪种重量(染色体值(适用于哪个规则。
如果我被误解,请纠正我。