# netket.optimizer.Sgd¶

netket.optimizer.Sgd(learning_rate)[source]

Stochastic Gradient Descent Optimizer. The Stochastic Gradient Descent is one of the most popular optimizers in machine learning applications. Given a stochastic estimate of the gradient of the cost function ($$G(\mathbf{p})$$), it performs the update:

$p^\prime_k = p_k -\eta G_k(\mathbf{p}),$

where $$\eta$$ is the so-called learning rate. NetKet also implements two extensions to the simple SGD, the first one is $$L_2$$ regularization, and the second one is the possibility to set a decay factor $$\gamma \leq 1$$ for the learning rate, such that at iteration $$n$$ the learning rate is $$\eta \gamma^n$$.

Parameters

learning_rate (float) – The learning rate $$\eta$$.

Examples

Simple SGD optimizer.

>>> from netket.optimizer import Sgd
>>> op = Sgd(learning_rate=0.05)