在完成神经网络或softmax回归时,需要进行梯度检验。实际上,所有利用到求代价函数的偏导数的算法都需要利用到梯度检验。通过梯度检验,可以判断求得的偏导数是否正确。
梯度检验最核心的目的是,检验下面的式子是否成立:
其中,J是代价函数,g是代价函数的求导值。
至于更多梯度检验的说明,读者可以参考这篇文章
代码如下:
def simple_quadratic_function(x):
value = x[0] ** 2 + 3 * x[0] * x[1]
grad = np.z