文章 "遗传算法 - 很简单!" - 页 15 1...891011121314151617181920 新评论 Evgeniy Uvarov 2013.05.28 20:20 #141 你好,我不会问任何问题。只是想对你们的工作表示衷心的感谢!谢谢!非常有帮助。 Aleksei Morozov 2013.06.30 20:29 #142 您好,我也要向您表示衷心的感谢。最近,GA 引起了我的注意。所有 "关于 GA "的资料都让我感到绝望。我不知道该去哪里....。然后,我通过某个链接看到了您的文章。一句话,万岁!))我有几个问题。我知道这篇文章是很久以前写的。但是...1.声明变量 没有在任何地方使用。 input int FFNormalizeDigits_P = 0; //适应标记数量 input int GeneNormalizeDigits_P= 0; //基因的字符数 这是未来的计划吗?2.我运行了几次 UGA,得到的值都不一样,即一次正确,第二次就不太正确了。问题 - UGA 的哪个参数应该设置得 "大一些",以增加正确答案的数量。在预告片中观察到...左图是一个错误的结果。 附加的文件: 111.png 8 kb Andrey Dik 2013.07.01 17:30 #143 Alexey_74:......问题是,应该把哪个 GA 参数设置得 "大一些",才能增加正确答案的数量。不幸的是,一般来说,没有也不可能有一个明确的答案。一切都取决于任务。根据您的具体情况,可以尝试调整这些参数:input int ChromosomeCount_P = 100; //菌落中染色体的数量 input int Epoch_P = 50; //没有改进的历时数 //--- input string GA_OperatorParam = "----Operator Parameters----"; input double ReplicationPortion_P = 100.0; //Dole 复制。 input double NMutationPortion_P = 10.0; //自然变异的比例。 input double ArtificialMutation_P = 10.0; //Dole of Artificial Mutation. input double GenoMergingPortion_P = 20.0; //基因借用。 input double CrossingOverPortion_P = 20.0; //跨界份额。 input double ReplicationOffset_P = 0.5; //区间边界偏移系数 input double NMutationProbability_P= 5.0; //每个基因突变的概率(百分比:)向上更改前两个参数可以明确增加收敛性,但当然也会增加搜索时间。 Aleksei Morozov 2013.07.02 11:46 #144 感谢您的回复。玩了一圈,观察到....一般来说,没有必要分享所有的观察结果。极端变体 "已经足够了。前两个参数分别等于 50 和 2 时,算法的运行时间为 170-200 毫秒。....,等于 100 和 50 时,运行时间为 103203 毫秒。是的,该算法产生的结果绝对匹配,"理所应当","果然如此"。唉,在我看来,耗时与结果完全不符。 Mykola Demko 2013.07.02 16:50 #145 Alexey_74:感谢您的回复。玩了一圈,观察到....一般来说,没有必要分享所有的观察结果。极端变体 "已经足够了。前两个参数分别等于 50 和 2 时,算法的运行时间为 170-200 毫秒。....,等于 100 和 50 时,运行时间为 103203 毫秒。是的,该算法产生的结果绝对匹配,"理所应当","果然如此"。可惜,在我看来,耗时与结果完全不符。如果问题可以用牛顿方法解决,就应该用牛顿方法解决。你会在很短的时间内得到准确的结果。如果不能,那么欢迎使用 GA。在这里,我想到了关于显微镜和螺母的说法。 Aleksei Morozov 2013.07.02 22:06 #146 Urain:如果问题可以用牛顿方法解决,那么就应该用牛顿方法解决。你将在短时间内得到精确的结果。如果不能,那就去找 GA。这让人想起显微镜和坚果的说法。遗憾的是,没有简单的方法。无论执行什么任务,优化问题都会凸显出来。因为所有被称为指标的 BP 假设都是参数化的。即使是相同的人字形,似乎也....。既然有参数,就意味着它们应该被重新(子)击败。最简单的变体是嵌套循环。但实践证明,这往往是不可行的。这就是我们使用 GA 的原因。而且完全不是来自邪恶的。))这是当务之急。一两年前,我做过一个纯粹的实验。如果取两个周期较长的mashki,它们的差值(在一个单独的窗口中)会看起来像一个相当平滑的正弦曲线。我想看看几个正弦波之和是否能重复这个图形。我制作了一个脚本,它应该能拾取 3 个正弦波。起初我想要 5 个,后来我改成了 3 个(实验,为什么要热呢?)结果是 3 个周期(2 个嵌套周期)当然,如果去掉循环中的注释,循环算法的运行速度会更快。但遗憾的是,不能达到 100 倍,而且跟踪过程的可能性也完全消失了。这就是实验没有开始就被取消的原因。但是,一个看似简单的情况 "被听到",其规模和严重性却让我感到惊讶和几乎恐惧。)) Aleksei Morozov 2013.07.03 06:53 #147 安德鲁还有两个问题:1.在 "之 "字形的另一个例子中,您使用了"......当染色体的基因型与表现型不一致时 "这句话。这与遗传算法有什么关系?2.据我所知,排序是按降序进行的。也就是说,Colony[0][chromos]中的值越高,个体的适应性就越强?也就是说,如果我没理解错的话,在 FF 中处理琐碎蛋白时,可以(应该)使用相关系数 r 或 R,因为它们趋向于 0->1,而不能使用 MSE,因为它是->0。 Andrey Dik 2013.07.03 19:17 #148 Alexey_74:安德鲁还有两个问题:1.在 "之 "字形的另一个例子中,您使用了"......当染色体的基因型与表现型不一致时 "这句话。这与遗传算法有什么关系?2.据我所知,排序是按降序进行的。也就是说,Colony[0][chromos]中的值越高,个体的适应性就越强?3. 也就是说,如果我理解正确的话,在 FF 中使用卷曲素时,可以(应该)使用相关系数 r 或 R,因为它们趋向于 0->1,而不能使用 MSE,因为它是->0。1.如果染色体的基因与被优化函数的参数相同,则基因型与表型相对应(基因型 - 基因值,表型 - 参数值)。如果基因和参数不相等(使用了某种转换),那么它们就不对应。谷歌生物学中基因型 和表型的 概念。2.是的,但这不是根本。您可以明确指定排序的方向,也可以将 FF 值乘以-1。3. 抱歉,我没理解问题。 Aleksei Morozov 2013.07.04 01:31 #149 joo:1.如果染色体的基因与被优化函数的参数相同,则基因型与表现型相对应(基因型--基因值,表现型--参数值)。如果基因和参数不相等(使用了某种转换),那么它们就不对应。谷歌生物学中基因型 和表型的 概念。2.是的,但这不是根本。您可以明确指定排序的方向,也可以将 FF 值乘以-1。3. 抱歉,我没有理解问题。谢谢。1.这是我的猜测。但猜测是一件模糊而危险的事情。最好是能确定。关于谷歌搜索,谢谢你的建议,但我想我不会用它。从上学起,我就记得隐性、显性、等位基因、表型、基因型、同卵、异卵....。天哪,我脑子里全是垃圾。是的,在苏联学校里,他们知道如何传授知识....。))2.也可以理解。 3.但没有第三点。只有第三行(第二段的延续),在这行中大声地想:"如果我是对的......"。这不是一个问题。虽然看起来可能是。那好吧,反问句。我来解释一下意思。比如说,纯粹的合成。我们有一个正弦曲线信号 我们知道它是三个正弦曲线之和我几乎可以绝对肯定,GA 可以轻松完成这项任务,并生成所有三个正弦波的周期。但在这个过程中,我们需要测量三个正弦波之和与参照物的相似程度。在我的武器库中,有三种这样的测量方法:R(Pearson)、R(P-square)和 MSE。特别是因为这些东西在神经网络范例中也被用作 "适配性 "的度量。再次感谢您,这让我更清楚、更明白了。再说一次,我也是最近才开始接触 GA 的。所以,新手、笨蛋、笨蛋之类的称谓都是我的....。))附注:我当然知道生物类似物。但这些知识纯粹是为了帮助人们理解高级编程语言所描述过程的本质。而这,并非无处不在,也并非总是如此。我不会把生物类似物与神经计算机类似物紧紧捆绑在一起。在生物学(自然界)中,一切都是一次性的。但在神经计算中,出于某种原因,大多数情况下是行不通的。 Aleksei Morozov 2013.07.04 13:25 #150 安德鲁,还有一个问题。input string GA_OperatorParam = "----Operator Parameters----"; input double ReplicationPortion_P = 100.0; //Dole 复制。 input double NMutationPortion_P = 10.0; //自然变异的比例。 input double ArtificialMutation_P = 10.0; //Dole of Artificial Mutation. input double GenoMergingPortion_P = 20.0; //基因借用。 input double CrossingOverPortion_P = 20.0; //跨界份额。 input double ReplicationOffset_P = 0.5; //区间边界偏移系数 input double NMutationProbability_P= 5.0; //每个基因突变的概率(百分比我们能说这些变量的这些值适合大多数优化问题吗?正如某些资料中所说"...90%的问题都可以用普通感知器解决"。 1...891011121314151617181920 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
你好,我不会问任何问题。
只是想对你们的工作表示衷心的感谢!谢谢!
非常有帮助。
您好,我也要向您表示衷心的感谢。最近,GA 引起了我的注意。所有 "关于 GA "的资料都让我感到绝望。我不知道该去哪里....。然后,我通过某个链接看到了您的文章。一句话,万岁!))
我有几个问题。我知道这篇文章是很久以前写的。但是...
1.声明变量 没有在任何地方使用。
这是未来的计划吗?
2.我运行了几次 UGA,得到的值都不一样,即一次正确,第二次就不太正确了。问题 - UGA 的哪个参数应该设置得 "大一些",以增加正确答案的数量。
在预告片中观察到...左图是一个错误的结果。
......问题是,应该把哪个 GA 参数设置得 "大一些",才能增加正确答案的数量。
不幸的是,一般来说,没有也不可能有一个明确的答案。一切都取决于任务。
根据您的具体情况,可以尝试调整这些参数:
:)
向上更改前两个参数可以明确增加收敛性,但当然也会增加搜索时间。
感谢您的回复。玩了一圈,观察到....一般来说,没有必要分享所有的观察结果。极端变体 "已经足够了。
前两个参数分别等于 50 和 2 时,算法的运行时间为 170-200 毫秒。
....,等于 100 和 50 时,运行时间为 103203 毫秒。是的,该算法产生的结果绝对匹配,"理所应当","果然如此"。
唉,在我看来,耗时与结果完全不符。
感谢您的回复。玩了一圈,观察到....一般来说,没有必要分享所有的观察结果。极端变体 "已经足够了。
前两个参数分别等于 50 和 2 时,算法的运行时间为 170-200 毫秒。
....,等于 100 和 50 时,运行时间为 103203 毫秒。是的,该算法产生的结果绝对匹配,"理所应当","果然如此"。
可惜,在我看来,耗时与结果完全不符。
如果问题可以用牛顿方法解决,就应该用牛顿方法解决。你会在很短的时间内得到准确的结果。
如果不能,那么欢迎使用 GA。在这里,我想到了关于显微镜和螺母的说法。
如果问题可以用牛顿方法解决,那么就应该用牛顿方法解决。你将在短时间内得到精确的结果。
如果不能,那就去找 GA。这让人想起显微镜和坚果的说法。
遗憾的是,没有简单的方法。无论执行什么任务,优化问题都会凸显出来。因为所有被称为指标的 BP 假设都是参数化的。即使是相同的人字形,似乎也....。
既然有参数,就意味着它们应该被重新(子)击败。最简单的变体是嵌套循环。但实践证明,这往往是不可行的。这就是我们使用 GA 的原因。而且完全不是来自邪恶的。))这是当务之急。
一两年前,我做过一个纯粹的实验。如果取两个周期较长的mashki,它们的差值(在一个单独的窗口中)会看起来像一个相当平滑的正弦曲线。我想看看
几个正弦波之和是否能重复这个图形。我制作了一个脚本,它应该能拾取 3 个正弦波。起初我想要 5 个,后来我改成了 3 个(实验,为什么要热呢?)结果是 3 个周期(2 个嵌套周期)
当然,如果去掉循环中的注释,循环算法的运行速度会更快。但遗憾的是,不能达到 100 倍,而且跟踪过程的可能性也完全消失了。
这就是实验没有开始就被取消的原因。但是,一个看似简单的情况 "被听到",其规模和严重性却让我感到惊讶和几乎恐惧。))
安德鲁还有两个问题:
1.在 "之 "字形的另一个例子中,您使用了"......当染色体的基因型与表现型不一致时 "这句话。这与遗传算法有什么关系?
2.据我所知,排序是按降序进行的。也就是说,Colony[0][chromos]中的值越高,个体的适应性就越强?
也就是说,如果我没理解错的话,在 FF 中处理琐碎蛋白时,可以(应该)使用相关系数 r 或 R,因为它们趋向于 0->1,而不能使用 MSE,因为它是->0。
安德鲁还有两个问题:
1.在 "之 "字形的另一个例子中,您使用了"......当染色体的基因型与表现型不一致时 "这句话。这与遗传算法有什么关系?
2.据我所知,排序是按降序进行的。也就是说,Colony[0][chromos]中的值越高,个体的适应性就越强?
3. 也就是说,如果我理解正确的话,在 FF 中使用卷曲素时,可以(应该)使用相关系数 r 或 R,因为它们趋向于 0->1,而不能使用 MSE,因为它是->0。
1.如果染色体的基因与被优化函数的参数相同,则基因型与表型相对应(基因型 - 基因值,表型 - 参数值)。如果基因和参数不相等(使用了某种转换),那么它们就不对应。谷歌生物学中基因型 和表型的 概念。
2.是的,但这不是根本。您可以明确指定排序的方向,也可以将 FF 值乘以-1。
3. 抱歉,我没理解问题。
1.如果染色体的基因与被优化函数的参数相同,则基因型与表现型相对应(基因型--基因值,表现型--参数值)。如果基因和参数不相等(使用了某种转换),那么它们就不对应。谷歌生物学中基因型 和表型的 概念。
2.是的,但这不是根本。您可以明确指定排序的方向,也可以将 FF 值乘以-1。
3. 抱歉,我没有理解问题。
谢谢。
1.这是我的猜测。但猜测是一件模糊而危险的事情。最好是能确定。关于谷歌搜索,谢谢你的建议,但我想我不会用它。从上学起,我就记得隐性、显性、等位基因、表型、基因型、同卵、异卵....。天哪,我脑子里全是垃圾。是的,在苏联学校里,他们知道如何传授知识....。))
2.也可以理解。
3.但没有第三点。只有第三行(第二段的延续),在这行中大声地想:"如果我是对的......"。这不是一个问题。虽然看起来可能是。那好吧,反问句。我来解释一下意思。比如说,纯粹的合成。我们有一个正弦曲线信号 我们知道它是三个正弦曲线之和我几乎可以绝对肯定,GA 可以轻松完成这项任务,并生成所有三个正弦波的周期。但在这个过程中,我们需要测量三个正弦波之和与参照物的相似程度。在我的武器库中,有三种这样的测量方法:R(Pearson)、R(P-square)和 MSE。特别是因为这些东西在神经网络范例中也被用作 "适配性 "的度量。
再次感谢您,这让我更清楚、更明白了。再说一次,我也是最近才开始接触 GA 的。所以,新手、笨蛋、笨蛋之类的称谓都是我的....。))
附注:我当然知道生物类似物。但这些知识纯粹是为了帮助人们理解高级编程语言所描述过程的本质。而这,并非无处不在,也并非总是如此。我不会把生物类似物与神经计算机类似物紧紧捆绑在一起。在生物学(自然界)中,一切都是一次性的。但在神经计算中,出于某种原因,大多数情况下是行不通的。
安德鲁,还有一个问题。
我们能说这些变量的这些值适合大多数优化问题吗?正如某些资料中所说"...90%的问题都可以用普通感知器解决"。