2017-07-17 85 views
-2

我非常新的Tensorflow,我目前學習它通過特定網站https://www.tensorflow.org/get_started/get_started如何開始使用Tensorflow

它是在手冊中說:

我們已經創建了一個模型,但我們不知道它有多好。爲了評估訓練數據模型,我們需要一個y佔位符來提供所需的值,並且我們需要編寫一個損失函數。

損失函數用於衡量當前模型距提供的數據有多遠。我們將使用線性迴歸的標準損失模型,它將當前模型與提供的數據之間的增量的平方相加。 linear_model - y創建一個向量,其中每個元素是相應示例的錯誤增量。我們稱tf.square來排除那個錯誤。然後,我們總結所有的誤差平方來創建使用tf.reduce_sum抽象的所有實例的錯誤單個標:」

Q1。‘我們不知道它有多好還’,我沒不理解這句話,因爲所創建的簡單模型是一個簡單的斜率方程和它應該訓練的內容,因爲模型是一個簡單的斜率。是否需要一個完美的斜率或什麼? 我爲什麼要訓練這個模型,什麼?

q2.what是虧損的功能?是損失函數是用來確定模型的準確性?爲什麼需要它?

Q3。我不明白「「蘇MS當前模型和所提供的數據之間的增量的平方「

q4.I沒有理解這部分代碼,」 squared_deltas = tf.square(linear_model - y)

這是代碼:

y = tf.placeholder(tf.float32) squared_deltas = tf.square(linear_model - y) loss = tf.reduce_sum(squared_deltas) print(sess.run(loss, {x:[1,2,3,4], y:[0,-1,-2,-3]}))

這可能是簡單的問題,但我是Tensorflow的初學者,很難理解它。

回答

1

1)所以你對「爲什麼要訓練一個簡單的問題」是正確的,但這只是一個介紹。通過任何機器學習任務,您需要評估您的模型,看看它有多好。在這種情況下,您只是試圖找到最適合線的係數。

2)任何機器學習環境中的損失函數都表示您的模型出現錯誤。這通常意味着你的計算值與地面真值之間的「距離」的函數。將其視爲內部評估分數。你想最大限度地減少你的損失,所以梯度和參數的變化是基於你的損失。

3/4)你的問題在這裏更多的是與最小二乘迴歸。這是一種統計方法,可以在點之間創建最佳擬合線。增量表示您的計算值與真值之間的差異。其目的是最小化廣場的面積,從而減小誤差,並有更好的配合。

Least Squares Regression

您在本Tensorflow例如在做什麼是創建一個機器學習模型,將學習的係數,以獲得最佳的自動線採用最小二乘法爲基礎的系統。

0

幾乎所有的問題都與損失函數有關。

損失函數是一個函數,用於確定您的輸出與預期(正確)輸出的距離。

它有兩個用途:

  • 幫助算法確定權重的的調整有助於在好還是壞的方向發展

  • 確定性的準確性(〜的時間數量去你的系統猜測正確答案)

損失函數是增量女巫的總和:預期之間加入DIFF(增量的)輸出和實際輸出。

我認爲這是放大算法所產生的錯誤的平方。