Sitemap
A list of all the posts and pages found on the site. For you robots out there is an XML version available for digesting as well.
Pages
Posts
Training a Wasserstein GAN on the free google colab TPU
Published:
The jupyter notebook is available on my github repo. Click HERE to play with google colab on live!
EM Algorithm and Gaussian Mixture Model for Clustering
Published:
In the last post on EM algorithm, we introduced the deduction of the EM algorithm and use it to solve the MLE of the heads probability of two coins. In this post, we will apply EM algorithm to more practical and useful problem, the Gaussian Mixture Model (GMM), and discuss about using GMM for clustering.
An Introduction to Expectation-Maximization (EM) Algorithm
Published:
Expectation Maximization (EM) algorithm is a special case of MLE where the observations (data samples \(\mathbf{x}\)) are inherently related with some hidden variables (\(\mathbf{z}\)). First of all, we need to review the basics of MLE.
Maximum Likelihood Estimation (MLE)
Let \(\{\mathbf{x}^{(i)}\},\ i=1,\dots,n\) be a set of independent and identically distributed observations, and \(\mathbf{\theta}\) be the parameters of the data distribution which are unknown for us. The maximum likelihood estimation of the parameters \(\theta\) is the parameters which can maximize the joint distribution \(p_\theta(\mathbf{x}^{(1)},\dots,\mathbf{x}^{(n)})= \prod_{i=1}^{n}p_\theta(\mathbf{x}^{(i)})\)
More commonly, we choose to maximize the joint log-likelihood:
An Introduction to Support Vector Machines (SVM): A Python Implementation
Published:
The Jupyter notebook is available at my github: SupportVectorMachine/SVM-Tutorial
An Introduction to Support Vector Machines (SVM): Sequential Minimal Optimization (SMO)
Published:
Recall the Kernel SVM dual problem:
An Introduction to Support Vector Machines (SVM): kernel functions
Published:
Recall of the Slack SVM dual problem:
An Introduction to Support Vector Machines (SVM): SVM with slack variables
Published:
Recall of the SVM primal problem:
An Introduction to Support Vector Machines (SVM): Dual problem solution using Gradient Descent
Published:
Recall of the SVM primal problem and dual problem:
Primal Problem
Dual Problem
The the last post we introduced how to apply Lagrangian duality to SVM and how to get the primal optimum once we get the dual optimum. In this post we mainly discuss how to solve the dual problem and get the dual optimum.
An Introduction to Support Vector Machines (SVM): Convex Optimization and Lagrangian Duality Principle
Published:
In the last post we have conquered how to use gradient descent algorithm to train a SVM. Although using GD can solve the SVM optimization, GD has some shortcomings:
- Gradient procedure is time consuming and the solution may be suboptimal.
- GD method cannot explicitly identify support vectors (points) which determine the hyperplane.
An Introduction to Support Vector Machines (SVM): Gradient Descent Solution
Published:
In the last post, we discussed that the SVM optimization problem is:
To solve this optimization problem, there are multiple ways. One way is to treat this problem as a standard optimization problem and use gradient descent algorithm to compute the optimal parameters. Another way is to formulate the Lagrangian dual problem of the primal problem, transferring original optimization problem into an easier problem. Here we mainly discuss the first method.
An Introduction to Support Vector Machines (SVM): Basics
Published:
Support Vector Machine (SVM) is a method for classification (and possibly for regression). Here we mainly discuss the most common application: binary classification problem.
Given a training dataset with binary classes {+1, -1}, SVM means to find a separating hyperplane which can maximize the margin.