我有一个关于两个变量W1和W2的损失函数,输出结果为z=F(W1, W2)。
现在,我绘制了这个损失函数的等高线图。现在假设我已经在两个点处计算了梯度向量,因此我现在有了两个梯度向量。我想在我的等高线图上绘制这些梯度向量,但我不知道该如何处理。欢迎提供任何帮助。
enter code here
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
feature_x = np.arange(-50, 50, 2)
feature_y = np.arange(-50, 50, 3)
# Creating 2-D grid of features
[X, Y] = np.meshgrid(feature_x, feature_y)
fig, ax = plt.subplots(1, 1)
z = 0.5*np.array((Y-X)*(Y-X) + 0.5*(1-X)*(1-X))
# plots contour lines
ax.contour(X, Y, z, 10, cmap = 'jet')
ax.grid(True)
ax.axis('scaled')
#ax.clabel(cp, inline=1, fontsize=10)
ax.set_title('Contour Plot')
ax.set_xlabel('feature_x')
ax.set_ylabel('feature_y')
plt.show()
(80, 80)
,梯度为(79, 0)
。 - scleronomic