Presentation is loading. Please wait.

Presentation is loading. Please wait.

Multivariate Data Analysis with TMVA Andreas Hoecker ( * ) (CERN) Seminar at Edinburgh, Scotland, Dec 5, 2008 ( * ) On behalf of the present core developer.

Similar presentations


Presentation on theme: "Multivariate Data Analysis with TMVA Andreas Hoecker ( * ) (CERN) Seminar at Edinburgh, Scotland, Dec 5, 2008 ( * ) On behalf of the present core developer."— Presentation transcript:

1 Multivariate Data Analysis with TMVA Andreas Hoecker ( * ) (CERN) Seminar at Edinburgh, Scotland, Dec 5, 2008 ( * ) On behalf of the present core developer team: A. Hoecker, P. Speckmayer, J. Stelzer, H. Voss And the contributors: Tancredi Carli (CERN, Switzerland), Asen Christov (Universität Freiburg, Germany), Krzysztof Danielowski (IFJ and AGH/UJ, Krakow, Poland), Dominik Dannheim (CERN, Switzerland), Sophie Henrot-Versille (LAL Orsay, France), Matthew Jachowski (Stanford University, USA), Kamil Kraszewski (IFJ and AGH/UJ, Krakow, Poland), Attila Krasznahorkay Jr. (CERN, Switzerland, and Manchester U., UK), Maciej Kruk (IFJ and AGH/UJ, Krakow, Poland), Yair Mahalalel (Tel Aviv University, Israel), Rustem Ospanov (University of Texas, USA), Xavier Prudent (LAPP Annecy, France), Arnaud Robert (LPNHE Paris, France), Doug Schouten (S. Fraser University, Canada), Fredrik Tegenfeldt (Iowa University, USA, until Aug 2007), Jan Therhaag (Universität Bonn, Germany), Alexander Voigt (CERN, Switzerland), Kai Voss (University of Victoria, Canada), Marcin Wolter (IFJ PAN Krakow, Poland), Andrzej Zemla (IFJ PAN Krakow, Poland). See acknowledgments on page 43 On the web: http://tmva.sf.net/ (home), https://twiki.cern.ch/twiki/bin/view/TMVA/WebHome (tutorial)http://tmva.sf.net/https://twiki.cern.ch/twiki/bin/view/TMVA/WebHome

2 22 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 2 A. Hoecker ― Multivariate Data Analysis with TMVAEdinburgh, Dec 5, 2008 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA A linear boundary?A nonlinear one? Event Classification We have found discriminating input variables x 1, x 2, … What decision boundary should we use to select events of type H 1 ? Rectangular cuts? How can we decide this in an optimal way ?  Let the machine learn it ! Suppose data sample with two types of events: H 0, H 1 Low variance (stable), high bias methodsHigh variance, small bias methods

3 33 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 3 A. Hoecker ― Multivariate Data Analysis with TMVAEdinburgh, Dec 5, 2008 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA Multivariate Event Classification All multivariate classifiers have in common to condense (correlated) multi-variable input information in a single scalar output variable … y(H 0 )  0, y(H 1 )  1 It is a R n  R regression problem; classification is in fact a discretised regression This can be generalised to multiple classes and to regression

4 44 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 4 A. Hoecker ― Multivariate Data Analysis with TMVAEdinburgh, Dec 5, 2008 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA T M V A Outline of this presentation: The TMVA project Overview of available classifiers and processing steps Evaluation tools (Toy) examples

5 55 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 5 A. Hoecker ― Multivariate Data Analysis with TMVAEdinburgh, Dec 5, 2008 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA What is TMVA ROOT: is the analysis framework used by most (HEP)-physicists Idea: rather than just implementing new MVA techniques and making them available in ROOT (i.e., like TMulitLayerPercetron does): Have one common platform / interface for high-end multivariate classifiers Have common data pre-processing capabilities Train and test all classifiers on same data sample and evaluate consistently Provide common analysis (ROOT scripts) and application framework Provide access with and without ROOT, through macros, C++ executables or python

6 66 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 6 A. Hoecker ― Multivariate Data Analysis with TMVAEdinburgh, Dec 5, 2008 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA TMVA Development and Distribution TMVA is a sourceforge (SF) package for world-wide access Home page ……………….http://tmva.sf.net/http://tmva.sf.net SF project page ………….http://sf.net/projects/tmvahttp://sf.net/projects/tmva View CVS …………………http://tmva.cvs.sf.net/tmva/TMVA/http://tmva.cvs.sf.net/tmva/TMVA Mailing list.………………..http://sf.net/mail/?group_id=152074http://sf.net/mail/?group_id=152074 Tutorial TWiki …………….https://twiki.cern.ch/twiki/bin/view/TMVA/WebHomehttps://twiki.cern.ch/twiki/bin/view/TMVA/WebHome Active project  fast response time on feature requests Currently 4 core developers, and 25 contributors >3500 downloads since March 2006 (not accounting CVS checkouts and ROOT users) Written in C++, relying on core ROOT functionality Integrated and distributed with ROOT since ROOT v5.11/03

7 77 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 7 A. Hoecker ― Multivariate Data Analysis with TMVAEdinburgh, Dec 5, 2008 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA Limitations of TMVA Development started beginning of 2006 – a mature but not a final package Known limitations / missing features Performs classification only, and only in binary mode: signal versus background Supervised learning only (no unsupervised “bump hunting”) Relatively stiff design – not easy to mix methods, not easy to setup categories Cross-validation not yet generalised for use by all classifiers Optimisation of classifier architectures still requires tuning “by hand” Work ongoing in most of these areas  see outlook to TMVA 4

8 88 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 8 Edinburgh, Dec 5, 2008A. Hoecker ― Multivariate Data Analysis with TMVA Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA T M V A C o n t e n t Currently implemented classifiers – Rectangular cut optimisation – Projective and multidimensional likelihood estimator – k-Nearest Neighbor algorithm – Fisher and H-Matrix discriminants – Function discriminant – Artificial neural networks (3 multilayer perceptron implementations) – Boosted/bagged decision trees – RuleFit – Support Vector Machine Currently implemented data preprocessing stages: – Decorrelation – Principal Value Decomposition – Transformation to uniform and Gaussian distributions

9 99 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 9 A. Hoecker ― Multivariate Data Analysis with TMVAEdinburgh, Dec 5, 2008 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA D a t a P r e p r o c e s s i n g

10 10 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 10 A. Hoecker ― Multivariate Data Analysis with TMVAEdinburgh, Dec 5, 2008 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA Data Preprocessing: Decorrelation Commonly realised for all methods in TMVA Removal of linear correlations by rotating input variables Cholesky decomposition: determine square-root C of covariance matrix C, i.e., C = CC Transform original (x) into decorrelated variable space (x) by: x = C  1 x Principal component analysis Variable hierarchy: linear transformation projecting on axis to achieve largest variance PC of variable kSample meansEigenvector Matrix of eigenvectors V obeys relation: thus PCA eliminates correlations

11 11 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 11 A. Hoecker ― Multivariate Data Analysis with TMVAEdinburgh, Dec 5, 2008 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA original SQRT derorr. PCA derorr. Note that decorrelation is only complete, if Correlations are linear Input variables are Gaussian distributed Not very accurate conjecture in general Data Preprocessing: Decorrelation

12 12 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 12 A. Hoecker ― Multivariate Data Analysis with TMVAEdinburgh, Dec 5, 2008 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA “Gaussian-isation” Improve decorrelation by pre-”Gaussianisation” of variables First: “Rarity” transformation to achieve uniform distribution: Rarity transform of variable kMeasured valuePDF of variable k Second: make Gaussian via inverse error function: The integral can be solved in an unbinned way by event counting, or by creating non-parametric PDFs (see later for likelihood section)

13 13 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 13 A. Hoecker ― Multivariate Data Analysis with TMVAEdinburgh, Dec 5, 2008 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA Original “Gaussian-isation” Signal - Gaussianised We cannot simultaneously “gaussianise” both signal and background ! Background - Gaussianised

14 14 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 14 A. Hoecker ― Multivariate Data Analysis with TMVAEdinburgh, Dec 5, 2008 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA How to apply the Preprocessing Transformation ? Any type of preprocessing will be different for signal and background But: for a given test event, we do not know the species ! Not so good solution: choose one or the other, or a S/B mixture. As a result, none of the transformations will be perfect Good solution: for some methods it is possible to test both S and B hypotheses with their transformations, and to compare them. Example, projective likelihood ratio:

15 15 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 15 A. Hoecker ― Multivariate Data Analysis with TMVAEdinburgh, Dec 5, 2008 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA T h e C l a s s i f i e r s

16 16 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 16 A. Hoecker ― Multivariate Data Analysis with TMVAEdinburgh, Dec 5, 2008 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA Rectangular Cut Optimisation Simplest method: cut in rectangular variable volume Technical challenge: how to find optimal cuts ? MINUIT fails due to non-unique solution space TMVA uses: Monte Carlo sampling, Genetic Algorithm, Simulated Annealing Huge speed improvement of volume search by sorting events in binary tree Cuts usually benefit from prior decorrelation of cut variables

17 17 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 17 A. Hoecker ― Multivariate Data Analysis with TMVAEdinburgh, Dec 5, 2008 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA d i g r e s s i o n Minimisation techniques in TMVA Binary tree sorting (

18 18 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 18 A. Hoecker ― Multivariate Data Analysis with TMVAEdinburgh, Dec 5, 2008 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA Minimisation Robust global minimum finder needed at various places in TMVA Default solution in HEP: (T)Minuit/Migrad [ How much longer do we need to suffer …. ? ] Gradient-driven search, using variable metric, can use quadratic Newton-type solution Poor global minimum finder, gets quickly stuck in presence of local minima Specific global optimisers implemented in TMVA: Genetic Algorithm: biology-inspired optimisation algorithm Simulated Annealing: slow “cooling” of system to avoid “freezing” in local solution Brute force method: Monte Carlo Sampling Sample entire solution space, and chose solution providing minimum estimator Good global minimum finder, but poor accuracy TMVA allows to chain minimisers For example, one can use MC sampling to detect the vicinity of a global minimum, and then use Minuit to accurately converge to it.

19 19 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 19 A. Hoecker ― Multivariate Data Analysis with TMVAEdinburgh, Dec 5, 2008 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA Quadratic Newton Minimisation Techniques Grid search Simulated Annealing Source: http://www-esd.lbl.gov/iTOUGH2/Minimization/minalg.html

20 20 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 20 A. Hoecker ― Multivariate Data Analysis with TMVAEdinburgh, Dec 5, 2008 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA Binary Trees Tree data structure in which each node has at most two children Typically the child nodes are called left and right Binary trees are used in TMVA to implement binary search trees and decision trees Root node Leaf node > < Depth of a tree Amount of computing time to search for events: Box search:  (N events ) Nvar BT search:  N events ·N var ln 2 (N events )

21 21 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 21 A. Hoecker ― Multivariate Data Analysis with TMVAEdinburgh, Dec 5, 2008 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA )

22 22 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 22 A. Hoecker ― Multivariate Data Analysis with TMVAEdinburgh, Dec 5, 2008 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA Projective Likelihood Estimator (PDE Approach) Much liked in HEP: probability density estimators for each input variable combined in likelihood estimator discriminating variables Species: signal, background types Likelihood ratio for event i event PDFs Ignores correlations between input variables Optimal approach if correlations are zero (or linear  decorrelation) Otherwise: significant performance loss PDE introduces fuzzy logic

23 23 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 23 A. Hoecker ― Multivariate Data Analysis with TMVAEdinburgh, Dec 5, 2008 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA PDE Approach: Estimating PDF Kernels Technical challenge: how to estimate the PDF shapes Automatic, unbiased, but suboptimal Easy to automate, can create artefacts/suppress information Difficult to automate for arbitrary PDFs 3 ways: parametric fitting (function) nonparametric fitting event counting We have chosen to implement nonparametric fitting in TMVA Binned shape interpolation using spline functions and adaptive smoothing Unbinned adaptive kernel density estimation (KDE) with Gaussian smearing TMVA performs automatic validation of goodness-of-fit original distribution is Gaussian

24 24 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 24 A. Hoecker ― Multivariate Data Analysis with TMVAEdinburgh, Dec 5, 2008 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA Multidimensional PDE Approach Use a single PDF per event class (sig, bkg), which spans N var dimensions PDE Range-Search: count number of signal and background events in “vicinity” of test event  preset or adaptive volume defines “vicinity” Carli-Koblitz, NIM A501, 576 (2003) H1H1 H0H0 x1x1 x2x2 test event Improve y PDERS estimate within V by using various N var -D kernel estimators Enhance speed of event counting in volume by binary tree search k-Nearest Neighbor Better than searching within a volume (fixed or floating), count adjacent reference events till statistically significant number reached Method intrinsically adaptive Very fast search with kd-tree event sorting

25 25 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 25 A. Hoecker ― Multivariate Data Analysis with TMVAEdinburgh, Dec 5, 2008 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA Fisher’s Linear Discriminant Analysis (LDA) Well known, simple and elegant classifier LDA determines axis in the input variable hyperspace such that a projection of events onto this axis pushes signal and background as far away from each other as possible, while confining events of same class in close vicinity to each other Classifier response couldn’t be simpler: “Fisher coefficients” Compute Fisher coefficients from signal and background covariance matrices Fisher requires distinct sample means between signal and background Optimal classifier (Bayes limit) for linearly correlated Gaussian-distributed variables “Bias” Function discriminant analysis (FDA) Fit any user-defined function of input variables requiring that signal events return  1 and background  0 Parameter fitting: Genetics Alg., MINUIT, MC and combinations Easy reproduction of Fisher result, but can add nonlinearities Very transparent discriminator

26 26 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 26 A. Hoecker ― Multivariate Data Analysis with TMVAEdinburgh, Dec 5, 2008 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA Nonlinear Analysis: Artificial Neural Networks Achieve nonlinear classifier response by “activating” output nodes using nonlinear weights 1 i...... N 1 input layerk hidden layers1 ouput layer 1 j M1M1............ 1...... MkMk 2 output classes (signal and background) N var discriminating input variables............ (“Activation” function) with: Feed-forward Multilayer Perceptron Weight adjustment using analytical back-propagation TMlpANN: Interface to ROOT’s MLP implementation MLP:TMVA’s own MLP implementation for increased speed and flexibility CFMlpANN:ALEPH’s Higgs search ANN, translated from FORTRAN Three different implementations in TMVA (all are Multilayer Perceptrons)

27 27 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 27 A. Hoecker ― Multivariate Data Analysis with TMVAEdinburgh, Dec 5, 2008 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA Decision Trees Sequential application of cuts splits the data into nodes, where the final nodes (leafs) classify an event as signal or background Growing a decision tree: Start with Root node Split training sample according to cut on best variable at this node Splitting criterion: e.g., maximum “Gini-index”: purity  (1– purity) Continue splitting until min. number of events or max. purity reached Bottom-up “pruning” of a decision tree Remove statistically insignificant nodes to reduce tree overtraining Classify leaf node according to majority of events, or give weight; unknown test events are classified accordingly Decision tree before pruning Decision tree after pruning Why not multiple branches (splits) per node ? Fragments data too quickly; also: multiple splits per node = series of binary node splits

28 28 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 28 A. Hoecker ― Multivariate Data Analysis with TMVAEdinburgh, Dec 5, 2008 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA Boosted Decision Trees (BDT) Data mining with decision trees is popular in science (so far mostly outside of HEP) Advantages: Independent of monotonous variable transformations, immune against outliers Weak variables are ignored (and don’t (much) deteriorate performance) Shortcomings: Instability: small changes in training sample can dramatically alter the tree structure Sensitivity to overtraining (  requires pruning) Boosted decision trees: combine forest of decision trees, with differently weighted events in each tree (trees can also be weighted), by majority vote e.g., “AdaBoost”: incorrectly classified events receive larger weight in next decision tree “Bagging” (instead of boosting): random event weights, resampling with replacement Boosting or bagging are means to create set of “basis functions”: the final classifier is linear combination (expansion) of these functions  improves stability !

29 29 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 29 A. Hoecker ― Multivariate Data Analysis with TMVAEdinburgh, Dec 5, 2008 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA One of the elementary cellular automaton rules (Wolfram 1983, 2002). It specifies the next color in a cell, depending on its color and its immediate neighbors. Its rule outcomes are encoded in the binary representation 30=00011110 2. Predictive Learning via Rule Ensembles (RuleFit) Following RuleFit approach by Friedman-PopescuFriedman-Popescu Friedman-Popescu, Tech Rep, Stat. Dpt, Stanford U., 2003 Model is linear combination of rules, where a rule is a sequence of cuts rules (cut sequence  r m =1 if all cuts satisfied, =0 otherwise) normalised discriminating event variables RuleFit classifier Linear Fisher termSum of rules The problem to solve is Create rule ensemble: use forest of decision trees Fit coefficients a m, b k : gradient direct regularization minimising Risk (Friedman et al.) Pruning removes topologically equal rules” (same variables in cut sequence)

30 30 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 30 A. Hoecker ― Multivariate Data Analysis with TMVAEdinburgh, Dec 5, 2008 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA x1x1 x2x2 margin support vectors Separable data optimal hyperplane x1x1 x3x3 x1x1 x2x2  (x 1,x 2 ) Non-separable data Support Vector Machine (SVM) Linear case: find hyperplane that best separates signal from background Best separation: maximum distance (margin) between closest events (support) to hyperplane Linear decision boundary If data non-separable add misclassification cost parameter to minimisation function Non-linear cases: Transform variables into higher dim. space where a linear boundary can fully separate the data Explicit transformation not required: use kernel functions to approximate scalar products between transformed vectors in the higher dim. space Choose Kernel and fit the hyperplane using the techniques developed for linear case

31 31 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 31 A. Hoecker ― Multivariate Data Analysis with TMVAEdinburgh, Dec 5, 2008 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA U s i n g T M V A A typical TMVA analysis consists of two main steps: 1.Training phase: training, testing and evaluation of classifiers using data samples with known signal and background composition 2.Application phase: using selected trained classifiers to classify unknown data samples Illustration of these steps with toy data samples  T MVA tutorial

32 32 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 32 A. Hoecker ― Multivariate Data Analysis with TMVAEdinburgh, Dec 5, 2008 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA Code Flow for Training and Application Phases Can be ROOT scripts, C++ executables or python scripts (via PyROOT), or any other high-level language that interfaces with ROOT  T MVA tutorial

33 33 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 33 A. Hoecker ― Multivariate Data Analysis with TMVAEdinburgh, Dec 5, 2008 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA Data Preparation Data input format: ROOT TTree or ASCII Supports selection of any subset or combination or function of available variables Supports application of pre-selection cuts (possibly independent for signal and bkg) Supports global event weights for signal or background input files Supports use of any input variable as individual event weight Supports various methods for splitting into training and test samples: Block wise Randomly Periodically (i.e. periodically 3 testing ev., 2 training ev., 3 testing ev, 2 training ev. ….) User defined training and test trees Preprocessing of input variables (e.g., decorrelation)

34 34 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 34 A. Hoecker ― Multivariate Data Analysis with TMVAEdinburgh, Dec 5, 2008 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA A Toy Example (idealized) Use data set with 4 linearly correlated Gaussian distributed variables: ---------------------------------------- Rank : Variable : Separation ---------------------------------------- 1 : var4 : 0.606 2 : var1+var2 : 0.182 3 : var3 : 0.173 4 : var1-var2 : 0.014 - ---------------------------------------

35 35 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 35 A. Hoecker ― Multivariate Data Analysis with TMVAEdinburgh, Dec 5, 2008 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA Preprocessing the Input Variables Decorrelation of variables before training is useful for this example Note that in cases with non-Gaussian distributions and/or nonlinear correlations decorrelation may do more harm than any good

36 36 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 36 A. Hoecker ― Multivariate Data Analysis with TMVAEdinburgh, Dec 5, 2008 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA MVA Evaluation Framework TMVA is not only a collection of classifiers, but an MVA framework After training, TMVA provides ROOT evaluation scripts (through GUI) Plot all signal (S) and background (B) input variables with and without pre-processing Correlation scatters and linear coefficients for S & B Classifier outputs (S & B) for test and training samples (spot overtraining) Classifier Rarity distribution Classifier significance with optimal cuts B rejection versus S efficiency Classifier-specific plots: Likelihood reference distributions Classifier PDFs (for probability output and Rarity) Network architecture, weights and convergence Rule Fitting analysis plots Visualise decision trees

37 37 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 37 A. Hoecker ― Multivariate Data Analysis with TMVAEdinburgh, Dec 5, 2008 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA Evaluating the Classifier Training (I) Projective likelihood PDFs, MLP training, BDTs, … average no. of nodes before/after pruning: 4193 / 968

38 38 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 38 A. Hoecker ― Multivariate Data Analysis with TMVAEdinburgh, Dec 5, 2008 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA Testing the Classifiers Classifier output distributions for independent test sample:

39 39 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 39 A. Hoecker ― Multivariate Data Analysis with TMVAEdinburgh, Dec 5, 2008 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA Evaluating the Classifier Training (II) Check for overtraining: classifier output for test and training samples … Remark on overtraining Occurs when classifier training has too few degrees of freedom because the classifier has too many adjustable parameters for too few training events Sensitivity to overtraining depends on classifier: e.g., Fisher weak, BDT strong Compare performance between training and test sample to detect overtraining Actively counteract overtraining: e.g., smooth likelihood PDFs, prune decision trees, …

40 40 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 40 A. Hoecker ― Multivariate Data Analysis with TMVAEdinburgh, Dec 5, 2008 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA Evaluating the Classifier Training (III) Parallel Coordinates (ROOT class)

41 41 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 41 A. Hoecker ― Multivariate Data Analysis with TMVAEdinburgh, Dec 5, 2008 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA Evaluating the Classifier Training (IV) There is no unique way to express the performance of a classifier  several benchmark quantities computed by TMVA Signal eff. at various background effs. (= 1 – rejection) when cutting on classifier output The Separation: “Rarity” implemented (background flat): Other quantities … see Users GuideUsers Guide

42 42 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 42 A. Hoecker ― Multivariate Data Analysis with TMVAEdinburgh, Dec 5, 2008 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA Evaluating the Classifier Training (V) Optimal cut for each classifiers … Determine the optimal cut (working point) on a classifier output

43 43 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 43 A. Hoecker ― Multivariate Data Analysis with TMVAEdinburgh, Dec 5, 2008 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA Evaluating the Classifiers Training (VI) (taken from TMVA output…) --- Fisher : Ranking result (top variable is best ranked) --- Fisher : --------------------------------------------- --- Fisher : Rank : Variable : Discr. power --- Fisher : --------------------------------------------- --- Fisher : 1 : var4 : 2.175e-01 --- Fisher : 2 : var3 : 1.718e-01 --- Fisher : 3 : var1 : 9.549e-02 --- Fisher : 4 : var2 : 2.841e-02 --- Fisher : --------------------------------------------- Better variable --- Factory : Inter-MVA overlap matrix (signal): --- Factory : ------------------------------ --- Factory : Likelihood Fisher --- Factory : Likelihood: +1.000 +0.667 --- Factory : Fisher: +0.667 +1.000 --- Factory : ------------------------------ Input Variable Ranking Classifier correlation and overlap How discriminating is a variable ? Do classifiers select the same events as signal and background ? If not, there is something to gain !

44 44 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 44 A. Hoecker ― Multivariate Data Analysis with TMVAEdinburgh, Dec 5, 2008 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA Evaluating the Classifiers Training (VII) (taken from TMVA output…) Evaluation results ranked by best signal efficiency and purity (area) ------------------------------------------------------------------------------ MVA Signal efficiency at bkg eff. (error): | Sepa- Signifi- Methods: @B=0.01 @B=0.10 @B=0.30 Area | ration: cance: ------------------------------------------------------------------------------ Fisher : 0.268(03) 0.653(03) 0.873(02) 0.882 | 0.444 1.189 MLP : 0.266(03) 0.656(03) 0.873(02) 0.882 | 0.444 1.260 LikelihoodD : 0.259(03) 0.649(03) 0.871(02) 0.880 | 0.441 1.251 PDERS : 0.223(03) 0.628(03) 0.861(02) 0.870 | 0.417 1.192 RuleFit : 0.196(03) 0.607(03) 0.845(02) 0.859 | 0.390 1.092 HMatrix : 0.058(01) 0.622(03) 0.868(02) 0.855 | 0.410 1.093 BDT : 0.154(02) 0.594(04) 0.838(03) 0.852 | 0.380 1.099 CutsGA : 0.109(02) 1.000(00) 0.717(03) 0.784 | 0.000 0.000 Likelihood : 0.086(02) 0.387(03) 0.677(03) 0.757 | 0.199 0.682 ------------------------------------------------------------------------------ Testing efficiency compared to training efficiency (overtraining check) ------------------------------------------------------------------------------ MVA Signal efficiency: from test sample (from traing sample) Methods: @B=0.01 @B=0.10 @B=0.30 ------------------------------------------------------------------------------ Fisher : 0.268 (0.275) 0.653 (0.658) 0.873 (0.873) MLP : 0.266 (0.278) 0.656 (0.658) 0.873 (0.873) LikelihoodD : 0.259 (0.273) 0.649 (0.657) 0.871 (0.872) PDERS : 0.223 (0.389) 0.628 (0.691) 0.861 (0.881) RuleFit : 0.196 (0.198) 0.607 (0.616) 0.845 (0.848) HMatrix : 0.058 (0.060) 0.622 (0.623) 0.868 (0.868) BDT : 0.154 (0.268) 0.594 (0.736) 0.838 (0.911) CutsGA : 0.109 (0.123) 1.000 (0.424) 0.717 (0.715) Likelihood : 0.086 (0.092) 0.387 (0.379) 0.677 (0.677) ----------------------------------------------------------------------------- Better classifier Check for over- training

45 45 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 45 A. Hoecker ― Multivariate Data Analysis with TMVAEdinburgh, Dec 5, 2008 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA Receiver Operating Characteristics (ROC) Curve Smooth background rejection versus signal efficiency curve: (from cut on classifier output) Note: Nearly All Realistic Use Cases are Much More Difficult Than This One “Sensitivity” (probability to predict S if true S) “Specificity” (probability to predict B if true B)

46 46 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 46 A. Hoecker ― Multivariate Data Analysis with TMVAEdinburgh, Dec 5, 2008 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA M o r e T o y E x a m p l e s

47 47 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 47 A. Hoecker ― Multivariate Data Analysis with TMVAEdinburgh, Dec 5, 2008 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA More Toys: Linear-, Cross-, Circular Correlations Illustrate the behaviour of linear and nonlinear classifiers Linear correlations (same for signal and background) Linear correlations (opposite for signal and background) Circular correlations (same for signal and background)

48 48 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 48 A. Hoecker ― Multivariate Data Analysis with TMVAEdinburgh, Dec 5, 2008 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA How does linear decorrelation affect strongly nonlinear cases ? Original correlations SQRT decorrelation

49 49 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 49 A. Hoecker ― Multivariate Data Analysis with TMVAEdinburgh, Dec 5, 2008 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA Weight Variables by Classifier Output Linear correlations (same for signal and background) Cross-linear correlations (opposite for signal and background) Circular correlations (same for signal and background) How well do the classifier resolve the various correlation patterns ? LikelihoodLikelihood - DPDERSFisherMLPBDT

50 50 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 50 A. Hoecker ― Multivariate Data Analysis with TMVAEdinburgh, Dec 5, 2008 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA Final Classifier Performance Background rejection versus signal efficiency curve: Linear Example Cross Example Circular Example

51 51 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 51 A. Hoecker ― Multivariate Data Analysis with TMVAEdinburgh, Dec 5, 2008 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA The Chessboard Toy Performance achieved without parameter tuning: PDERS and BDT best “out of the box” classifiers After specific tuning, also SVM und MLP perform well Theoretical maximum

52 52 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 52 A. Hoecker ― Multivariate Data Analysis with TMVAEdinburgh, Dec 5, 2008 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA S u m m a r y

53 53 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 53 A. Hoecker ― Multivariate Data Analysis with TMVAEdinburgh, Dec 5, 2008 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA No Single Best Classifier … Criteria Classifiers Cuts Likeli- hood PDERS / k-NN H-MatrixFisherMLPBDTRuleFitSVM Perfor- mance no / linear correlations  nonlinear correlations  Speed Training  Response //  Robust -ness Overtraining   Weak input variables   Curse of dimensionality  Transparency   The properties of the Function discriminant (FDA) depend on the chosen function

54 54 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 54 A. Hoecker ― Multivariate Data Analysis with TMVAEdinburgh, Dec 5, 2008 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA O u t l o o k t o T M V A 4 Composite and boost classifiers Combine any classifier with any other classifier using any combination of input variables in any phase space region Be able to boost or bag any classifier Categorisation: use any combination of input variables and classifiers in any phase space region Code is ready – now in testing mode  end 2008 Extend TMVA to multivariate regression Extend TMVA to multi-class classification Generalised cross-validation New and Improved Existing Classification/Regression Methods New PDEFoam algorithm

55 55 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 55 A. Hoecker ― Multivariate Data Analysis with TMVAEdinburgh, Dec 5, 2008 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA Regression Analysis y3y3 y3y3 y2y2 y2y2 x1x1 x1x1 x2x2 x2x2 x3x3 x3x3 … … xNxN xNxN y y RNRNRNRN R (R M ) Multiple input variables (predictors) Use their information (multivariate training) To predict the outcome of one (or more) dependent variable(s) (target) “y” is known in the training samples (e.g. from MC simulation). “y” can be estimated for events where “y” is not known (e.g. real data)

56 56 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 56 A. Hoecker ― Multivariate Data Analysis with TMVAEdinburgh, Dec 5, 2008 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA Regression Analysis Regression approximates the functional dependence of a target on (x 1,…,x N ) –Example: predict the energy correction of jet clusters in calorimeter Training: instead of specifying sig/bkgr, provide a regression target –Multi-dim target space possible Not yet implemented for all methods (so far: LD, PDERS, PDEFoam, MLP, SVM) Example: Target as function of 2 input variables

57 57 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 57 A. Hoecker ― Multivariate Data Analysis with TMVAEdinburgh, Dec 5, 2008 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA Generalised Classifier Boosting Principle (just as in BDT): multiple training cycles, each time wrongly classified events get a higher event weight Response is weighted sum of each classifier response Boosting will be interesting especially for Methods like Cuts, MLP, and SVM original event weights Classifier1 E1E1 train E = Nev/Nev wrong –1 event weights 2 Re-weight wrong events Classifier2 E2E2 event weights N ClassifierN Re-weight wrong events

58 58 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 58 A. Hoecker ― Multivariate Data Analysis with TMVAEdinburgh, Dec 5, 2008 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA Automated Classifier Tuning via Cross Validation Many classifiers have parameters that, being tuned, improves performance Method for automated parameter tuning: Cross-Validation Special choice of K-fold cross-validation: –Divide the data sample into K sub-sets –For set of parameters α train K classifiers C i (α), i=1..K, omitting each time the i-th subset from the training to use as test sample –Compute performance estimator for each C i (α) and average among all K –Choose parameter set α providing the best average estimator Train Test

59 59 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 59 Edinburgh, Dec 5, 2008A. Hoecker ― Multivariate Data Analysis with TMVA Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA Multi-Class Classification Binary classification: two classes, “signal” and “background” SignalBackground

60 60 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 60 Edinburgh, Dec 5, 2008A. Hoecker ― Multivariate Data Analysis with TMVA Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA Multi-Class Classification Multi-class classification – natural extension for many classifiers Class 1 Class 2 Class 3 Class 5 Class 6 Class 4

61 61 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 61 A. Hoecker ― Multivariate Data Analysis with TMVAEdinburgh, Dec 5, 2008 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA T M V A 4 Current stable TMVA version 3.9.6 for ROOT 5.22 (midst of December), Moving to TMVA 4. Target for first release: end of 2008 –Not everything at once: 1)New framework (done) 2)Regression (PDE, LD, MLP, SVN) and generic classifier boosting (done) 3)Multi-class classification, automatic classifier tuning (being prepared) 4)Composite classifiers (not done) –Multi-core some time along the way (being prepared)

62 62 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 62 Edinburgh, Dec 5, 2008A. Hoecker ― Multivariate Data Analysis with TMVA Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA C o p y r i g h t s & C r e d i t s Several similar data mining efforts with rising importance in most fields of science and industry Important for HEP: Parallelised MVA training and evaluation pioneered by Cornelius package (BABAR) Also frequently used: StatPatternRecognition package by I. Narsky (Cal Tech) Many implementations of individual classifiers exist TMVA is open source software Use & redistribution of source permitted according to terms in BSD licenseBSD license Acknowledgments: The fast development of TMVA would not have been possible without the contribution and feedback from many developers and users to whom we are indebted. We thank in particular the CERN Summer students Matt Jachowski (Stan- ford) for the implementation of TMVA's new MLP neural network, Yair Mahalalel (Tel Aviv) and three genius Krakow mathematics students for significant improvements of PDERS, the Krakow student Andrzej Zemla and his supervisor Marcin Wolter for programming a powerful Support Vector Machine, as well as Rustem Ospanov for the development of a fast k-NN algorithm. We thank Doug Schouten (S. Fraser U) for improving the BDT, Jan Therhaag (Bonn) for a reimplementation of LD including regression, and Eckhard v. Toerne (Bonn) for improving the Cuts evaluation. Many thanks to Dominik Dannheim, Alexander Voigt and Tancredi Carli (CERN) for the implementation of the PDEFoam approach. We are grateful to Doug Applegate, Kregg Arms, René Brun and the ROOT team, Zhiyi Liu, Elzbieta Richter-Was, Vincent Tisserand and Alexei Volk for helpful conversations.

63 63 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 63 Edinburgh, Dec 5, 2008A. Hoecker ― Multivariate Data Analysis with TMVA Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA A ( b r i e f ) W o r d o n S y s t e m a t i c s & I r r e l e v a n t I n p u t V a r i a b l e s A ( b r i e f ) W o r d o n S y s t e m a t i c s & I r r e l e v a n t I n p u t V a r i a b l e s

64 64 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 64 A. Hoecker ― Multivariate Data Analysis with TMVAEdinburgh, Dec 5, 2008 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA Treatment of Systematic Uncertainties Assume strongest variable “var4” suffers from systematic uncertainty “Calibration uncertainty” may shift the central value and hence worsen the discrimination power of “var4”

65 65 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 65 A. Hoecker ― Multivariate Data Analysis with TMVAEdinburgh, Dec 5, 2008 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA Treatment of Systematic Uncertainties Assume strongest variable “var4” suffers from systematic uncertainty (at least) Two ways to deal with it: 1.Ignore the systematic in the training, and evaluate systematic error on classifier output  Drawbacks: “var4” appears stronger in training than it might be  suboptimal performance Classifier response will strongly depend on “var4” 2.Train with shifted (= weakened) “var4”, and evaluate systematic error on classifier output  Cures previous drawbacks If classifier output distributions can be validated with data control samples, the second drawback is mitigated, but not the first one (the performance loss) !

66 66 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 66 A. Hoecker ― Multivariate Data Analysis with TMVAEdinburgh, Dec 5, 2008 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA Treatment of Systematic Uncertainties 1 st Way2 nd Way Classifier output distributions for signal only

67 67 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA 67 A. Hoecker ― Multivariate Data Analysis with TMVAEdinburgh, Dec 5, 2008 Top Workshop, LPSC, Oct 18–20, 2007A. Hoecker: Multivariate Analysis with TMVA Stability with Respect to Irrelevant Variables Toy example with 2 discriminating and 4 non-discriminating variables ? use only two discriminant variables in classifiers use all discriminant variables in classifiers


Download ppt "Multivariate Data Analysis with TMVA Andreas Hoecker ( * ) (CERN) Seminar at Edinburgh, Scotland, Dec 5, 2008 ( * ) On behalf of the present core developer."

Similar presentations


Ads by Google