CNTK学習の練習として、ロジスティック回帰の例を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