gpt4 book ai didi

matlab - 在 Matlab 中训练神经网络后测试性能不一致/不同/错误

转载 作者:行者123 更新时间:2023-11-30 09:37:51 26 4
gpt4 key购买 nike

保持所有参数不变,我在重新训练神经网络的测试数据上得到了不同的平均百分比误差。为什么会这样呢?神经网络训练过程的所有组成部分不是都是确定性的吗?有时,我发现连续训练的差异高达 1%。

训练代码如下

netFeb = newfit(trainX', trainY', networkConfigFeb);
netFeb.performFcn = 'mae';
netFeb = trainlm(netFeb, trainX', trainY');

% Index for the testing Data
startingInd = find(trainInd == 0, 1, 'first');
endingInd = startingInd + daysInMonth('Feb') - 1 ;

% Testing Data
testX = X(startingInd:endingInd,:);
testY = dailyPeakLoad(startingInd:endingInd,:);
actualLoadFeb = testY;

% Calculate the Forcast Load and the Mean Absolute Percentage Error
forecastLoadFeb = sim(netFeb, testX'';
errFeb = testY - forecastLoadFeb;
errpct = abs(errFeb)./testY*100;
MAPEFeb = mean(errpct(~isinf(errpct)));

最佳答案

正如 A. Donda 暗示的那样,由于神经网络随机初始化其权重,因此在训练后它们将生成不同的网络。因此它会给你不同的表现。虽然训练过程是确定性的,但初始值却不是!因此,您可能会达到不同的本地最小值,或者停留在不同的地方。

如果您想了解原因,请查看 Why should weights of Neural Networks be initialized to random numbers

编辑 1:

注释

  • 由于用户手动定义测试/训练数据,因此所选训练数据集没有随机化

关于matlab - 在 Matlab 中训练神经网络后测试性能不一致/不同/错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29729212/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com