|  | 
| template<typename ItValue , typename Fnc > | 
| void | TMVA::DNN::applyFunctions (ItValue itValue, ItValue itValueEnd, Fnc fnc) | 
|  | apply the activation functions  More... 
 | 
|  | 
| template<typename ItValue , typename Fnc , typename InvFnc , typename ItGradient > | 
| void | TMVA::DNN::applyFunctions (ItValue itValue, ItValue itValueEnd, Fnc fnc, InvFnc invFnc, ItGradient itGradient) | 
|  | apply the activation functions and compute the gradient  More... 
 | 
|  | 
| template<bool HasDropOut, typename ItSource , typename ItWeight , typename ItTarget , typename ItDrop > | 
| void | TMVA::DNN::applyWeights (ItSource itSourceBegin, ItSource itSourceEnd, ItWeight itWeight, ItTarget itTargetBegin, ItTarget itTargetEnd, ItDrop itDrop) | 
|  | apply weights using drop-out; for no drop out, provide (&bool = true) to itDrop such that *itDrop becomes "true"  More... 
 | 
|  | 
| template<bool HasDropOut, typename ItSource , typename ItWeight , typename ItPrev , typename ItDrop > | 
| void | TMVA::DNN::applyWeightsBackwards (ItSource itCurrBegin, ItSource itCurrEnd, ItWeight itWeight, ItPrev itPrevBegin, ItPrev itPrevEnd, ItDrop itDrop) | 
|  | apply weights backwards (for backprop); for no drop out, provide (&bool = true) to itDrop such that *itDrop becomes "true"  More... 
 | 
|  | 
| template<typename LAYERDATA > | 
| void | TMVA::DNN::backward (LAYERDATA &prevLayerData, LAYERDATA &currLayerData) | 
|  | backward application of the weights (back-propagation of the error)  More... 
 | 
|  | 
| template<EnumRegularization Regularization> | 
| double | TMVA::DNN::computeRegularization (double weight, const double &factorWeightDecay) | 
|  | compute the regularization (L1, L2)  More... 
 | 
|  | 
| template<> | 
| double | TMVA::DNN::computeRegularization< EnumRegularization::L1 > (double weight, const double &factorWeightDecay) | 
|  | 
| template<> | 
| double | TMVA::DNN::computeRegularization< EnumRegularization::L2 > (double weight, const double &factorWeightDecay) | 
|  | 
| template<typename ItProbability , typename ItTruth , typename ItDelta , typename ItInvActFnc > | 
| double | TMVA::DNN::crossEntropy (ItProbability itProbabilityBegin, ItProbability itProbabilityEnd, ItTruth itTruthBegin, ItTruth, ItDelta itDelta, ItDelta itDeltaEnd, ItInvActFnc, double patternWeight) | 
|  | cross entropy error function  More... 
 | 
|  | 
| template<typename LAYERDATA > | 
| void | TMVA::DNN::forward (const LAYERDATA &prevLayerData, LAYERDATA &currLayerData) | 
|  | apply the weights (and functions) in forward direction of the DNN  More... 
 | 
|  | 
| template<typename ItOutput , typename ItTruth , typename ItDelta , typename ItInvActFnc > | 
| double | TMVA::DNN::softMaxCrossEntropy (ItOutput itProbabilityBegin, ItOutput itProbabilityEnd, ItTruth itTruthBegin, ItTruth, ItDelta itDelta, ItDelta itDeltaEnd, ItInvActFnc, double patternWeight) | 
|  | soft-max-cross-entropy error function (for mutual exclusive cross-entropy)  More... 
 | 
|  | 
| template<typename ItOutput , typename ItTruth , typename ItDelta , typename InvFnc > | 
| double | TMVA::DNN::sumOfSquares (ItOutput itOutputBegin, ItOutput itOutputEnd, ItTruth itTruthBegin, ItTruth, ItDelta itDelta, ItDelta itDeltaEnd, InvFnc invFnc, double patternWeight) | 
|  | sum of squares error function  More... 
 | 
|  | 
| template<typename Container , typename T > | 
| void | TMVA::DNN::uniformDouble (Container &container, T maxValue) | 
|  | 
| template<typename T > | 
| T | TMVA::DNN::uniformFromTo (T from, T to) | 
|  | 
| template<typename ItSource , typename ItDelta , typename ItTargetGradient , typename ItGradient > | 
| void | TMVA::DNN::update (ItSource itSource, ItSource itSourceEnd, ItDelta itTargetDeltaBegin, ItDelta itTargetDeltaEnd, ItTargetGradient itTargetGradientBegin, ItGradient itGradient) | 
|  | update the gradients  More... 
 | 
|  | 
| template<EnumRegularization Regularization, typename ItSource , typename ItDelta , typename ItTargetGradient , typename ItGradient , typename ItWeight > | 
| void | TMVA::DNN::update (ItSource itSource, ItSource itSourceEnd, ItDelta itTargetDeltaBegin, ItDelta itTargetDeltaEnd, ItTargetGradient itTargetGradientBegin, ItGradient itGradient, ItWeight itWeight, double weightDecay) | 
|  | update the gradients, using regularization  More... 
 | 
|  | 
| template<typename LAYERDATA > | 
| void | TMVA::DNN::update (const LAYERDATA &prevLayerData, LAYERDATA &currLayerData, double factorWeightDecay, EnumRegularization regularization) | 
|  | update the node values  More... 
 | 
|  | 
| template<typename ItWeight > | 
| double | TMVA::DNN::weightDecay (double error, ItWeight itWeight, ItWeight itWeightEnd, double factorWeightDecay, EnumRegularization eRegularization) | 
|  | compute the weight decay for regularization (L1 or L2)  More... 
 | 
|  | 
|  | 
| static std::shared_ptr< std::function< double(double)> > | TMVA::DNN::Gauss = std::make_shared<std::function<double(double)>> ([](double value){ const double s = 6.0; return exp (-std::pow(value*s,2.0)); }) | 
|  | 
| static std::shared_ptr< std::function< double(double)> > | TMVA::DNN::GaussComplement = std::make_shared<std::function<double(double)>> ([](double value){ const double s = 6.0; return 1.0 - exp (-std::pow(value*s,2.0)); }) | 
|  | 
| static std::shared_ptr< std::function< double(double)> > | TMVA::DNN::InvGauss = std::make_shared<std::function<double(double)>> ([](double value){ const double s = 6.0; return -2.0 * value * s*s * (*Gauss.get ()) (value); }) | 
|  | 
| static std::shared_ptr< std::function< double(double)> > | TMVA::DNN::InvGaussComplement = std::make_shared<std::function<double(double)>> ([](double value){ const double s = 6.0; return +2.0 * value * s*s * (*GaussComplement.get ()) (value); }) | 
|  | 
| static std::shared_ptr< std::function< double(double)> > | TMVA::DNN::InvLinear = std::make_shared<std::function<double(double)>> ([](double ){ return 1.0; }) | 
|  | 
| static std::shared_ptr< std::function< double(double)> > | TMVA::DNN::InvReLU = std::make_shared<std::function<double(double)>> ([](double value){ const double margin = 0.0; return value > margin ? 1.0 : 0; }) | 
|  | 
| static std::shared_ptr< std::function< double(double)> > | TMVA::DNN::InvSigmoid = std::make_shared<std::function<double(double)>> ([](double value){ double s = (*Sigmoid.get ()) (value); return s*(1.0-s); }) | 
|  | 
| static std::shared_ptr< std::function< double(double)> > | TMVA::DNN::InvSoftPlus = std::make_shared<std::function<double(double)>> ([](double value){ return 1.0 / (1.0 + std::exp (-value)); }) | 
|  | 
| static std::shared_ptr< std::function< double(double)> > | TMVA::DNN::InvSoftSign = std::make_shared<std::function<double(double)>> ([](double value){ return std::pow ((1.0 - fabs (value)),2.0); }) | 
|  | 
| static std::shared_ptr< std::function< double(double)> > | TMVA::DNN::InvSymmReLU = std::make_shared<std::function<double(double)>> ([](double value){ const double margin = 0.3; return value > margin ? 1.0 : value < -margin ? 1.0 : 0; }) | 
|  | 
| static std::shared_ptr< std::function< double(double)> > | TMVA::DNN::InvTanh = std::make_shared<std::function<double(double)>> ([](double value){ return 1.0 - std::pow (value, 2.0); }) | 
|  | 
| static std::shared_ptr< std::function< double(double)> > | TMVA::DNN::InvTanhShift = std::make_shared<std::function<double(double)>> ([](double value){ return 0.3 + (1.0 - std::pow (value, 2.0)); }) | 
|  | 
| static std::shared_ptr< std::function< double(double)> > | TMVA::DNN::Linear = std::make_shared<std::function<double(double)>> ([](double value){ return value; }) | 
|  | 
| static std::shared_ptr< std::function< double(double)> > | TMVA::DNN::ReLU = std::make_shared<std::function<double(double)>> ([](double value){ const double margin = 0.0; return value > margin ? value-margin : 0; }) | 
|  | 
| static std::shared_ptr< std::function< double(double)> > | TMVA::DNN::Sigmoid = std::make_shared<std::function<double(double)>> ([](double value){ value = std::max (-100.0, std::min (100.0,value)); return 1.0/(1.0 + std::exp (-value)); }) | 
|  | 
| static std::shared_ptr< std::function< double(double)> > | TMVA::DNN::SoftPlus = std::make_shared<std::function<double(double)>> ([](double value){ return std::log (1.0+ std::exp (value)); }) | 
|  | 
| static std::shared_ptr< std::function< double(double)> > | TMVA::DNN::SoftSign = std::make_shared<std::function<double(double)>> ([](double value){ return value / (1.0 + fabs (value)); }) | 
|  | 
| static std::shared_ptr< std::function< double(double)> > | TMVA::DNN::SymmReLU = std::make_shared<std::function<double(double)>> ([](double value){ const double margin = 0.3; return value > margin ? value-margin : value < -margin ? value+margin : 0; }) | 
|  | 
| static std::shared_ptr< std::function< double(double)> > | TMVA::DNN::Tanh = std::make_shared<std::function<double(double)>> ([](double value){ return tanh (value); }) | 
|  | 
| static std::shared_ptr< std::function< double(double)> > | TMVA::DNN::TanhShift = std::make_shared<std::function<double(double)>> ([](double value){ return tanh (value-0.3); }) | 
|  | 
| static std::shared_ptr< std::function< double(double)> > | TMVA::DNN::ZeroFnc = std::make_shared<std::function<double(double)>> ([](double ){ return 0; }) | 
|  |