by

Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    yizi08
    @yizi08

    @yizi08 用数组映射的方法,把变量作为数组下标,取得自己设定的值

    请问有没有一个简单的例子?

    geatpy
    @geatpy-dev
    比如若想x1取{1,3,5,7,9},就把x1的范围设为[0, 4]之间的整数。
    coolgirl008
    @coolgirl008
    GeneID ,能否举个例子,怎么设置这个参数,还不是很理解,感谢
    geatpy
    @geatpy-dev
    @coolgirl008 hi~ 大概是这样:
    image.png
    afei339
    @afei339
    做多目标进化时出错:种群的目标函数值矩阵必须是n行1列的numpy array类型矩阵。 应该怎么写代码?
    coolgirl008
    @coolgirl008
    image.png
    geatpy
    @geatpy-dev
    对,就是这样子。
    afei339
    @afei339
    请问这么多的算法模板有没有推荐的?一般现在都用哪些主流算法来进化?感觉这么多的模板不知道用哪个最适合
    pursuerlin
    @pursuerlin
    想要询问一下有没有用来求解多个全局最优解的算法呀。
    Member29
    @Member29
    大家好,,想问一下在快速入门的示例中,我发现再用二进制编码时,改变precisions的值并好像不能控制决策变量的精度,只要不取0,精度都会是八位小数。
    1061655504
    @1061655504
    @Member29 改变precisions之后,生成的FieldD的第一行的值都不一样了呀,精度随之发生了变化。
    geatpy
    @geatpy-dev
    嗯啊。
    @pursuerlin 求解多模态的进化算法在geatpy2中去掉了,需要自己自定义。
    @afei339 要看具体的模型适合什么算法了。一般用GA和DE就能处理很多优化问题。
    Member29
    @Member29
    @1061655504 谢谢,但是我确实是在设了决策变量为连续,用二进制编码,不改变其他值的情况下尝试改变precisions的值,每代的种群精度都无变化,不知道为什么。。
    1061655504
    @1061655504
    @Member29 你单步调试一下就知道了。调用crtfld()时改变输入的precisions,就会影响生成的FieldD的第一行,从而在初始化二进制染色体的时候得到的染色体的长度会不一样,这个“长度不一样”就体现了“精度变化”了。
    Member29
    @Member29
    @1061655504 我试了,虽然第一行会有改变,但是精度并不可控,FieldD第一行也不和前面precisons定义的一样,我甚至手动修改FieldD第一行的数值,也不能得到我想要的精度,不知道是哪个环节出了问题
    1061655504
    @1061655504
    @Member29 我懂你的疑惑了。你是对二进制编码的“精度”的理解有偏差。它不是指解码后的结果能够保留到小数点后多少位(那个是“打印精度”,或者说“输出显示的精度”)。二进制编码的“精度”指的是二进制编码所能控制的汉明距离在小数点后几位。比如设置精度是4,那么二进制编码所表示的变量的汉明距离是小数点后4位。程序的结果当然地会有几十位(显示多少位取决于打印精度),但小数点后第5位开始的数是不精确的。
    Genny1949
    @Genny1949
    你好,我想使用单目标的优化结合机器学习调参,有一个案例六是svm的 ,但是我用sklearn的iris数据集,得到的训练结果才6.7% 请问这是为什么呢?(数据的划分是7/3,有打乱顺序)
    Genny1949
    @Genny1949
    @geatpy-dev
    Luo_Haowen
    @codeRimoe
    @geatpy-dev 想问一下迭代过程中内存一直都在增加 还没收敛内存就占满报错 这是正常现象吗
    Genny1949
    @Genny1949
    你好 请问你有尝试做机器学习的遗传算法的调参优化吗 案例只有一个model6 @codeRimoe
    Luo_Haowen
    @codeRimoe
    @Genny1949 我没有做过相关的项目哦
    geatpy
    @geatpy-dev
    @Genny1949 这要去看一下sklearn搞SVM的相关资料噢,用sklearn搞那个iris的结果还是比较好的
    @codeRimoe aimFunc()里面的代码耗内存没有及时释放
    @Genny1949 把待优化问题抽象出来,弄成跟运筹优化那种标准形式,就什么问题都能套
    不能说一定要有个同类的案例才会做。
    Luo_Haowen
    @codeRimoe
    @geatpy-dev 应该不是aimfunc的问题 因为我单独调用了多次call-aimfunc都没有出现内存增加的情况
    Genny1949
    @Genny1949
    @geatpy-dev 自己做svm是用的sklearn的数据集,正常划分 但是实际上配合model6给的模板,准确率只有6.7%
    @geatpy-dev 实际上,我尝试用遗传来优化xgboost,xgboost的数据结构很特殊,今天运行报错。python经验不是很丰厚 可以麻烦您明天帮忙看看吗
    @geatpy-dev 我是用的model的代码 就仅仅是自己更改数据导入 然后正确率是6.7
    Luo_Haowen
    @codeRimoe
    断点发现内存增加是在population进行+和取get item运算时内存增加,感觉是运算符重载是每次都返回新的population object 导致?
    Luo_Haowen
    @codeRimoe
    已找到原因:moea会记录历史种群
    geatpy
    @geatpy-dev
    @codeRimoe 噢,那个是附加功能来的,如果不需要记录的话可以把它注释掉或者是写一个子类把该方法覆盖掉。
    @Genny1949 代码问题可以加工作客服的QQ 1061655504 寻求远程协助
    afei339
    @afei339
    请问以后还会计划增加哪些算法?
    geatpy
    @geatpy-dev
    @afei339 这个取决于算法模板贡献者的授权以及指导老师的安排呢。
    rockykwok
    @rockykwok
    图片.png
    请问在计算过程中能否获取当前代数以及决策变量值(除了设置drawing=2之外),因为trace记录器是在调用结束后才返回的
    logicbai
    @logicbai
    请问 算法进化了2000代,种群每代最优的值一直在变好,但是最优一直停留在第一代是怎么回事?是不是进化方向错误?
    1061655504
    @1061655504
    @logicbai 应该是你的main.py里面在计算哪一代最优的时候没有乘上maxormins,某些案例的这个地方没有乘maxormins,直接改这些案例来用就会出现上述问题。
    @rockykwok Algorithm.py以及Population.py的开头注释有你想要的答案。
    logicbai
    @logicbai
    @1061655504 我调用的是soea_SEGA模板, 里面的代码有用maxormins计算适应度的函数
    rockykwok
    @rockykwok
    @1061655504 谢谢,我看一下,是不是这个库的帮助文档还在准备中。给作者们点个赞,让像我一样的非专业人士也可以调用相关算法
    rockykwok
    @rockykwok
    请教一下各位,遗传算法能不能像传统的数学优化算法一样设置初值,这样对加速收敛有没有帮助?因为实际工程中可能工程师已经根据以往经验,初步有了自己的想法。有没有介绍遗传算法的经典书籍或文献综述,中英文都可以。
    geatpy
    @geatpy-dev
    @rockykwok 当然可以鸭。在geatpy工具箱里面就有提供这样的功能。见案例:http://geatpy.com/index.php/demos/ 综述在谷歌学术里面搜索带个关键词“overview”, "review "或者“survey”就能搜到很多文章。
    rockykwok
    @rockykwok
    @geatpy-dev 谢谢,看到了,输入的初始染色体数量比种群规模小有没有问题,是不是不够的数量会随机生成补充?
    geatpy
    @geatpy-dev
    @rockykwok 嗯。等价于是这个意思。
    rockykwok
    @rockykwok
    ok,看到源码了