Lab 05 — Optimization via Gradient Descent#
Minimize a simple convex function.
import numpy as np
def f(x):
return (x-3)**2 + 2
def df(x):
return 2*(x-3)
x = 0.0
eta = 0.1
history = []
for k in range(50):
x = x - eta*df(x)
history.append(x)
print('Argmin approx:', x, 'f(x)=', f(x))
np.array(history)