# Predictive Fraud Analysis Applying the Fraud Triangle Theory through Data Mining Techniques
## 2 Materials and Methods
### Classification Methods
#### 2.3.4 Random Forest (RF)  
RF is a classification method based on several decision trees, which is used to classify a new instance by majority vote. Each node in the decision tree uses a subset of attributes selected randomly from the entire original set of characteristics [44]. The correlation between trees decreases by randomly selecting the features that improve the predictability, and higher efficiency is obtained as a result [45]. 2.3.5. Gaussian Naive Bayes (GNB)  
The GNB classifier applies the Bayes' theorem, assuming that all attributes are independent. Its main advantage is that it requires a small measure of training data vital for the characterization and necessary for classification [46]. The GNB classification is a case of the naive Bayes method, assuming that there is a Gaussian distribution on the attribute values, given the class label. 2.3.6. Gradient Boosting Decision Tree (GBDT)  
The GBDT is based on the decision tree model. It builds the model through gradient augmentation, aiming to boost the combination of several weak and simple classifiers in a given set. This algorithm trains a new tree model that reduces the error of the whole set. To ensure that the loss function decreases continually in each iteration, the new tree model is built using the loss function's negative gradient [47]. Compared with linear regression models, GBDT can handle different types of variables (continuous, categorical, etc.) and requires little data preparation time [48]. 2.3.7. Support Vector Machines (SVM)  
Vapnik introduced SVM as a kernel-based machine learning model for classification and regression tasks. SVM classifier aims to find a linear hyperplane (decision boundary) that separates the data to maximize margin. For example, look at a problem of separating two classes in two dimensions [49; 50]. SVM is a high-precision binary data classification technique, which has been widely used in various fields. Let \(v=\{v_{1},v_{2},\ldots,v_{m}\}\), an \(m\)-dimensional input feature. We assume that each \(v_{i}\in v\) is normalized to an interval \([0,n]\) using normalization techniques. Let \(p=\{-1,+1\}\) be two different predictions, that is, negative and positive. An SVM classifier is a separating hyperplane with a maximum margin in the \(m\)-dimensional feature space, which divides the \(m\)-dimensional feature space into two subspaces, i.e., a subspace for positive prediction and the other for negative prediction [51]. 2.4. Neural Networks  
A neural network (NN), also known as an artificial neural network (ANN), allows non-linearity between the characteristic variables and the output signals [52]. A simple NN generally consists of an input layer, a hidden layer (s), and an output layer. The number of hidden and output layers is the neural network depth. The term deep learning refers to NN with considerable depth [53]. In this investigation, the input layer receives the information of the document probabilities. These belong to a specific topic; the output layer predicts the result, in this case, whether or not the sample is associated with cases of fraud. 2.4.1. Deep Learning (DL)  
DL is a subfield of machine learning in artificial intelligence, based on algorithms that try to model high-level abstractions in data through the use of multiple layers of processing with complex structures or composed of multiple non-linear transformations [54]. TensorFlow, Keras, and PyTorch are the most used libraries for DL. For this work, we will use Keras, a high-level framework written in Python that provides a second-level abstraction, that is, instead of directly using the first-level frameworks (Theano, Torch, PyTorch, and Tensorflow). We can use a new framework over an existing one and thus further simplify the development of the deep learning model. Dense neural networks (DNN) are also known as feed-forward networks because they avoid cycle formation. Determining the adequate number of neurons in hidden layers is a complicated issue (done by trial-error) since many neurons can result in overfitting problems.