Machine learning aspects

A root cause is the fundamental reason for the occurrence of a problem [source]

Here follows the analysis of 13 machine learning aspects to understand if they can cause discrimination in a machine learning system. The classification is based on a set of responses obtained by approximately 120 people working with fair critical machine learning systems.

## Involved topics

### What is a machine learning model?

A machine learning model is a program that has been trained to recognize certain types of patterns. The model is trained over a set of data, providing it an algorithm that it can use to reason over and learn from those data. Once the model is trained, it can be used to reason over data that it hasn't seen before, and make predictions about those data [1].

### What is model training?

Model training is a process in which a machine learning algorithm is fed with sufficient training data to learn from. To do this, it's necessary a training dataset, which consists of the sample output data and the corresponding sets of input data that have an influence on the output. The training model is used to run the input data through the algorithm to correlate the processed output against the sample output [2].

### What is validation?

Validation is a procedure where a trained model is assessed with a testing data set. Validation is done after model training and it intends to locate an ideal model with the best execution. Some validation techniques are: K-fold Cross-Validation Method, Random Subsampling Validation Method and Leave-One-Out Cross-Validation Method.

K-fold Cross-Validation is used to detect the overfitting or fluctuations in the training data that is selected and learned as concepts by the model. It repeats cross validation process many times with different splits of the sample data in to K-parts.

With Random Subsampling Validation data is randomly partitioned into dis-joint training and test sets multiple times means multiple sets of data are randomly chosen from the dataset and combined to form a test dataset while remaining data forms the training dataset.

With Leave-One-Out Cross-Validation all the data except one record is used for training and that one record is used later only for testing [3].

### What is a balanced dataset?

A balanced dataset is a dataset where each output class is represented by the same number of input samples. Balancing can be performed using a specific technique: the most popular are oversampling and undersampling [4].

Oversampling is a technique wherein the number of training samples of the minority class is increased so as to balance the number of samples of both majority and minority class. Undersampling refers to removing training samples from the data which belong to that class of the target feature that has the majority over the other class [5].

### What is a sensitive feature?

Sensitive features (or protected attributes) are attributes for which the machine learning algorithm could discriminate subjects. Some common examples of this attributes are age, disability, national origin, race/color, religion, sex. Some cases where discrimination has occurred are facial recognition and hiring. The theory holds that oversampling and undersampling techniques can cause discrimination [6].

### What is an hyperparameter

Hyperparameters are parameters whose values control the learning process and determine the values of model parameters that a learning algorithm ends up learning. Hyperparameters are used by the learning algorithm when it is learning but they are not part of the resulting model [7].

### Hyperparameter tuning

Hyperparameter tuning is choosing a set of optimal hyperparameters for a learning algorithm. The optimal hyperparameters values help to avoid under-fitting (training and test error are both high) and over-fitting (Training error is low but test error is high) [8].

## Useful links

1. What is Model Validation.
2. What Is Model Training?
3. What is a machine learning model?
4. How to balance a dataset in Python
5. Imbalanced Data and How to Balance it
6. Handling Discriminatory Biases in Data for Machine Learning
7. Parameters and Hyperparameters in Machine Learning and Deep Learning
8. Evaluating Machine Learning Models using Hyperparameter Tuning

## How to contribute

* You can use the "comments" section of the wiki. You can find it at the bottom of the article page that you want to edit. Suggest here your edits, the administrator will evaluate whether to accept them and report them on the page.\*You can send an email to *abatefrancesco98@gmail.com* setting as subject the page you want to edit.

Any interesting information will be reported on this page.