Packages

  • package root
    Definition Classes
    root
  • package org
    Definition Classes
    root
  • package apache
    Definition Classes
    org
  • package spark

    Core Spark functionality.

    Core Spark functionality. org.apache.spark.SparkContext serves as the main entry point to Spark, while org.apache.spark.rdd.RDD is the data type representing a distributed collection, and provides most parallel operations.

    In addition, org.apache.spark.rdd.PairRDDFunctions contains operations available only on RDDs of key-value pairs, such as groupByKey and join; org.apache.spark.rdd.DoubleRDDFunctions contains operations available only on RDDs of Doubles; and org.apache.spark.rdd.SequenceFileRDDFunctions contains operations available on RDDs that can be saved as SequenceFiles. These operations are automatically available on any RDD of the right type (e.g. RDD[(Int, Int)] through implicit conversions.

    Java programmers should reference the org.apache.spark.api.java package for Spark programming APIs in Java.

    Classes and methods marked with Experimental are user-facing features which have not been officially adopted by the Spark project. These are subject to change or removal in minor releases.

    Classes and methods marked with Developer API are intended for advanced users want to extend Spark through lower level interfaces. These are subject to changes or removal in minor releases.

    Definition Classes
    apache
  • package mllib

    RDD-based machine learning APIs (in maintenance mode).

    RDD-based machine learning APIs (in maintenance mode).

    The spark.mllib package is in maintenance mode as of the Spark 2.0.0 release to encourage migration to the DataFrame-based APIs under the org.apache.spark.ml package. While in maintenance mode,

    • no new features in the RDD-based spark.mllib package will be accepted, unless they block implementing new features in the DataFrame-based spark.ml package;
    • bug fixes in the RDD-based APIs will still be accepted.

    The developers will continue adding more features to the DataFrame-based APIs in the 2.x series to reach feature parity with the RDD-based APIs. And once we reach feature parity, this package will be deprecated.

    Definition Classes
    spark
    See also

    SPARK-4591 to track the progress of feature parity

  • package optimization
    Definition Classes
    mllib
  • Gradient
  • GradientDescent
  • HingeGradient
  • L1Updater
  • LBFGS
  • LeastSquaresGradient
  • LogisticGradient
  • Optimizer
  • SimpleUpdater
  • SquaredL2Updater
  • Updater

class GradientDescent extends Optimizer with Logging

Class used to solve an optimization problem using Gradient Descent.

Source
GradientDescent.scala
Linear Supertypes
Logging, Optimizer, Serializable, Serializable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. GradientDescent
  2. Logging
  3. Optimizer
  4. Serializable
  5. Serializable
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Value Members

  1. def optimize(data: RDD[(Double, Vector)], initialWeights: Vector): Vector

    Runs gradient descent on the given training data.

    Runs gradient descent on the given training data.

    data

    training data

    initialWeights

    initial weights

    returns

    solution vector

    Definition Classes
    GradientDescentOptimizer
  2. def optimizeWithLossReturned(data: RDD[(Double, Vector)], initialWeights: Vector): (Vector, Array[Double])

    Runs gradient descent on the given training data.

    Runs gradient descent on the given training data.

    data

    training data

    initialWeights

    initial weights

    returns

    solution vector and loss value in an array

  3. def setConvergenceTol(tolerance: Double): GradientDescent.this.type

    Set the convergence tolerance.

    Set the convergence tolerance. Default 0.001 convergenceTol is a condition which decides iteration termination. The end of iteration is decided based on below logic.

    • If the norm of the new solution vector is greater than 1, the diff of solution vectors is compared to relative tolerance which means normalizing by the norm of the new solution vector.
    • If the norm of the new solution vector is less than or equal to 1, the diff of solution vectors is compared to absolute tolerance which is not normalizing.

    Must be between 0.0 and 1.0 inclusively.

  4. def setGradient(gradient: Gradient): GradientDescent.this.type

    Set the gradient function (of the loss function of one single data example) to be used for SGD.

  5. def setMiniBatchFraction(fraction: Double): GradientDescent.this.type

    Set fraction of data to be used for each SGD iteration.

    Set fraction of data to be used for each SGD iteration. Default 1.0 (corresponding to deterministic/classical gradient descent)

  6. def setNumIterations(iters: Int): GradientDescent.this.type

    Set the number of iterations for SGD.

    Set the number of iterations for SGD. Default 100.

  7. def setRegParam(regParam: Double): GradientDescent.this.type

    Set the regularization parameter.

    Set the regularization parameter. Default 0.0.

  8. def setStepSize(step: Double): GradientDescent.this.type

    Set the initial step size of SGD for the first step.

    Set the initial step size of SGD for the first step. Default 1.0. In subsequent steps, the step size will decrease with stepSize/sqrt(t)

  9. def setUpdater(updater: Updater): GradientDescent.this.type

    Set the updater function to actually perform a gradient step in a given direction.

    Set the updater function to actually perform a gradient step in a given direction. The updater is responsible to perform the update from the regularization term as well, and therefore determines what kind or regularization is used, if any.