CNTK 학습으로, Logistic Regression 예제를 lr_bs.cntk
에서 수정하고 기본적인 선형 회귀 분석을 시도했습니다. 대신 물류 예에서이의기본 선형 회귀 분석 : 훈련 기준은 NaN입니다.
는 :
# parameters to learn
b = Parameter (LDim, 1) # bias
w = Parameter (LDim, SDim) # weights
# operations
p = Sigmoid (w * features + b)
lr = Logistic (labels, p)
err = SquareError (labels, p)
# root nodes
featureNodes = (features)
labelNodes = (labels)
criterionNodes = (lr)
evaluationNodes = (err)
outputNodes = (p)
... 나는 단순히이에 코드를 변경 :
# operations
p = (w * features + b)
lr = SquareError (labels, p)
err = SquareError (labels, p)
가 나는 이것이 내가 만든 합성 데이터 세트에 작업을 얻었다. 그러나 Wine Quality 데이터 세트에서 작성한 파일에서 실행 해 보았습니다. 나는 그것을 작동시킬 수 없으며 앞으로 나아갈 방법을 잃어 버리고 있습니다.
기차 명령은 다음과 같은 진단, 실패
EXCEPTION occurred: The training criterion is not a number (NAN).
나는이 lr
이 유효한 숫자를 생산하지 않는 것을 의미하는 것으로 해석한다. 난 그냥 SquareError
실패 할 수있는 방법을 이해하지 못하는 문제를 해결하기 위해 접근하는 방법. 내가 어떤 노골적으로 문제가 데이터 문제를 볼 수 없습니다
|features 7.400 0.700 0.000 1.900 |labels 5.000
|features 7.800 0.880 0.000 2.600 |labels 5.000
|features 7.800 0.760 0.040 2.300 |labels 5.000
|features 11.200 0.280 0.560 1.900 |labels 6.000
|features 7.400 0.700 0.000 1.900 |labels 5.000
:
정보를 보려면 여기처럼 데이터 세트가 준비 후 모습입니다. 나는 CNTKTextFormatReader
을 사용하여 데이터를 읽었으며 아마도 문제는 데이터 읽기 부분에 있지만 디버깅 없이는 확신 할 수 없다.
이 접근 방법에 대한 조언은 정말 감사하겠습니다.
감사합니다. 저는 제곱 오류가 "숫자가 아닌"것을 어떻게 얻을 수 있는지 알지 못했지만 잘못 선택된 학습 속도로 인해 실제로 문제가 발생할 수있었습니다. 속도를 줄이면 문제가 해결되었습니다. – Mathias