Radiale Basisfunktion

aus Wikipedia, der freien Enzyklopädie
Dies ist die aktuelle Version dieser Seite, zuletzt bearbeitet am 18. November 2021 um 18:47 Uhr durch imported>Butäzigä(3694195) (Änderungen von 2001:16B8:18D5:B400:259D:C749:1850:5D06 (Diskussion) auf die letzte Version von Christian1985 zurückgesetzt).
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Eine radiale Basisfunktion (RBF) ist eine reelle Funktion , deren Wert nur vom Abstand zum Ursprung abhängt, so dass . Der Name kommt daher, dass die Funktion nach dieser Definition radialsymmetrisch ist und ferner diese Funktionen als Basisfunktionen einer Approximation verwendet werden. Allgemeiner kann man den Abstand zu einem Punkt c betrachten, der Zentrum genannt wird, so dass .

Eigenschaften

Jede Funktion für die gilt ist eine RBF. Als Norm wird gewöhnlich die euklidische Norm gewählt, je nach Problem sind auch andere Normen möglich. Nimmt man beispielsweise die von der Lukaszyk-Karmowski-Metrik induzierte Norm, so ist es bei manchen RBFs möglich, Probleme mit schlecht konditionierten Matrizen zu umgehen, die zur Berechnung der Koeffizienten, die bei Approximation durch RBFs auftreten, erforderlich sind. Da es sich bei dem Radius um eine skalare Größe handelt, ist das Verhalten bezüglich des Aufwandes im höherdimensionalen Raum gutartig.

Typen radialer Basisfunktionen

Stückweise polynomielle RBF () , für ungerade
Thin Plate Spline () , für gerade
Multiquadric RBF (MQ)
Inverse multiquadric RBF (IMQ)
Inverse quadric RBF (IQ)
gaußsche RBF (GS)

Approximation mit Hilfe von RBFs

Typischerweise werden Linearkombinationen von radialen Basisfunktionen zur Approximation von Funktionen genutzt: . Hierbei wird die zu approximierende Funktion durch eine Summe von radialen Basisfunktionen angenähert, die verschiedene Zentren haben und durch die Koeffizienten gewichtet sind. Weiterhin ist zu beachten, dass die Funktionswerte an den Zentren/Stützstellen exakt eingehalten werden.

Approximationsmethoden dieser Art werden zur Modellierung nichtlinearer Systeme (mit ausreichend einfachem chaotischem Verhalten), zur 3D-Rekonstruktion in der Computergrafik (beispielsweise hierarchische RBFs) oder zur Erstellung von Antwortflächen in der Optimierung eingesetzt. Weitere Anwendungsbereiche von RBFs sind das Lösen von partiellen Differentialgleichungen (z. B. mittels gitterfreier Kollokation) oder Transformationen bei der Bildregistrierung.

Funktionsweise

Zur Verdeutlichung der Funktionsweise soll die Funktion mit Hilfe der Gaußschen RBF approximiert werden. Dazu werden im ausgewählten Bereich von sechs gleichmäßig verteilte Stützstellen zu Rate gezogen. Den freien Parameter muss man dabei kalibrieren. Die Abbildung für den approximierten Funktionsverlauf zeigt zwei unterschiedliche Vorgaben für . Dabei ist mit der schwarzen Approximation der optimale Wert () dargestellt und mit dem roten Verlauf die intuitive Wahl von , welche die Superposition einzelner Gauß-Funktionen aufzeigt.

Bestimmung der Koeffizienten

Für die Bestimmung der Koeffizienten der radialen Basisfunktionen muss ein lineares Gleichungssystem gelöst werden. Dies wird mit Hilfe von ausgewählten Stützstellen aufgestellt. Dabei besteht die Matrix aus den Werten der Basisfunktion, die sich aus den Abständen der Stützstellen ergeben, der zu bestimmende Vektor enthält die Koeffizienten der radialen Basisfunktionen und die rechte Seite des linearen Gleichungssystems beinhaltet die Funktionswerte an den Stützstellen.

Für einen Funktionswert einer -ten Stützstelle gilt:

mit der Abkürzung .

Somit lässt sich das folgende Gleichungssystem aufstellen.

Umsetzung im Quelltext

Die Bestimmung der Koeffizienten kann mit Hilfe des angegebenen Matlab-Quelltextes erfolgen.

function [lam,coreFunction] = RBFcalcCoeff(a,xk,fk)

coreFunction = @(x) exp(-(a.*x).^2);   %%% definieren der RBF (phi(x))

N = length(xk);                        %%% N ausgewählte Stützstellen

A = zeros(N,N);                        %%% Initialisierung der Matrix A

for i1 = 1:N                           %%% Schleife über alle Zeilen
  for i2 = i1:N                        %%% Schleife über alle Spalten
      r = sqrt((xk(i1)-xk(i2)).^2);    %%% Bestimmung des Radius
      A(i1,i2) = coreFunction(r);      %%% Funktionswert der Matrix
      A(i2,i1) = A(i1,i2);
  end
end

lam=A\fk;                              %%% Lösung des Gleichungssystems

Neuronale Netze

Insofern Künstliche neuronale Netze eine zur Approximation geeignete Verfahrensart sind, besonders bei hochdimensionalen Problemen, stellen RBF ein spezielles Modell für solche Netze dar.

Literatur

  • Martin D. Buhmann: Radial Basis Functions: Theory and Implementations. Cambridge University Press, 2003
  • E. Larsson, B. Fornberg: A Numerical Study of some Radial Basis Function based Solution Methods for Elliptic PDEs. In: Computers & Mathematics with Applications, Volume 46, 2003
  • H. Wendland: Scattered Data Approximation. Cambridge University Press, 2005

Weblinks