Matrix 用遗传算法进化矩阵

Matrix 用遗传算法进化矩阵,matrix,mathematical-optimization,genetic-algorithm,Matrix,Mathematical Optimization,Genetic Algorithm,我最近发现了遗传算法,在做了一些研究之后,我找不到任何关于如何进化出比向量或字符串更复杂的结构的例子。 假设我正在使用协方差矩阵进行某种计算(例如计算马氏距离),我想寻找更好的矩阵来完成这项工作,并将某种标准线性化,有没有关于如何进化矩阵以及使用哪些交叉算子的经典例子 谢谢 任何由数字(或任何其他元素)构成的固定大小和形状的结构都可以重写为一维向量并返回。然后,您可以使用任何对向量起作用的运算符 如果你想直接使用矩阵(或任何其他结构),你可以设计自己的操作符,但是矩阵基本上是一个向量,只是用不同

我最近发现了遗传算法,在做了一些研究之后,我找不到任何关于如何进化出比向量或字符串更复杂的结构的例子。 假设我正在使用协方差矩阵进行某种计算(例如计算马氏距离),我想寻找更好的矩阵来完成这项工作,并将某种标准线性化,有没有关于如何进化矩阵以及使用哪些交叉算子的经典例子


谢谢

任何由数字(或任何其他元素)构成的固定大小和形状的结构都可以重写为一维向量并返回。然后,您可以使用任何对向量起作用的运算符

如果你想直接使用矩阵(或任何其他结构),你可以设计自己的操作符,但是矩阵基本上是一个向量,只是用不同的方式写的。对于矩阵情况,有许多可能的运算符(交叉):

  • 交换行/列(在父级之间)
  • 交换子矩阵(上述的推广)
  • 连续空间交叉方法,如BLX alpha、PCX、算术交叉。。。这些都是为向量设计的,但是你只需要把矩阵当作向量(其实没什么不同)

突变可能或多或少与向量相同,比如,你只需对元素(或其中一些元素)进行突变。

对称矩阵可以表示为向量(例如,通过矩阵的上三角部分逐行读取)。然后你可以使用标准的基于向量的表示法。你可以用因子形式表示协方差矩阵,例如下三角L的C=L*L'和进化L。这样你可以保证你的矩阵是对称的正(半)确定。你的矩阵的停止条件是什么?@Totem假设我在条件a中使用了mahlanobis距离,并且我有足够的数据来估计完整的cov矩阵。对于对应于不同条件B的一组新向量,我想调整我的旧协方差矩阵,使其最小化所有B向量之间的距离。目标是将一组向量之间的距离提高到某个阈值(一种协方差矩阵的自适应,因此它可以用于来自不同设置的少量新数据(以克服没有足够的数据来构建与条件B相对应的全新cov矩阵的问题))也与遗传算法有关(但不同)是。我个人更喜欢连续空间中的随机数,并且倾向于在离散空间中使用GAs。你知道期望值的范围吗?或者它们的类型吗?如果是,你可以在范围中添加随机数(可能取决于位置),作为另一个交叉操作符(很好)@jan-Žegklitz的算法。@在我看来,图腾更像是一个变异。在交叉中,你将两个或多个解组合在一起。但典型的连续空间变异是添加一个从正态分布中提取的随机数。但也使用了你的运算符(添加一个数字或替换为一个数字)。