Links überspringen

Glossar

Glossar zur Entwicklung von Trading-Handelssystemen auf der Basis künstlicher Intelligenz (KI)

A

AdaGrad

Adagrad ist ein adaptiver Gradientenalgorithmus, der gute Ergebnisse bei groß angelegten maschinellen Lernaufgaben (z.B. Training tiefer neuronaler Netze) in verteilten Umgebungen gezeigt hat.

Das Finden einer optimalen Lerngeschwindigkeit für einen Algorithmus für maschinelles Lernen kann ein komplexes Problem sein. Gerade wenn es viele Millionen von Dimensionen zu variieren gibt, wie es bei tiefen neuronalen Netzen üblich ist. Wenn die Lernrate zu hoch eingestellt ist, kann es sein, dass sich der Parameter mit einer zu hohen Volatilität bewegt, um jemals ein akzeptables Verlustniveau zu erreichen. Andererseits führt eine zu niedrige Einstellung der Lerngeschwindigkeit zu sehr langsamen Fortschritten.

Nach oben

Adam Optimierung

Adam ist ein adaptiver Algorithmus zur Optimierung der Lernrate, der speziell für das Training tiefer neuronaler Netze entwickelt wurde. Adam wurde erstmals 2014 veröffentlicht. In einigen Fällen findet die Adam-Optimierung leider eine schlechtere Lösung findet als der stochastische Gradientenabstieg.

Die Adam-Algorithmen nutzen die Leistungsfähigkeit adaptiver Lernratenverfahren, um individuelle Lernraten für einzelne Parameter zu finden. Er hat auch Vorteile von Adagrad, das in Umgebungen mit spärlichen Gradienten wirklich gut funktioniert, aber bei der nicht-konvexen Optimierung neuronaler Netze Probleme hat.

Nach oben

B

Backpropagation

Backpropagation ist ein Algorithmus, der häufig zum Training neuronaler Netze verwendet wird. Beim Initialisieren des neuronalen Netzes werden Gewichte für seine einzelnen Elemente (die Neuronen genannt werden) festgelegt. Eingaben werden geladen und werden durch das Netzwerk von Neuronen geleitet. Das Netzwerk liefert für jedes einzelne Element eine Ausgabe, wobei die Anfangsgewichte vorgegeben werden. Die Backpropagation hilft bei der Anpassung der Gewichte der Neuronen, so dass das Ergebnis sich immer stärker an das (bekannte) tatsächliche Ergebnis annähert.

Nach oben

Batch-Gradientenabstieg

Um ein Modell der linearen Regression zu trainieren, müssen wir einige Modellparameter wie Merkmalsgewichte und Verzerrungsterme lernen. Ein Ansatz, um dasselbe zu tun, ist Gradient Descent, ein iterativer Optimierungsalgorithmus, der in der Lage ist, die Modellparameter durch Minimierung der Kostenfunktion über die Zugdaten zu optimieren.

Dabei handelt es sich um einen vollständigen Algorithmus. Es ist also garantiert, das globale Minimum (die optimale Lösung) zu finden, wenn genügend Zeit zur Verfügung steht und die Lernrate nicht sehr hoch ist. Zwei wichtige Varianten des Gradientenabstiegs, die sowohl in der linearen Regression als auch in neuronalen Netzen weit verbreitet sind, sind der Batch-Gradientenabstieg und der stochastische Gradientenabstieg (SGD).

Der Batch-Gradientenabstieg umfasst Berechnungen über den gesamten Trainingssatz bei jedem Schritt. Das führt dazu, dass er bei sehr großen Trainingsdaten sehr langsam ist. Daher wird es sehr rechenintensiv, einen Batch-Gradientenabstieg durchzuführen. Bei konvexen oder relativ glatten Fehlermanifolds ist das sehr gut. Außerdem skaliert der Batch-Gradientenabstieg gut mit der Anzahl der Merkmale.

Der stochastische Gradientenabstieg (SGD) versucht, das Hauptproblem bei diesem Verfahren zu lösen: die Verwendung ganzer Trainingsdaten zur Berechnung von Gradienten bei jedem einzelnen Schritt. Der stochastische Gradientenabstieg nimmt bei jedem Schritt eine “zufällige” Instanz von Trainingsdaten auf und berechnet dann den Gradienten, was ihn viel schneller macht. Im Gegensatz zum Batch-Gradientenabstieg sind viel weniger Daten auf einmal zu bearbeiten.

Nach oben

Bayes’scher Klassifizierer

Ein Bayes’scher Klassifizierer basiert auf der Idee, dass die Rolle einer (natürlichen) Klasse darin besteht, die Werte von Merkmalen für die Mitglieder dieser Klasse vorherzusagen. Beispiele werden in Klassen gruppiert, weil sie gemeinsame Werte für die Merkmale haben. Solche Klassen werden oft als natürliche Arten bezeichnet. In diesem Abschnitt entspricht das Zielmerkmal einer diskreten Klasse, die nicht unbedingt binär ist.

Ein Agent, der die Klasse kennt, kann die Werte der anderen Merkmale vorhersagen. Das ist Idee hinter einem Bayes’schen Klassifizierer. Wenn er die Klasse nicht kennt, kann die Bayes-Regel verwendet werden, um die Klasse vorherzusagen, der (einige) der Merkmalswerte gegeben sind. In einem Bayes’schen Klassifizierer baut der lernende Agent ein probabilistisches Modell der Merkmale auf und verwendet dieses Modell, um die Klassifizierung eines neuen Beispiels vorherzusagen.

Nach oben

Bias

Beim maschinellen Lernen hängt die Qualität eines Modells vom Umfang der Trainingsdaten ab, mit denen es unterrichtet wird. Fehlerhafte, mangelhafte oder unvollständige Daten führen zu ungenauen Vorhersagen. Sie spiegeln die “kommt Müll rein, geht Müll raus”-Mahnung wider, die in der Informatik verwendet wird, um das Konzept zu vermitteln, dass die Qualität des Outputs durch die Qualität des Inputs bestimmt wird.

Bias oder Verzerrung beim maschinellen Lernen wird definiert als das Phänomen der Beobachtung von Ergebnissen, die aufgrund fehlerhafter Annahmen systematisch voreingenommen werden.

Nach oben

Binning

Binning ist eine Methode des feature engineering, um eine Anzahl von mehr oder weniger kontinuierlichen Werten in eine kleinere Anzahl von “Bins” zu gruppieren. Beispielsweise kann man bei Personendaten das Alter in eine kleinere Anzahl von Altersintervallen einordnen.

Nach oben

C

Clustering

Einfache Clustering-Modelle sind ein Teil des unüberwachten maschinellen Lernens. Sie erhalten keinen gewünschten Output, sondern identifizieren Cluster oder Gruppen auf der Grundlage gemeinsamer Merkmale. In der Regel wird der Output durch Visualisierungen verifiziert.

Nach oben

Convolutional Neural Network (CNN)

Ein Convolutional Neural Network (CNN) ist ein Algorithmus für tiefes Lernen, der ein Eingabebild aufnehmen kann. Er weist verschiedenen Aspekte bzw. Objekten im Bild eine Bedeutung zu und kann diese voneinander unterscheiden.

Die in einem Convolutional Neural Network erforderliche Vorverarbeitung ist im Vergleich zu anderen Klassifikationsalgorithmen deutlich geringer. Während bei einfachen Methoden Filter von Hand entwickelt werden müssen, haben CNNs bei ausreichender Schulung die Fähigkeit, diese Filter bzw. Merkmale zu erlernen.

Die Architektur eines CNNs ist analog zum menschlichen Cortex angelegt. Einzelne Neuronen reagieren nur in einer begrenzten Region des Gesichtsfeldes auf Reize. Es ist daher notwendig, dass sich eine Reihe solcher Felder überlappen, um den gesamten visuellen Bereich abzudecken.

Nach oben

D

Data Mining

Data Mining ist der Prozess des Auffindens von Anomalien, Mustern und Korrelationen innerhalb großer (Roh-) Datensätze zur Vorhersage von Ergebnissen. Dabei werden diese Datenmengen (welche oft im Petabyte-Bereich liegen) mit Hilfe einer Software analysiert.

Data Mining findet eine vielfältige Verwendung in Forschung und Wissenschaft. Ganz allgemein gesprochen kann Data Mining dazu genutzt werden, um Kursverläufe vorauszusagen, Einnahmen zu steigern, Kosten zu senken, Kundenbeziehungen zu verbessern, Risiken zu reduzieren und vieles mehr.

Für die Segmentierung der Daten und die Bewertung der Wahrscheinlichkeit künftiger Ereignisse verwendet Data Mining ausgefeilte mathematische Algorithmen. Data Mining wird auch als Knowledge Discovery in Data (KDD) bezeichnet.

Nach oben

Datenbereinigung

Datenbereinigung ist der Prozess der Vorbereitung von Daten für die Analyse durch Entfernen oder Modifizieren von Daten, die falsch, unvollständig, irrelevant, dupliziert oder falsch formatiert sind. Solche Daten sind nicht hilfreich, wenn es um die Analyse von Daten geht, da sie den Prozess behindern oder ungenaue Ergebnisse liefern können.

Es gibt verschiedene Methoden zur Bereinigung von Daten, je nachdem, wie sie zusammen mit den gesuchten Antworten gespeichert sind. Bei der Datenbereinigung geht darum, einen Weg zu finden, die Genauigkeit eines Datensatzes zu maximieren, ohne wichtige Informationen zu löschen.

Die Datenbereinigung umfasst Aktionen wie zum Beispiel die Korrektur von Rechtschreib- und Syntaxfehlern, die Standardisierung von Datensätzen und die Korrektur von Fehlern wie leere Felder, fehlende Codes und die Identifizierung doppelter Datenpunkte.

Die Datenbereinigung gilt insgesamt als ein wichtiges Element der datenwissenschaftlichen Grundlagen und für unsere Datenwissenschaftler fordert das Aufbereiten der Daten mitunter den größten Einsatz an Zeit. Die Datenaufbereitung spielt eine wichtige Rolle im Analyseprozess und beim Aufdecken zuverlässiger Antworten.

Nach oben

Deep Neural Network

Ein Deep Neural Network ist ein Netz, das durch eine Eingangsschicht, eine Ausgangsschicht und mindestens eine verborgene Schicht dazwischen definiert ist. Jede Schicht führt bestimmte Arten der Sortierung und Ordnung in einem Prozess durch, der auch als “Merkmalshierarchie” bezeichnet wird.

Eine der hauptsächlichen Anwendungen dieser hochentwickelten neuronalen Netzwerke ist der Umgang mit unmarkierten oder unstrukturierten Daten. Zur Beschreibung dieser tiefen neuronalen Netze wird auch der Ausdruck “Deep Learning” verwendet, eine spezifische Form des maschinellen Lernens.

Nach oben

E

Entscheidungsbaum

Ein Entscheidungsbaum ist ein Algorithmus, der in der Regel für überwachtes Lernen wie Klassifikation oder Regression verwendet wird. Ein Entscheidungsbaum oder ein Klassifikationsbaum ist ein Baum, in dem jeder interne (Nicht-Blatt-)Knoten mit einem Eingabemerkmal gekennzeichnet ist (Ja/Nein). Die Bögen, die von einem mit einem Merkmal beschrifteten Knoten ausgehen, werden mit jedem der möglichen Werte des Merkmals beschriftet. Jedes Blatt des Baums ist mit einer Klasse oder einer Wahrscheinlichkeitsverteilung über die Klassen beschriftet.

Ein Baum kann “gelernt” werden, indem die Quellmenge auf der Grundlage eines Attributwerttests in Teilmengen aufgeteilt wird. Dieser Prozess wird für jede abgeleitete Teilmenge in einer rekursiven Weise wiederholt, die als rekursive Partitionierung bezeichnet wird. Die Rekursion ist abgeschlossen, wenn die Untermenge an einem Knoten alle den gleichen Wert der Zielvariablen hat. Oder wenn die Aufspaltung keinen Wert mehr zu den Vorhersagen hinzufügt. Dieser Prozess der Top-Down-Induktion von Entscheidungsbäumen ist ein Beispiel für einen gierigen Algorithmus. Er ist die häufigste Strategie zum Lernen von Entscheidungsbäumen.

Nach oben

G

Gaußsche Normalverteilung

Die Gaußsche Normalverteilung hat eine Glockenform und ist eine der häufigsten in der gesamten Statistik. Der Zentrale Grenzwertsatz zeigt, dass Summen einer großen Anzahl von unabhängigen, identisch verteilten Zufallsvariablen durch eine Gaußsche Verteilung gut angenähert werden.

Die Parameterschätzungen in einem statistischen Modell sind ebenfalls asymptotisch gaußförmig. Aus diesen Gründen und aufgrund der Tatsache, dass Gaußsche Verteilungen mit den Techniken der linearen Algebra effizient manipuliert werden können, sind Gaußsche Verteilungen in probabilistischen Modellen weit verbreitet.

Nach oben

GPU

Eine CPU (engl. für Central Processing Unit) arbeitet mit einer GPU (engl. für Graphics Processing Unit) zusammen, um den Datendurchsatz und die Anzahl der gleichzeitigen Berechnungen innerhalb einer Anwendung zu erhöhen.

GPUs wurden ursprünglich entwickelt, um Bilder für Computergrafiken und Videospielkonsolen zu erstellen. Seit Anfang 2010 werden GPUs auch zur Beschleunigung von Berechnungen mit großen Datenmengen eingesetzt.

Da GPUs parallele Operationen mit mehreren Datensätzen durchführen können, werden sie häufig für Aufgaben wie maschinelles Lernen verwendet. Mit Tausenden von Prozessorkernen, die gleichzeitig laufen, ermöglichen GPUs massive Parallelität, wobei sich jeder Kern auf die Durchführung effizienter Berechnungen konzentriert.

Nach oben

K

k-fache Kreuzvalidierung

Der Datensatz wird in k Teilmengen unterteilt, und die Holdout-Methode wird k-mal wiederholt. Jedes Mal wird eine der k Untermengen als Testsatz verwendet und die anderen k-1 Untermengen werden zu einem Trainingssatz zusammengestellt. Dann wird der durchschnittliche Fehler über alle k Versuche berechnet.

Der Vorteil dieser Methode besteht darin, dass es weniger darauf ankommt, wie die Daten aufgeteilt werden. Jeder Datenpunkt befindet sich genau einmal in einem Testsatz und k-1 Mal in einem Trainingssatz. Die Varianz der resultierenden Schätzung verringert sich, wenn k erhöht wird. Der Nachteil dieser Methode ist, dass der Trainingsalgorithmus k-mal von Grund auf neu durchlaufen werden muss, was bedeutet, dass für eine Auswertung k-mal so viel Rechenaufwand erforderlich ist.

Eine Variante dieser Methode besteht darin, die Daten nach dem Zufallsprinzip in einen Test- und einen Trainingssatz mit k verschiedenen Zeiten zu unterteilen. Dies hat den Vorteil, dass wir unabhängig voneinander wählen können, wie groß jeder Testsatz ist und über wie viele Versuche wir den Durchschnitt bilden.

Nach oben

k-means Clustering

k-means Clustering ist einer der einfachsten und beliebtesten Algorithmen für unüberwachtes maschinelles Lernen. Typischerweise ziehen unüberwachte Algorithmen Schlussfolgerungen aus Datensätzen, die nur Eingangsvektoren verwenden, ohne sich auf bekannte oder gekennzeichnete Ergebnisse zu beziehen. Dabei wird eine Zielzahl k definiert, die sich auf die Anzahl der Zentroide bezieht, die in der Datengruppe benötigt werden. Ein Zentroid ist der imaginäre oder reale Ort, der das Zentrum des Clusters darstellt.

Nach oben

Keras

Keras ist eine der führenden High-Level-APIs für neuronale Netzwerke. Es ist in Python geschrieben und unterstützt mehrere Back-End-Berechnungsmodule für neuronale Netzwerke. Die Plattform von Keras besteht aus einer Bibliothek häufig verwendeter Komponenten des maschinellen Lernens, einschließlich Zielsetzungen, Aktivierungsfunktionen und Optimierern, und bietet auch Unterstützung für rekursive und konvolutionäre neuronale Netze.

Keras ist in der Lage, auf TensorFlow, Theano, PlaidML und anderen Systemen aufzusetzen. Die Bibliothek wurde mit dem Ziel entwickelt, modular und benutzerfreundlich zu sein. Es wurde erst 2017 in die TensorFlow-Kernbibliothek von Google integriert. Darüber hinaus wurde eine zusätzliche Unterstützung für die Integration von Keras in das Microsoft Cognitive Toolkit hinzugefügt.

Neuronale Schichten, Optimierer, Initialisierungsschemata, Kostenfunktionen, Aktivierungsfunktionen und Regularisierungsschemata sind eigenständige Module, die zur Erstellung neuer Modelle kombiniert werden können. Neue Module können einfach als neue Klassen und Funktionen hinzugefügt werden. Die Modelle werden dabei in Python-Code definiert, nicht in separaten Modellkonfigurationsdateien.

Nach oben

Klassifizierung

Klassifizierung ist ein Prozess der Kategorisierung eines gegebenen Datensatzes in Klassen. Dieser Prozess kann sowohl für strukturierte als auch für unstrukturierte Daten durchgeführt werden. Er beginnt mit der Vorhersage der Klasse der gegebenen Datenpunkte. Die Klassen werden dabei häufig als Ziel, Label oder Kategorien bezeichnet.

Die Klassifizierungsprognosemodellierung hat die Aufgabe, die Abbildungsfunktion von Eingangsvariablen an diskrete Ausgangsvariablen anzunähern. Das Hauptziel besteht dabei darin, festzustellen, in welche Klasse bzw. Kategorie die neuen Daten fallen werden.

Nach oben

Kreuzvalidierung

Die Kreuzvalidierung ist eine Modellbewertungsmethode, die besser ist als die Residuen. Das Problem mit Residualbewertungen ist, dass sie keinen Hinweis darauf geben, wie gut der Lernende abschneiden wird, wenn er gefordert wird, neue Vorhersagen für Daten zu machen, die er noch nicht gesehen hat.

Eine Möglichkeit zur Überwindung dieses Problems besteht darin, beim Training eines Lernenden nicht den gesamten Datensatz zu verwenden. Einige der Daten werden vor Trainingsbeginn entfernt. Wenn das Training abgeschlossen ist, können die entfernten Daten verwendet werden, um die Leistung des gelernten Modells an “neuen” Daten zu testen. Dies ist die Grundidee für eine ganze Klasse von Modellbewertungsmethoden, die als Kreuzvalidierung bezeichnet werden.

Nach oben

L

Lineare Regression

Lineare Regression ist ein überwachter Algorithmus für maschinelles Lernen. Dabei ist die vorhergesagte Ausgabe kontinuierlich und hat eine konstante Steigung. Lineare Regression wird verwendet, um Werte innerhalb eines kontinuierlichen Bereichs vorherzusagen (z.B. Preis), anstatt zu versuchen, sie in Kategorien einzuordnen (z.B. Hund, Katze).

Es werden zwei Haupttypen unterschieden: Einfache lineare Regression und Multivariable Regression.

Die einfache lineare Regression verwendet die herkömmliche Slope-Intercept-Form, wobei m und b die Variablen sind, die der Algorithmus zu “lernen” versucht, um die genauesten Vorhersagen zu treffen. Dabei repräsentiert xdie Eingabedaten und y die Vorhersage.

y = mx + b

Eine etwas komplexere multivariable lineare Gleichung könnte wie folgt aussehen, wobei w die Koeffizienten repräsentiert, die das Modell zu lernen versucht.

𝑓(𝑥,𝑦,𝑧)=𝑤1𝑥+𝑤2𝑦+𝑤3𝑧

Die Variablen x, y, z repräsentieren die Attribute oder unterschiedlichen Informationen, die wir zu jeder Beobachtung haben. Bei Verkaufsprognosen können diese Attribute beispielsweise die Werbeausgaben eines Unternehmens in Print, Fernsehen und Online umfassen.

Nach oben

M

Mean absolute error

Mean absolute error ist ein allgemeiner Zugang um die Voraussage-Genauigkeit zu analysieren. In der Statistik ist der mittlere absolute Fehler (MAE) ein Maß für Fehler zwischen gepaarten Beobachtungen, die dasselbe Phänomen zum Ausdruck bringen. Beispiele für Y versus X sind Vergleiche zwischen vorhergesagter und beobachteter, nachfolgender Zeit gegenüber der Anfangszeit und eine Messtechnik gegenüber einer alternativen Messtechnik.

Wir wissen, dass ein Fehler im Grunde die absolute Differenz zwischen den tatsächlichen oder wahren Werten und den vorhergesagten Werten ist. Absolute Differenz bedeutet, dass, wenn das Ergebnis ein negatives Vorzeichen hat, es ignoriert wird.

MAE = Wahre Werte – Vorhergesagte Werte

MAE bildet den Mittelwert eines solchen Fehlers aus jeder Stichprobe in einem Datensatz und gibt ihn aus.

Beim Scikit-Lernen funktioniert das so, dass man zunächst die y-Werte aus dem Trainingsdatensatz einliest und eine Voraussage für jede Zeile des Datensatzes generiert. Scikit-Lernen wird die Voraussagen mit dem tatsächlichen Ergebnis vergleichen und die Genauigkeit messen.

Sobald die Fehlerrate zwischen den Trainings- und Testdatensätzen niedrig ist, hat das Modell die den zugrundeliegenden Muster gelernt. Sobald das Modell die Werte der Testdaten gut voraussagen kann, kann man es in der Praxis einsetzen.

Nach oben

Mean-Reversion-Strategie

Der Mean-Reversion-Strategie liegt die Handelsidee zugrunde, dass die Kurse auf ein langfristiges Niveau zurückkehren. Wenn es also zu einem Preisschock kommt (unerwarteter Sprung, entweder nach oben oder nach unten), kehren die Preise zurück oder kehren schließlich zu dem Niveau vor dem Schock zurück. Die Zeit, die bis zur Rückkehr benötigt wird, wird oft als die Zeit bis zum Rückfall bezeichnet. Wenn der Prozess sehr hartnäckig ist, kann es sehr lange dauern, bis der Mittelwert wieder erreicht wird.

Das Identifizieren und Definieren einer Preisspanne und die Implementierung eines darauf basierenden Algorithmus ermöglicht die automatische Platzierung von Geschäften, wenn der Preis eines Vermögenswerts in seine definierte Spanne hinein- und aus ihr herausbricht.

Nach oben

Mode value

Fehlende Daten stellen immer ein Manko dar und werden voraussichtlich die Analysen und die daraus abzuleitenden Ergebnisse stören. Mit dem mode value kann man sich fehlenden Daten nähern. Der mode ist der Wert, der am häufigsten in einem Satz von Datenwerten erscheint.

Wenn X eine diskrete Zufallsvariable ist, ist der Modus der Wert x (d.h. X = x), bei dem die Wahrscheinlichkeitsmassenfunktion ihren maximalen Wert annimmt. Mit anderen Worten, es ist der Wert, der am wahrscheinlichsten gesampelt wird.

Fehlende Daten können auch LOCF (last observation carried forward) bereinigt werden, so dass die z.B. Trainingsdaten keine fehlenden Werte enthalten.

Nach oben

N

Neuronale Netzwerke

Ein neuronales Netzwerk ist eine Reihe von Algorithmen, die versuchen, zugrunde liegende Beziehungen in einem Datensatz durch einen Prozess zu erkennen. Im Anwendungsbereich der künstlichen Intelligenz versuchen diese die Funktionsweise des menschlichen Gehirns nachzuahmen.

Neuronale Netzwerke können sich an sich verändernde Eingaben anpassen. Das Netzwerk erzeugt also das bestmögliche Ergebnis, ohne dass die Ausgabekriterien neu gestaltet werden müssen. Das Konzept der neuronalen Netze, das seine Wurzeln in der künstlichen Intelligenz hat, gewinnt aktuell bei der Entwicklung von Handelssystemen rasch an Popularität.

Neuronale Netzwerke helfen in der Welt der Finanzen bei der Entwicklung von Prozessen wie algorithmischem Handel, Zeitreihenvorhersagen, Wertpapierklassifizierung, Kreditrisikomodellierung und der Konstruktion von proprietären Indikatoren und Preisderivaten.

Nach oben

P

Pooling

Ein Convolutional Neural Network (CNN) ist eine spezielle Form eines neuronalen Netzes. Diese Netze werden durch künstliche Neuronen dargestellt und im Bereich der künstlichen Intelligenz genutzt. Die Neuronen sind dabei miteinander verbunden und mit verschiedenen Gewichten verknüpft. Das Ziel im Lernprozess eines neuronalen Netzes ist es, diese Gewichte so anzupassen, dass mit dem Modell möglichst genaue Vorhersagen getroffen werden können.

Eines der wichtigsten Konzepte Convolutionaler Neuronaler Netzwerke ist das Pooling, das die Eingabekarte in eine Menge von Rechtecken aufteilt und das Maximum für die nichtlineare Abwärtsabtastung ausgibt. Der gebräuchlichste Pooling-Layer-Filter hat die Größe 2×2, wodurch drei Viertel der Aktivierungen verworfen werden. Die Rolle der Pooling-Layer besteht darin, die Auflösung der Feature-Karte zu reduzieren, aber die Merkmale der Karte beizubehalten, die für die Klassifizierung durch Translations- und Rotationsinvarianten erforderlich sind. Backpropagation wird für das Training der Pooling-Operation verwendet.

Nach oben

Programmiersprache R

Die Programmiersprache R ist Open-Source und damit kostenfrei. Sie ist optimiert für mathematische Operationen, denn eine Vielzahl statistische Funktionen sind direkt in die Bibliotheken eingebaut (lineare und nichtlineare Modellierung, klassische statistische Tests, Zeitreihenanalyse, Klassifizierung, Clustering, …) und ist in hohem Maße erweiterbar.

Häufig wird R für Data-Mining und Datenanalysen eingesetzt, unterstützt aber auch zahlreiche Operationen beim maschinellen Lernen.

Nach oben

S

Scikit-Learn

Scikit-learn ist eine der am weitesten verbreiteten Bibliotheken für maschinelles Lernen in Python. Sie verfügt über eine standardisierte und einfache Schnittstelle für die Vorverarbeitung von Daten und Modelltraining, Optimierung und Auswertung.

Seit seinem Start im Jahr 2010 hat sich die Bibliothek zu einem reichhaltigen Ökosystem für die Entwicklung von Modellen für maschinelles Lernen entwickelt und wird häufig zusammen mit den wissenschaftlichen Python-Bibliotheken SciPy und NumPy eingesetzt.

Zu den Funktionen von Scikit-Learn gehören:

  • Regression, einschließlich linearer und logistischer Regression
  • Klassifikation, einschließlich k-nearest neighbors
  • Clustering, einschließlich k-means und k-means++
  • Auswahl des Modells
  • Vorverarbeitung, einschließlich Min-Max-Normalisierung
Nach oben

Supportvektormaschinen (SVM)

Supportvektormaschinen (SVM) ist ein Algorithmus für überwachtes maschinelles Lernen, der sowohl für Klassifizierungs- als auch für Regressionsaufgaben verwendet werden kann. In der Praxis wird er hauptsächlich bei Klassifikationsproblemen verwendet. Im SVM-Algorithmus wird jedes Datenelement als Punkt im n-dimensionalen Raum dargestellt (wobei n die Anzahl der Merkmale ist, die Sie haben). Der Wert jedes Merkmals entspricht dem Wert einer bestimmten Koordinate. Die Klassifikation wird durchgeführt, indem man die Hyperebene findet, die die beiden Klassen sehr gut unterscheidet.

Nach oben

T

TensorFlow

TensorFlow wurde vom Google Brain-Team entwickelt und ist eine Open-Source-Bibliothek für numerische Berechnungen und maschinelles Lernen im großen Maßstab. TensorFlow bündelt eine Reihe von Modellen und Algorithmen für maschinelles Lernen und kann als die erste Wahl für Deep Learning / neuronale Netzwerke angesehen werden.

TensorFlow verwendet Python, um eine bequeme Front-End-API für die Erstellung von Anwendungen mit dem Framework bereitzustellen, während diese Anwendungen in hochleistungsfähigem C++ ausgeführt werden.

TensorFlow kann tiefe neuronale Netze für die Kursvorhersage, handschriftliche Digitalklassifizierung, Bilderkennung, Worteinbettungen, wiederkehrende neuronale Netze, Sequenz-zu-Sequenz-Modelle für maschinelle Übersetzung, Verarbeitung natürlicher Sprache und auf PDE (partielle Differentialgleichung) basierende Simulationen trainieren und ausführen.

Nach oben

Trainingsdaten

Eine häufige Aufgabe beim maschinellen Lernen ist das Studium und die Konstruktion von Algorithmen, die aus Daten lernen und Vorhersagen treffen können. Diese Algorithmen funktionieren deshalb, weil sie datenbasierte Vorhersagen oder Entscheidungen treffen und aus den Ausgangsdaten ein mathematisches Modell erstellen.

Jedes von uns gewählte Modell des maschinellen Lernens benötigt Daten, um seinen Algorithmus zu trainieren. Ohne eine Basis aus hochwertigen Trainingsdaten können selbst die leistungsfähigsten Algorithmen unbrauchbar werden, wenn sie im Anfangsstadium auf ungenauen, unzulänglichen oder irrelevanten Daten trainiert werden. Daher sind qualitativ hochwertige Trainingsdaten absolut essentiell für die Entwicklung robuster Modelle.

Nach oben

Transfer-Lernen

Transfer-Lernen ist die Wiederverwendung eines zuvor geschulten Modells für ein neues Problem. Es ist derzeit beim Tiefenlernen sehr beliebt, da es tiefe neuronale Netze mit vergleichsweise wenig Daten trainieren kann. Dies ist im Bereich der Datenwissenschaft sehr nützlich, da die meisten Probleme der realen Welt normalerweise nicht über Millionen von beschrifteten Datenpunkten verfügen, um solch komplexe Modelle zu trainieren.

Nach oben

V

Validierungsdatensatz

Ein Validierungsdatensatz ist eine Stichprobe von Daten, die vom Training Ihres Modells zunächst einmal zurückgehalten werden und die verwendet wird, um eine Schätzung der Modellfertigkeit während der Abstimmung der Hyperparameter des Modells zu geben.

Der Validierungsdatensatz unterscheidet sich von dem Testdatensatz, der ebenfalls vom Training des Modells zurückgehalten wird. Dieser wird aber stattdessen verwendet, um beim Vergleich oder bei der Auswahl zwischen den endgültigen Modellen eine unverzerrte Schätzung der Fertigkeit des fertig getunten Modells zu erhalten.

Nach oben

Varianz

Varianz tritt auf, wenn das Modell sehr empfindlich auf die Veränderungen der unabhängigen Merkmale reagiert. Das Modell versucht, auch kleinste Details über die Beziehung zwischen Merkmalen und Ziel zu erfassen. Dabei lernt es sogar das Rauschen in den Daten, das zufällig auftreten kann. Das führt dazu, dass eine sehr kleine Änderung in einem Merkmal die Vorhersage des Modells verändern kann.

So erhalten wir ein Modell, das versucht jedes einzelne Detail auf dem Trainingssatz zu erfassen, so dass die Genauigkeit auf dem Trainingssatz sehr hoch sein wird. Die Genauigkeit neuer, bisher nicht gesehener Datensätze wird wahrscheinlich nicht gut sein, da es immer verschiedene Variationen der Merkmale geben wird. Diese Situation wird auch als Überanpassung bezeichnet. Das Modell passt sich zu stark an die Trainingsdaten an.

Die Genauigkeit bei den Stichproben, die das Modell tatsächlich sieht, wird sehr hoch sein, aber die Genauigkeit bei neuen Daten wird sehr niedrig sein.

Nach oben

Fordern Sie jetzt unser
E-Book an

FREI

Melden Sie sich zum Newsletter an und laden Sie sich unser kostenloses E-Book herunter.