Grundlegendes zu Gaußschen Basisfunktionsparametern für die lineare Regression

12

Ich möchte die Gaußsche Basisfunktion auf eine lineare Regressionsimplementierung anwenden. Leider fällt es mir schwer, ein paar Parameter in der Basisfunktion zu verstehen. Insbesondere und .μσ

Mein Datensatz ist eine 10.000 x 31-Matrix. 10.000 Samples und 31 Features. Ich habe gelesen, dass "Jede Basisfunktion den Eingabevektor x in einen Skalarwert umwandelt". Ich gehe also davon aus, dass x 1 Stichprobe ist, also ein 1 x 31-Vektor. Von hier aus bin ich verwirrt. Was genau ist der Parameter? Ich habe gelesen, dass dies die Orte der Basisfunktionen regelt. Ist das also nicht die Bedeutung von etwas? Ich werde auch durch den Index j ( und ) abgeworfen, das bringt mich dazu, an die dritte Zeile zu denken. Aber das scheint keinen Sinn zu ergeben. Ist das ein Vektor? Nun zum μ ϕ μ j σμjμϕμjσdas "regelt die räumliche Skala". Was genau ist das Ich habe einige Implementierungen gesehen, die Werte wie .1, .5, 2.5 für diesen Parameter ausprobieren. Wie werden diese Werte berechnet? Ich habe recherchiert und nach Beispielen gesucht, um daraus zu lernen, aber bis jetzt konnte ich keine finden. Jede Hilfe oder Anweisung wird sehr geschätzt! Vielen Dank.

user2743
quelle

Antworten:

11

Da Sie verwirrt sind, lassen Sie mich zunächst das Problem benennen und Ihre Fragen nacheinander beantworten. Sie haben eine Stichprobengröße von 10.000 und jede Stichprobe wird durch einen Merkmalsvektor . Wenn Sie Regression Gaußsche radiale Basisfunktionen ausführen wollen , dann sucht eine Funktion der Form f ( x ) = Σ j w j * g j ( x ; μ j , σ j ) , j = 1 .. m , wo die g ixR31

f(x)=jwjgj(x;μj,σj),j=1..m
gisind Ihre Basisfunktionen. Genauer gesagt, müssen die finden Gewichte w j , so daß für gegebene Parameter μ j und σ j der Fehler zwischen minimieren y und der entsprechenden Prädiktion y = f ( x ) - in der Regel wird man die Minimierung der kleinsten Quadrate Fehler.mwjμjσjyy^f(x^)

Was genau ist der Parameter Mu-Index j?

Sie müssen Basisfunktionen g j finden . (Sie müssen noch die Zahl m bestimmen . ) Jede Basisfunktion hat ein μ j und ein σ j (ebenfalls unbekannt). Der Index j reicht von 1 bis m .mgjmμjσjj1m

Ist das ein Vektor?μj

Ja, das ist ein Punkt in . Mit anderen Worten, es ist ein Punkt in Ihrem Merkmalsraum, und für jede der m Basisfunktionen muss ein μ bestimmt werden.R31μm

Ich habe gelesen, dass dies die Orte der Basisfunktionen regelt. Ist das also nicht die Bedeutung von etwas?

Die Basisfunktion ist auf μ j zentriert . Sie müssen sich entscheiden, wo sich diese Standorte befinden. Also nein, es ist nicht unbedingt der Mittelwert von irgendetwas.jthμj

Nun zum Sigma, das "die räumliche Skala regiert". Was genau ist das

ist leichter zu verstehen, wenn wir uns den Basisfunktionen selbst zuwenden.σ

Es ist hilfreich, sich die Gaußschen radialen Basisfunktionen in niedrigeren Dimensionen vorzustellen, z. B. oder R 2 . In R 1 ist die Gaußsche radiale Basisfunktion nur die bekannte Glockenkurve. Die Glocke kann natürlich schmal oder breit sein. Die Breite wird durch σ bestimmt - je größer σ ist, desto schmaler ist die Glockenform. Mit anderen Worten skaliert σ die Breite der Glockenform. Für σ = 1 haben wir also keine Skalierung. Für großes σ haben wir eine erhebliche Skalierung.R1R2R1σσσσσ

Sie können fragen, was der Zweck davon ist. Wenn Sie sich vorstellen, dass die Glocke einen Teil des Raums bedeckt (eine Linie in ), bedeckt eine schmale Glocke nur einen kleinen Teil der Linie *. Punkte x in der Nähe der Glockenmitte haben einen größeren g j ( x ) -Wert. Punkte, die weit vom Zentrum entfernt sind, haben einen kleineren g j ( x ) -Wert. Durch die Skalierung werden Punkte weiter von der Mitte entfernt verschoben - da sich die Glocke weiter von der Mitte entfernt, wird der Wert von g j ( x ) verringert.R1xgj(x)gj(x)gj(x)

Jede Basisfunktion konvertiert den Eingabevektor x in einen Skalarwert

Ja, Sie evaluieren irgendwann die Basisfunktionen .xR31

exp(xμj222σj2)

Als Ergebnis erhalten Sie einen Skalar. Das skalare Ergebnis hängt von der Entfernung des Punktes vom Zentrum μ j gegeben durch x - μ j und der skalaren σ j .xμjxμjσj

Ich habe einige Implementierungen gesehen, die Werte wie .1, .5, 2.5 für diesen Parameter ausprobieren. Wie werden diese Werte berechnet?

Dies ist natürlich einer der interessanten und schwierigen Aspekte der Verwendung von Gaußschen radialen Basisfunktionen. Wenn Sie im Internet suchen, finden Sie viele Vorschläge, wie diese Parameter bestimmt werden. Ich werde in sehr einfachen Worten eine Möglichkeit umreißen, die auf Clustering basiert. Sie können dieses und einige andere Vorschläge online finden.

Beginnen Sie mit dem Clustering Ihrer 10000 Stichproben (Sie könnten zuerst PCA verwenden, um die Dimensionen zu reduzieren, gefolgt von k-Means-Clustering). Sie können die Anzahl der gefundenen Cluster angeben (in der Regel wird eine Kreuzvalidierung verwendet, um das beste m zu ermitteln ). Erstellen Sie nun für jeden Cluster eine radiale Basisfunktion g j . Für jede radiale Basisfunktion sei μ j das Zentrum (z. B. Mittelwert, Schwerpunkt usw.) des Clusters. Lassen Sie σ j die Breite des Clusters widerspiegeln (z. B. Radius ...). Führen Sie nun Ihre Regression durch (diese einfache Beschreibung ist nur eine Übersicht - bei jedem Schritt ist viel Arbeit erforderlich!).mmgjμjσj

* Natürlich ist die Glockenkurve von - bis ∞ definiert, sodass überall auf der Linie ein Wert angezeigt wird. Die Werte weit vom Zentrum sind jedoch vernachlässigbar

martino
quelle
Gute Antwort! Beenden wir die Suche nach jedoch nicht mit der Regression der Support-Vektor-Maschine (mit Gauß-Kernel)? μ
O_Devinyak
@ O_Devinyak- Viele Basiserweiterungsmethoden erfordern eine Art Parameterschätzung. Es gibt viele Möglichkeiten, zu finden, daher denke ich nicht, dass dies bedeutet, dass wir das Problem auf SVR reduzieren. Um ehrlich zu sein, ich bin kein Experte für SVR, aber die Verlustfunktion, die minimiert wird, ist sicherlich anders und ich bin sicher, dass viele der Funktionen ignoriert werden - das ist der Support Vector-Weg. Mit Basisfunktionen nutzen wir alle Funktionen zur Auswertung, aber glücklicherweise bedeutet die kompakte Unterstützung, dass viele der Basisfunktionen vernachlässigbare oder Nullwerte zurückgeben. Wie auch immer, es wäre eine gute Frage in diesem Forumμ
Martino
Warum brauchen wir eine Skala anstelle einer Kovarianzmatrix, die die Basisfunktion wie den exponentiellen Teil eines multivariaten Gaußschen aussehen lässt? σj
Stackunderflow
1

jy=β0+j=1:31βjϕj(x)jyβjϕj(x)yj=βϕj(x)jyjβϕj(x)ij

yixixiμiyijijjμijμjσ2yyσ2

O_Devinyak
quelle
0

xR31μjR31e(xμj)Σj1(xμj)ΣjR31×31jjΣjj

Karel Macek
quelle