【问题标题】:matlab neural network gradient descent and mean square errormatlab神经网络梯度下降和均方误差
【发布时间】:2011-08-24 05:23:43
【问题描述】:

我想知道梯度下降算法如何在 matlab 网络训练中工作以及如何计算 MSE - 我有自己的应用程序,但它不能作为 matlab nn 工作,我想知道为什么。 我的算法是这样的:

    foreach epoch
       gradient_vector = 0 // this is a vector
       rmse = 0

       foreach sample in data set
          output = CalculateForward(sample.input)
          error  = sample.target - output
          rmse += DotProduct(error,error)
          gradient_part = CalculateBackward(error)
          gradient_vector += (gradient_part / number_of_samples)
       end

       network.AddToWeights( gradient_vector * learning_rate)
       rmse = sqrt(rmse/number_of_samples)

    end

我和 matlab 的功能类似吗?

【问题讨论】:

    标签: matlab neural-network gradient


    【解决方案1】:

    它看起来与 MATLAB 的功能很接近,但请记住,该工具箱是为广泛的应用程序而设计的。您的算法在每个时期将每个数据条目提供给网络一次。 Matlab 的工具箱可以每个 epoch 多次呈现数据,每个 epoch 更新多次,并且可以通过多种方式更新。我向您保证,您可以使用现有的 matlab 工具箱复制您的确切方法,但具有非常具体的设置,可以通过在您正在使用的神经网络的帮助文件中挖掘来找到。他们中的一些人可能比其他人更接近你正在做的事情,所以要敏锐。祝你好运!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-10
      • 1970-01-01
      • 2015-07-11
      • 2022-09-28
      • 2020-10-17
      • 1970-01-01
      • 2019-01-07
      • 2014-01-19
      相关资源
      最近更新 更多