39 ClassImp(TMVA::TActivationSigmoid);
44 Double_t TMVA::TActivationSigmoid::Eval(Double_t arg)
46 return 1.0 / (1.0 + TMath::Exp(-arg));
52 Double_t TMVA::TActivationSigmoid::EvalDerivative(Double_t arg)
54 Double_t tmp = (1.0 + TMath::Exp(-arg));
55 return TMath::Exp(-arg) / (tmp * tmp);
61 TString TMVA::TActivationSigmoid::GetExpression()
63 TString expr =
"1.0/(1.0+TMath::Exp(-x))\t\tTMath::Exp(-x)/(1.0+TMath::Exp(-x))^2";
70 void TMVA::TActivationSigmoid::MakeFunction( std::ostream& fout,
const TString& fncName )
72 fout <<
"double " << fncName <<
"(double x) const {" << std::endl;
73 fout <<
" // sigmoid" << std::endl;
74 fout <<
" return 1.0/(1.0+exp(-x));" << std::endl;
75 fout <<
"}" << std::endl;