y = f(x) - d * x return lambda t: d * t + y if __name__ == '__main__': x0 = l.np.arange(-2, 2.5, 0.25) x1 = l.np.arange(-2, 2.5, 0.25) X, Y = l.np.meshgrid(x0, x1) X = X.flatten() Y = Y.flatten() grad = numerical_gradient(function_2, l.np.array([X, Y])) l.plt.figure() l.plt.quiver(X, Y, -grad[0], -grad[1], angles="xy", color="#666666", label="something") #,headwidth=10,scale=40,color="#444444") l.plt.xlim([-2, 2]) l.plt.ylim([-2, 2]) l.plt.xlabel('x0') l.plt.ylabel('x1') l.plt.grid() l.plt.legend() l.plt.draw() l.plt_show_alt(l.plt)
y = f(x) - d * x return lambda t: d * t + y if __name__ == '__main__': x0 = l.np.arange(-2, 2.5, 0.25) x1 = l.np.arange(-2, 2.5, 0.25) X, Y = l.np.meshgrid(x0, x1) X = X.flatten() Y = Y.flatten() grad = numerical_gradient(function_2, l.np.array([X, Y])) l.plt.figure() l.plt.quiver(X, Y, -grad[0], -grad[1], angles="xy", color="#666666", label="...") #,headwidth=10,scale=40,color="#444444") l.plt.xlim([-2, 2]) l.plt.ylim([-2, 2]) l.plt.xlabel('x0') l.plt.ylabel('x1') l.plt.grid() l.plt.legend() l.plt.draw() l.plt_show_alt(l.plt, "4.4")
from mpl_toolkits.mplot3d import Axes3D import sys, os from common import lib as l from common import mnist as m def function_2(x): return x[0]**2 + x[1]**2 x1 = l.np.arange(-3.0, 3.0, 0.1) x2 = l.np.arange(-3.0, 3.0, 0.1) X1, X2 = l.np.meshgrid(x1, x2) y = function_2(l.np.array([X1, X2])) l.plt.xlabel("x1") l.plt.xlabel("x2") l.plt.ylabel("f(x)") fig = l.plt.figure() ax = Axes3D(fig) ax.plot_wireframe(X1, X2, y) l.plt_show_alt(l.plt, "4.3.3")
d = numerical_diff(f, x) print(d) y = f(x) - d*x return lambda t: d*t + y x = l.np.arange(0.0, 20.0, 0.1) y = function_1(x) l.plt.xlabel("x") l.plt.ylabel("f(x)") tf = tangent_line(function_1, 5) y2 = tf(x) tf = tangent_line(function_1, 10) y3 = tf(x) l.plt.xlim(0, 20) l.plt.ylim(0, 6) l.plt.plot(x, y) l.plt.plot(x, y2) l.plt.plot(x, y3) l.plt.plot([0, 5], [function_1(5), function_1(5)], ':', lw=1) l.plt.plot([5, 5], [function_1(5), 0], ':', lw=1) l.plt.plot([0, 10], [function_1(10), function_1(10)], ':', lw=1) l.plt.plot([10, 10], [function_1(10), 0], ':', lw=1) l.plt_show_alt(l.plt, "4.3.2")