[英]Tensorflow: How to train a Linear Regression?
我正在學習通過TensorFlow訓練線性回歸模型。 這是一個很簡單的公式:
y = W * x + b
我生成了一個樣本數據:
經過模型訓練后,我可以在Tensorboard中看到,當“ b ”完全錯誤時,“ W ”是正確的。 因此,損失很高。
這是我的代碼。
題
為什么“ b ”訓練有誤?
我可以對優化器做些什么嗎?
在第16行上 ,您要添加標准偏差為300的高斯噪聲!
noise = np.random.normal(scale=n, size=(N, 1))
嘗試使用:
noise = np.random.normal(size=(N, 1))
這使用的是均值= 0和std = 1(標准高斯噪聲)。
同樣,對於該訓練而言,20k次迭代已足夠(在此問題中)。
有關發生的情況的更全面的說明,請查看您的情節。 給定x
值, y
的可能值具有數千個單位的差。 這意味着有很多行可以解釋您的數據。 因此,B可以有很多值,但是無論您選擇哪一個(甚至是真正的b值),所有這些都會損失很大。
優化工作正常,但問題出在參數b
其估計受noise
的初始“骰子滾動”(標准偏差為N
)的影響遠大於b_true
的實際值(后者小得多)比N
)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.