首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >利用人工智能技术优化参数

利用人工智能技术优化参数
EN

Stack Overflow用户
提问于 2015-07-13 18:43:34
回答 3查看 134关注 0票数 4

我知道我的问题是一般的,但我是新的人工智能领域。我用一些参数(几乎6个参数)做了一个实验。它们中的每一个都是独立的,我想找出输出函数最大或最小的最优解。但是,如果我想在传统编程技术中这样做,将需要很长时间,因为我将使用6个嵌套循环。

我只想知道该用哪种人工智能技术来解决这个问题?遗传算法?神经网络?机器学习?

更新

实际上,这个问题可能有一个以上的评价功能。它将有一个功能,我们应该最小化它(成本)和另一个功能,我们要最大化它(容量),也许可以增加另一个功能。建造一个玻璃窗口可以用百万种方式完成。然而,我们希望以最低的成本建立最强大的窗口。玻璃的强度、玻璃的高度和宽度、玻璃的斜率等参数都会影响玻璃的压强。显然,如果我们去极端情况(最大的强度玻璃,最小的宽度和高度,零斜率),窗口将是非常强大的。然而,这方面的费用将非常高。

我想研究在特定范围内各参数之间的相互作用。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-07-14 09:12:59

如果不了解具体的问题,听起来就像是遗传算法是理想的。它们被广泛应用于参数优化,并经常取得良好的效果。就我个人而言,我用它们缩小了边缘检测技术的参数范围,大约有15个变量,他们做得很好。

如果将多个评估函数编码到遗传算法的适应度函数中,那么拥有多个评估函数就不成问题了。我会用遗传算法来查找多目标优化。

我从这里开始:使用遗传算法的多目标优化:教程

票数 1
EN

Stack Overflow用户

发布于 2015-07-13 19:54:40

首先,如果你有多个相互竞争的目标,那么问题就会被混淆。

你必须找到一个你想要最大化的价值..。例如:

代码语言:javascript
复制
value = strength - k*cost

代码语言:javascript
复制
value = strength / (k1 + k2*cost)

无论是固定强度,较低成本获胜,而固定成本,更高强度获胜,但你有一个公式,能够决定一个给定的解决方案是好的还是坏的。如果你不这样做,你怎么能决定一个解决方案是否比另一个更便宜但更弱的解决方案好呢?

在某些情况下,正确定义的值需要一个更复杂的函数..。例如,就强度而言,价值可能增加到某个点(即,结果强于规定的数量只是毫无意义),或者成本可能有上限(因为高于某一数额,解决方案就没有意义,因为它会使最终价格退出市场)。

一旦您找到了标准,如果参数是独立的,在我的经验中,一种非常简单的方法就是:

  1. 通过选择n随机值来选择一个随机解,在允许的边界内为每个参数选择一个
  2. 计算此起点的目标值
  3. 选择一个随机数1 <= k <= n,并对从n中随机选择的每个k参数计算一个随机的有符号增量,并将参数更改该值。
  4. 从转换的解决方案中计算新的目标值。
  5. 如果新的值最好保持新的位置,否则恢复到原来的位置。
  6. 从3点开始重复,直到你没有时间为止。

根据目标函数的不同,存在着比其他分布更好的随机分布,也可能是对于不同参数的最优选择是不同的。

票数 1
EN

Stack Overflow用户

发布于 2015-08-15 10:41:46

不久前,我编写了一个用遗传算法解决优化问题的C++代码。这里是:http://create-technology.blogspot.ro/2015/03/a-genetic-algorithm-for-solving.html

这应该很容易理解。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31391055

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档