遗传算法小结(四)

来源:互联网 发布:js涂膜防水施工工艺 编辑:程序博客网 时间:2024/06/05 11:27

下礼拜来可以看看书中的例子,刚翻了一下,有很多值得借鉴的地方。在很多细微之处对基本遗传算法进行了改进。

本以为自己的算法已经初步达到了要求,没想到再对先前算法进行整合时,发现了一个很大的漏洞,这也是导致在预测y2时效果比其他算法好得多的原因。改正后,发现预测性能一下子就降低了将近20个百分点,真如五雷轰顶呀,不过既然发现了错误,才能找到改正的方向,看来做任何事情绝不能停滞于一点点的成绩,正是因为y2较高的误差,算法才需要切实地进一步改进。

昨天下午,在开会的时候,认真地想了想算法目前还存在的问题及自认为尚需改进的地方,现总结如下:1、对上述程序中出现的漏洞,已解决,但是结果是误差变大。2、算法一直以来就存在一个警告,归其原因,是因为拟合矩阵为病态矩阵的原因。如果变量是与另一个变量完全冗余,这个矩阵称为病态矩阵,即矩阵不能求逆。例如,有一个变量是其他三个变量之和,这个变量也存在于模型中,这个矩阵就是病态矩阵。矩阵A和b存在的微小扰动δA和δb,会引起方程组Ax=b解的很大变化,则称Ax=b为病态方程组,称矩阵A为病态矩阵解决方法:GS迭代和SOR迭代,matlab中无自带函数,必须自己写

对付病态的线性方程组,可有如下途径:
(1)增加计算机字长(即机器精度)。例如,若在PC机上用单精度和GAUSS主元消去法或LU分解,可求出直至以5阶矩阵为系数矩阵的方程组Ax=y的稳定近似解,而当高于5阶时,上述算法即失效;若采用双精度计算,利用上述算法对20到30阶的方程组求解,仍能得到3位以上的有效数字。
(2)条件预优法,即:选择一个非奇异矩阵P,使得cond(PA)<

原创粉丝点击