ランダムキッチンシンクはどのように機能しますか?


18

昨年のNIPS 2017では、アリラヒミとベンレヒトが論文「大規模カーネルマシンのランダム機能」で時間賞受賞し、ランダムキッチンシンクアルゴリズムとして体系化されました。彼らの論文を公表する一環として、彼らは彼らのモデルが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);

上記のアルゴリズムがどのように何かを学習するかは私には不明です。ランダムキッチンシンクはどのように機能しますか?どのようにガウスプロセスに近似し、ベクターマシンをサポートしますか?

編集

Rahimiの講演を再確認すると、ランダムキッチンシンクという用語は、受賞した論文ではなく、「大規模カーネルマシンのランダム機能」で始まる論文の3部作の終わりに導入されています。他の論文は次のとおりです。

ラヒミ、アリ、ベンジャミンレヒト。「ランダムベースを持つ関数の均一近似。」コミュニケーション、制御、コンピューティング、2008年第46回アラートン会議。IEEE、2008。

ラヒミ、アリ、ベンジャミンレヒト。「ランダムキッチンシンクの加重合計:学習における最小化をランダム化に置き換えます。」神経情報処理システムの進歩。2009。

上で紹介したコードスニペットは、前回の論文のアルゴリズム1の特殊化だと思います。


リンクされた論文には、「シンク」という言葉も引用したコードも表示されません。参照がありませんか?
Kodiologist

2
あなたはとても正しい、ありがとう。2017年の講演の文脈がなければ、質問は少しバラバラに思えます!このアイデアは最初の論文で開発されましたが、ランダムキッチンシンクという用語は後で紹介されただけだと思います。このコードスニペットは、2007年の論文のポスターセッションで配布されたようです。私はNIPS 2017年にラヒミの話からそれを転写
MachineEpsilon

回答:


15

ランダムキッチンシンク(またはランダムフーリエ機能)およびその他の関連メソッドは、推論を実行しようとはしませんが、カーネルベースの推論メソッドのボトルネックを削減しようとします。

n×nO(n3

ランダムフーリエ機能(Rehimi&Recht 2007)は、カーネルフーリエ成分のランダムなサブセットのみをサンプリングすることにより、シフト不変カーネルの低ランク近似を作成することを検討しました。フーリエ空間はシフト不変であるため、この特性は保存されていましたが、これらのフーリエ成分の結合により、明示的な有限次元再現カーネルヒルベルト空間が形成されました。かつて無限次元のRKHSは、縮退近似カーネルによって近似されます。

コードスニペットに関する注意: 5行にいくつかの詳細が記載されています。最も重要なことは、ガウス関数もフーリエ空間でのガウス関数であり、分散のみが反転することです。そのため、彼らはrandnからサンプリングし、分散を掛けています。次に、ztestを見つけるためのサブ手順にすぎないアルファを生成します。基本的に、通常のカーネル予測は次のようになります。

ztest=K(xtest,x)(K(x,x)+λI)1y.

ztest=Φ(xtest)TΦ(x)(Φ(x)TΦ(x)+λI)1y.

Φ

サイドコメント:あなたはそれを使うべきですか?答えは明確な「はい」ではありません。それはあなたがモデリングしているものに完全に依存します。フーリエ空間の使用は、非定常で非シフトの不変カーネルには必ずしも適切ではありません。連中は、この設定で機能するとは決して主張しませんでしたが、その地域で始めたばかりの場合は、微妙な違いがはっきりしないことがあります。


5
ここでアルファを計算すると、正則化ラムダを使用してXとyのリッジ回帰問題を解くことになることに気付きました。GPから来て、自分の公式を見ると、これはいくぶん明白であり、SVMの角度から来ると、少し混乱します。「通常のカーネル予測」は、ノイズが追加されたGP、つまりカーネルリッジ回帰です。
アンドレアスミューラー

1
@AndreasMuellerはい、ごめんなさい、それは正しいです!私は元々GPコミュニティの出身なので、時々それを見落とすことがあります!あなたは私が何を意味するのかかかわらずだ:)グラッド
j__

1
@j__、あなたは時間があれば、私はこっちRFFsについて質問があります:stats.stackexchange.com/questions/440633を。私の質問に対する答えは、RKHSと代表定理をよりよく理解しているように思えます。
gwg
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.