線形回帰で使用されるガウス基底関数パラメーターの理解


12

ガウス基底関数を線形回帰の実装に適用したいと思います。残念ながら、基底関数のいくつかのパラメーターを理解するのに苦労しています。特にμおよびσです。

私のデータセットは10,000 x 31のマトリックスです。10,000個のサンプルと31個の機能。「各基底関数は入力ベクトルxをスカラー値に変換します」と読みました。したがって、xは1サンプルなので、1 x 31ベクトルであると想定します。ここから私は混乱しています。正確に何であるμjパラメータは?これが基底関数の位置を支配することを読んだことがあります。これは何かの平均ではありませんか?また、下付き文字j(μおよびϕ)によって投げ捨てられます。これにより、j番目の行と思われます。しかし、それは意味をなさないようです。あるμjベクトル?さて、σそれは「空間規模を支配する」。それは正確に何ですか?このパラメーターに対して.1、.5、2.5などの値を試す実装をいくつか見てきました。これらの値はどのように計算されますか?私は研究を行い、そこから学ぶための例を探してきましたが、現時点ではまだ見つけることができていません。どんな助けや指示も大歓迎です!ありがとうございました。

回答:


11

混乱しているので、まずは問題を述べ、質問を一つずつ取り上げてみましょう。あなたは万のサンプルサイズがあり、各サンプルは、特徴ベクトルによって記述されている。あなたがガウス放射基底関数を使用して回帰を実行する場合は、フォームの機能を探しているF X = Σ jを W J * のG JX μ Jσ JJ = 1 ... M グラムのIxR31

f(x)=jwjgj(x;μj,σj),j=1..m
giあなたの基本機能です。具体的には、あなたが見つける必要が重みW jで指定されたパラメータになるようにμ J及びσ jのあなたがとの間の誤差最小化Yと対応する予測Y = F Xのmwjμjσjyy^f(x^)通常は、最小二乗誤差を最小化します- 。

Mu添え字jパラメーターとは正確には何ですか?

基底関数g jを見つける必要があります。(あなたはまだ数を決定するために必要なメートルを各基底関数があります)μ Jσ jの(未知の)。下付き文字jの範囲は1からmです。mgjmμjσjj1m

あるベクトル?μj

はい、ポイントです。言い換えれば、それは特徴空間のどこかにあり、m個の基底関数のそれぞれについてμを決定する必要があります。R31μm

これが基底関数の位置を支配することを読んだことがあります。これは何かの平均ではありませんか?

基底関数を中心とするμ Jjthμj。これらの場所の場所を決める必要があります。いいえ、それは必ずしも何かの平均ではありません(しかし、それを決定する方法については下を参照してください)

さて、「空間スケールを支配する」シグマについて。それは正確に何ですか?

σ基底関数自体に目を向けると、方がわかりやすくなります。

R 2などの低次元のガウス動径基底関数を考えると役立ちます。でR 1ガウスラジアル基底関数は単に周知釣鐘曲線です。もちろん、ベルは狭くても広くてもかまいません。幅はσによって決まります。σが大きいほど、ベルの形状は狭くなります。つまり、σはベル形状の幅をスケーリングします。したがって、σ = 1の場合、スケーリングはありません。大きなσの場合R1R2R1σσσσσがかなりのスケーリングがあります。

これの目的を尋ねることができます。ベルがスペースの一部(線)をカバーしていると考える場合、狭いベルは線のごく一部しかカバーしません*。ベルの中心に近いポイントxのg jx 値は大きくなります。中心から遠く離れたポイントは、g jx )の値が小さくなります。スケーリングには、ポイントを中心から遠ざける効果があります。ベルが狭くなると、ポイントは中心から遠くに位置するため、g jx )の値が小さくなります。R1xgj(x)gj(x)gj(x)

各基底関数は入力ベクトルxをスカラー値に変換します

はい、あなたはいくつかの点で基底関数を評価しているxR31

exp(xμj222σj2)

結果としてスカラーを取得します。スカラー結果は、点の距離に依存中心からμ Jによって与えX - μ J及びスカラーσのJxμjxμjσj

このパラメーターに対して.1、.5、2.5などの値を試す実装をいくつか見てきました。これらの値はどのように計算されますか?

これはもちろん、ガウス動径基底関数を使用することの興味深く困難な側面の1つです。Webを検索すると、これらのパラメーターの決定方法に関する多くの提案が見つかります。クラスタリングに基づく1つの可能性を非常に簡単な用語で説明します。あなたはこれと他のいくつかの提案をオンラインで見つけることができます。

10000個のサンプルをクラスタリングすることから始めます(最初にPCAを使用して次元を縮小し、次にk-Meansクラスタリングを行うことができます)。を見つけるクラスターの数とすることができます(通常、相互検証を使用して最適なmを決定します)。次に、クラスターごとに動径基底関数g jを作成します。各ラジアル基底関数について聞かせてμ jは、クラスタの中心(例えば平均、重心など)こと。してみましょうσ jが(例えば半径が...)今、先に行くと、あなたの回帰を実行するクラスタの幅を反映した(この簡単な説明は、それが各ステップでの作業の多くを必要とするだけの概要-です!)mmgjμjσj

*もちろん、ベルカーブはから∞の範囲で定義されるため、ライン上のどこにでも値があります。ただし、中心から遠く離れた値は無視できます


いい答え!しかし、検索すると、サポートベクターマシン回帰(ガウスカーネル)で終了しませんか?μ
O_Devinyak 14年

@ O_Devinyak-多くの基底拡張法では、何らかのパラメータ推定が必要になります。を見つける方法はたくさんあるので、これは必ずしも問題をSVRに減らすことを意味するとは思わない。正直に言うと、私はSVRの専門家ではありませんが、最小化される損失関数は確かに異なり、多くの機能が無視されると確信しています-それがサポートベクターの方法です。基底関数では、評価にすべての関数を使用しますが、幸いコンパクトなサポートにより、基底関数の多くが無視できる値またはゼロの値を返します。とにかく、それはこのフォーラムで良い質問になりますμ
マルティーノ14年

なぜ我々は、スケール必要です、むしろ多変量ガウス分布の指数部のような基底関数のルックスになるだろう、共分散行列よりも?σj
stackunderflow

1

簡単な説明をしてみましょう。このような表記では、は行番号になりますが、機能番号にもなります。我々が書く場合、Y = β 0 + Σ J = 1 31 β J φ JX 、次にJの意味があります数、yは列ベクトルであり、β jはスカラーとなるφ JX の列ベクトルです。私たちが書く場合はyとJ = β φ jのX 、その後jy=β0+j=1:31βjϕj(x)jyβjϕj(x)yj=βϕj(x)は行番号、 y jはスカラー、 βは列ベクトル、 ϕ jx は行ベクトルです。iが行を示し、 jが列を示す表記法がより一般的であるため、最初のバリアントを使用します。jyjβϕj(x)ij

、線形回帰にガウス基底関数を導入(スカラー)は今の機能の数値に依存しないと、xはI(ベクトル)が、間の距離にX Iと他のすべての点の中心がμ Iを。このように、Y 私がいるかどうかに依存しないJ番目の特徴値I番目の観測が高いか小さいが、かどうかに依存J番目の特徴量が近いか遠いものの平均からであるJ -feature μ I 、J。だから、μ Jyixixiμiyijijjμijμjσ2yyσ2


0

The Gaussian basis functions in the multivariate settings have multivariate centers. Assuming that your xR31, then μjR31 as well. The Gaussian has to be multivariate, i.e. e(xμj)Σj1(xμj) where ΣjR31×31 is a covariance matrix. The index j is not a component of a vector, it is just the jth vector. Similarly, Σj is the jth matrix.

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.