Lab 05 — Optimization via Gradient Descent

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)