matlab NN Toolboxで巨大なデータセットを実行する際に問題に直面しています-問題は->trainlmアルゴリズムを使用すると、NN Toolboxはデータの実行に失敗し、メモリ不足エラーが表示されますが、他のアルゴリズムではメモリの問題はありません。なんでそうなの?さらに、隠しニューロンを15個以上置くと、メモリ不足になります。この種の問題を解決するにはどうすればよいですか?
もう1つ:トレーニング用に10、45、45%のデータ分割を配置しました-検証とテストですが、コードを実行した後、ワークスペースでトレーニング用に25%のデータ、検証用に37%のデータ、37%のデータを実行したことがわかりましたテスト目的で。この問題を解決するにはどうすればよいですか?
誰かがこの種の問題を解決する方法を知っていますか?コメントやご提案をいただければ幸いです。ありがとう。
Windows7で実行されているラップトップでR2010bバージョンのMATLABを使用しています。
これが私がデータセットをトレーニングするために使用したコードです
EX_355 = xlsread('Training Dataset.xlsx','B2:B435106');
EX_532 = xlsread('Training Dataset.xlsx','C2:C435106');
BA_355 = xlsread('Training Dataset.xlsx','D2:D435106');
BA_532 = xlsread('Training Dataset.xlsx','E2:E435106');
BA_1064 = xlsread('Training Dataset.xlsx','F2:F435106');
Reff = xlsread('Training Dataset.xlsx','G2:G435106');
Input(1,:) = EX_355;
Input(2,:) = EX_532;
Input(3,:) = BA_355;
Input(4,:) = BA_532;
Input(5,:) = BA_1064;
Target(1,:) = Reff;
net = feedforwardnet;
net = configure(net,Input,Target);
net = init(net);
inputs = Input;
targets = Target;
hiddenLayerSize = 10;
net = fitnet(hiddenLayerSize);
net.inputs{1}.processFcns = {'removeconstantrows','mapminmax'};
net.outputs{2}.processFcns = {'removeconstantrows','mapminmax'};
net.divideFcn = 'dividerand';
net.divideMode = 'sample';
net.divideParam.trainRatio = 10/100;
net.divideParam.valRatio = 45/100;
net.divideParam.testRatio = 45/100;
net.trainFcn = 'trainlm';
net.performFcn = 'mse';
net.plotFcns = {'plotperform','plottrainstate','ploterrhist', ... 'plotregression', 'plotfit'};
[net,tr] = train(net,inputs,targets);
outputs = net(inputs);
errors = gsubtract(targets,outputs);
performance = perform(net,targets,outputs)
trainTargets = targets .* tr.trainMask{1};
valTargets = targets .* tr.valMask{1};
testTargets = targets .* tr.testMask{1};
net.trainParam.epochs;
net.trainParam.time;
net.trainParam.goal;
net.trainParam.min_grad;
net.trainParam.mu_max;
net.trainParam.max_fail;
net.trainParam.show;