我想知道grdient descent算法如何在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有什么相似之处?
答案 0 :(得分:0)
它似乎与MATLAB的作用接近,但请记住,工具箱是为广泛的应用程序而设计的。您的算法每个时期将一次数据输入一次到网络。 Matlab的工具箱可以每个时期多次呈现数据,每个时期更新多次,并且可以通过多种方式进行更新。我向您保证,您可以使用现有的matlab工具箱复制您的确切方法,但具有非常特定的设置,可以通过在您正在使用的神经网络的帮助文件中挖掘来找到。他们中的一些人可能比其他人更接近你正在做的事情,所以要辨别。祝你好运!