Geçen yıl NIPS 2017'de Ali Rahimi ve Ben Recht "Büyük Ölçekli Çekirdek Makineleri için Rastgele Özellikler" adlı makaleleri için zaman testi ödülü kazandılar . Makalelerini yayınlamanın bir parçası olarak, modellerinin 5 satır matlab'de uygulanabileceğini gösterdiler.
% Approximates Gaussian Process regression
% with Gaussian kernel of variance gamma^2
% lambda: regularization parameter
% dataset: X is dxN, y is 1xN
% test: xtest is dx1
% D: dimensionality of random feature
% training
w = randn(D,d);
b = 2 * pi * rand(D, 1);
Z = cos(gamma * w * X + b * ones(1,N));
alpha = (lambda * eye(D) +Z * Z') \ (Z * y);
% testing
ztest = alpha' * cos(gamma * w * xtest + b);
Yukarıdaki algoritmanın bir şeyi nasıl öğrendiği benim için belirsiz. Rasgele bir mutfak lavabosu nasıl çalışır? Gauss süreçlerine nasıl yaklaşıyor ve vektör makinelerini nasıl destekliyor?
Düzenle
Rahimi'nin konuşmasına yeniden bakıldığında, rastgele mutfak lavaboları terimi, ödül kazandıkları kağıda değil, "Büyük Ölçekli Çekirdek Makineleri için Rastgele Özellikler" ile başlayan kağıt üçlemesinin sonunda tanıtıldı. Diğer makaleler:
Yukarıda sunulan kod snippet'inin son makalede Algoritma 1'in bir uzmanlığı olduğunu düşünüyorum.