: Parsing option string: : ... "V:!Silent:Color:DrawProgressBar:AnalysisType=Classification" : The following options are set: : - By User: : V: "True" [Verbose flag] : Color: "True" [Flag for coloured screen output (default: True, if in batch mode: False)] : Silent: "False" [Batch mode: boolean silent flag inhibiting any output from TMVA after the creation of the factory class object (default: False)] : DrawProgressBar: "True" [Draw progress bar to display training, testing and evaluation schedule (default: True)] : AnalysisType: "Classification" [Set the analysis type (Classification, Regression, Multiclass, Auto) (default: Auto)] : - Default: : VerboseLevel: "Info" [VerboseLevel (Debug/Verbose/Info)] : Transformations: "I" [List of transformations to test; formatting example: "Transformations=I;D;P;U;G,D", for identity, decorrelation, PCA, Uniform and Gaussianisation followed by decorrelation transformations] : Correlations: "False" [boolean to show correlation in output] : ROC: "True" [boolean to show ROC in output] : ModelPersistence: "True" [Option to save the trained model in xml file or using serialization] DataSetInfo : [MatchNNDataSet] : Added class "Signal" : Add Tree Signal of type Signal with 6590 events DataSetInfo : [MatchNNDataSet] : Added class "Background" : Add Tree Bkg of type Background with 10981310 events : Dataset[MatchNNDataSet] : Class index : 0 name : Signal : Dataset[MatchNNDataSet] : Class index : 1 name : Background Factory : Booking method: matching_mlp : : Parsing option string: : ... "!H:V:TrainingMethod=BP:NeuronType=ReLU:EstimatorType=CE:VarTransform=Norm:NCycles=700:HiddenLayers=N+2,N:TestRate=50:Sampling=1.0:SamplingImportance=1.0:LearningRate=0.02:DecayRate=0.01:!UseRegulator" : The following options are set: : - By User: : : - Default: : Boost_num: "0" [Number of times the classifier will be boosted] : Parsing option string: : ... "!H:V:TrainingMethod=BP:NeuronType=ReLU:EstimatorType=CE:VarTransform=Norm:NCycles=700:HiddenLayers=N+2,N:TestRate=50:Sampling=1.0:SamplingImportance=1.0:LearningRate=0.02:DecayRate=0.01:!UseRegulator" : The following options are set: : - By User: : NCycles: "700" [Number of training cycles] : HiddenLayers: "N+2,N" [Specification of hidden layer architecture] : NeuronType: "ReLU" [Neuron activation function type] : EstimatorType: "CE" [MSE (Mean Square Estimator) for Gaussian Likelihood or CE(Cross-Entropy) for Bernoulli Likelihood] : V: "True" [Verbose output (short form of "VerbosityLevel" below - overrides the latter one)] : VarTransform: "Norm" [List of variable transformations performed before training, e.g., "D_Background,P_Signal,G,N_AllClasses" for: "Decorrelation, PCA-transformation, Gaussianisation, Normalisation, each for the given class of events ('AllClasses' denotes all events of all classes, if no class indication is given, 'All' is assumed)"] : H: "False" [Print method-specific help message] : TrainingMethod: "BP" [Train with Back-Propagation (BP), BFGS Algorithm (BFGS), or Genetic Algorithm (GA - slower and worse)] : LearningRate: "2.000000e-02" [ANN learning rate parameter] : DecayRate: "1.000000e-02" [Decay rate for learning parameter] : TestRate: "50" [Test for overtraining performed at each #th epochs] : Sampling: "1.000000e+00" [Only 'Sampling' (randomly selected) events are trained each epoch] : SamplingImportance: "1.000000e+00" [ The sampling weights of events in epochs which successful (worse estimator than before) are multiplied with SamplingImportance, else they are divided.] : UseRegulator: "False" [Use regulator to avoid over-training] : - Default: : RandomSeed: "1" [Random seed for initial synapse weights (0 means unique seed for each run; default value '1')] : NeuronInputType: "sum" [Neuron input function type] : VerbosityLevel: "Default" [Verbosity level] : CreateMVAPdfs: "False" [Create PDFs for classifier outputs (signal and background)] : IgnoreNegWeightsInTraining: "False" [Events with negative weights are ignored in the training (but are included for testing and performance evaluation)] : EpochMonitoring: "False" [Provide epoch-wise monitoring plots according to TestRate (caution: causes big ROOT output file!)] : SamplingEpoch: "1.000000e+00" [Sampling is used for the first 'SamplingEpoch' epochs, afterwards, all events are taken for training] : SamplingTraining: "True" [The training sample is sampled] : SamplingTesting: "False" [The testing sample is sampled] : ResetStep: "50" [How often BFGS should reset history] : Tau: "3.000000e+00" [LineSearch "size step"] : BPMode: "sequential" [Back-propagation learning mode: sequential or batch] : BatchSize: "-1" [Batch size: number of events/batch, only set if in Batch Mode, -1 for BatchSize=number_of_events] : ConvergenceImprove: "1.000000e-30" [Minimum improvement which counts as improvement (<0 means automatic convergence check is turned off)] : ConvergenceTests: "-1" [Number of steps (without improvement) required for convergence (<0 means automatic convergence check is turned off)] : UpdateLimit: "10000" [Maximum times of regulator update] : CalculateErrors: "False" [Calculates inverse Hessian matrix at the end of the training to be able to calculate the uncertainties of an MVA value] : WeightRange: "1.000000e+00" [Take the events for the estimator calculations from small deviations from the desired value to large deviations only over the weight range] matching_mlp : [MatchNNDataSet] : Create Transformation "Norm" with events from all classes. : : Transformation, Variable selection : : Input : variable 'chi2' <---> Output : variable 'chi2' : Input : variable 'teta2' <---> Output : variable 'teta2' : Input : variable 'distX' <---> Output : variable 'distX' : Input : variable 'distY' <---> Output : variable 'distY' : Input : variable 'dSlope' <---> Output : variable 'dSlope' : Input : variable 'dSlopeY' <---> Output : variable 'dSlopeY' matching_mlp : Building Network. : Initializing weights Factory : Train all methods : Rebuilding Dataset MatchNNDataSet : Parsing option string: : ... "SplitMode=random:V:nTrain_Signal=0:nTrain_Background=200000.0:nTest_Signal=5000.0:nTest_Background=50000.0" : The following options are set: : - By User: : SplitMode: "Random" [Method of picking training and testing events (default: random)] : nTrain_Signal: "0" [Number of training events of class Signal (default: 0 = all)] : nTest_Signal: "5000" [Number of test events of class Signal (default: 0 = all)] : nTrain_Background: "200000" [Number of training events of class Background (default: 0 = all)] : nTest_Background: "50000" [Number of test events of class Background (default: 0 = all)] : V: "True" [Verbosity (default: true)] : - Default: : MixMode: "SameAsSplitMode" [Method of mixing events of different classes into one dataset (default: SameAsSplitMode)] : SplitSeed: "100" [Seed for random event shuffling] : NormMode: "EqualNumEvents" [Overall renormalisation of event-by-event weights used in the training (NumEvents: average weight of 1 per event, independently for signal and background; EqualNumEvents: average weight of 1 per event for signal, and sum of weights for background equal to sum of weights for signal)] : ScaleWithPreselEff: "False" [Scale the number of requested events by the eff. of the preselection cuts (or not)] : TrainTestSplit_Signal: "0.000000e+00" [Number of test events of class Signal (default: 0 = all)] : TrainTestSplit_Background: "0.000000e+00" [Number of test events of class Background (default: 0 = all)] : VerboseLevel: "Info" [VerboseLevel (Debug/Verbose/Info)] : Correlations: "True" [Boolean to show correlation output (Default: true)] : CalcCorrelations: "True" [Compute correlations and also some variable statistics, e.g. min/max (Default: true )] : Building event vectors for type 2 Signal : Dataset[MatchNNDataSet] : create input formulas for tree Signal : Building event vectors for type 2 Background : Dataset[MatchNNDataSet] : create input formulas for tree Bkg DataSetFactory : [MatchNNDataSet] : Number of events in input trees : : : Dataset[MatchNNDataSet] : Weight renormalisation mode: "EqualNumEvents": renormalises all event classes ... : Dataset[MatchNNDataSet] : such that the effective (weighted) number of events in each class is the same : Dataset[MatchNNDataSet] : (and equals the number of events (entries) given for class=0 ) : Dataset[MatchNNDataSet] : ... i.e. such that Sum[i=1..N_j]{w_i} = N_classA, j=classA, classB, ... : Dataset[MatchNNDataSet] : ... (note that N_j is the sum of TRAINING events : Dataset[MatchNNDataSet] : ..... Testing events are not renormalised nor included in the renormalisation factor!) : Number of training and testing events : --------------------------------------------------------------------------- : Signal -- training events : 1590 : Signal -- testing events : 5000 : Signal -- training and testing events: 6590 : Background -- training events : 200000 : Background -- testing events : 50000 : Background -- training and testing events: 250000 : DataSetInfo : Correlation matrix (Signal): : -------------------------------------------------------- : chi2 teta2 distX distY dSlope dSlopeY : chi2: +1.000 -0.090 +0.192 +0.272 +0.184 +0.049 : teta2: -0.090 +1.000 +0.041 +0.483 +0.208 +0.628 : distX: +0.192 +0.041 +1.000 -0.179 +0.680 +0.101 : distY: +0.272 +0.483 -0.179 +1.000 +0.363 +0.496 : dSlope: +0.184 +0.208 +0.680 +0.363 +1.000 +0.350 : dSlopeY: +0.049 +0.628 +0.101 +0.496 +0.350 +1.000 : -------------------------------------------------------- DataSetInfo : Correlation matrix (Background): : -------------------------------------------------------- : chi2 teta2 distX distY dSlope dSlopeY : chi2: +1.000 -0.018 +0.249 +0.222 +0.061 +0.061 : teta2: -0.018 +1.000 +0.219 +0.658 +0.336 +0.485 : distX: +0.249 +0.219 +1.000 -0.003 +0.782 +0.189 : distY: +0.222 +0.658 -0.003 +1.000 +0.284 +0.551 : dSlope: +0.061 +0.336 +0.782 +0.284 +1.000 +0.379 : dSlopeY: +0.061 +0.485 +0.189 +0.551 +0.379 +1.000 : -------------------------------------------------------- DataSetFactory : [MatchNNDataSet] : : Factory : [MatchNNDataSet] : Create Transformation "I" with events from all classes. : : Transformation, Variable selection : : Input : variable 'chi2' <---> Output : variable 'chi2' : Input : variable 'teta2' <---> Output : variable 'teta2' : Input : variable 'distX' <---> Output : variable 'distX' : Input : variable 'distY' <---> Output : variable 'distY' : Input : variable 'dSlope' <---> Output : variable 'dSlope' : Input : variable 'dSlopeY' <---> Output : variable 'dSlopeY' TFHandler_Factory : Variable Mean RMS [ Min Max ] : ----------------------------------------------------------- : chi2: 14.983 7.6381 [ 0.13393 30.000 ] : teta2: 0.0045002 0.013698 [ 1.0756e-06 0.36197 ] : distX: 74.269 61.998 [ 0.00010681 495.87 ] : distY: 33.972 40.646 [ 0.00016022 498.46 ] : dSlope: 0.35639 0.24245 [ 9.2713e-06 1.3376 ] : dSlopeY: 0.0069454 0.011901 [ 8.8476e-08 0.14989 ] : ----------------------------------------------------------- : Ranking input variables (method unspecific)... IdTransformation : Ranking result (top variable is best ranked) : -------------------------------- : Rank : Variable : Separation : -------------------------------- : 1 : chi2 : 9.899e-02 : 2 : distY : 8.544e-02 : 3 : teta2 : 4.508e-02 : 4 : dSlope : 3.745e-02 : 5 : dSlopeY : 2.733e-02 : 6 : distX : 1.657e-02 : -------------------------------- Factory : Train method: matching_mlp for Classification : TFHandler_matching_mlp : Variable Mean RMS [ Min Max ] : ----------------------------------------------------------- : chi2: -0.0056167 0.51149 [ -1.0000 1.0000 ] : teta2: -0.97514 0.075684 [ -1.0000 1.0000 ] : distX: -0.70045 0.25006 [ -1.0000 1.0000 ] : distY: -0.86369 0.16308 [ -1.0000 1.0000 ] : dSlope: -0.46715 0.36251 [ -1.0000 1.0000 ] : dSlopeY: -0.90733 0.15880 [ -1.0000 1.0000 ] : ----------------------------------------------------------- : Training Network : : Elapsed time for training with 201590 events: 424 sec matching_mlp : [MatchNNDataSet] : Evaluation of matching_mlp on training sample (201590 events) : Elapsed time for evaluation of 201590 events: 0.244 sec : Creating xml weight file: MatchNNDataSet/weights/TMVAClassification_matching_mlp.weights.xml : Creating standalone class: MatchNNDataSet/weights/TMVAClassification_matching_mlp.class.C : Write special histos to file: matching_ghost_mlp_training.root:/MatchNNDataSet/Method_MLP/matching_mlp Factory : Training finished : : Ranking input variables (method specific)... matching_mlp : Ranking result (top variable is best ranked) : -------------------------------- : Rank : Variable : Importance : -------------------------------- : 1 : distY : 7.131e+01 : 2 : teta2 : 3.522e+01 : 3 : distX : 2.316e+01 : 4 : dSlopeY : 1.020e+01 : 5 : dSlope : 6.822e+00 : 6 : chi2 : 2.546e+00 : -------------------------------- Factory : === Destroy and recreate all methods via weight files for testing === : : Reading weight file: MatchNNDataSet/weights/TMVAClassification_matching_mlp.weights.xml matching_mlp : Building Network. : Initializing weights Factory : Test all methods Factory : Test method: matching_mlp for Classification performance : matching_mlp : [MatchNNDataSet] : Evaluation of matching_mlp on testing sample (55000 events) : Elapsed time for evaluation of 55000 events: 0.0744 sec Factory : Evaluate all methods Factory : Evaluate classifier: matching_mlp : TFHandler_matching_mlp : Variable Mean RMS [ Min Max ] : ----------------------------------------------------------- : chi2: 0.12456 0.50663 [ -0.99498 1.0000 ] : teta2: -0.96870 0.085208 [ -1.0000 0.96194 ] : distX: -0.68732 0.27168 [ -0.99998 0.99743 ] : distY: -0.83061 0.19253 [ -1.0000 1.0027 ] : dSlope: -0.50226 0.36648 [ -0.99996 0.94917 ] : dSlopeY: -0.90192 0.14156 [ -1.0000 0.98588 ] : ----------------------------------------------------------- matching_mlp : [MatchNNDataSet] : Loop over test events and fill histograms with classifier response... : TFHandler_matching_mlp : Variable Mean RMS [ Min Max ] : ----------------------------------------------------------- : chi2: 0.12456 0.50663 [ -0.99498 1.0000 ] : teta2: -0.96870 0.085208 [ -1.0000 0.96194 ] : distX: -0.68732 0.27168 [ -0.99998 0.99743 ] : distY: -0.83061 0.19253 [ -1.0000 1.0027 ] : dSlope: -0.50226 0.36648 [ -0.99996 0.94917 ] : dSlopeY: -0.90192 0.14156 [ -1.0000 0.98588 ] : ----------------------------------------------------------- : : Evaluation results ranked by best signal efficiency and purity (area) : ------------------------------------------------------------------------------------------------------------------- : DataSet MVA : Name: Method: ROC-integ : MatchNNDataSet matching_mlp : 0.838 : ------------------------------------------------------------------------------------------------------------------- : : Testing efficiency compared to training efficiency (overtraining check) : ------------------------------------------------------------------------------------------------------------------- : DataSet MVA Signal efficiency: from test sample (from training sample) : Name: Method: @B=0.01 @B=0.10 @B=0.30 : ------------------------------------------------------------------------------------------------------------------- : MatchNNDataSet matching_mlp : 0.067 (0.067) 0.460 (0.458) 0.828 (0.824) : ------------------------------------------------------------------------------------------------------------------- : Dataset:MatchNNDataSet : Created tree 'TestTree' with 55000 events : Dataset:MatchNNDataSet : Created tree 'TrainTree' with 201590 events : Factory : Thank you for using TMVA! : For citation information, please visit: http://tmva.sf.net/citeTMVA.html Transforming nn_electron_training/result/MatchNNDataSet/weights/TMVAClassification_matching_mlp.class.C ... Found minimum and maximum values for 6 variables. Found 3 matrices: 1. fWeightMatrix0to1 with 7 columns and 8 rows 2. fWeightMatrix1to2 with 9 columns and 6 rows 3. fWeightMatrix2to3 with 7 columns and 1 rows