This is our implementation of RandFeat. It includes a number of other methods of approximation for different kernels and allows one to compare among them. It includes the following kernels:
| Kernel | Type | Formula | Approximation |
| Gaussian | multiplicative | ![]() |
Monte Carlo [Rahimi and Recht 2007] |
| Laplacian | multiplicative | ![]() |
Monte Carlo [Rahimi and Recht 2007] |
| Intersection | additive | ![]() |
Signal Theoretic [Vedaldi and Zisserman 2010] |
![]() |
additive | ![]() |
Signal Theoretic [Vedaldi and Zisserman 2010] |
skewed ![]() |
multiplicative | ![]() |
Monte Carlo [Li, Ionescu and Sminchisescu 2010] |
@misc{randfeat-release1,
author = "Fuxin Li, Catalin Ionescu, Cristian Sminchisescu",
title = "RandFeat: Random Fourier Approximations for Skewed Multiplicative Histogram Kernels, Release 1",
howpublished = "http://sminchisescu.ins.uni-bonn.de/code/randfeat/randfeat-release1.tar.gz"}
Classification performance with the bow_features.mat (in the package) extracted from PASCAL VOC'09 training set.
>> DEMO_classification
Training model with linear kernel.
Accuracy = 33.1043% (530/1601)
Training model with random Fourier features on additive chi-square kernel.
Accuracy = 59.4628% (952/1601)
Training model with random Fourier features on Gaussian kernel.
Accuracy = 60.6496% (971/1601)
Training model with random Fourier features on Laplacian kernel.
Accuracy = 61.8364% (990/1601)
Training model with random Fourier features on skewed chi-square kernel.
Accuracy = 64.5222% (1033/1601)