【发布时间】:2010-10-15 17:05:17
【问题描述】:
我有一组变量X, Y, ..., Z。我的工作是设计一个函数,它采用这组变量并产生一个整数。我有一个适应度函数来测试它。
我对这个问题的第一次尝试是假设我可以将f 建模为线性函数:
f(X, Y, ..., Z) -> aX + bY ... cZ
我的第一个想法是使用 PSO(粒子群优化)或遗传算法来解决 f 与 a, b, .., c 的问题,我相信它们肯定会产生良好的结果。
另一方面,我觉得也许真的不需要那种进化算法。首先,我可以为a,b, .., c 想出几个好的“起点”。作为f 一个线性函数,尝试几个点然后对它们进行线性回归之类的事情不是更容易吗?在线性回归之后,尝试更多点,这一次更接近看起来像一个好的“点”,再次对它们进行线性回归?
它有什么缺点?任何有此类问题经验的人?我能想到的最大的一个可能是,我认为a,b, .., c 的良好起始值可能是“局部最优”,并且拥有某种进化算法会产生一个全局算法。
f 应该是象棋类游戏的 Minimax 算法的近似函数,如果这很重要的话。
谢谢
【问题讨论】:
-
我相信这类问题如果不加一些的上限,比如假设目标函数是线性的或者多项式的,几乎是不可能解决的度数固定。
-
是的,我很清楚这一事实。这篇文章的目标之一是试图了解人们是否通常像我一样假设函数是线性的,或者通常尝试其他形式的函数是否是个好主意。也许是多项式,我不知道?
-
“函数是线性的”只是您需要针对数据进行测试的假设。
标签: artificial-intelligence genetic-algorithm linear-regression