2015-07-05 79 views
0

反向傳播算法中閾值的用途是什麼?我爲類標籤識別編寫了一個java代碼。我對神經元使用了一些隨機閾值(0-1)。我訓練了系統並使用一些數據進行了測試。它工作得很好。但算法在使用閾值或不使用閾值時有什麼區別。反向傳播閾值

+0

你的意思是「偏見」。激活總是有一個門檻。使用偏差單位,您可以調整閾值。 – runDOSrun

+0

是否有任何方法或公式(取決於其他參數)是如何生成隨機權重或僅使用random()函數的。 – mRbOneS

+0

小,隨機權重接近0是最常見的。 – runDOSrun

回答

1

你所說的「門檻」有什麼實際上是由神經元

f(w,x,b) = g(<w,x>+b) 

偏見不應該被用來作爲一個常量表示在仿射變換偏見按照你的建議,而是 - 訓練有素,就像網絡中的任何其他參數。通常一個簡單的增加了一個hypothethical「偏見神經元」總是等於1,所以偏見成爲另一種重量

f(w,x,b) = g(<[w b], [x 1]>) 

爲什麼重要的是有偏見?一般來說,沒有偏見的手段,在你的神經元訓練過的「過濾器」(特徵探測器)必須經過原點。您可以將每個神經元視爲輸入空間中的一個超平面,並在其中「摺疊」空間,以便數據變得更加可分離。如果你沒有偏見 - 所有這些超平面都靠近原點。如果您將它們修復爲常量 - 您可以修復它們與原點的距離。最後,如果你訓練它們 - 算法可以自由地將它們放入輸入空間(所需的行爲)。

+0

我不明白你使用的術語。請你簡單點。我是一個新手,只是基於算法和應用的閾值來完成這個代碼。這裏有什麼偏見?你正在使用的函數'f'和'g'是什麼。如果你有watsapp或者facebook賬戶,請給我詳細的信息,我有一些懷疑,因爲我正在爲此發佈(Journal)。謝謝:) – mRbOneS

+0

說實話,這是最簡單的術語。你有一個節點,節點的輸出描述爲g( + b),其中w是輸入權重,b是「偏差」(你稱之爲閾值),g可能是一些sigmoid(或tanh,relu等)激活功能。這些偏差也是模型參數,所以您應該訓練它們,而不是修正 - 您的訓練算法可能基於梯度下降 - 您也可以計算b上的導數。 – lejlot

+0

現在我明白了。如果我們在-1到+1之間隨機生成權重和閾值,這是否正確?有沒有任何方法或公式(取決於其他參數),我們如何生成隨機權重或只使用random()函數。 – mRbOneS