Skip to main content

Basiswissen - Machine Learning Algorithmen

Supervised (Überwachtes Lernen)

Name (H2o-Wordings)
Kurz-Beschreibung
Beispiele
Cox Proportional Hazards (CoxPH)

siehe auch https://docs.h2o.ai/h2o/latest-stable/h2o-docs/data-science/coxph.html

Cox-Proportional-Hazards-Modelle sind der am weitesten verbreitete Ansatz zur Modellierung von Zeit-zu-Ereignis-Daten. Wie der Name schon sagt, berechnet die Hazard-Funktion die momentane Geschwindigkeit eines Ereignisses und wird mathematisch als

h (t) = limΔt ↓ 0Pr [t≤T <t + Δt|T≥t] Δt,

wird angenommen, dass es das Produkt einer Basis-Hazard-Funktion und eines Risiko-Scores ist. Folglich ist die Gefahrenfunktion für die Beobachtung i in einem Cox-Proportional-Hazards-Modell definiert als

hi (t) = λ (t) exp (xTiβ)

wobei λ (t) die Basis-Hazard-Funktion ist, die von allen Beobachtungen geteilt wird, und exp (xTiβ) die Risiko-Punktzahl für Beobachtung i ist, die als die potenzierte Linearkombination des Kovariatenvektors xTi unter Verwendung eines allen Beobachtungen gemeinsamen Koeffizientenvektors berechnet wird.

Diese Kombination einer nicht-parametrischen Grundlinien-Hazard-Funktion und einer parametrischen Risiko-Bewertung führt dazu, dass Cox-Proportional-Hazards-Modelle als semiparametrisch beschrieben werden. Darüber hinaus zeigt eine einfache Umordnung von Termen, dass im Gegensatz zu verallgemeinerten linearen Modellen ein intercept (konstanter) Term im Risikobewertungswert der Modellanpassung aufgrund der Einbeziehung einer Grundlinien-Hazard-Funktion keinen Wert hinzufügt.


Deep Learning

siehe auch https://docs.h2o.ai/h2o/latest-stable/h2o-docs/data-science/deep-learning.html

siehe auch https://de.mathworks.com/discovery/deep-learning.html

H2O's Deep Learning basiert auf einem Multi-Layer Feedforward-künstlichen neuronalen Netzwerk, das mit stochastischem Gradienten-Abstieg unter Verwendung von Rückwärtsausbreitung trainiert wird. Das Netzwerk kann eine große Anzahl von verborgenen Schichten enthalten, die aus Neuronen mit Tanh-, Gleichrichter- und Maxout-Aktivierungsfunktionen bestehen. Erweiterte Funktionen wie adaptive Lernrate, Ratenglühen, Impulstraining, Dropout, L1- oder L2-Regularisierung, Checkpointing und Grid-Suche ermöglichen eine hohe Vorhersagegenauigkeit. Jeder Rechenknoten trainiert eine Kopie der globalen Modellparameter auf seinen lokalen Daten mit Multi-Threading (asynchron) und trägt periodisch über Modell-Mittelung über das Netzwerk zum globalen Modell bei.

Ein künstliches neuronales Vorwärtsnetzwerk (ANN), auch bekannt als tiefes neuronales Netzwerk (DNN) oder mehrschichtiges Perzeptron (MLP), ist der häufigste Typ von Deep Neural Network und der einzige Typ, der nativ in H2O-3 unterstützt wird. Mehrere andere Arten von DNNs sind ebenfalls beliebt, wie z. B. Convolutional Neural Networks (CNNs) und Recurrent Neural Networks (RNNs). MLPs funktionieren gut mit transaktionalen (tabellarischen) Daten; Wenn Sie jedoch Bilddaten haben, sind CNNs eine gute Wahl. Wenn Sie sequentielle Daten haben (z.B. Text, Audio, Zeitreihen), dann sind RNNs eine gute Wahl.

  • Automatisiertes Fahren: Entwickler in der Automobilbranche verwenden Deep Learning für die automatische Erkennung von Objekten wie Stoppschildern und Ampeln. Außerdem wird Deep Learning verwendet, um Fußgänger zu erkennen und somit Unfälle zu vermeiden.
  • Luft- und Raumfahrt und Verteidigung: Deep Learning wird verwendet, um über Satelliten Objekte zu identifizieren, an denen relevante Gebiete zu erkennen sind, und um sichere oder gefährliche Zonen für Einsatzkräfte zu identifizieren.
  • Medizinische Forschung: Krebsforscher verwenden Deep Learning für die automatische Erkennung von Krebszellen. Teams an der UCLA haben ein innovatives Mikroskop gebaut, das eine hochdimensionale Datenmenge bereitstellt, mit der eine Deep-Learning-Anwendung so trainiert werden kann, dass sie Krebszellen präzise identifiziert.
  • Industrieautomatisierung: Deep Learning trägt dazu bei, die Arbeitssicherheit an schweren Maschinen zu erhöhen, indem automatisch erkannt wird, ob Personen oder Objekte sich gefährlich nah an Maschinen befinden.
  • Elektronik (CES): Deep Learning wird für automatisiertes Hören und Sprechen verwendet. Beispielsweise basieren unterstützende Geräte im Privatbereich, die auf die Stimme des Anwenders reagieren und seine Wünsche kennen, auf Deep-Learning-Anwendungen.
Distributed Random Forest

siehe auch https://docs.h2o.ai/h2o/latest-stable/h2o-docs/data-science/drf.html
Distributed Random Forest (DRF) ist ein leistungsfähiges Klassifizierungs- und Regressionstool. Wenn eine Datenmenge angegeben wird, generiert DRF eine Gesamtstruktur von Klassifizierungs- oder Regressionsbäumen anstelle einer einzelnen Klassifizierungs- oder Regressionsbaumstruktur. Jeder dieser Bäume ist ein schwacher Lerner, der auf einer Teilmenge von Zeilen und Spalten aufgebaut ist. Mehr Bäume werden die Varianz reduzieren. Sowohl die Klassifikation als auch die Regression nehmen die durchschnittliche Vorhersage über alle ihre Bäume an, um eine endgültige Vorhersage zu treffen, ob sie für einen Klassen- oder numerischen Wert vorhersagen. (Hinweis: Für eine kategorische Antwortspalte ordnet DRF Faktoren (z. B. "Hund", "Katze", "Maus") in lexikographischer Reihenfolge einem Namen-Nachschlagefeld mit ganzzahligen Indizes zu (z. B. 'cat -> 0,' dog '-> 1 , 'Maus' -> 2.)


Alternative englische Erklärung:

https://towardsdatascience.com/the-random-forest-algorithm-d457d499ffcd https://en.wikipedia.org/wiki/Random_Forest Random forests or random decision forests are an ensemble learning method for classification, regression and other tasks that operates by constructing a multitude of decision trees at training time and outputting the class that is the mode of the classes (classification) or mean prediction (regression) of the individual trees.[1][2] Random decision forests correct for decision trees' habit of overfitting to their training set.


Gradient Boosting Machine

siehe auch https://docs.h2o.ai/h2o/latest-stable/h2o-docs/data-science/gbm.html
Gradient Boosting Machine (für Regression und Klassifikation) ist eine Vorwärts-Lern-Methode. Die Leitheuristik besteht darin, dass gute Vorhersageergebnisse durch zunehmend verfeinerte Approximationen erhalten werden können. Das GBM von H2O erstellt sequenziell Regressionsbäume auf allen Funktionen des Datasets in einer vollständig verteilten Weise - jeder Baum ist parallel aufgebaut.


Alternative englische Erklärung:

https://towardsdatascience.com/boosting-algorithm-gbm-97737c63daa3 

https://en.wikipedia.org/wiki/Gradient_boosting

Gradient boosting is a machine learning technique for regression and classification problems, which produces a prediction model in the form of an ensemble of weak prediction models, typically decision trees. It builds the model in a stage-wise fashion like other boosting methods do, and it generalizes them by allowing optimization of an arbitrary differentiable loss function.

The idea of gradient boosting originated in the observation by Leo Breiman that boosting can be interpreted as an optimization algorithm on a suitable cost function.[1] Explicit regression gradient boosting algorithms were subsequently developed by Jerome H. Friedman,[2][3] simultaneously with the more general functional gradient boosting perspective of Llew Mason, Jonathan Baxter, Peter Bartlett and Marcus Frean.[4][5] The latter two papers introduced the view of boosting algorithms as iterative functional gradient descent algorithms. That is, algorithms that optimize a cost function over function space by iteratively choosing a function (weak hypothesis) that points in the negative gradient direction. This functional gradient view of boosting has led to the development of boosting algorithms in many areas of machine learning and statistics beyond regression and classification.


Generalized Linear Model siehe auch https://docs.h2o.ai/h2o/latest-stable/h2o-docs/data-science/glm.html
Generalisierte lineare Modelle (GLM) schätzen Regressionsmodelle für Ergebnisse, die exponentiellen Verteilungen folgen. Zusätzlich zu der Gaußschen (d. H. Normalen) Verteilung umfassen diese Poisson-, Binomial- und Gamma-Verteilungen. Jedes dient einem anderen Zweck und kann abhängig von der Wahl der Verteilung und der Verbindungsfunktion entweder zur Vorhersage oder zur Klassifizierung verwendet werden.

Naïve Bayes

siehe auch https://docs.h2o.ai/h2o/latest-stable/h2o-docs/data-science/naive-bayes.html

Naive Bayes ist ein Klassifikationsalgorithmus, der auf starken Annahmen der Unabhängigkeit von Kovariaten bei der Anwendung des Bayes-Theorems beruht. Der Naive-Bayes-Klassifikator nimmt die Unabhängigkeit zwischen Prädiktorvariablen, die von der Antwort abhängen, und einer Gaußschen Verteilung von numerischen Prädiktoren mit Mittelwert und Standardabweichung, die aus dem Trainingsdatensatz berechnet wird, an.

Naive Bayes-Modelle werden häufig als Alternative zu Entscheidungsbäumen für Klassifizierungsprobleme verwendet. Beim Erstellen eines Naive-Bayes-Klassifizierers wird jede Zeile im Trainingsdatensatz, die mindestens eine NA enthält, vollständig übersprungen. Wenn der Testdatensatz fehlende Werte aufweist, werden diese Vorhersagewerte bei der Wahrscheinlichkeitsberechnung während der Vorhersage weggelassen.


Stacked Ensemble

siehe auch https://docs.h2o.ai/h2o/latest-stable/h2o-docs/data-science/stacked-ensembles.html

Ensemble-Machine-Learning-Verfahren verwenden mehrere Lernalgorithmen, um eine bessere Vorhersagegüte zu erzielen, als sie von einem der Lernalgorithmen erhalten werden könnte. Viele der modernen modernen Lernalgorithmen sind eigentlich Ensembles. Zum Beispiel sind Random Forest und Gradient Boosting Machine (GBM) beide Ensemble-Lerner. Sowohl Einsammeln (z. B. Random Forest) als auch Verstärken (z. B. GBM) sind Verfahren zum Zusammenfügen, die eine Sammlung von schwachen Lernenden (z. B. Entscheidungsbaum) aufnehmen und einen einzelnen, starken Lernenden bilden.

H2O's Stacked-Ensemble-Methode ist ein überwachter Algorithmus zum Lernen von Ensemble-Maschinen, der die optimale Kombination einer Sammlung von Vorhersagealgorithmen mithilfe eines Prozesses namens Stacking findet. Wie alle überwachten Modelle in H2O unterstützt Stacked Enemseble Regression, binäre Klassifizierung und Klassifikationen.

Stacking, auch Super Learning [3] oder Stacked Regression [2] genannt, ist eine Klasse von Algorithmen, die das Training eines Second-Level- "Metalearner" beinhaltet, um die optimale Kombination der Basislerner zu finden. Im Gegensatz zu Bagging und Boosting besteht das Ziel beim Stacking darin, starke, unterschiedliche Gruppen von Lernenden zusammen zu bringen.

Obwohl das Konzept des Stapelns ursprünglich 1992 entwickelt wurde [1], wurden die theoretischen Garantien für das Stapeln erst durch die Veröffentlichung eines Papiers mit dem Titel "Super Learner" im Jahr 2007 [3] bewiesen. In dieser Arbeit wurde gezeigt, dass das Super-Learner-Ensemble ein asymptotisch optimales Lernsystem darstellt.

Es gibt einige Ensemble-Methoden, die allgemein als Stacking bezeichnet werden, das Super-Learner-Ensemble unterscheidet sich jedoch durch die Verwendung von Kreuzvalidierung, um so genannte "Level-One" -Daten zu bilden, oder die Daten, die der Metalearning oder "Combiner" Algorithmus wird trainiert. Weitere Einzelheiten über den Super-Learner-Algorithmus werden nachfolgend bereitgestellt.


XGBoost

siehe auch https://docs.h2o.ai/h2o/latest-stable/h2o-docs/data-science/xgboost.html

XGBoost ist ein überwachter Lernalgorithmus, der einen Prozess namens Boosting implementiert, um genaue Modelle zu erhalten. Boosting bezieht sich auf die Ensemble-Lern-Technik, bei der viele Modelle sequentiell aufgebaut werden, wobei jedes neue Modell versucht, die Mängel des vorherigen Modells zu korrigieren. Bei der Baumverstärkung ist jedes neue Modell, das dem Ensemble hinzugefügt wird, ein Entscheidungsbaum. XGBoost bietet eine parallele Baumverstärkung (auch bekannt als GBDT, GBM), die viele Datenwissenschaftsprobleme auf schnelle und genaue Weise löst. Für viele Probleme ist XGBoost heute einer der besten Frameworks für Gradientenverstärker (GBM).




Unsupervised


Name (H2o-Wordings)


Aggregator

siehe auch https://docs.h2o.ai/h2o/latest-stable/h2o-docs/data-science/aggregator.html

Die H2O-Aggregator-Methode ist eine clusterbasierte Methode zum Reduzieren eines numerischen / kategorischen Datensatzes in einen Datensatz mit weniger Zeilen. Wenn das Dataset kategorische Spalten enthält, führt Aggregator für jede kategoriale Spalte Folgendes aus:

Akkumulieren Sie die Kategorie Frequenzen.
Generieren Sie für die Top 1.000 oder weniger Kategorien (nach Häufigkeit) Dummy-Variablen (von ML-Leuten "One-Hot Encoding" genannt, von Statistikern Dummy-Codierung genannt).
Berechnen Sie den ersten Eigenvektor der Kovarianzmatrix dieser Dummy-Variablen.
Ersetzen Sie die Zeilenwerte in der kategorialen Spalte durch den Wert aus dem Eigenvektor, der den Dummy-Werten entspricht.
Der Aggregator behält Ausreißer als Ausreißer bei, bündelt jedoch dichte Cluster zu Exemplaren mit einer angehängten Zählspalte, die die Mitgliedspunkte zeigt.

Die Aggregator-Methode verhält sich wie jedes andere unbeaufsichtigte Modell. Sie können Spalten ignorieren, die dann für die Abstandsberechnung gelöscht werden. Training selbst erstellt den aggregierten H2O-Frame, der auch die Anzahl der Mitglieder für jede Zeile / jedes Exemplar enthält. Der aggregierte Rahmen enthält immer den vollständigen Originalinhalt des Trainingsrahmens, selbst wenn einige Spalten für die Entfernungsberechnung ignoriert wurden. Scoring / Prädiktion wird mit einer Funktion überladen, die die Elemente eines gegebenen exemplarischen Zeilenindex von 0 ... Nexemplars (diesmal ohne Zählung) zurückgibt.


Generalized Low Rank Model

siehe auch https://www.shareholder24.de/wiki/pages/editpage.action?pageId=82116638

Die allgemeinen Modelle mit niedrigem Rang (GLRM) sind ein Algorithmus zur Reduzierung der Dimensionalität eines Datensatzes. Es ist ein allgemeiner, parallelisierter Optimierungsalgorithmus, der für eine Vielzahl von Verlust- und Regularisierungsfunktionen gilt. Kategorische Spalten werden durch Erweiterung in 0/1-Indikatorspalten für jede Ebene behandelt. Mit diesem Ansatz ist GLRM nützlich, um fehlende Werte zu rekonstruieren und wichtige Merkmale in heterogenen Daten zu identifizieren.

Was ist ein Low-Rank-Modell?
Bei großen Datensammlungen mit numerischen und kategorialen Werten können Einträge in der Tabelle verrauscht sein oder gar fehlen. Low-Rank-Modelle erleichtern das Verständnis von Tabellendaten, indem sie für jede Zeile und Spalte im Dataset eine verdichtete Vektordarstellung erzeugen. Insbesondere bei einer Datentabelle A mit m Zeilen und n Spalten besteht eine GLRM aus einer Zerlegung von A in numerische Matrizen X und Y. Die Matrix X hat die gleiche Anzahl von Zeilen wie A, aber nur eine kleine, vom Benutzer spezifizierte Zahl von Spalten k. Die Matrix Y hat k Zeilen und d Spalten, wobei d gleich der Gesamtdimension der eingebetteten Features in A ist. Zum Beispiel, wenn A 4 numerische Spalten und 1 kategorische Spalte mit 3 verschiedenen Ebenen hat (z. B. rot, blau und grün) ), dann wird Y 7 Spalten haben. Wenn A nur numerische Merkmale enthält, ist die Anzahl der Spalten in A und Y identisch.

image-1655733389043.png


Sowohl X als auch Y haben praktische Interpretationen. Jede Reihe von Y ist ein archetypisches Merkmal, das aus den Spalten von A gebildet wird, und jede Reihe von X entspricht einer Reihe von A, die in diesen Merkmalraum mit verringerter Dimension projiziert wird. Wir können A aus dem Matrixprodukt XY, das den Rang k hat, näherungsweise rekonstruieren. Die Zahl k wird viel kleiner gewählt als m und n: Ein typischer Wert für 1 Million Zeilen und 2000 Spalten numerischer Daten ist k = 15. Je kleiner k ist, desto mehr Komprimierung erhält man durch die niedrigrangige Darstellung.


K-means

siehe auch https://docs.h2o.ai/h2o/latest-stable/h2o-docs/data-science/k-means.html

K-Means fällt in die allgemeine Kategorie der Cluster-Algorithmen. Clustering ist eine Form von unüberwachtem Lernen, das versucht, Strukturen in den Daten zu finden, ohne irgendwelche Beschriftungen oder Zielwerte zu verwenden. Clustering unterteilt eine Reihe von Beobachtungen in separate Gruppierungen, so dass eine Beobachtung in einer gegebenen Gruppe einer anderen Beobachtung in derselben Gruppe ähnlicher ist als einer anderen Beobachtung in einer anderen Gruppe.


Principal Component Analysis

siehe auch https://docs.h2o.ai/h2o/latest-stable/h2o-docs/data-science/pca.html

Principal Components Analysis (PCA) ist eng mit der Principal Components Regression verwandt. Der Algorithmus wird an einem Satz möglicherweise kollinearer Merkmale ausgeführt und führt eine Transformation durch, um einen neuen Satz unkorrelierter Merkmale zu erzeugen.

PCA wird häufig verwendet, um ohne Regularisierung zu modellieren oder die Dimensionalität zu reduzieren. Es kann auch nützlich sein, als Vorverarbeitungsschritt vor entfernungsbasierten Algorithmen wie K-Means vorzugehen, da PCA garantiert, dass alle Dimensionen einer Mannigfaltigkeit orthogonal sind.

 

image-1655733430011.png