Fluch der Dimensionalität. Eine Einführung in die Herausforderungen von… | von Mohit Mishra | Juni 2023

0
30


Eine Einführung in die Herausforderungen hochdimensionaler Daten

„Der Fluch der Dimensionalität ist der Fluch des maschinellen Lernens.“ — Pedro Domingos

Der Fluch der Dimensionalität bezieht sich auf das Phänomen, dass die Schwierigkeit der Datenanalyse mit zunehmender Anzahl von Dimensionen zunimmt. Dies liegt daran, dass das Volumen des Datenraums exponentiell mit der Anzahl der Dimensionen wächst. Dadurch werden die Daten spärlicher und der Abstand zwischen den einzelnen Punkten nimmt zu. Dadurch wird es schwieriger, Muster oder Beziehungen in den Daten zu finden.

Eine Möglichkeit, dies zu verstehen, ist das Konzept des Verhältnisses „Oberfläche zu Volumen“. Mit zunehmender Anzahl der Dimensionen wächst das Volumen des Datenraums viel schneller als die Oberfläche. Dies bedeutet, dass in der Nähe jedes Punkts relativ weniger Daten vorhanden sind, wodurch es schwieriger wird, Muster oder Beziehungen zu erkennen.

Eine andere Möglichkeit, den Fluch der Dimensionalität zu verstehen, ist das Konzept der Distanz. In hochdimensionalen Räumen verliert der Abstand zwischen den einzelnen Punkten an Bedeutung. Dies liegt daran, dass der Abstand zwischen zwei Punkten im hochdimensionalen Raum von einem einzelnen Merkmal dominiert werden kann, auch wenn dieses Merkmal nicht besonders informativ ist.

Der Fluch der Dimensionalität kann erhebliche Auswirkungen auf die Genauigkeit und Leistung von Modellen für maschinelles Lernen haben und zu einer Über- oder Unteranpassung führen, was die Fähigkeit des Modells, intestine auf unsichtbare Daten zu verallgemeinern, beeinträchtigen kann.

Das Hochdimensionalitätsproblem stellt ein erhebliches Hindernis für Datenwissenschaftler dar, da es ihre Fähigkeit beeinträchtigt, Muster in den Daten zu erkennen, genaue Modelle für maschinelles Lernen zu entwickeln und zuverlässige Vorhersagen zu treffen. Das Downside äußert sich dadurch, dass die Daten spärlicher werden und der Abstand zwischen den Datenpunkten mit zunehmender Anzahl der Dimensionen zunimmt.

Dieses Phänomen kann zu einer Überanpassung führen, bei der das Modell übermäßig komplex wird und Rauschen in den Daten anstelle der zugrunde liegenden Muster erfasst. Umgekehrt kann es zu einer Unteranpassung kommen, wenn das Modell zu einfach ist und die Komplexität der Daten nicht erfasst. Diese Probleme können die Fähigkeit des Modells beeinträchtigen, sich intestine auf neue Daten zu verallgemeinern, was zu einer suboptimalen Leistung und einer verringerten Genauigkeit führt.

„Der Fluch der Dimensionalität besteht darin, dass bei hochdimensionalen Daten Abstände zwischen Punkten bedeutungslos werden.“ — John W. Tukey

Credits

Es gibt eine Reihe von Techniken, mit denen die Herausforderungen hochdimensionaler Daten bewältigt werden können. Zu diesen Techniken gehören:

  • Merkmalsauswahl: Bei der Merkmalsauswahl handelt es sich um den Prozess der Auswahl einer Teilmenge von Merkmalen, die für das vorliegende Downside am relevantesten sind. Dies kann dazu beitragen, die Anzahl der Funktionen zu reduzieren und die Leistung des Modells zu verbessern.
import pandas as pd
import numpy as np
from sklearn.feature_selection import SelectKBest
from sklearn.feature_selection import chi2

knowledge = pd.read_csv('knowledge.csv')

# Separate the goal variable and impartial variables
X = knowledge.iloc[:, :-1] # Impartial variables
y = knowledge.iloc[:, -1] # Goal variable

# Choose the highest 10 options utilizing chi-squared check
best_features = SelectKBest(score_func=chi2, okay=10)
match = best_features.match(X, y)

# Print the scores of every characteristic
scores = pd.DataFrame(match.scores_)
options = pd.DataFrame(X.columns)
feature_scores = pd.concat([features, scores], axis=1)
feature_scores.columns = ['Feature', 'Score']
print(feature_scores.nlargest(10,'Rating'))

Lassen X sei ein Datensatz mit n Stichproben und m Merkmalen. Lassen y die Zielvariable sein. Wir möchten eine Teilmenge von auswählen okay Funktionen, die am relevantesten sind y.

Eine Möglichkeit hierfür ist die Verwendung einer Bewertungsfunktion f(x_i, y) Das misst die Relevanz jedes Merkmals x_i Zu y. Dann können wir die Oberseite auswählen okay Options mit den höchsten Punktzahlen.

Eine häufig verwendete Bewertungsfunktion ist die gegenseitige Data, die die Menge an Informationen misst, die eine Variable (das Merkmal) über eine andere Variable (das Ziel) bereitstellt. Die gegenseitige Data zwischen zwei Variablen X Und Y ist gegeben durch:

I(X; Y) = H(X) - H(X|Y)

Wo H(X) ist die Entropie von X Und H(X|Y) ist die bedingte Entropie von X gegeben Y.

„Der Fluch der Dimensionalität ist der Fluch des Reichtums.“ — Stephen Smale

  • Dimensionsreduktion: Bei der Dimensionsreduktion wird die Anzahl der Options in einem Datensatz reduziert, ohne dass dabei zu viele Informationen verloren gehen. Dies kann dazu beitragen, die Leistung des Modells zu verbessern und die Visualisierung der Daten zu erleichtern.
from sklearn.decomposition import PCA

knowledge = pd.read_csv('knowledge.csv')

# Separate the goal variable and impartial variables
X = knowledge.iloc[:, :-1] # Impartial variables
y = knowledge.iloc[:, -1] # Goal variable

# Carry out PCA on the info
pca = PCA(n_components=2)
X_pca = pca.fit_transform(X)

# Plot the remodeled knowledge
import matplotlib.pyplot as plt
plt.scatter(X_pca[:,0], X_pca[:,1])
plt.xlabel('PC1')
plt.ylabel('PC2')
plt.present()

Lassen X ein Datensatz sein mit n Proben und m Merkmale. Wir möchten die Anzahl der Funktionen reduzieren m Zu okay.

Eine Möglichkeit, dies zu tun, ist PCA, das eine Reihe von findet okay orthogonale Vektoren u_1, u_2, …, u_k die die Varianz am besten erfassen X. Diese Vektoren werden Hauptkomponenten genannt.

Die erste Hauptkomponente u_1 wird gewählt, um die Varianz von zu maximieren X projiziert auf u_1. Die zweite Hauptkomponente u_2 wird gewählt, um die Varianz von X zu maximieren, auf die projiziert wird u_2 vorausgesetzt, dass es orthogonal zu ist u_1. Dieser Prozess wird fortgesetzt, bis okay Hauptkomponenten ausgewählt wurden.

Die Projektion von X auf die okay Die Hauptkomponenten sind gegeben durch:

Z = XU_k

Wo U_k = [u_1, u_2, …, u_k] ist eine Matrix, die die enthält okay Hauptbestandteile.

Die Varianz von Z Es kann gezeigt werden, dass es maximiert ist, wenn U_k wird als Eigenvektor von gewählt X^TX Entsprechend der okay größte Eigenwerte.

  • Regulierung: Regularisierung ist eine Technik, mit der eine Überanpassung verhindert werden kann. Dies kann erreicht werden, indem der Verlustfunktion des Modells eine Strafe hinzugefügt wird, die das Modell dafür bestraft, dass es zu komplex ist.
from sklearn.linear_model import Lasso

knowledge = pd.read_csv('knowledge.csv')

# Separate the goal variable and impartial variables
X = knowledge.iloc[:, :-1] # Impartial variables
y = knowledge.iloc[:, -1] # Goal variable

# Practice a Lasso regression mannequin with alpha=0.1
lasso = Lasso(alpha=0.1)
lasso.match(X, y)

# Print the coefficients of every characteristic
coefficients = pd.DataFrame(lasso.coef_)
options = pd.DataFrame(X.columns)
feature_coefficients = pd.concat([features, coefficients], axis=1)
feature_coefficients.columns = ['Feature', 'Coefficient']
print(feature_coefficients)

Lassen f(x_i, w) ein maschinelles Lernmodell sein, das Eingaben zuordnet x_i um y_i auszugeben. Lassen L(y_i, f(x_i, w)) eine Verlustfunktion sein, die die Differenz zwischen der vorhergesagten Ausgabe misst f(x_i, w) und die wahre Ausgabe y_i.

Eine Möglichkeit, eine Überanpassung zu verhindern, besteht darin, einen Regularisierungsterm hinzuzufügen R(w) zur Verlustfunktion L(y_i, f(x_i, w)). Die regulierte Verlustfunktion ist gegeben durch:

L'(y_i, f(x_i, w)) = L(y_i, f(x_i, w)) + λR(w)

wobei λ ein Hyperparameter ist, der die Stärke der Regularisierung steuert.

Ein häufig verwendeter Regularisierungsbegriff ist die L2-Regularisierung, die große Gewichte im Modell bestraft. Der L2-Regularisierungsterm ist gegeben durch:

R(w) = ||w||²

Wo ||w||² ist die quadrierte L2-Norm von w.

Zusammenfassend lässt sich sagen, dass Merkmalsauswahl, Dimensionsreduktion und Regularisierung wirksame Techniken für den Umgang mit hochdimensionalen Daten sind. Durch die Auswahl nur der relevantesten Merkmale, die Reduzierung der Gesamtdimensionalität des Datensatzes und die Verhinderung einer Überanpassung durch Regularisierung können Datenwissenschaftler die Leistung und Genauigkeit ihrer Modelle für maschinelles Lernen verbessern.

„Der Fluch der Dimensionalität besteht nicht darin, dass die Dinge komplexer werden, sondern darin, dass sie spärlicher werden.“ – Geoffrey Hinton

Hier sind einige mathematische Beweise, die verwendet werden können, um den Fluch der Dimensionalität zu verstehen:

  • Sparsamkeit: Die Datensparsität im hochdimensionalen Raum kann mit der folgenden Formel dargestellt werden:
p(d) = d! / ((d - okay)! * okay!)

Dabei ist d die Anzahl der Dimensionen und okay die Anzahl der Options.

Diese Formel zeigt, dass die Anzahl der möglichen Kombinationen von Merkmalen exponentiell mit der Anzahl der Dimensionen wächst. Dadurch nimmt die Datenmenge in den einzelnen Options ab, wodurch es schwieriger wird, Muster in den Daten zu finden.

  • Nähe: Die Nähe von Punkten im hochdimensionalen Raum kann mit der folgenden Formel dargestellt werden:
d(x, y) = sqrt(sum((x - y)²))

Wo x Und y sind zwei Punkte im hochdimensionalen Raum.

Diese Formel zeigt, dass der Abstand zwischen zwei Punkten im hochdimensionalen Raum exponentiell mit der Anzahl der Dimensionen zunimmt. Dadurch wird es schwieriger, Daten zu gruppieren oder nächste Nachbarn im hochdimensionalen Raum zu finden.

  • Überanpassung: Die Überanpassung von Modellen im hochdimensionalen Raum kann mit der folgenden Formel dargestellt werden:
R² = 1 - (1 - r²)^n

Wo ist das Bestimmtheitsmaß, ist der Korrelationskoeffizient zwischen den Merkmalen und der Zielvariablen und n ist die Anzahl der Merkmale.

Diese Formel zeigt, dass die eines Modells nimmt exponentiell mit der Anzahl der Options zu. Daher ist es wahrscheinlicher, dass Modelle die Daten im hochdimensionalen Raum überanpassen.

Der Fluch der Dimensionalität ist ein Phänomen, bei dem die Analyse von Daten mit zunehmender Anzahl von Dimensionen schwieriger wird. Dies ist auf das exponentielle Wachstum des Datenraumvolumens zurückzuführen, wodurch die Daten spärlicher werden und der Abstand zwischen den einzelnen Punkten zunimmt. Dadurch wird es schwieriger, Muster oder Zusammenhänge in den Daten zu erkennen.

Das Hochdimensionalitätsproblem kann zu einer Über- oder Unteranpassung führen, was die Fähigkeit des Modells beeinträchtigen kann, intestine auf unsichtbare Daten zu verallgemeinern. Merkmalsauswahl, Dimensionsreduktion und Regularisierung sind wirksame Techniken für den Umgang mit hochdimensionalen Daten. Mathematische Beweise zeigen, dass die Datenknappheit und die Nähe von Punkten im hochdimensionalen Raum exponentiell mit der Anzahl der Dimensionen zunehmen, was es schwieriger macht, Muster zu finden oder Daten zu gruppieren.

Die Überanpassung von Modellen im hochdimensionalen Raum ist auch eher auf den exponentiellen Anstieg des R² eines Modells mit der Anzahl der Options zurückzuführen.

„Der Fluch der Dimensionalität ist ein grundlegendes Downside in der Datenanalyse und wird nicht so schnell verschwinden.“ — Andrea Montanari



Source link

HINTERLASSEN SIE EINE ANTWORT

Please enter your comment!
Please enter your name here