⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 runbp.m

📁 patten regnization source从1-14章能运行
💻 M
字号:
ErrorsLastNEpochs = zeros(1,NEpochs);TestErrorsLastNEpochs = zeros(1,NEpochs);startEpoch = totalNEpochs + 1;for epoch = 1:NEpochs,  sumSqrError = 0.0;  sumSqrTestError = 0.0;  outputWGrad = zeros(size(outputWeights));  hiddenWGrad = zeros(size(hiddenWeights));  for pat = 1:nTrainingPats,    % 傈规氢 菩胶(pass)    inp = [input(:,pat)',[1]]';    hiddenNetInputs = hiddenWeights * inp;    hiddenStates = sigmoidFunc(hiddenNetInputs);    hidStatesBias = [[hiddenStates]',[1]]';    outputNetInputs = outputWeights * hidStatesBias;    outputStates = sigmoidFunc(outputNetInputs);    % 开规氢 菩胶(pass)    targetStates = target(:,pat);    error = outputStates - targetStates;    sumSqrError = sumSqrError + dot(error,error);    outputDel = outputDeltas(outputStates, targetStates);    outputWGrad = outputWGrad + outputDel * hidStatesBias';    hiddenDel = hiddenDeltas(outputDel,hidStatesBias,outputWeights);    hiddenWGrad = hiddenWGrad + hiddenDel(1:nHidden,:) * inp';  end  % epoch狼 付瘤阜俊 啊吝摹 盎脚   outputWChange = eta * outputWGrad;  outputWeights = outputWeights + outputWChange;  hiddenWChange = eta * hiddenWGrad;  hiddenWeights = hiddenWeights + hiddenWChange;  %抛胶飘 菩畔栏肺 匙飘况农狼 己瓷 矫氰  for pat = (nTrainingPats+1):nPats    % 傈氢氢 菩胶(pass)    inp = [input(:,pat)',[1]]';    hiddenNetInputs = hiddenWeights * inp;    hiddenStates = sigmoidFunc(hiddenNetInputs);    hidStatesBias = [[hiddenStates]',[1]]';    outputNetInputs = outputWeights * hidStatesBias;    outputStates = sigmoidFunc(outputNetInputs);    targetStates = target(:,pat);    error = outputStates - targetStates;    sumSqrTestError = sumSqrTestError + dot(error,error);  end  %% epoch狼 付瘤阜俊 夸距 烹拌 免仿  gradSize = norm([hiddenWGrad(:);outputWGrad(:)]);  totalNEpochs = totalNEpochs + 1;  MSE = sumSqrError/nTrainingPats;  TestMSE = sumSqrTestError/nTestPats;  if totalNEpochs == 1      startError = MSE;  end  ErrorsLastNEpochs(1,epoch) = MSE;  TestErrorsLastNEpochs(1,epoch) = TestMSE;  fprintf(1,'%d  MSError=%f, MSTestError=%f, |G|=%f\n',...            totalNEpochs,MSE,TestMSE,gradSize);endclf; if totalNEpochs > minEpochsPerErrorPlot  epochs = [1:totalNEpochs];end% 切嚼 菩畔 笼钦俊 措茄 切嚼 目宏 敲吩errorsPerEpoch(1,startEpoch:totalNEpochs) = ErrorsLastNEpochs;subplot(2,1,1), ...  axis([1 max(minEpochsPerErrorPlot,totalNEpochs) 0 startError]),  hold on, ...  plot(epochs(1,1:totalNEpochs),errorsPerEpoch(1,1:totalNEpochs)),...  title('Mean Squared Error on the Training Set'), ...  xlabel('Learning Epoch'), ...  ylabel('MSE');% 抛胶飘 菩畔 笼钦俊 措茄 切嚼 目宏 敲吩TestErrorsPerEpoch(1,startEpoch:totalNEpochs) = TestErrorsLastNEpochs;subplot(2,1,2), ...  axis([1 max(minEpochsPerErrorPlot,totalNEpochs) 0 startError]),  hold on, ...  plot(epochs(1,1:totalNEpochs),TestErrorsPerEpoch(1,1:totalNEpochs)), ...  title('Mean Squared Error on the Test Set'), ...  xlabel('Learning Epoch'), ...  ylabel('MSE');

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -