Class RBMCostFunction

  • All Implemented Interfaces:
    CostFunction

    public final class RBMCostFunction
    extends AbstractMiniBatchCostFunction
    Restricted Boltzmann machine implementation using Contrastive Divergence 1 (CD1). This algorithm is based on what has been teached by Prof. Hinton in the Coursera course "Neural Networks for Machine Learning" '12. This is an unsupervised learning algorithm to train high level feature detectors. NOTE: Sutskever and Tieleman have shown that it is not following the gradient of any function (Sutskever and Tieleman, 2010). So this isn't minimizable using line searching optimizers like Fmincg, GradientDescent is doing a great job though as it doesn't care if you're moving into the right direction down hill.
    Author:
    thomas.jungblut
    • Constructor Summary

      Constructors 
      Constructor Description
      RBMCostFunction​(de.jungblut.math.DoubleVector[] currentTrainingSet, int batchSize, int numThreads, int numHiddenUnits, ActivationFunction activationFunction, TrainingType type, double lambda, long seed, boolean stochastic)  
    • Constructor Detail

      • RBMCostFunction

        public RBMCostFunction​(de.jungblut.math.DoubleVector[] currentTrainingSet,
                               int batchSize,
                               int numThreads,
                               int numHiddenUnits,
                               ActivationFunction activationFunction,
                               TrainingType type,
                               double lambda,
                               long seed,
                               boolean stochastic)