2011-05-12 4 views
0

grdient descent 알고리즘이 matlab 네트워크 교육에서 어떻게 작동하고 MSE가 계산되는지 알고 싶습니다. 저는 자체 앱을 가지고 있지만 matlab nn으로 작동하지 않으며 그 이유를 알고 싶습니다. . 내 알고리즘은 다음과 같습니다 : 무엇을 MATLAB과 유사한matlab 신경망 그라디언트 디센트 및 평균 제곱 오류

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 

나는 그것이 뭔가를?

답변

0

MATLAB의 기능과 비슷하지만 도구 상자는 광범위한 응용 프로그램 용으로 설계되었습니다. 귀하의 알고리즘은 각 데이터 입력을 한 시대마다 한 번 네트워크에 제공합니다. Matlab의 도구 상자는 신기원 당 여러 번 데이터를 표시하고 신기원마다 여러 번 업데이트 할 수 있으며 여러 가지 방법으로 업데이트 할 수 있습니다. 정확한 방법은 기존 matlab 도구 상자와 중복 될 수 있지만 사용중인 신경망에 대한 도움말 파일을 찾아 보면 매우 구체적인 설정으로 확인할 수 있습니다. 그들 중 일부는 다른 사람들보다 자신이하고있는 것에 더 가깝기 때문에 분별력을 가져야합니다. 행운을 빕니다!