为什么`fmincg()`中的迭代次数是随机的,尽管最大迭代次数是固定的

我遇到了fmincg()函数,它用于优化梯度更新并运行迭代,返回优化后的参数。尽管它进行的迭代次数似乎是随机的。'MaxIter'参数被固定为200。但每次调用时,迭代次数仍然是随机的。

为什么fmincg()中的迭代次数是随机的,尽管最大迭代次数是固定的?

costFunction = @(t) linearRegCostFunction(X, y, t, lambda);options = optimset('MaxIter', 200, 'GradObj', 'on');theta = fmincg(costFunction, initial_theta, options);

enter image description here


回答:

这是一个最大迭代次数,而不是固定的。如果计算在达到最大迭代次数之前就收敛了,它就会停止。如果没有收敛,它会继续进行直到达到'MaxIter'

基本上,这个程序是一个大的while循环,用伪代码表示如下

while iter<MaxIter & convergence_reached == false    % 进行计算    iter = iter + 1    if converged        convergence_reached == true

附注:这意味着每次尝试时你输入到方案中的值不同,或者代码中的某个地方有一个随机数生成器。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注