遗传算法及其可能的应用 - 页 3 12345678910...15 新评论 Aleksey Mavrin 2020.03.16 12:14 #21 Igor Makanu: 这是合适的,在遗传优化模式下,通过 "用户标准的最大值",测试者的GA将最大化从双OnTester()获得的结果--一切都在工作,但在自动化中存在一个问题,"让GA振作起来",当它开始在找到的局部最大值周围收敛,不想通过输入参数搜索其他变体时,一般在微调GA必须通过向OnTester()添加条件或通过将优化参数分成几个区间 来帮助。 顺便说一下,如何实施?也开始考虑这样做了。 标签 Konow: 你是说 "智能"--优化并适应某种环境? 嗯,是的,选择总是由一些标准进行的。顺便说一下,如果有必要,标准本身可以随代际变化。 Реter Konow 2020.03.16 12:20 #22 Реter Konow: 你是说 "智能"--优化并适应特定环境?好的。创造一个封闭的环境,从一个相互作用的系统的复合体。例如:三基因个体 "吞噬"(附着在自己身上并生长)两基因个体,如果它们不能 "逃离 "它们(让我们说基因X和Y是平面上的坐标)。三个基因的个体增加了一个基因Z--第三个维度。它有一个优势。双基因个体的任务是生存而不被抓住,而三基因个体的任务是尽快抓住双基因,节省时间和资源。目标:遗传上较弱的个体必须计算遗传上较强的个体才能生存。 我们知道--一个三基因个体在飞机上 "看到 "一个二基因个体,就像鸟儿看到田野里的老鼠一样,而一个二基因个体在二维空间感知一切,因此直到最后一刻才意识到敌人的接近。然而,在一个大群体中,有许多双基因个体,每个人都捕捉到了吞噬其部落成员的事件--他们在哪里和什么时候被捕获。因此,dvigens可能会形成普遍的 "感知"--从所有世代获得的经验和知识,了解他们的敌人在三维空间中有哪些自然障碍,以及如何最好地适应以生存。 Igor Makanu 2020.03.16 12:40 #23 Aleksey Mavrin: 顺便问一下,你是如何实现的?我也开始考虑这样做。 这是测试器的通常工作--首先你设置所有的优化参数,然后你测试,直到测试器开始在每个通道上画水平线的时刻--这是GA在一个局部最大值周围收敛的标志,然后你在优化标签中看到GA已经停止改变的参数,然后下一个优化运行,在其他间隔上打破这些参数(GA不改变),尽管它经常足以通过删除(保存)优化缓存重新启动测试器--GA是意外初始化的。 Aleksey Mavrin 2020.03.16 12:50 #24 Igor Makanu: 这是测试器的常规工作--首先你设置了所有的优化参数,然后你进行了测试,直到测试器开始在每个通道上画出水平线的时刻--这是GA在一个局部最大值周围收敛的标志,然后你在优化标签中看到GA停止改变的参数,然后接下来的优化运行 你在其他时间段打破这些参数(GA不改变),尽管它经常足以重新启动测试器,删除(保存)优化缓存--GA初始化。 我认为,如果参数变化的步长足够低,GA应该收敛到一个一般的最大值(而不是局部)。如果步长太高,间隔的变化也无济于事,最大值会在相邻的数值之间滑动。 那么,更简单的做法是用最低的步骤进行全面列举,然后用GA,剔除最差的范围。 Igor Makanu 2020.03.16 13:18 #25 Aleksey Mavrin: 那么就更容易用最低的俯仰角进行完全的过冲,然后是GA,剔除最差的范围。 不容易,这是我优化的EA。 这个EA在1.5年内的一次测试需要1.5-2秒,在优化器中大约是同样的速度,你可以估计多少将需要一个完整的搜索,而GA在20-50分钟内已经找到让我满意的结果。 Edgar Akhmadeev 2020.03.16 13:57 #26 Igor Makanu: 不容易,这里是我的EA被优化的情况。 这个EA在1.5年内的一次测试通过需要1.5-2秒,优化器的速度大致相同,你可以估计一下做一次完整的运行需要多长时间,GA在20-50分钟内已经找到让我满意的结果了。 当科学地显示通过数时,是遗传数字溢出,根本不起作用(如果有的话)。我不得不这样做。 1.减少步骤的数量。为了使步数不至于粗糙,并覆盖所需的范围,我使步数成为非线性的。改变参数0.001-0.099,0.01-0.99,0.1-9.9,...。即准确度约为1%的步骤。 2.减少需要优化的变量数量,这是最主要的。 2а.将变量分成几乎独立的(组)组,分别进行优化。 2б.找到依赖另一个变量的变量,并将它们联系起来。我已经用这种方式去掉了几个变量,经过了很长时间的折腾。 2в.找到可以使之成为常量的变量,而代价是利润率的微弱下降。还发现。 3.经过多次评估,缩小变量的范围。 在我做出这种牺牲之前,我的优化是没有效果的。这都是关于优化的问题,有太多的变量。这本身就是错误的,但一些专家演变为简化而不是复杂化。 Aleksey Mavrin 2020.03.16 16:03 #27 Igor Makanu: 不容易,这里是我的EA被优化的情况。 在1.5年中,这个EA的一次测试需要1.5-2秒,在优化器中大约是同样的速度,你可以估计一下完整的列举需要多长时间,而GA在20-50分钟内已经找到了令我满意的结果。 这是一个系统复杂性的问题。我在GU主题中讨论过这个问题。我花了3-5个步骤来完成列举。你的截图上有18个参数,这将是(3-5)^18=400M到3.8万亿,已经很可怜了,虽然是很多,最重要的是对它是很多,我做全面的搜索不是对所有的,有固定的一些,并在组,然后已经一起对GA确定 - 缩小GM。 并完全同意更详细的声明 埃德加-阿赫马德耶夫。 当科学地显示通过数时,是遗传学的数字化被压倒了,它根本不起作用(如果有的话)。我不得不这样做。 1.减少步骤的数量。为了使步数不至于粗糙,并覆盖所需的范围,我使步数成为非线性的。改变参数0.001-0.099,0.01-0.99,0.1-9.9,...。即准确度约为1%的步骤。 2.减少需要优化的变量数量,这是最主要的。 2а.将变量分成几乎独立的(组)组,分别进行优化。 2б.找到依赖另一个变量的变量,并将它们联系起来。我通过这种方式删除了几个变量,经过很长时间的折腾。 2в.找到可以使之成为常量的变量,而代价是利润率的微弱下降。 还发现。 3.经过多次评估,缩小变量的范围。 在我做出这种牺牲之前,我的优化是没有效果的。这都是关于优化的问题,有太多的变量。这本身就是错误的,但一些专家演变为简化而不是复杂化。 每个人都有自己的方法,在本质上每个人都可能理解。 Slava 2020.03.16 16:10 #28 Edgar Akhmadeev: 当科学地显示通过数时,是遗传学的数字化溢出,它的工作原理完全错误(如果它真的能工作的话)。 你说的'工作完全错误'是什么意思? 作品的不正确性如何能被复制? Igor Makanu 2020.03.16 16:30 #29 Edgar Akhmadeev: 当通过数以科学形式显示时,是遗传数字溢出,根本不起作用(如果有的话)。 对我来说,GA的工作是明确的,我在EA设置文件中写下了成功的通过,我从输入优化参数本身的MD5哈希值中创建了文件名,即在优化过程中我看到文件出现在Common文件夹中。 到目前为止,我只有一个问题--在一段时间内,GA可能开始围绕一小组优化参数收敛--我认为这是正常的,所有的GA都是这样工作的,这是它们的使用问题。 但明确的是,GA可以工作,没有挂起 - 我在添加的文件和唯一的名称中看到它 Edgar Akhmadeev 2020.03.16 17:35 #30 Slava: 你说 "完全不能正常工作 "是什么意思? 我怎样才能重现该故障? 很久以前我就写过这个问题,当时我在EA中使用框架。我已经不记得确切的时间了,我想我开始有不是所有的帧来(有更好的结果)。我将寻找旧的帖子并尝试澄清。 但我清楚地记得,这在我的专家顾问中是可以清楚重现的--只要超调的数量超过了一定的数量,并且以科学的形式显示出来,我的遗传学就会崩溃。重要的是,不仅要有大量的变量步骤,而且要有大量的变量。 12345678910...15 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
这是合适的,在遗传优化模式下,通过 "用户标准的最大值",测试者的GA将最大化从双OnTester()获得的结果--一切都在工作,但在自动化中存在一个问题,"让GA振作起来",当它开始在找到的局部最大值周围收敛,不想通过输入参数搜索其他变体时,一般在微调GA必须通过向OnTester()添加条件或通过将优化参数分成几个区间 来帮助。
顺便说一下,如何实施?也开始考虑这样做了。
你是说 "智能"--优化并适应某种环境?
嗯,是的,选择总是由一些标准进行的。顺便说一下,如果有必要,标准本身可以随代际变化。
你是说 "智能"--优化并适应特定环境?
顺便问一下,你是如何实现的?我也开始考虑这样做。
这是测试器的通常工作--首先你设置所有的优化参数,然后你测试,直到测试器开始在每个通道上画水平线的时刻--这是GA在一个局部最大值周围收敛的标志,然后你在优化标签中看到GA已经停止改变的参数,然后下一个优化运行,在其他间隔上打破这些参数(GA不改变),尽管它经常足以通过删除(保存)优化缓存重新启动测试器--GA是意外初始化的。
这是测试器的常规工作--首先你设置了所有的优化参数,然后你进行了测试,直到测试器开始在每个通道上画出水平线的时刻--这是GA在一个局部最大值周围收敛的标志,然后你在优化标签中看到GA停止改变的参数,然后接下来的优化运行 你在其他时间段打破这些参数(GA不改变),尽管它经常足以重新启动测试器,删除(保存)优化缓存--GA初始化。
我认为,如果参数变化的步长足够低,GA应该收敛到一个一般的最大值(而不是局部)。如果步长太高,间隔的变化也无济于事,最大值会在相邻的数值之间滑动。
那么,更简单的做法是用最低的步骤进行全面列举,然后用GA,剔除最差的范围。
那么就更容易用最低的俯仰角进行完全的过冲,然后是GA,剔除最差的范围。
不容易,这是我优化的EA。
这个EA在1.5年内的一次测试需要1.5-2秒,在优化器中大约是同样的速度,你可以估计多少将需要一个完整的搜索,而GA在20-50分钟内已经找到让我满意的结果。
不容易,这里是我的EA被优化的情况。
这个EA在1.5年内的一次测试通过需要1.5-2秒,优化器的速度大致相同,你可以估计一下做一次完整的运行需要多长时间,GA在20-50分钟内已经找到让我满意的结果了。
当科学地显示通过数时,是遗传数字溢出,根本不起作用(如果有的话)。我不得不这样做。
1.减少步骤的数量。为了使步数不至于粗糙,并覆盖所需的范围,我使步数成为非线性的。改变参数0.001-0.099,0.01-0.99,0.1-9.9,...。即准确度约为1%的步骤。
2.减少需要优化的变量数量,这是最主要的。
2а.将变量分成几乎独立的(组)组,分别进行优化。
2б.找到依赖另一个变量的变量,并将它们联系起来。我已经用这种方式去掉了几个变量,经过了很长时间的折腾。
2в.找到可以使之成为常量的变量,而代价是利润率的微弱下降。还发现。
3.经过多次评估,缩小变量的范围。
在我做出这种牺牲之前,我的优化是没有效果的。这都是关于优化的问题,有太多的变量。这本身就是错误的,但一些专家演变为简化而不是复杂化。
不容易,这里是我的EA被优化的情况。
在1.5年中,这个EA的一次测试需要1.5-2秒,在优化器中大约是同样的速度,你可以估计一下完整的列举需要多长时间,而GA在20-50分钟内已经找到了令我满意的结果。
这是一个系统复杂性的问题。我在GU主题中讨论过这个问题。我花了3-5个步骤来完成列举。你的截图上有18个参数,这将是(3-5)^18=400M到3.8万亿,已经很可怜了,虽然是很多,最重要的是对它是很多,我做全面的搜索不是对所有的,有固定的一些,并在组,然后已经一起对GA确定 - 缩小GM。
并完全同意更详细的声明
当科学地显示通过数时,是遗传学的数字化被压倒了,它根本不起作用(如果有的话)。我不得不这样做。
1.减少步骤的数量。为了使步数不至于粗糙,并覆盖所需的范围,我使步数成为非线性的。改变参数0.001-0.099,0.01-0.99,0.1-9.9,...。即准确度约为1%的步骤。
2.减少需要优化的变量数量,这是最主要的。
2а.将变量分成几乎独立的(组)组,分别进行优化。
2б.找到依赖另一个变量的变量,并将它们联系起来。我通过这种方式删除了几个变量,经过很长时间的折腾。
2в.找到可以使之成为常量的变量,而代价是利润率的微弱下降。 还发现。
3.经过多次评估,缩小变量的范围。
在我做出这种牺牲之前,我的优化是没有效果的。这都是关于优化的问题,有太多的变量。这本身就是错误的,但一些专家演变为简化而不是复杂化。
当科学地显示通过数时,是遗传学的数字化溢出,它的工作原理完全错误(如果它真的能工作的话)。
你说的'工作完全错误'是什么意思?
作品的不正确性如何能被复制?
当通过数以科学形式显示时,是遗传数字溢出,根本不起作用(如果有的话)。
对我来说,GA的工作是明确的,我在EA设置文件中写下了成功的通过,我从输入优化参数本身的MD5哈希值中创建了文件名,即在优化过程中我看到文件出现在Common文件夹中。
到目前为止,我只有一个问题--在一段时间内,GA可能开始围绕一小组优化参数收敛--我认为这是正常的,所有的GA都是这样工作的,这是它们的使用问题。
但明确的是,GA可以工作,没有挂起 - 我在添加的文件和唯一的名称中看到它
你说 "完全不能正常工作 "是什么意思?
我怎样才能重现该故障?
很久以前我就写过这个问题,当时我在EA中使用框架。我已经不记得确切的时间了,我想我开始有不是所有的帧来(有更好的结果)。我将寻找旧的帖子并尝试澄清。
但我清楚地记得,这在我的专家顾问中是可以清楚重现的--只要超调的数量超过了一定的数量,并且以科学的形式显示出来,我的遗传学就会崩溃。重要的是,不仅要有大量的变量步骤,而且要有大量的变量。