Hyperparameter-Tuning zielt darauf ab, eine optimale Kombination von Parametern zu finden, die die Leistungsfähigkeit eines bereits definierten Modells maximiert. Dabei ist entscheidend, dass nicht die Maximierung der Anzahl der Hyperparameter, sondern deren gezielte Auswahl im Fokus steht. Effektive Methoden wie die Bayessche Optimierung setzen auf probabilistische Modelle, um den Suchraum intelligent zu durchforsten. Im Gegensatz zum Grid-Search, das systematisch alle möglichen Kombinationen evaluiert, oder zum Random Search, das Parameter zufällig auswählt, reduziert die Bayessche Optimierung die Anzahl der benötigten Bewertungen deutlich. Dies spart Rechenressourcen und beschleunigt den Prozess, ohne auf eine gezielte Suche zu verzichten.

Zur objektiven Bewertung eines Modells dienen unterschiedliche Metriken, die je nach Aufgabenstellung variiert werden. Klassische Kennzahlen wie Accuracy, Precision, Recall oder F1-Score erlauben eine umfassende Bewertung bei Klassifikationsproblemen. Für Regressionsaufgaben hingegen bietet sich der Mean Absolute Percentage Error (MAPE) an, da er die Fehler relativ zum Maßstab der Daten ausdrückt und somit skaleninvariant ist. Im Gegensatz dazu können Metriken wie Mean Absolute Error (MAE), Mean Squared Error (MSE) oder Root Mean Squared Error (RMSE) durch unterschiedliche Skalen der Daten verfälscht werden und sind weniger aussagekräftig bei der Vergleichbarkeit verschiedener Datensätze.

Ein essenzielles Element zur Sicherstellung der Generalisierbarkeit ist die Verwendung von Stratified k-Fold Cross-Validation. Diese Methode garantiert, dass in jeder Teilmenge die Klassenverteilung der Ausgangsdaten erhalten bleibt. Dadurch werden Verzerrungen durch ungleiche Verteilungen vermieden und die Stabilität der Bewertung erhöht. Die Stratifikation verändert weder die Komplexität des Modells noch beeinflusst sie die Anzahl der Faltungen oder die Trainingszeit wesentlich, sondern sorgt ausschließlich für eine ausgewogenere Datenaufteilung.

Das Risiko der Überanpassung (Overfitting) ist eine der größten Herausforderungen im maschinellen Lernen. Es entsteht, wenn ein Modell die Trainingsdaten zu genau abbildet, inklusive ihrer Zufälligkeiten und Rauscheinflüsse. Dies führt zu hervorragenden Ergebnissen auf den Trainingsdaten, aber schlechter Generalisierung auf neuen, unbekannten Daten. Um dem entgegenzuwirken, sind Regularisierungstechniken unerlässlich. Sie fügen der Verlustfunktion Strafterm hinzu, der die Komplexität der Modellparameter begrenzt und somit eine Überanpassung verhindert. Dabei ist es kontraproduktiv, die Komplexität zu erhöhen oder die Anzahl der Trainingsdurchläufe ohne Regularisierung zu steigern, da dies die Tendenz zum Overfitting verstärkt.

Zur Unterstützung und Überwachung des Trainingsprozesses bieten moderne Tools wie der Amazon SageMaker Debugger leistungsstarke Funktionen. Er ermöglicht eine Echtzeit-Analyse von Trainingsmetriken und Modellparametern, erkennt automatisch häufig auftretende Probleme wie Overfitting oder verschwindende Gradienten und stellt Visualisierungen über Integrationen wie TensorBoard bereit. Solche Instrumente sind unerlässlich, um Fehler frühzeitig zu identifizieren und die Trainingsqualität sicherzustellen.

Die Leistungsbewertung eines Klassifikationsmodells erfolgt häufig mittels der Area Under the Receiver Operating Characteristic Curve (AUC-ROC). Diese Metrik misst die Fähigkeit eines Modells, positive und negative Klassen zu unterscheiden. Eine AUC nahe 1 signalisiert exzellente Trennschärfe. Wichtig ist, dass eine hohe AUC nicht automatisch auf Overfitting hindeutet; dies muss immer im Kontext von Trainings- und Validierungsleistung betrachtet werden. Zudem zeigen hohe Fehlklassifikationsraten (falsche Positive oder Negative) eine Verschlechterung der Modellqualität, die sich in einem niedrigeren AUC-Wert manifestiert.

Effiziente Ressourcennutzung bei Training und Deployment großer Modelle erfordert geeignete Hardware und passende Architektur. Instanzen wie der p3.8xlarge von AWS sind aufgrund ihrer GPU-Ausstattung besonders geeignet, da sie Rechenzeiten signifikant verkürzen und die Kosten senken. Die Fähigkeit, mehrere Modelle auf einem Endpoint zu hosten, optimiert zusätzlich die Ressourcennutzung und macht das Deployment skalierbar und flexibel. Managed Deployment-Lösungen wie Amazon SageMaker bieten eine wartungsarme, skalierbare Umgebung, während unmanaged Deployments mehr Kontrolle über die Infrastruktur ermöglichen, jedoch mit höherem Aufwand verbunden sind.

Canary-Deployments stellen eine Strategie dar, bei der Modellaktualisierungen schrittweise und kontrolliert ausgerollt werden. Dies minimiert Risiken durch eine kontinuierliche Leistungsüberwachung und ermöglicht eine sichere Einführung neuer Modelle. Im Gegensatz dazu bedeutet ein vollständiger Rollout auf einmal ein höheres Risiko, da eventuelle Fehler unmittelbar alle Nutzer betreffen.

Ein tiefergehendes Verständnis der Balance zwischen Modellkomplexität, Hyperparameter-Optimierung und Metriken zur Bewertung ist grundlegend. Ebenso ist es wichtig, die Grenzen und Möglichkeiten der einzelnen Methoden zu kennen und deren Einsatz situationsabhängig zu wählen. Effektive Modellvalidierung und -überwachung sichern die Nachhaltigkeit der Modellleistung und verhindern Fehlinterpretationen durch rein quantitative Betrachtungen.

Endtext

Wie werden Daten für maschinelles Lernen in AWS vorbereitet und transformiert?

Um Maschinenlernmodelle erfolgreich zu trainieren, ist es entscheidend, dass die Daten sorgfältig vorbereitet und transformiert werden. Dieser Prozess ist ein zentraler Bestandteil des gesamten Lebenszyklus des maschinellen Lernens (ML) und spielt eine entscheidende Rolle, um aus rohen Daten wertvolle Erkenntnisse zu gewinnen.

Ein wichtiger Punkt, der häufig übersehen wird, ist die Notwendigkeit, große Mengen an unstrukturierten und strukturierten Daten effizient zu speichern und zugänglich zu machen. In vielen Fällen werden diese Daten in einem sogenannten "Data Lake" abgelegt. Ein Data Lake bietet die Möglichkeit, Daten in ihrer Rohform zu speichern, ohne sie sofort zu strukturieren oder zu verarbeiten. Hier können Daten aus unterschiedlichen Quellen gesammelt werden, sei es in Echtzeit oder in großen Datenmengen.

Wichtig für das Verständnis eines Data Lakes ist, dass er als zentrale Anlaufstelle für alle Daten fungiert, ohne dass diese sofort eine bestimmte Form annehmen müssen. Dabei kommen verschiedene AWS-Dienste wie Amazon S3 ins Spiel, die ein optimales Objekt-Storage-Modell bieten, das es ermöglicht, Daten in jeder Form zu speichern. Neben Amazon S3 können auch Amazon EFS und Amazon FSx for Lustre als Dateispeicher verwendet werden, was vor allem dann vorteilhaft ist, wenn hohe Anforderungen an die Datenfreigabe und -verarbeitung bestehen.

Ein zentraler Aspekt der Vorbereitung von Daten für maschinelles Lernen besteht in der Transformation und Feature-Engineering. Feature-Engineering bezeichnet den Prozess, bei dem Rohdaten in eine Form gebracht werden, die für maschinelles Lernen geeignet ist. Dazu gehört unter anderem die Skalierung von Daten, das Erstellen von neuen Merkmalen oder das Umwandeln von nicht numerischen Daten in eine Form, die ein Modell verarbeiten kann.

Die Wahl des richtigen Speichersystems für diesen Prozess ist von zentraler Bedeutung. Amazon S3 ist der gängigste Dienst zur Speicherung von unstrukturierten Daten, da es kostengünstig und hochskalierbar ist. Für Daten, die mit niedriger Latenz und hoher Leistung verarbeitet werden müssen, wie etwa bei der Bildverarbeitung, ist hingegen Amazon FSx for Lustre eine ideale Wahl. Dies gilt insbesondere für Situationen, in denen eine schnelle und parallele Verarbeitung der Daten für das Training von Modellen notwendig ist.

Ein weiteres wichtiges Element bei der Transformation von Daten ist die Sicherstellung der Datenintegrität. Die Qualität der Daten, die in den Data Lake geladen werden, kann stark variieren. In vielen Fällen werden Daten aus unterschiedlichen Quellen mit unterschiedlichem Format und unterschiedlichen Qualitäten zusammengeführt. Daher muss die Datenvorbereitung auch Maßnahmen zur Überprüfung und Bereinigung der Daten umfassen, um sicherzustellen, dass keine fehlerhaften oder unvollständigen Informationen ins Modell einfließen.

Neben der richtigen Speicherung und der Bereinigung der Daten müssen diese für das maschinelle Lernen auch optimiert werden. Dies bedeutet oft, dass der Datensatz so umstrukturiert wird, dass er die relevanten Merkmale für das Modell enthält. Hierbei können auch Algorithmen zur Feature-Auswahl und -Reduktion eingesetzt werden, um nur die aussagekräftigsten Merkmale zu nutzen.

Die Wahl des richtigen Speicherorts für die Verarbeitung von Daten hat unmittelbare Auswirkungen auf die Effizienz des gesamten Trainingsprozesses. Ein häufiges Problem bei großen Datenmengen ist der sogenannte "Datenengpass" — eine Situation, in der der Speicherort nicht in der Lage ist, mit den Anforderungen des Trainingsprozesses mitzuhalten. Dies kann zu Verzögerungen und erhöhten Kosten führen. Daher müssen die Speicherlösungen für maschinelles Lernen so optimiert werden, dass sie sowohl mit großen Datenmengen umgehen können, als auch eine schnelle Verarbeitung ermöglichen.

Eine entscheidende Rolle in der Datenvorbereitung spielt auch die Automatisierung. Durch die Verwendung von AWS-Services wie Amazon Lambda oder Amazon Glue können wiederkehrende Aufgaben im Datenverarbeitungsprozess automatisiert werden, was Zeit spart und Fehler reduziert. Besonders in komplexen Pipeline-Prozessen, bei denen Daten aus verschiedenen Quellen zusammengeführt und umgewandelt werden müssen, ermöglicht die Automatisierung eine effiziente und fehlerfreie Bearbeitung.

Im Kontext der Datenaufbereitung für maschinelles Lernen sind diese Schritte unerlässlich, um die Grundlage für erfolgreiche Modelle zu schaffen. Sie stellen sicher, dass die Daten sowohl für die Modellierung als auch für die anschließende Analyse geeignet sind und dass keine verzerrten oder fehlerhaften Daten in das Modell eingehen. Darüber hinaus sorgt eine gut strukturierte und optimierte Datenpipeline dafür, dass Modelle schneller trainiert werden können und die Ergebnisse auf einer soliden und zuverlässigen Datengrundlage basieren.

Die Integration dieser verschiedenen Aspekte — von der Speicherung über die Transformation bis hin zur Optimierung und Automatisierung — bildet den Kern eines erfolgreichen Machine-Learning-Projekts. Es ist daher unerlässlich, dass ML-Ingenieure und Data Scientists die Datenvorbereitung als einen kontinuierlichen Prozess verstehen, der auch während des gesamten Lebenszyklus eines Projekts regelmäßig überprüft und angepasst werden muss.

Wie Feature Engineering den Erfolg von Machine Learning-Modellen beeinflusst

Feature Engineering spielt eine Schlüsselrolle in der Vorbereitung von Datensätzen für Machine Learning (ML). Es geht dabei nicht nur darum, Rohdaten in eine strukturierte Form zu bringen, sondern auch darum, durch geschickte Extraktion, Auswahl und Transformation von Merkmalen den Lernprozess für ML-Algorithmen zu optimieren. Insbesondere bei der Arbeit mit großen, unstrukturierten Datensätzen, wie sie bei Bildern, Audiodaten oder Texten vorkommen, ist Feature Engineering eine unverzichtbare Technik. In diesem Zusammenhang werden verschiedene Methoden angewandt, um den Datensatz so zu gestalten, dass der Algorithmus Muster besser erkennen und präzisere Vorhersagen treffen kann.

Ein klassisches Beispiel für Feature Engineering lässt sich am Bildklassifizierungsprozess erklären. Früher, vor der weit verbreiteten Nutzung von Neuronalen Netzwerken, wurden aus Bildern manuell Merkmale extrahiert, um diese dann in einem Datensatz zu nutzen. Im Fall eines Bildes eines Autos könnten wichtige Merkmale wie die Windschutzscheibe, Scheinwerfer, Blinker und Reifen extrahiert und als separate Spalten in einem Datensatz gespeichert werden. Anstatt also mit den rohen Pixelwerten des Bildes zu arbeiten, könnte der Datensatz Spalten wie „windshield_present“ oder „headlight_present“ enthalten, was den Algorithmus in die Lage versetzt, diese Elemente unabhängig voneinander zu erkennen und somit das Bild besser zu verstehen.

Die Extraktion von Merkmalen ist besonders nützlich, um aus großen, komplexen Datensätzen nur die relevantesten Informationen herauszufiltern. Dabei kann der Prozess je nach Art des Datensatzes variieren. Bei Textdaten könnte dies die Extraktion häufiger Wörter oder bedeutungsvoller Phrasen beinhalten, während bei Audiodaten die Extraktion von Klangfrequenzen oder besonderen Tonmustern erforderlich sein könnte. Die Wahl der geeigneten Technik hängt in der Regel davon ab, welches Ziel man mit dem Modell verfolgt.

Neben der Merkmalsextraktion spielt auch die Merkmalsauswahl eine bedeutende Rolle. In vielen Datensätzen sind nicht alle Merkmale gleichwertig, und einige können sogar redundant oder irrelevant für die Modellvorhersage sein. Merkmalsauswahl hilft, diese unnötigen oder überflüssigen Merkmale zu eliminieren, sodass der Algorithmus nur mit den wirklich wichtigen Eingabedaten arbeitet. Beispielsweise kann in einem Geschäftsdaten-Datensatz der Umsatz parallel zu den Verkaufszahlen steigen, was darauf hindeutet, dass der Umsatz für die Vorhersage der Verkaufszahlen wenig zusätzlichen Nutzen bietet. Die Anwendung von Merkmalsauswahlalgorithmen, die statistische Messmethoden nutzen, kann dabei helfen, solche redundanten oder irrelevanten Merkmale zu identifizieren und zu entfernen.

Ein weiteres Verfahren, das häufig in Verbindung mit der Merkmalsauswahl verwendet wird, ist die Merkmalskreation und -transformation. Hierbei werden neue Merkmale aus bereits existierenden Merkmalen geschaffen, anstatt nur die Daten zu reduzieren. Zum Beispiel könnte ein Datensatz das Merkmal „Datum“ enthalten, das als Tag, Monat und Jahr im Format dd-mm-yy dargestellt ist. Wenn dieses Merkmal nicht hilfreich für das Modell ist, könnte man es aufteilen und in drei separate Merkmale unterteilen, eines für den Tag, eines für den Monat und eines für das Jahr. Dies könnte es dem Modell ermöglichen, bessere Zusammenhänge zu erkennen und genauere Vorhersagen zu treffen.

Ein praktisches Beispiel für den Umgang mit Merkmalen und deren Verwaltung bietet der Amazon SageMaker Feature Store. Diese zentrale Plattform ermöglicht es, Merkmale zu speichern, zu teilen und zu verwalten, sodass Teams von Datenwissenschaftlern und ML-Ingenieuren stets auf die relevanten Eingabedaten zugreifen können. Der Feature Store stellt sicher, dass Merkmale über den gesamten Lebenszyklus eines Modells hinweg konsistent und korrekt genutzt werden. Besonders nützlich wird dies, wenn Merkmale, die ursprünglich für Offline-Modelltrainings genutzt wurden, für Echtzeit-Inferenz verfügbar gemacht werden müssen. Hierbei hilft der Feature Store, diese Merkmale effizient zu standardisieren und im gesamten Modellprozess synchron zu halten.

Bevor jedoch mit dem Feature Engineering begonnen werden kann, muss der Datensatz in einem geeigneten Zustand sein. Dies wird durch den Prozess der Datenbereinigung und -transformation erreicht, der essentielle Schritte umfasst, um „schmutzige“ Daten zu bereinigen und sie für die Merkmalsgenerierung vorzubereiten. Zu den wichtigsten Aufgaben gehören die Behandlung fehlender Werte, das Erkennen und Verwalten von Ausreißern sowie die Beseitigung von Duplikaten und Inkonsistenzen in den Daten. Ohne diese grundlegende Vorbereitung kann es zu Verzerrungen kommen, die die Qualität des Modells und die Vorhersagen negativ beeinflussen.

Ein entscheidender Punkt bei der Datenbereinigung ist der Umgang mit fehlenden Werten. In vielen Fällen sind Datensätze unvollständig, was zu Lücken in den Informationen führt. Diese Lücken müssen sinnvoll gefüllt werden, sei es durch Imputation, das Entfernen unvollständiger Datenpunkte oder andere geeignete Maßnahmen. Ohne eine sorgfältige Behandlung fehlender Daten würde das Modell mit ungenauen oder verzerrten Informationen arbeiten, was zu schlechteren Ergebnissen führen würde.

Ebenso ist das Identifizieren und Behandeln von Ausreißern von Bedeutung. Diese extremen Werte können das Verhalten des Modells erheblich beeinflussen, da sie die Verteilung der Daten verzerren und die Genauigkeit der Vorhersagen beeinträchtigen. Durch gezielte Verfahren zur Ausreißerbehandlung wird sichergestellt, dass der Datensatz eine realistischere und ausgewogenere Darstellung der realen Welt bietet.

Die Standardisierung von Daten und die Entfernung von Rauschen und Fehlern sind ebenfalls entscheidend für die Datenvorbereitung. Eine konsistente Formatierung, etwa bei Datumsangaben oder Maßeinheiten, erleichtert es den Algorithmen, die Daten korrekt zu interpretieren und zu verarbeiten. Dieser Schritt stellt sicher, dass die Merkmale, die für das Modell erzeugt und ausgewählt werden, auf präzisen und verlässlichen Daten basieren, was zu stabileren und leistungsfähigeren Modellen führt.

Zusammenfassend lässt sich sagen, dass Feature Engineering weit mehr ist als nur ein technischer Prozess. Es ist ein kreativer und strategischer Schritt, der entscheidend dazu beiträgt, den Erfolg von Machine Learning-Modellen zu bestimmen. Eine sorgfältige und durchdachte Auswahl und Transformation von Merkmalen ist ein unverzichtbarer Bestandteil des Machine Learning-Prozesses und kann den Unterschied zwischen einem mäßig erfolgreichen Modell und einem hochpräzisen Vorhersagemodell ausmachen. Daher sollten Praktiker stets sicherstellen, dass die Daten in der besten möglichen Form vorliegen und dass die Merkmale so gewählt und bearbeitet werden, dass sie dem Modell die relevantesten Informationen bieten.

Wie man kategorische Daten effizient verarbeitet: Von binärer Kodierung zu Feature Hashing und Zeitreihenmerkmalen

Die Verarbeitung von kategorischen Daten stellt häufig eine Herausforderung dar, insbesondere wenn es um die Skalierbarkeit und den Erhalt der Modellgenauigkeit geht. Techniken wie binäre Kodierung und Feature Hashing bieten effektive Lösungen für diese Probleme, insbesondere im Hinblick auf hochdimensionale Datensätze mit vielen Kategorien. Diese Methoden sind besonders wertvoll, wenn man versucht, die Begrenzungen der klassischen One-Hot-Kodierung zu überwinden, bei der jede Kategorie durch eine eigene, binäre Spalte dargestellt wird.

Ein Beispiel für die binäre Kodierung zeigt sich in der Transformation von Kategorien, die ursprünglich durch acht verschiedene Merkmale beschrieben wurden. Bei der binären Kodierung werden diese acht Kategorien auf vier numerische Merkmale reduziert. Der Grund dafür ist einfach: Jede Kategorie wird in einem binären Format dargestellt, wobei vier Bits für acht verschiedene Kategorien ausreichend sind. Diese Methode verringert die Dimension des Datensatzes und verhindert das sogenannte „Dimensionalitäts-Explosion“-Problem, das bei One-Hot-Encoding entstehen kann, wenn zu viele Kategorien im Datensatz vorhanden sind. Dabei ist zu beachten, dass bei der binären Kodierung möglicherweise Informationen verloren gehen, was sich negativ auf die Modellleistung auswirken könnte, da Unterschiede zwischen den Kategorien durch die Verdichtung in weniger Bits verwischt werden.

Feature Hashing geht noch einen Schritt weiter. Diese Methode nutzt eine Hash-Funktion, um hochdimensionale kategorische Daten in eine feste Anzahl von numerischen Merkmalen zu transformieren. Die Hauptvorteile von Feature Hashing sind seine Skalierbarkeit und Effizienz, da das Ergebnis eine feste Größe hat, die unabhängig von der Anzahl der ursprünglichen Kategorien ist. Eine wichtige Eigenschaft dieser Technik ist die sogenannte Kollision, bei der verschiedene Eingabewerte auf denselben Hash-Wert abgebildet werden. Obwohl dies zu einem gewissen Informationsverlust führen kann, werden durch die Aggregation von Werten die Auswirkungen dieser Kollisionen verringert, besonders bei größeren Hash-Buckets. Feature Hashing bietet somit eine kostengünstige Lösung für die Merkmalsgenerierung in Fällen mit vielen Kategorien.

Neben diesen Techniken zur Verarbeitung von kategorischen Daten gibt es noch weitere Ansätze für die Bearbeitung von Zeitreihendaten. Zeitreihen unterscheiden sich von klassischen tabellarischen Daten, da sie auf zeitlichen Abfolgen beruhen und jeder neue Wert von den vorherigen abhängt. Ein gutes Beispiel für eine effiziente Lösung zur Bearbeitung von Zeitreihendaten ist Amazon SageMaker Data Wrangler, das eine Vielzahl von Funktionen bietet, um Zeitreihendaten schnell zu bereinigen, zu transformieren und für Prognosemodelle vorzubereiten. Ein zentraler Bestandteil der Merkmalsgenerierung bei Zeitreihendaten ist das Erkennen von Mustern und das Erstellen von neuen Merkmalen, die die Vorhersagegenauigkeit verbessern.

Die „Featurize Datetime“-Transformation von SageMaker beispielsweise zerlegt Zeitstempel in verschiedene Komponenten wie Monat, Tag, Woche und Quartal. Diese Aufspaltung hilft den Algorithmen, relevante saisonale oder periodische Muster zu erkennen und zu nutzen. Zusätzlich können diese Merkmale als kategorische Variablen behandelt und mit One-Hot-Kodierung weiter verarbeitet werden. Ein weiteres nützliches Merkmal für die Modellverbesserung ist die Erstellung von „Lag Features“. Lag Features beziehen sich auf vergangene Werte, die helfen können, zukünftige Werte zu prognostizieren, indem sie Muster von Autokorrelation (serielle Korrelation) im Datensatz aufzeigen.

Zuletzt bietet die Methode der Rolling Window Features eine zusätzliche Möglichkeit, statistische Eigenschaften über eine festgelegte Anzahl von Zeitpunkten hinweg zu berechnen. Diese Technik verwendet das Open-Source-Paket tsfresh, das eine automatische Merkmals-Extraktion für Zeitreihendaten ermöglicht. Dies spart nicht nur Zeit, sondern steigert auch die Effizienz, da komplexe Signalverarbeitungsbibliotheken automatisch angewendet werden.

Wichtig zu verstehen ist, dass jede dieser Methoden spezifische Vorteile und Einschränkungen hat, die sorgfältig abgewogen werden müssen, je nach der Art der Daten und den Anforderungen des Modells. Kategorische Daten erfordern eine präzise Handhabung, um sowohl die Modellgenauigkeit zu maximieren als auch die Berechnungsressourcen zu schonen. Insbesondere bei der Verwendung von Feature Hashing und binärer Kodierung ist es wichtig, sich der potenziellen Informationsverluste bewusst zu sein, die sich auf die Leistung des Modells auswirken könnten. Ebenso sollte bei Zeitreihendaten der zeitliche Zusammenhang zwischen den Werten berücksichtigt werden, um die Modellgenauigkeit zu steigern und eine möglichst präzise Vorhersage zu ermöglichen.