簡體   English   中英

Tensorflow:如何訓練線性回歸?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM