sgd-0.4.0.1: Stochastic gradient descent

Safe HaskellNone
LanguageHaskell98

Numeric.SGD

Description

Stochastic gradient descent implementation using mutable vectors for efficient update of the parameters vector. A user is provided with the immutable vector of parameters so he is able to compute the gradient outside of the IO monad. Currently only the Gaussian priors are implemented.

This is a preliminary version of the SGD library and API may change in future versions.

Synopsis

Documentation

data SgdArgs Source #

SGD parameters controlling the learning process.

Constructors

SgdArgs 

Fields

sgdArgsDefault :: SgdArgs Source #

Default SGD parameter values.

type Para = Vector Double Source #

Vector of parameters.

sgd Source #

Arguments

:: SgdArgs

SGD parameter values

-> (Para -> Int -> IO ())

Notification run every update

-> (Para -> x -> Grad)

Gradient for dataset element

-> Dataset x

Dataset

-> Para

Starting point

-> IO Para

SGD result

A stochastic gradient descent method. A notification function can be used to provide user with information about the progress of the learning.