Gaußsche Kernpython

Zeeshan Afridi 21 Juni 2023
  1. Überblick über den Gaußschen Kernel
  2. NumPy-Bibliothek in Python
  3. Verwenden Sie NumPy, um die Gaußsche Kernel-Matrix zu berechnen
Gaußsche Kernpython

Dieses Tutorial beschreibt den Gaußschen Kernel und demonstriert die Verwendung der NumPy-Bibliothek zur Berechnung der Gaußschen Kernelmatrix in Python.

Überblick über den Gaußschen Kernel

Der Gaußsche Kernel ist eine beliebte Funktion, die in verschiedenen maschinellen Lernalgorithmen verwendet wird. Es ist auch als Radial Basis Function (RBF)-Kernel bekannt.

Der Gaußsche Kern ist eine Funktion, die zwei Eingaben (x und y) entgegennimmt und einen Wert zurückgibt, der die Ähnlichkeit zwischen den beiden Eingaben angibt.

Der Gaußsche Kernel wird häufig in Support Vector Machines (SVMs) und anderen überwachten Lernalgorithmen verwendet. Die Kernel-Funktion ist definiert als:

K(x, y) = e^-{(\frac{||x-y||^{2}}{2\sigma^2})}

wobei ||x-y|| ist der euklidische Abstand zwischen x und y, und sigma ist ein Parameter, der die Breite der Gaußschen Funktion steuert.

Der Gaußsche Kern ist eine positiv bestimmte Funktion, die immer eine positive Zahl zurückgibt. Diese Eigenschaft ist in vielen maschinellen Lernalgorithmen hilfreich, da sie es dem Algorithmus ermöglicht, Punkte zu bestrafen, die weit von der Entscheidungsgrenze entfernt sind.

NumPy-Bibliothek in Python

Die NumPy-Bibliothek ist das beste Werkzeug zur Durchführung numerischer Operationen in Python. Darüber hinaus bietet es eine Vielzahl von Funktionen, die es zur idealen Wahl für wissenschaftliche und technische Berechnungen machen.

Einige der Hauptfunktionen von NumPy sind:

  1. Ein leistungsfähiges N-dimensionales Array-Objekt.
  2. Anspruchsvolle (Rundfunk-)Funktionen.
  3. Tools zur Integration von C/C++ und Fortran-Code.
  4. Funktionen für lineare Algebra, Fourier-Transformation und Zufallszahlen.

NumPy ist kostenlos und Open-Source, und seine Community ist aktiv und unterstützend. Daher ist es eine ausgezeichnete Wahl für alle, die nach einer leistungsstarken Bibliothek für numerische Berechnungen für Python suchen.

Wir können die Numpy-Bibliothek für wissenschaftliches Rechnen in Python verwenden. Es stellt ein hochleistungsfähiges multidimensionales Array-Objekt und Tools zum Arbeiten mit diesen Arrays bereit.

Wir können es auch für numerische Analysen und maschinelles Lernen in Python verwenden. Und es ist auch die Grundlage für die berühmte Panda-Bibliothek und die Grundlage der beliebten SciPy-Bibliothek.

Verwenden Sie NumPy, um die Gaußsche Kernel-Matrix zu berechnen

In Numpy wird die Gaussian-Funktion über die Gaussian Kernel-Funktion implementiert. Diese Funktion nimmt zwei Arrays als Eingabe. Das erste Array ist ein reguläres Standard-Array, und das zweite Array ist eine Matrix von Gewichtungen.

Die Ausgabe von Gaussian Kernel ist eine Ergebnismatrix. Eine Gaußsche Kernel-Matrix ist eine 3 x 3-Matrix und ein Array von 9-Zahlen.

Beispielsweise sind Zahlen wie w_0, w_1, w_2, w_3, epsilon, sigma, gamma und kappa.

Die Gaußsche Kernmatrix ist eine Matrix, die verwendet wird, um die Ergebnisse eines Gaußschen Prozesses anzunähern. Sie setzt sich aus dem Produkt zweier Matrizen zusammen:

  1. Die Datenmatrix.
  2. Die Inverse der Kovarianzmatrix.

Die Datenmatrix ist eine Matrix der Datenpunkte, die im Gaußschen Prozess verwendet werden. Die Umkehrung der Kovarianzmatrix ist eine Matrix, die zum Schätzen der Unsicherheiten in den Daten verwendet wird.

Um die Gaußsche Kernmatrix zu berechnen, müssen Sie zuerst das Produkt der Datenmatrix und die Inverse der Kovarianzmatrix berechnen. Dies kann mit der NumPy-Bibliothek erfolgen.

Wir können die NumPy-Funktion pdist verwenden, um die Gaußsche Kernel-Matrix zu berechnen. Diese Funktion nimmt ein Array von Datenpunkten und berechnet die paarweisen Abstände zwischen ihnen.

Wir können dann die Exponentialfunktion verwenden, um den Gaußschen Kern für jedes Datenpunktpaar zu berechnen.

Die Gaußsche Kernmatrix ist eine quadratische Matrix mit den Dimensionen n x n, wobei n die Anzahl der Datenpunkte ist. Die Elemente der Matrix sind die paarweisen Abstände zwischen den Datenpunkten.

Beispielcode:

import numpy as np
import scipy.stats as st


def gkern(kernlen=21, nsig=3):
    """Returns a 2D Gaussian kernel."""

    x = np.linspace(-nsig, nsig, kernlen + 1)
    kern1d = np.diff(st.norm.cdf(x))
    kern2d = np.outer(kern1d, kern1d)
    return kern2d / kern2d.sum()


gkern(5, 2.5) * 273

Ausgang:

array([[ 1.0278445 ,  4.10018648,  6.49510362,  4.10018648,  1.0278445 ],
       [ 4.10018648, 16.35610171, 25.90969361, 16.35610171,  4.10018648],
       [ 6.49510362, 25.90969361, 41.0435344 , 25.90969361,  6.49510362],
       [ 4.10018648, 16.35610171, 25.90969361, 16.35610171,  4.10018648],
       [ 1.0278445 ,  4.10018648,  6.49510362,  4.10018648,  1.0278445 ]])

Der Gaußsche Kern ist eine normierte radiale Basisfunktion zur Lösung partieller Differentialgleichungen. In Numpy wird der Gaußsche Kern durch ein zweidimensionales NumPy-Array dargestellt.

Das 2-dimensionale Array wird als kernel matrix bezeichnet. Die Gaußsche Kernel-Matrix kann mit der Funktion np.exp(x) auf einem NumPy-Array erhalten werden.

Zeeshan Afridi avatar Zeeshan Afridi avatar

Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.

LinkedIn