Author Archive

What is a Support Vector?

In this post, we will develop an understanding of support vectors, discuss why we need them, how to construct them, and how they fit into the optimization objective of support vector machines. A support vector machine classifies observations by constructing a hyperplane that separates these observations. Support vectors are observations that lie on the

What is a Kernel in Machine Learning?

In this post, we are going to develop an understanding of Kernels in machine learning. We frame the problem that kernels attempt to solve, followed by a detailed explanation of how kernels work. To deepen our understanding of kernels, we apply a Gaussian kernel to a non-linear problem. Finally, we briefly discuss the construction

Regularization in Machine Learning

In this post, we introduce the concept of regularization in machine learning. We start with developing a basic understanding of regularization. Next, we look at specific techniques such as parameter norm penalties, including L1 regularization and L2 regularization, followed by a discussion of other approaches to regularization. What is Regularization? In machine learning, regularization

Introduction to the Hypothesis Space and the Bias-Variance Tradeoff in Machine Learning

In this post, we introduce the hypothesis space and discuss how machine learning models function as hypotheses. Furthermore, we discuss the challenges encountered when choosing an appropriate machine learning hypothesis and building a model, such as overfitting, underfitting, and the bias-variance tradeoff. The hypothesis space in machine learning is a set of all possible

Types of Machine Learning: A High-Level Introduction

In machine learning, we distinguish between several types and subtypes of learning and several learning techniques. Broadly speaking, machine learning comprises supervised learning, unsupervised learning, and reinforcement learning. Problems that do not fall neatly into one of these categories can often be classified as semi-supervised learning, self-supervised learning, or multi-instance learning. In supervised learning,

Hashing in Java

In this post, we will discuss hashing in Java and introduce a few data structures such as hashtables and hashmaps that rely on hashing. What is Hashing? Hashing is a technique that allows a program to store and subsequently find an object in a large collection of items without going through every item. A

Priority Queue in Java: A Complete Introduction

In this post, we introduce the priority queue in Java and explain the underlying concept of a heap. What is a Priority Queue in Java? In a priority queue, items are ordered alphabetically in ascending order, numerically in ascending order, or according to a user-defined attribute based on a custom comparator. In a priority

The Queue in Java

In this post we learn how to implement a queue in Java using the linked list and priority queue data structures provided by Java. What is a Queue in Java? A queue is a data structure in Java and many other programming languages. Elements are added according to the FIFO (first-in, first-out) principle. An

The Stack in Java

In this post we look at the stack in Java, a data structure that operates on the LIFO principle. We discuss (clicking the link will take you to the section): What is a Stack How to implement a Stack using collections and deque How to implement a Java stack from scratch What is a

How to Learn Java: A Comprehensive Guide

Java is one of the most widely used programming languages in the world today. It powers applications ranging from enterprise software systems to Android apps. Learning it can open the door to plenty of well-paid job opportunities. People who have mastered the art of developing software in Java are hot commodities in the job