This article introduces commonly used performance metrics in deep learning and machine learning. Using appropriate performance metrics would be important to compare and identify the best machine learning model for any given problem. To understand the popular metrics — accuracy, precision, recall, f1, etc., let’s first go over the confusion matrix.

**Confusion matrix**

A **confusion matrix** is a table that is often used to describe the performance of a classification model (or “classifier”) on a set of test data. There are four entries in a confusion matrix — true positive, false positive, false negative, and true negative. True positive is…

This article introduces the **bias-variance tradeoff** in deep learning. We’ll discuss first what bias-variance tradeoff is, then its implication associated with model complexity, and finally how to avoid overfitting and acquire a well-generalized model.

**Bias **in data measures how much the dataset is skewed from the target point. High bias means data points are far from the target point. **Variance** measures how divergent the data points are. High variance means the data points are widely scattered and have large deviations from the average location. Bias and variance are closely related to the model complexity in machine learning. With the **simple…**

In this article, I would like to introduce important concepts to understand the multi-layer neural networks in deep learning. First, we’ll study what **linear separability** is, and then look at how the **perceptron **algorithm works. We’ll discuss the application and limitations of linear classifiers, and understand intuitively what non-linear transformations imply in multi-layer neural networks.

**Linear Separability**

Linear Separability implies the existence of a hyperplane separating the two classes. …

With the recent advances in big data and computational power, deep learning is widely being used for real-world problems. One of the significant challenges of deep learning would be the highly time-consuming training process. To accelerate the training process of deep learning, researches about **distributed deep learning systems** (DDLS) technologies have been actively conducted. Distributed deep learning systems train deep neural network models by utilizing the **distributed** resources of a cluster. Using DDLS, one can distribute computational workloads to multiple resources and can reduce training time.

However, just increasing the number of resources is not a universal solution. We should…

Machine Learning | Software Engineer