StochasticGradientDescent

abstract class StochasticGradientDescent[T](val defaultStepSize: Double, val maxIter: Int, tolerance: Double, fvalMemory: Int)(implicit val vspace: NormedModule[T, Double]) extends FirstOrderMinimizer[T, StochasticDiffFunction[T]] with SerializableLogging

Minimizes a function using stochastic gradient descent

Companion
object
trait Serializable
class Object
trait Matchable
class Any

Type members

Inherited types

type History

Any history the derived minimization function needs to do its updates. typically an approximation to the second derivative/hessian matrix.

Any history the derived minimization function needs to do its updates. typically an approximation to the second derivative/hessian matrix.

Inherited from
FirstOrderMinimizer
type State = State[T, Info, History]
Inherited from
FirstOrderMinimizer

Value members

Concrete methods

def determineStepSize(state: State, f: StochasticDiffFunction[T], dir: T): Double

Choose a step size scale for this iteration.

Choose a step size scale for this iteration.

Default is eta / math.pow(state.iter + 1,2.0 / 3.0)

Inherited methods

def infiniteIterations(f: StochasticDiffFunction[T], state: State): Iterator[State]
Inherited from
FirstOrderMinimizer
def iterations(f: StochasticDiffFunction[T], init: T): Iterator[State]
Inherited from
FirstOrderMinimizer
protected def logger: LazyLogger
Inherited from
SerializableLogging
def minimize(f: StochasticDiffFunction[T], init: T): T
Inherited from
FirstOrderMinimizer

Concrete fields

val defaultStepSize: Double
val maxIter: Int

Inherited fields