ML und KI

Top 20 Algorithmen, Methoden und Techniken für KI und maschinelles Lernen

Top 20 Algorithmen, Methoden und Techniken für KI und maschinelles Lernen

Als ich anfing, mit Problemen des maschinellen Lernens zu arbeiten, hatte ich Panik, welchen Algorithmus ich verwenden sollte? Oder welches ist einfach anzuwenden? Wenn Sie so sind wie ich, dann könnte Ihnen dieser Artikel helfen, mehr über Algorithmen, Methoden oder Techniken für künstliche Intelligenz und maschinelles Lernen zu erfahren, um unerwartete oder sogar erwartete Probleme zu lösen.

Maschinelles Lernen ist eine so leistungsstarke KI-Technik, die eine Aufgabe effektiv ausführen kann, ohne explizite Anweisungen zu verwenden. Ein ML-Modell kann aus seinen Daten und Erfahrungen lernen. Anwendungen für maschinelles Lernen sind automatisch, robust und dynamisch. Es werden mehrere Algorithmen entwickelt, um diese dynamische Natur realer Probleme anzugehen. Im Großen und Ganzen gibt es drei Arten von maschinellen Lernalgorithmen wie überwachtes Lernen, unüberwachtes Lernen und verstärkendes Lernen.

Die besten Algorithmen für KI und maschinelles Lernen


Die Auswahl der geeigneten Machine-Learning-Technik oder -Methode ist eine der Hauptaufgaben bei der Entwicklung eines künstlichen Intelligenz- oder Machine-Learning-Projekts. Weil es mehrere Algorithmen gibt, die alle ihre Vorteile und ihren Nutzen haben. Im Folgenden stellen wir 20 maschinelle Lernalgorithmen für Anfänger und Profis vor. Schauen wir also mal rein.

1.  Naive Bayes


Ein naiver Bayes-Klassifikator ist ein probabilistischer Klassifikator, der auf dem Bayes-Theorem basiert, mit der Annahme der Unabhängigkeit zwischen Merkmalen. Diese Funktionen unterscheiden sich von Anwendung zu Anwendung. Es ist eine der komfortablen maschinellen Lernmethoden für Anfänger zum Üben.

Naive Bayes ist ein bedingtes Wahrscheinlichkeitsmodell. Gegeben eine zu klassifizierende Probleminstanz, dargestellt durch einen Vektor x = (xich … xnein) Es stellt einige n Merkmale (unabhängige Variablen) dar und weist den aktuellen Instanzen Wahrscheinlichkeiten für jedes von K potentiellen Ergebnissen zu:

Das Problem bei der obigen Formulierung besteht darin, dass, wenn die Anzahl der Merkmale n signifikant ist oder wenn ein Element eine große Anzahl von Werten annehmen kann, ein solches Modell auf der Grundlage von Wahrscheinlichkeitstabellen nicht durchführbar ist. Daher entwickeln wir das Modell neu, um es handhabbarer zu machen. Mit dem Satz von Bayes kann die bedingte Wahrscheinlichkeit geschrieben werden als,

Unter Verwendung der Bayes'schen Wahrscheinlichkeitsterminologie kann die obige Gleichung wie folgt geschrieben werden:

Dieser Algorithmus der künstlichen Intelligenz wird bei der Textklassifizierung verwendet, d.e., Stimmungsanalyse, Dokumentkategorisierung, Spamfilterung und Nachrichtenklassifizierung. Diese maschinelle Lerntechnik funktioniert gut, wenn die Eingabedaten in vordefinierte Gruppen eingeteilt werden. Außerdem werden weniger Daten benötigt als die logistische Regression. Es übertrifft in verschiedenen Bereichen.

2. Support-Vektor-Maschine


Support Vector Machine (SVM) ist einer der am häufigsten verwendeten überwachten maschinellen Lernalgorithmen im Bereich der Textklassifikation. Diese Methode wird auch für die Regression verwendet. Es kann auch als Support Vector Networks bezeichnet werden. Cortes & Vapnik haben diese Methode zur binären Klassifikation entwickelt. Das Modell des überwachten Lernens ist der Ansatz des maschinellen Lernens, der die Ausgabe aus den gekennzeichneten Trainingsdaten ableitet.

Eine Support-Vektor-Maschine konstruiert eine Hyperebene oder eine Menge von Hyperebenen in einem sehr hohen oder unendlich dimensionalen Bereich. Es berechnet die lineare Trennfläche mit einem maximalen Spielraum für einen gegebenen Trainingssatz.

Nur eine Teilmenge der Eingabevektoren beeinflusst die Wahl des Spielraums (in der Abbildung eingekreist); solche Vektoren heißen Stützvektoren. Wenn keine lineare Trennfläche vorhanden ist, zum Beispiel bei verrauschten Daten, sind SVMs-Algorithmen mit einer losen Variable geeignet. Dieser Klassifikator versucht, den Datenraum unter Verwendung von linearen oder nichtlinearen Abgrenzungen zwischen den verschiedenen Klassen zu unterteilen.

SVM wird häufig bei Musterklassifizierungsproblemen und nichtlinearer Regression verwendet. Außerdem ist es eine der besten Techniken für die automatische Textkategorisierung. Das Beste an diesem Algorithmus ist, dass er keine starken Annahmen über Daten macht.

So implementieren Sie Support Vector Machine: Data Science Libraries in Python - SciKit Learn, PyML, SVMStruktur  Python-, LIBSVM- und Data Science-Bibliotheken in R-Klar, e1071.

3. Lineare Regression


Die lineare Regression ist ein direkter Ansatz, der verwendet wird, um die Beziehung zwischen einer abhängigen Variablen und einer oder mehreren unabhängigen Variablen zu modellieren. Wenn es eine unabhängige Variable gibt, dann heißt sie einfache lineare Regression. Wenn mehr als eine unabhängige Variable verfügbar ist, wird dies als multiple lineare Regression bezeichnet.

Diese Formel wird verwendet, um reale Werte wie den Preis von Häusern, die Anzahl der Anrufe, den Gesamtumsatz basierend auf kontinuierlichen Variablen zu schätzen estimate. Hier wird die Beziehung zwischen unabhängigen und abhängigen Variablen durch Anpassung der besten Geraden hergestellt. Diese beste Anpassungsgerade ist als Regressionsgerade bekannt und wird durch eine lineare Gleichung dargestellt

Y= a *X + b.

Hier,

Diese maschinelle Lernmethode ist einfach zu bedienen. Es wird schnell ausgeführt. Dies kann im Geschäft für Verkaufsprognosen verwendet werden. Es kann auch in der Risikobewertung verwendet werden.

4.  Logistische Regression


Hier ist ein weiterer maschineller Lernalgorithmus - Logistische Regression oder Logit-Regression, die verwendet wird, um diskrete Werte (Binärwerte wie 0/1, ja/nein, wahr/falsch) basierend auf einem gegebenen Satz der unabhängigen Variablen zu schätzen. Die Aufgabe dieses Algorithmus besteht darin, die Wahrscheinlichkeit eines Vorfalls vorherzusagen, indem Daten an eine Logit-Funktion angepasst werden. Seine Ausgangswerte liegen zwischen 0 und 1.

Die Formel kann in verschiedenen Bereichen wie maschinellem Lernen, wissenschaftlichen Disziplinen und medizinischen Bereichen verwendet werden. Es kann verwendet werden, um die Gefahr des Auftretens einer bestimmten Krankheit basierend auf den beobachteten Merkmalen des Patienten vorherzusagen. Die logistische Regression kann zur Vorhersage des Kaufwunsches eines Kunden verwendet werden. Diese maschinelle Lerntechnik wird bei der Wettervorhersage verwendet, um die Wahrscheinlichkeit von Regen vorherzusagen.

Die logistische Regression kann in drei Typen unterteilt werden -

Logistische Regression ist weniger kompliziert. Außerdem ist es robust. Es kann nichtlineare Effekte verarbeiten. Wenn die Trainingsdaten jedoch spärlich und hochdimensional sind, kann dieser ML-Algorithmus überfit. Es kann keine kontinuierlichen Ergebnisse vorhersagen.

5. K-Nächster-Nachbar (KNN)


K-nearest-neighbor (kNN) ist ein bekannter statistischer Ansatz für die Klassifikation und wurde im Laufe der Jahre umfassend untersucht und wurde früh auf Kategorisierungsaufgaben angewendet. Es fungiert als nicht-parametrische Methode für Klassifikations- und Regressionsprobleme.

Diese KI- und ML-Methode ist ganz einfach. Es bestimmt die Kategorie eines Testdokuments t basierend auf der Abstimmung einer Menge von k Dokumenten, die t in Bezug auf die Entfernung am nächsten sind, normalerweise euklidische Entfernung. Die wesentliche Entscheidungsregel bei einem Prüfdokument t für den kNN-Klassifikator lautet:

Wo y (xi,c ) eine binäre Klassifizierungsfunktion für das Trainingsdokument xi ist (die den Wert 1 zurückgibt, wenn xi mit c gekennzeichnet ist, oder sonst 0), kennzeichnet diese Regel mit t die Kategorie, die die meisten Stimmen in der k . erhält -nächste Nachbarschaft.

Wir können KNN unserem wirklichen Leben zugeordnet werden. Wenn Sie beispielsweise ein paar Personen herausfinden möchten, von denen Sie keine Informationen haben, möchten Sie möglicherweise lieber über seine engen Freunde und damit den Kreis, in dem er sich bewegt, entscheiden und Zugriff auf seine Informationen erhalten. Dieser Algorithmus ist rechenaufwendig.

6. K-bedeutet


k-means Clustering ist eine Methode des unüberwachten Lernens, die für die Clusteranalyse im Data Mining zugänglich ist. Der Zweck dieses Algorithmus besteht darin, n Beobachtungen in k Cluster zu unterteilen, wobei jede Beobachtung zum nächsten Mittelwert des Clusters gehört. Dieser Algorithmus wird unter anderem in der Marktsegmentierung, Computer Vision und Astronomie verwendet.

7. Entscheidungsbaum


Ein Entscheidungsbaum ist ein Werkzeug zur Entscheidungsunterstützung, das eine grafische Darstellung verwendet, d.e., baumartiges Diagramm oder Entscheidungsmodell. Es wird häufig in der Entscheidungsanalyse verwendet und ist auch ein beliebtes Werkzeug beim maschinellen Lernen. Entscheidungsbäume werden in der Betriebsforschung und im Betriebsmanagement verwendet.

Es hat eine Flussdiagramm-ähnliche Struktur, in der jeder interne Knoten einen 'Test' für ein Attribut darstellt, jeder Zweig das Ergebnis des Tests darstellt und jeder Blattknoten ein Klassenlabel darstellt. Der Weg von der Wurzel zum Blatt wird als Klassifizierungsregeln bezeichnet. Es besteht aus drei Arten von Knoten:

Ein Entscheidungsbaum ist einfach zu verstehen und zu interpretieren. Es verwendet ein White-Box-Modell. Es kann auch mit anderen Entscheidungstechniken kombiniert werden.

8. Zufälliger Wald


Random Forest ist eine beliebte Technik des Ensemble-Lernens, die so funktioniert, dass sie zur Trainingszeit eine Vielzahl von Entscheidungsbäumen erstellt und die Kategorie ausgibt, die der Modus der Kategorien (Klassifizierung) oder die mittlere Vorhersage (Regression) jedes Baumes ist.

Die Laufzeit dieses maschinellen Lernalgorithmus ist schnell und kann mit den unausgeglichenen und fehlenden Daten arbeiten. Wenn wir es jedoch für die Regression verwendet haben, kann es nicht über den Bereich in den Trainingsdaten hinaus vorhersagen und es kann zu einer Überanpassung der Daten führen.

9. WAGEN


Klassifikations- und Regressionsbaum (CART) ist eine Art von Entscheidungsbaum. Ein Entscheidungsbaum arbeitet als rekursiver Partitionierungsansatz und CART teilt jeden der Eingabeknoten in zwei untergeordnete Knoten auf. Auf jeder Ebene eines Entscheidungsbaums identifiziert der Algorithmus eine Bedingung – welche Variable und welche Ebene verwendet werden soll, um den Eingabeknoten in zwei untergeordnete Knoten aufzuteilen.

Die Schritte des CART-Algorithmus sind unten aufgeführt:

10. Apriori Machine Learning Algorithmus


Der Apriori-Algorithmus ist ein Kategorisierungsalgorithmus. Diese maschinelle Lerntechnik wird zum Sortieren großer Datenmengen verwendet. Es kann auch verwendet werden, um zu verfolgen, wie sich Beziehungen entwickeln und Kategorien gebildet werden. Dieser Algorithmus ist eine unüberwachte Lernmethode, die Assoziationsregeln aus einem gegebenen Datensatz generiert.

Apriori Machine Learning Algorithmus funktioniert wie folgt:

Dieser ML-Algorithmus wird in einer Vielzahl von Anwendungen verwendet, z. B. zur Erkennung von unerwünschten Arzneimittelwirkungen, zur Warenkorbanalyse und zur automatischen Vervollständigung von Anwendungen. Es ist einfach zu implementieren.

11. Hauptkomponentenanalyse (PCA)


Die Hauptkomponentenanalyse (PCA) ist ein unbeaufsichtigter Algorithmus. Die neuen Features sind orthogonal, d.h. sie sind nicht korreliert. Bevor Sie PCA durchführen, sollten Sie Ihr Dataset immer normalisieren, da die Transformation maßstabsabhängig ist. Wenn Sie dies nicht tun, werden die Merkmale mit der größten Bedeutung die neuen Hauptkomponenten dominieren.

PCA ist eine vielseitige Technik. Dieser Algorithmus ist mühelos und einfach zu implementieren. Es kann in der Bildverarbeitung verwendet werden.

12. CatBoost


CatBoost ist ein Open-Source-Algorithmus für maschinelles Lernen, der von Yandex stammt. Der Name „CatBoost“ setzt sich aus den beiden Wörtern „Kategorie“ und „Boosting“ zusammen.' Es kann mit Deep-Learning-Frameworks kombiniert werden, d.e., Googles TensorFlow und Apples Core ML. CatBoost kann mit zahlreichen Datentypen arbeiten, um mehrere Probleme zu lösen.

13. Iterativer Dichotomiser 3 (ID3)


Iterative Dichotomiser 3 (ID3) ist eine algorithmische Regel zum Lernen von Entscheidungsbäumen, die von Ross Quinlan vorgestellt wird und verwendet wird, um einen Entscheidungsbaum aus einem Datensatz bereitzustellen. Es ist der Vorläufer des C4.5 algorithmisches Programm und wird in den Bereichen maschinelles Lernen und linguistische Kommunikation eingesetzt.

ID3 passt möglicherweise zu den Trainingsdaten. Diese algorithmische Regel ist bei kontinuierlichen Daten schwieriger anzuwenden. Es garantiert keine optimale Lösung.

14. Hierarchisches Clustering


Hierarchisches Clustering ist eine Methode der Clusteranalyse. Beim hierarchischen Clustering wird ein Clusterbaum (ein Dendrogramm) entwickelt, um Daten zu veranschaulichen. Beim hierarchischen Clustering ist jede Gruppe (Knoten) mit zwei oder mehr Nachfolgegruppen verknüpft. Jeder Knoten innerhalb des Clusterbaums enthält ähnliche Daten. Knotengruppe im Diagramm neben anderen ähnlichen Knoten.

Algorithmus

Diese maschinelle Lernmethode kann in zwei Modelle unterteilt werden - Prost oder von oben nach unten:

Bottom-up (Hierarchical Agglomerative Clustering, HAC)

ein. Komplettes Gestänge: Ähnlichkeit des am weitesten entfernten Paares. Eine Einschränkung besteht darin, dass Ausreißer dazu führen können, dass enge Gruppen später als optimal zusammengeführt werden.

b. Einfachgestänge: Die Ähnlichkeit des nächsten Paares. Dies kann zu einer vorzeitigen Zusammenführung führen, obwohl diese Gruppen ziemlich unterschiedlich sind.

c. Gruppendurchschnitt: Ähnlichkeit zwischen Gruppen.

d. Schwerpunktähnlichkeit: jede Iteration führt die Cluster mit dem vordersten ähnlichen zentralen Punkt zusammen.

Von oben nach unten (Teilungsclustering)

fünfzehn. Rückausbreitung


Backpropagation ist ein überwachter Lernalgorithmus. Dieser ML-Algorithmus stammt aus dem Bereich ANN (Artificial Neural Networks). Dieses Netzwerk ist ein mehrschichtiges Feed-Forward-Netzwerk. Diese Technik zielt darauf ab, eine gegebene Funktion zu entwerfen, indem die internen Gewichte der Eingangssignale modifiziert werden, um das gewünschte Ausgangssignal zu erzeugen. Es kann zur Klassifizierung und Regression verwendet werden.

Der Backpropagation-Algorithmus hat einige Vorteile, d.h.e., es ist einfach zu implementieren. Die im Algorithmus verwendete mathematische Formel kann auf jedes Netzwerk angewendet werden. Bei kleinen Gewichten kann die Rechenzeit verkürzt werden.

Der Backpropagation-Algorithmus hat einige Nachteile, z. B. kann er empfindlich auf verrauschte Daten und Ausreißer reagieren. Es ist ein vollständig matrixbasierter Ansatz. Die tatsächliche Leistung dieses Algorithmus hängt vollständig von den Eingabedaten ab. Die Ausgabe kann nicht numerisch sein.

16. AdaBoost


AdaBoost steht für Adaptive Boosting, eine Methode des maschinellen Lernens, die von Yoav Freund und Robert Schapire repräsentiert wird. Es ist ein Meta-Algorithmus und kann mit anderen Lernalgorithmen integriert werden, um deren Leistung zu verbessern. Dieser Algorithmus ist schnell und einfach zu verwenden. Es funktioniert gut mit großen Datensätzen.

17. Tiefes Lernen


Deep Learning ist eine Reihe von Techniken, die vom Mechanismus des menschlichen Gehirns inspiriert sind. Die beiden primären Deep Learning, d.h.e., Convolution Neural Networks (CNN) und Recurrent Neural Networks (RNN) werden bei der Textklassifizierung verwendet. Deep-Learning-Algorithmen wie Word2Vec oder GloVe werden ebenfalls verwendet, um hochrangige Vektordarstellungen von Wörtern zu erhalten und die Genauigkeit von Klassifikatoren zu verbessern, die mit traditionellen maschinellen Lernalgorithmen trainiert werden.

Diese Methode des maschinellen Lernens benötigt viele Trainingsproben anstelle von traditionellen maschinellen Lernalgorithmen, d. h.e., ein Minimum von Millionen beschrifteter Beispiele. Auf der anderen Seite erreichen herkömmliche maschinelle Lerntechniken einen genauen Schwellenwert, wenn das Hinzufügen von mehr Trainingsstichproben ihre Genauigkeit nicht insgesamt verbessert. Deep-Learning-Klassifikatoren übertreffen bessere Ergebnisse mit mehr Daten.

18. Gradientenverstärkungsalgorithmus


Gradient Boosting ist eine Methode des maschinellen Lernens, die zur Klassifizierung und Regression verwendet wird. Es ist eine der leistungsstärksten Methoden zur Entwicklung eines Vorhersagemodells. Ein Gradienten-Boosting-Algorithmus hat drei Elemente:

19. Hopfield-Netzwerk


Ein Hopfield-Netzwerk ist eine Art rekurrentes künstliches neuronales Netzwerk, das 1982 von John Hopfield gegeben wurde. Dieses Netzwerk zielt darauf ab, ein oder mehrere Muster zu speichern und die vollständigen Muster basierend auf einer Teileingabe abzurufen. In einem Hopfield-Netzwerk sind alle Knoten sowohl Eingänge als auch Ausgänge und vollständig miteinander verbunden.

20. C4.5 


C4.5 ist ein Entscheidungsbaum, der von Ross Quinlan erfunden wurde. Es ist eine Upgrade-Version von ID3. Dieses algorithmische Programm umfasst einige Basisfälle:

Gedanken beenden


Es ist sehr wichtig, den richtigen Algorithmus basierend auf Ihren Daten und Ihrer Domäne zu verwenden, um ein effizientes Projekt für maschinelles Lernen zu entwickeln. Außerdem ist es wichtig, den entscheidenden Unterschied zwischen jedem maschinellen Lernalgorithmus zu verstehen, um anzugehen, "wenn ich welchen auswähle".' Wie bei einem maschinellen Lernansatz eine Maschine oder ein Gerät durch den Lernalgorithmus gelernt hat. Ich bin fest davon überzeugt, dass dieser Artikel Ihnen hilft, den Algorithmus zu verstehen. Wenn Sie Anregungen oder Fragen haben, wenden Sie sich bitte an. Weiter lesen.

Die 5 besten Arcade-Spiele für Linux
Heutzutage sind Computer ernsthafte Maschinen, die zum Spielen verwendet werden. Wenn du den neuen Highscore nicht bekommst, weißt du was ich meine. I...
Schlacht um Wesnoth 1.13.6 Entwicklung veröffentlicht
Schlacht um Wesnoth 1.13.6, das letzten Monat veröffentlicht wurde, ist die sechste Entwicklungsversion im 1.13.x-Serie und bietet eine Reihe von Verb...
So installieren Sie League of Legends auf Ubuntu 14.04
Wenn Sie ein Fan von League of Legends sind, dann ist dies eine Gelegenheit für Sie, League of Legends zu testen. Beachten Sie, dass LOL von PlayOnLin...