Kernel-Trick: RBF, polynomialer Kernel und Sigmoid
Warum Kernel funktionieren, der Gamma-Parameter des RBF-Kernels, Auswahl geeigneter Kernel für verschiedene Datenformen.
Kernel-Trick: RBF, polynomialer Kernel und Sigmoid ist eine kostenlose Learn AI with Python-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Learn AI with Python-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.
Wenn Linien nicht ausreichen
Eine lineare SVM kann nur gerade Grenzen zeichnen. Viele Datensätze sind nicht linear trennbar: Ein Kreis einer Klasse, der von einer anderen Klasse umgeben ist, lässt sich nicht durch eine Linie trennen. Der Kernel-Trick löst dieses Problem.
Abbildung in höhere Dimensionen
Wenn Daten in ihrem ursprünglichen Raum nicht trennbar sind, kann ihre Projektion in einen höherdimensionalen Raum eine Trennung ermöglichen. Eine Kurve in 2D kann in 3D zu einer flachen Ebene werden.
Der Kernel-Trick
Der Kernel-Trick berechnet die Ähnlichkeit K(x, z) zwischen Punkten, als ob sie in höhere Dimensionen abgebildet worden wären, ohne diese aufwendige Abbildung tatsächlich durchzuführen. Dadurch werden nichtlineare SVMs effizient.
Was eine Kernel-Funktion ist
Ein Kernel K(x, z) ist eine Funktion, die das Skalarprodukt von x und z in einem höherdimensionalen Merkmalsraum zurückgibt. Verschiedene Kernel entsprechen unterschiedlichen Merkmalsabbildungen und Formen der Entscheidungsgrenze.
Der RBF-Kernel
Der RBF-(Gauß-)Kernel ist der beliebteste Standardkernel: K(x, z) = exp(-gamma * ||x - z||^2). Er misst eine mit der Entfernung abnehmende Ähnlichkeit und ermöglicht flexible, gekrümmte Entscheidungsgrenzen.
from sklearn.svm import SVC
model = SVC(kernel="rbf", gamma="scale", C=1.0)
model.fit(X, y)Der Parameter gamma
gamma steuert die Breite des RBF-Kernels. Ein großes gamma bedeutet, dass jeder Punkt nur einen kleinen Einflussbereich hat, wodurch eine unruhige Grenze entsteht, die zu Overfitting führen kann. Ein kleines gamma bedeutet einen größeren Einflussbereich und eine glattere Grenze.
from sklearn.svm import SVC
wiggly = SVC(kernel="rbf", gamma=10) # tight, can overfit
smooth = SVC(kernel="rbf", gamma=0.01) # broad, may underfitgamma und C gemeinsam
RBF-SVMs hängen sowohl von gamma (Flexibilität der Grenze) als auch von C (Fehlertoleranz) ab. Die beiden Parameter beeinflussen sich gegenseitig, daher stimmen Sie sie normalerweise gemeinsam per Grid Search ab.
from sklearn.model_selection import GridSearchCV
from sklearn.svm import SVC
param = {"C": [0.1, 1, 10], "gamma": [0.01, 0.1, 1]}
gs = GridSearchCV(SVC(kernel="rbf"), param, cv=5)
gs.fit(X, y)Der Polynomial-Kernel
Der Polynomial-Kernel K(x, z) = (gamma * x . z + r)^degree modelliert Interaktionen bis zu einem festgelegten Grad. Verwenden Sie ihn, wenn Sie Interaktionen mit einer bekannten Ordnung erwarten.
from sklearn.svm import SVC
model = SVC(kernel="poly", degree=3, coef0=1, gamma="scale")
model.fit(X, y)Der Sigmoid-Kernel
Der Sigmoid-Kernel K(x, z) = tanh(gamma * x . z + r) verhält sich wie eine Aktivierungsfunktion eines neuronalen Netzes. Er wird seltener verwendet und ist nicht immer ein gültiger Kernel, daher ist er nur selten die erste Wahl.
from sklearn.svm import SVC
model = SVC(kernel="sigmoid", gamma="scale", coef0=0)Einen Kernel auswählen
Orientierung:
- Linear für hochdimensionale Daten oder Textdaten
- RBF als leistungsstarker allgemeiner Standard für nichtlineare Daten
- Polynomial, wenn Interaktionen eines bekannten Grades relevant sind
- Sigmoid nur selten, für spezielle Anwendungsfälle
Merkmale immer skalieren
Kernel wie RBF basieren auf Distanzen, daher ist die Skalierung der Merkmale äußerst wichtig. Standardisieren Sie Merkmale immer vor der Verwendung einer Kernel-SVM, da Merkmale mit großen Skalen sonst die Ähnlichkeit dominieren.
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.svm import SVC
pipe = make_pipeline(StandardScaler(), SVC(kernel="rbf"))
pipe.fit(X, y)Kurze Überprüfung
Testen Sie Ihr Wissen über Kernel.
Zusammenfassung
Zusammenfassung: Der Kernel-Trick berechnet K(x, z) als Skalarprodukt in einem höherdimensionalen Raum, ohne die Kosten der tatsächlichen Abbildung, und ermöglicht dadurch nichtlineare Grenzen. RBF verwendet exp(-gamma * ||x-z||^2), wobei ein großes gamma zu Overfitting führt. Polynomial erfasst Interaktionen bis zu einem bestimmten Grad. Skalieren Sie Merkmale immer vor der Verwendung von Kernel-SVMs.
Häufig gestellte Fragen
Ist die Lektion „Kernel-Trick: RBF, polynomialer Kernel und Sigmoid“ kostenlos?
Ja — der vollständige Text von „Kernel-Trick: RBF, polynomialer Kernel und Sigmoid“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Learn AI with Python-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Kernel-Trick: RBF, polynomialer Kernel und Sigmoid“?
Warum Kernel funktionieren, der Gamma-Parameter des RBF-Kernels, Auswahl geeigneter Kernel für verschiedene Datenformen. Du übst Learn AI with Python mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Learn AI with Python zu starten?
Keine Vorkenntnisse erforderlich. Learn AI with Python auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.
Wie lange dauert die Lektion „Kernel-Trick: RBF, polynomialer Kernel und Sigmoid“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Learn AI with Python-Lektion Code schreiben und ausführen?
Ja. Jede Learn AI with Python-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- SVM-Theorie: Margins und Support-Vektoren
- Kernel-Trick: RBF, polynomialer Kernel und Sigmoid
- SVMs zur Klassifikation mit sklearn
- SVMs zur Regression (SVR)