# Kernel approximation InkedIcon, on inversions in Hilbert space, after Charles Stross

A page where I document what I don’t know about kernel approximation. A page about what I do know would be empty.

What I mean is: approximating implicit Mercer kernel feature maps with explicit features; Equivalently, approximating the Gram matrix, which is also related to mixture model inference and clustering.

I’m especially interested in how it might be done using random linear algebra via random embeddings such as random projections.

Also I guess we need to know trade-offs of computational time/space cost versus approximation bounds, so that we can decide when to bother. When is it enough to reduce computational cost merely with support vectors, or to evaluate the kernels efficiently using, e.g. the Fast Gauss Transform and related methods, rather than coming up with alternative kernel bases? (e.g. you don’t want to do the fiddly coding for the Faust Gauss transform)

Not the related but distinct (terminological collision) of approximating functions from convolution kernels. In kernel approximation we look for approximations, in some sense, to the component kernels themselves.

A good introduction to what is going on is

## Do you need to even calculate the Gram matrix?

does a kernel ICA without calculating the whole Gram matrix (!). Does that fit in here?

## Stationary kernels

I am mostly interested in translation-invariant (i.e. stationary, or homogeneous) kernels, so assume I’m talking about those unless I say otherwise.

Short introduction at scikit-learn kernel approximation page.

The approximations might be random projection, or random sampling based, e.g. the Nyström method, which is reportedly effectively Monte Carlo integration, although I understand there is an optimisation step too?

I need to work out the difference between random Fourier features, random kitchen sinks, Nyström methods and whatever Smola et al call their special case Gaussian approximation. I think Random Fourier features are the same as random kitchen sinks, and Nyström is different . When we can exploit (data- or kernel-) structure to do better? (say, ) Quasi Monte Carlo can improve on random Monte Carlo? (update: someone already had that idea: ) Or better matrix factorisations?

Recently, Maji and Berg and Vedaldi and Zisserman proposed explicit feature maps to approximate the additive kernels (intersection, $$\chi^2$$, etc.) by linear ones, thus enabling the use of fast machine learning technique in a non-linear context. An analogous technique was proposed by Rahimi and Recht for the translation invariant RBF kernels. In this paper, we complete the construction and combine the two techniques to obtain explicit feature maps for the generalized RBF kernels.

## Inner product kernels

See e.g. . These have some elegant relations to low-dimensional random projections. How well can we approximate NN kernels?

## Implementations

This is the LIBASKIT set of scalable machine learning and data analysis tools. Currently we provide codes for kernel sums, nearest-neighbors, k-means clustering, kernel regression, and multiclass kernel logistic regression. All codes use OpenMP and MPI for shared memory and distributed memory parallelism.

[…] PNYSTR : (Parallel Nystrom method) Code for kernel summation using the Nystrom method.

## Connections

MDS and Kernel PCA and mixture models are all related in a way I should try to understand when I have a moment.

For the connection with kernel PCA, see and for metric multidimensional scaling.

use projection tricks to calculate Sinkhorn divergence.

### No comments yet. Why not leave one?

GitHub-flavored Markdown & a sane subset of HTML is supported.