เมื่อปีที่แล้วที่ NIPS 2017 Ali Rahimi และ Ben Recht ได้รับรางวัลการทดสอบเวลาสำหรับกระดาษของพวกเขา"คุณสมบัติการสุ่มสำหรับเคอร์เนลขนาดใหญ่"ที่พวกเขาแนะนำคุณสมบัติแบบสุ่มประมวลผลในภายหลังเป็นอัลกอริทึม sinks ครัวแบบสุ่ม ในฐานะที่เป็นส่วนหนึ่งของการเผยแพร่รายงานของพวกเขาพวกเขาแสดงให้เห็นว่าแบบจำลองของพวกเขาสามารถนำไปใช้ใน 5 บรรทัดของ matlab
% 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);
อัลกอริทึมข้างต้นเรียนรู้อะไรที่ไม่ชัดเจนสำหรับฉัน อ่างครัวแบบสุ่มทำงานอย่างไร มันประมาณกระบวนการ Gaussian และสนับสนุนเครื่องเวกเตอร์อย่างไร
แก้ไข
Rewatching คำพูดของ Rahimi คำว่า sinks ครัวแบบสุ่มไม่ได้ถูกนำเสนอในกระดาษที่พวกเขาได้รับรางวัล แต่ในตอนท้ายของตอนจบของเอกสารเริ่มต้นด้วย "คุณสมบัติสุ่มสำหรับเคอร์เนลขนาดใหญ่" เอกสารอื่น ๆ คือ:
ฉันคิดว่าข้อมูลโค้ดที่แนะนำข้างต้นเป็นความเชี่ยวชาญของ Algorithm 1 ในบทความล่าสุด