Introduction to Gaussian Processes

Gaussian processes (GP) are a cornerstone of modern machine learning. They are often used for non-parametric regression and classification, and are extended from the theory behind Gaussian distributions and Gaussian mixture models (GMM), with strong and interesting theoretical ties to kernels and neural networks. While Gaussian mixture models are used ...

more…

Single Speaker Speech Recognition with Hidden Markov Models

Hidden Markov Models (HMMs) are powerful, flexible methods for representing and classifying data with trends over time, and have been a key component in speech recognition systems for many years.

I found it very difficult to find a good example (with code!) of a simple speech recognition system, so I ...

more…

Wavelets

Wavelets are a fundamental part of modern signal processing and feature engineering. Utilizing well developed basis functions with certain mathematical properties, rather than the more typical sines and cosines used for the DFT (discrete fourier transform) and DCT (discrete cosine transform), wavelet analysis has many interesting applications. It is also ...

more…

Simple Page Rank

Around 25 minutes into this lecture, there is some good discussion of the PageRank algorithm. I have always wanted to code up a basic version of this algorithm, so this is a great excuse! This algorithm is probably one of the cleanest examples of Markov Chains that I have seen ...

more…

Matrix Decomposition

Matrix factorization is a very interesting area of machine learning research. Formulating a problem as a 2D matrix \(X\) to be decomposed into multiple matrices, which combine to return an approximation of \(X\), can lead to state of the art results for many interesting problems. This core concept is the ...

more…

Polyphase Signal Processing

Polyphase signal processing is an important technique for efficiently resampling and filtering signals. It can be used to resample and filter a single stream, or as part of a polyphase filterbank, which features evenly spaced "channels" of data spaced over a wide bandwitch. It is also an efficient way to ...

more…

Linear regression

When presented with an unknown dataset, it is very common to attempt to find trends or patterns. The most basic form of this is visual inspection - how is the data trending? Can we predict future data given some past events? The mathematical approach to this "trend finding" is called regression ...

more…

Migrating with Pelican

After attending SciPy this year, I have become firmly convinced that my blog needs a new home and a new look. Looking around, Pelican seems to be a popular choice as a Python static site generator, and it has good integration with IPython. With these things in mind, I will slowly begin moving some of the more code based posts from kkjkok.blogspot.com to this site, as well as posting new material as it arises.

more…