问题标签 [fminsearch]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1820 浏览

python - 如何返回成本,毕业作为 scipy 的 fmin_cg 函数的元组

如何让 scipyfmin_cg使用一个返回costgradient作为元组的函数?具有f成本和fprime梯度的问题是,我可能必须执行两次计算gradand的操作(非常昂贵) cost。此外,在它们之间共享变量可能很麻烦。

然而,在 Matlab 中,fmin_cg使用一个将成本和梯度作为元组返回的函数。我不明白为什么 scipyfmin_cg不能提供这样的便利。

提前致谢...

0 投票
0 回答
392 浏览

r - neldermead fminsearch R

目标:我有一个已知的矩阵 A 和一个矩阵 C。C 是某个未知矩阵 BC 的函数,A 应该几乎相等。所以我尝试用 B 作为我想要找到的未知数来最小化 AC。我为此选择了 fminsearch。

1)在我的成本函数中,我收到一个向量 B 并用它来计算成本函数。计算出的成本函数是一个矩阵,我将其转换为向量并返回该向量。

2)就在调用/使用 fminsearch 之前,我将 B 定义为向量并初始化 B(定义矩阵并转换为向量)。我调用 fminsearch 并将 B 作为算法的起点。问题是不平滑和不连续的。

5 次迭代后出现错误:

代码片段是:

里面的变量是全局的,我提供的是实际值:

0 投票
2 回答
61 浏览

matlab - 强制矩阵的条目为变量

我有一个需要与 fminsearch 一起使用的方阵。矩阵的一些值需要是可变的,因为它们是我将与 fminsearch 一起使用的值,并且我需要保留它们在矩阵中的位置。例如,与

我想做这个

这样我就可以对 X 进行操作以创建一些要使用 fminsearch 最小化的东西。例如,假设我想找到 a1、a2、a3 和 a4,以便在以下代码中最小化 C,该代码计算给定矩阵的总熵:

这可以用 MATLAB 实现吗?进一步假设我有一个带有 q 参数的 nxn 矩阵,我将如何调整这个想法以最小化相同的 C?

编辑:

我想出了如何做我想做的事。然而,我发现梯度下降算法确实是一种更好的方法。我将发布我正在做的事情的示例:

0 投票
0 回答
223 浏览

matlab - Matlab:fminsearch 用于不连续变化的函数

我有一个字符序列,我与 Matlab 函数“multialign”进行了多对齐。结果是一个带有多对齐序列的 char 矩阵:

例如,只有 3 个序列。

接下来,我根据序列之间的相似性对比对的每一列进行评分。在前面的例子中:在第一列中,“A”是最常见的符号,它出现了 3 次中的 2 次,所以得分是 2/3,在最后一列中,字母“C”每次出现,所以我得分它1,依此类推。最终得分是单项得分的平均值。

现在真正的问题是:我使用一个函数创建这些序列,该函数使用一个阈值来决定是否添加一个字符,所以我可以有更短或更长的序列。这是另一个具有不同阈值的示例,我以相同的方式评分:

我想使用 fminsearch 来搜索最佳阈值,但我的问题是仅稍微改变阈值,分数不会改变,因此 fminsearch 使用的算法不起作用(例如,如果您从 10 开始选择的值下一步是类似于 9.75...)。

这是我所做的伪 Matlab 代码:

有人能帮我吗?

0 投票
2 回答
3592 浏览

matlab - 带有向量输入的 fminsearch

我想最小化这个功能:

和值分别是 13×4)xy13×1 数组,这些值已经在 Matlab 工作区中定义。我想优化该k值,以使函数值GCV最小化。

被优化的参数和输出都是标量的,所以fminsearch应该是合适的。

但我不能让它运行?

我尝试了几种方法,最新的是:

我究竟做错了什么?

0 投票
1 回答
2264 浏览

r - R 中的 fminsearch 比 Matlab 中的差

有我的数据(x 和 y 列是相关的): https ://www.dropbox.com/s/b61a7enhoa0p57p/Simple1.csv

我需要的是用折线拟合数据。执行此操作的 Matlab 代码是:

这确实可以正常工作,产生以下优化:[102.9842, 191.0006, 421.9912]

我在 R 中实现了同样的想法:

但我得到了非常糟糕的结果:

如您所见,它在 2 次迭代后停止并且不会产生好点。

对于解决此问题的任何帮助,我将非常高兴。

此外,如果有人知道如何使用任何免费库在 C# 中实现这一点,那就更好了。我知道从哪里获得 polyfit,但不知道 fminsearch。

0 投票
1 回答
639 浏览

matlab - 用 fminsearch 同步两对曲线的交点

我有两对曲线,每对曲线在不同的时间值(x 值)处都有一个交点。现在我需要在 x 方向上平均移动每对曲线的一条曲线,直到两个交点具有相同的时间值/x 参数:

在此处输入图像描述

这些只是示例,您可以为我的所有真实案例假设相同的单调性(但可能是不同的形状),就像在我的示例中一样。同样颜色的曲线也具有相同的 x 向量(但不一定是等距的)。两种颜色(1=红色和 2=蓝色)之间的 x 范围和元素数量可以完全不同。

输入曲线生成:

我使用File Exchange中的函数计算的交点,该函数InterX返回交点的和值。该示例的预期输出只是为了说明我的问题。xy

我的问题是,如何确定输入和输出之间的时间延迟?

我的方法是使用fminsearch,但经过一些迭代后我遇到了问题。

d开始0并且应该增加,直到dxy2.5在这种情况下开始)变为0.

这似乎在第一次迭代中工作得很好,但有一次变化d很大,因此不再有交点并且函数崩溃:

合乎逻辑的结论是改为使用fmincon但我缺少优化工具箱。有什么办法吗?

0 投票
1 回答
2088 浏览

matlab - 如何自动为 fmincon 找到合适的初始值?

我试图最小化具有非线性约束的目标函数。我的问题是方便地为参数找到合适的初始值集。但是,因为初始值也必须满足非线性约束,所以在我的目标函数中,我有超过 1000 个数据点,从而产生 1000 个函数值。结果,我选择的初始值通常不能使我的目标函数在每个数据点都获得有意义的值,即我的目标函数在某个数据点获得 NaN,这会停止最小化过程......

我很好奇有什么好方法可以让我自动搜索合适的初始值吗?(因为我有一堆功能要最小化......)任何想法和建议都会有所帮助!

例如,我的目标函数是一个函数句柄,如:

这里的u1和u2需要放入data中。

我所做的是这样的:

我的问题是我的初始值有时会在 myFUN 的 u1/u2 的某些点上得到 NaN。

现在我要做的是使用其他一些约束来获得有意义的初始值。例如,我有一个这样的积分函数:

我想用这个约束来猜测一些初始值。但是,我不知道如何以未知参数 a、b 和 theta 数值获取积分值。

我用积分做的是这样的:

我想获得价值

类似的东西...

我不确定我是否清楚地解释了我的问题......

0 投票
3 回答
409 浏览

excel - fminsearch 在存储数据时循环覆盖

我在matlab中有下面提到的代码。我想将计算出的所有 162 行和 4 列写入一个 excel 文件。

当我在代码中使用 xlswrite 时,我只得到一行和 4 列,因为 P 的值在每个迭代步骤中都会被覆盖。

如果我在 for 循环中使用另一个循环,则执行时间会急剧增加。请帮助至少将 P 的值写入一个数组,稍后我可以将其写入 excel 文件(当我尝试“在分配 A(I)=B 中,B 和 I 中的元素数必须相同”时出现错误.)

请帮忙

0 投票
1 回答
422 浏览

matlab - MATLAB fminsearch 用于具有 4 个参数的函数最小化

我需要最小化这个功能:

在哪里

我知道P在不同的位置(即不同的(xi,yi))。我必须找到参数P0, n,xkyk最小化A

我想fminsearch在MATLAB中使用来解决这个问题,但是我不知道具体怎么用?

我在这个问题上尝试了这个想法,但是我需要Bm用作向量(x,y)而它们Bm用作标量?

我可以fminsearch用来解决这个问题吗?