Як працює випадкова кухонна мийка?


18

Минулого року на NIPS 2017 Алі Рахімі та Бен Рехт виграли нагороду за тест часу за свою статтю "Випадкові функції для крупномасштабних машин ядра", де вони ввели випадкові функції, пізніше кодифіковані як алгоритм випадкових мийок на кухні. У рамках оприлюднення своїх робіт вони показали, що їх модель може бути реалізована в 5 рядках матлаба.

% 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);

Як вищезазначений алгоритм щось дізнається, мені незрозуміло. Як працює випадкова кухонна мийка? Як це наближає процеси Гаусса та підтримують векторні машини?

Редагувати

Переглядаючи розмови Рахімі, в статті, за яку вони виграли нагороду, не вводиться термін випадкових кухонних мийок, а в кінці трилогії робіт, що починається з «Випадкових особливостей для крупномасштабних машин ядра». Інші документи:

Рахімі, Алі та Бенджамін Рехт. "Рівномірне наближення функцій до випадкових основ." Зв'язок, управління та обчислення, 46-я щорічна конференція в Аллертоні 2008 року. IEEE, 2008.

Рахімі, Алі та Бенджамін Рехт. "Зважені суми випадкових кухонних мийок: Заміна мінімізації на рандомізацію в навчанні". Успіхи в нейронних системах обробки інформації. 2009 рік.

Я думаю, що фрагмент коду, представлений вище, - це спеціалізація Алгоритму 1 в останній статті.


Ні слово "раковина", ні код, який ви цитуєте, не відображаються у зв'язаному папері. Ви пропускаєте посилання?
Кодіолог

2
Ви абсолютно праві, дякую. Без контексту розмови про 2017 рік питання здається трохи невмілим! Ідея була розроблена в першому документі, я думаю, але термін випадкові мийки кухні був введений лише пізніше. Фрагмент коду був розповсюджений на сесії постерів 2007 року для роботи, очевидно. Я переписав це з розмови Рахімі на NIPS 2017.
MachineEpsilon

Відповіді:


15

Випадкові кухонні раковини (або випадкові функції Фур'є) та інші пов'язані з ними методи не прагнуть виконувати висновки, а намагаються зменшити вузькі місця ядерних методів.

н×нО(н3)

Випадкові функції Фур'є (Rehimi & Recht 2007) розглядають можливість створення апроксимацій низького рангу зсувних інваріантних ядер шляхом вибірки лише випадкового підмножини компонентів ядер Фур'є. Оскільки простір Фур'є є інваріантним зсувом, ця властивість зберігалася, але тепер явний простір кінцевого розміру, що відтворює ядро ​​Гільберта, формувався об'єднанням цих компонентів Фур'є. Колись нескінченний розмірний RKHS наближається до виродженого приблизного ядра.

Примітки до фрагменту коду. У 5 рядках є кілька деталей, накреслених деталями. Найголовніше те, що функція Гаусса - це також Гауссова функція у просторі Фур'є, просто дисперсія перевернута. Ось чому вони відбирають вибірку з randn і потім множать на дисперсію. Потім вони виробляють альфа, що є лише підпроцедурою пошуку ztest. По суті виглядає нормальне передбачення ядра,

zтест=К(хтест,х)(К(х,х)+λЯ)-1у.

zтест=Φ(хтест)ТΦ(х)(Φ(х)ТΦ(х)+λЯ)-1у.

Φ()

Побічний коментар: Чи варто використовувати його? Відповідь не однозначна, так. Це повністю залежить від того, що ти моделюєш. Використання простору Фур'є необов'язково доцільно для нестаціонарних інваріантних ядер без змін. Хлопці ніколи не стверджували, що це буде працювати в цій обстановці, але якщо ви тільки починаєте в цій області, інколи нюанси не очевидні.


5
Мені потрібна секунда, щоб зрозуміти, що обчислення альфа тут вирішує задачу регресії хребта в X та y з регуляризатором лямбда. Якщо ви приїжджаєте до лікарів-терапевтів, то дивлячись на свої формули, це дещо очевидно, і з точки зору SVM це трохи заплутано. Ваше "звичайне передбачення ядра" - це група з додаванням шуму, також регресія хребта ядра.
Андреас Мюллер

1
@AndreasMueller так вибачте, що це правильно! Я дуже сподіваюся з спільноти GP, так що іноді не помічаю! Радий, що ти зрозумів, що я мав на увазі :)
j__

1
@j__, якщо у вас є час, у мене є питання про RFF тут: stats.stackexchange.com/questions/440633 . Здається, відповідь на моє запитання полягає в тому, щоб краще зрозуміти RKHS та теорему представника.
gwg
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.