0

我正在尝试使用 SciPy 优化最小化函数来最小化多元函数。我用来调用函数的代码:

res = minimize(self.score_gradient, self.initialized_theta, (x,y),'newton-cg', jac = True, tol = 1e-6, options = {'maxiter':100 ,'disp':True })

score_gradient计算分数和雅可比/梯度。对雅可比/梯度进行了数字检查。计算后在命令行中打印的分数,我在命令行中看到以下内容:

3.3275625564
3.34459750933
3.32755781796
3.34459750933
3.32755307725
3.34459750933
3.32754833425
3.34459750933
3.32754358897
3.34459750933
3.32753884139
3.34459750933
3.3275340915
3.34459750933
3.32752933931
3.34459750933

正如您所看到的,有一个计算给出了相同的结果,而另一个则按预期最小化了分数。但是这个函数在这个计算中停留了半天以上,而在 MATLAB 中这个计算只需要几个小时。我知道 MATLAB 可能使用了不同的优化算法。有人看到了这种行为并且可以指出我做错了什么?

4

0 回答 0