有哪些遗传算法/遗传编程解决方案的好例子?

遗传算法 (GA) 和 遗传编程 (GP) 是有趣的研究领域。

我想了解你使用 GA/GP 解决的特定问题,以及如果你没有自己编写,你使用了哪些库/框架。

问题:

  • 你使用 GA/GP 解决了哪些问题?
  • 你使用了哪些库/框架?

我正在寻找第一手经验,所以除非你有,否则请不要回答。


回答:

不是家庭作业。

我的第一份专业程序员工作(1995 年)是编写一个基于遗传算法的 S&P500 期货自动交易系统。该应用程序是用 Visual Basic 3 [!] 编写的,我不知道我当时是怎么做的,因为 VB3 甚至没有类。

该应用程序从一组随机生成的固定长度字符串(“基因”部分)开始,每个字符串对应于 S&P500 期货每分钟价格数据中的特定形状,以及特定的订单(买入或卖出)和止损和止盈金额。每个字符串(或“基因”)的盈利表现通过运行 3 年的历史数据进行评估;每当指定的“形状”与历史数据匹配时,我都会假设相应的买入或卖出订单并评估交易结果。我添加了一个警告,即每个基因都以固定的金额开始,因此可能会破产并完全从基因库中移除。

在每次对种群进行评估后,幸存者会随机杂交(只需混合两个亲本的位),基因被选为亲本的可能性与其产生的利润成正比。我还添加了点突变的可能性,以增添一些趣味。经过几百代的繁殖,我最终得到了一组可以将 5000 美元变成平均约 10000 美元且没有死亡/破产机会的基因(当然,在历史数据中)。

不幸的是,我没有机会实际使用这个系统,因为我的老板在不到 3 个月的时间里以传统方式交易损失了近 10 万美元,他失去了继续该项目的意愿。回想起来,我认为该系统会带来巨额利润 – 不是因为我一定做对了什么,而是因为我产生的基因群恰好以大约 5:1 的比例偏向于买入订单(而不是卖出订单)。而且正如我们事后诸葛亮所知,1995 年之后市场略有上涨。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注