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引用了什么,这不是你提供的代码中定义的变量。 –