3
的梯度,我有以下公式:使用Python和numpy的計算規則化損失函數
,我試圖在函數中使用計算正則損失函數的梯度。我有dataSet
,這是一個[(x(1), t(1)), ..., (x(n), t(n))]
的數組,並與訓練數據n = 15
。
這裏是我到目前爲止,明知損失函數是vector here.
def gradDescent(alpha, t, w, Z):
returned = 2 * alpha * w
y = []
i = 0
while i < len(dataSet):
y.append(dataSet[i][0] * w[i])
i+= 1
return(returned - (2 * np.sum(np.subtract(t, y)) * Z))
的問題是,w
總是等於(M + 1
) - 而在dataSet
,t
等於15
。這導致了無限乘法。我計算公式是否錯誤?任何幫助?
有這個問題是'w'就變成出界,因爲'w'在1-15之間,而dataTrain總是15. –
要清楚W是維(15,1)的向量,dataSet是維(15,2)的向量? –
我不確定你通過dataTrain引用了什麼,這不是你提供的代碼中定義的變量。 –