专家混合模型 – fminunc优化提前停止

我有一个专家混合模型的代码,它在参数数量较少时可以正常工作。代码如下:

global x_au;global x_vi;global x_alpha;global y;global parameter;options = optimoptions(@fminunc,'GradObj', 'on', 'Algorithm','quasi-newton','MaxIter', 10000,'Display','iter-detailed'); % 更改迭代次数optTheta=[];x_au=x_au_train;x_vi=x_vi_train;x_alpha=x_alpha_train;y=y_train;parameter=zeros(8969,1);%期望步骤fprintf('opt1 begins');opt_1;fprintf('opt1 complete');%最大化步骤[x] = fminunc(@costfunction,parameter(1:4483),options);parameter(1:4483)=x;resnorm1=total_error(parameter(1:4483));k=1;count = 1;while(1)opt_1; fprintf('expectation complete');%最大化步骤[x] = fminunc(@costfunction,parameter(1:4483),options);parameter(1:4483)=x;resnorm2=total_error(parameter(1:4483));fprintf('resnorm1-resnorm2 - %f, resnorm2 - %f, k - %f',resnorm1-resnorm2,0.000001*resnorm2,k);if((resnorm1-resnorm2)< .000001*resnorm2 & k~=1)  %% 为了减少训练时间     break;end

但是现在,当我需要将它应用于参数数量较大的问题时,我得到了以下日志。

                                                     First-order  Iteration  Func-count       f(x)        Step-size       optimality     0           1      5.31444e+10                      4.75e+14Optimization stopped because the objective function cannot be decreased in the current search direction. Either the predicted change in the objective function,or the line search interval is less than eps.                                                   First-order  Iteration  Func-count       f(x)        Step-size       optimality     0           1      5.31444e+10                      4.75e+14Optimization stopped because the objective function cannot be decreased in the current search direction. Either the predicted change in the objective function,or the line search interval is less than eps.resnorm1-resnorm2 - 0.000000, resnorm2 - 53144.356560, k - 1.000000                                                     First-order  Iteration  Func-count       f(x)        Step-size       optimality     0           1      5.31444e+10                      4.75e+14Optimization stopped because the objective function cannot be decreased in the current search direction. Either the predicted change in the objective function,or the line search interval is less than eps.    resnorm1-resnorm2 - 0.000000, resnorm2 - 53144.356560, k - 2.000000>> 

然后过程以非常糟糕的结果完成。可以看出,fminunc无法正确优化。谁能帮帮我?


回答:

我将参数初始化从零改为随机数,并结合归一化处理,最终使其正常工作。

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中创建了一个多类分类项目。该项目可以对…

发表回复

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