Heim  >  Artikel  >  Technologie-Peripheriegeräte  >  In der Toolbox für maschinelles Lernen sind sechs wichtige Algorithmen verborgen

In der Toolbox für maschinelles Lernen sind sechs wichtige Algorithmen verborgen

王林
王林nach vorne
2023-04-09 20:11:051413Durchsuche

1. Lineare Regression

In der Toolbox für maschinelles Lernen sind sechs wichtige Algorithmen verborgen

Der französische Mathematiker Adrien-Marie Legendre war besessen davon, die zukünftige Position des Kometen vorherzusagen, und bereitet sich darauf vor, eine Methode zur Berechnung seiner Flugbahn zu entwickeln.

Nachdem ich mehrere Methoden ausprobiert hatte, machte ich endlich Fortschritte.

Legendre begann damit, die zukünftige Position des Kometen zu erraten, zeichnete Daten auf, analysierte sie und überprüfte schließlich seine Vermutung anhand von Daten, um die Summe der quadratischen Fehler zu reduzieren.

Dies ist der Keim der linearen Regression.

Zwei Schritte zur Popularisierung: Der Algorithmus half Navigatoren sofort dabei, die Sterne zu verfolgen, und später auch Biologen (insbesondere Charles Darwins Cousin Francis Galton), vererbbare Merkmale bei Pflanzen und Tieren zu identifizieren. Diese beiden Weiterentwicklungen erschlossen das breite Potenzial der linearen Regression. Im Jahr 1922 zeigten die britischen Statistiker Ronald Fisher und Karl Pearson, wie die lineare Regression in den allgemeinen statistischen Rahmen von Korrelationen und Verteilungen passen könnte, wodurch sie in allen Wissenschaften nützlich wurde. Und fast ein Jahrhundert später lieferte das Aufkommen von Computern die Daten- und Rechenleistung, um diese in noch größerem Umfang nutzen zu können.

Umgang mit Unklarheiten: Natürlich werden Daten nie perfekt gemessen und einige Variablen sind wichtiger als andere. Diese Tatsachen des Lebens inspirieren zu komplexeren Variationen. Beispielsweise ermutigt die lineare Regression mit Regularisierung (auch als „Ridge-Regression“ bekannt) lineare Regressionsmodelle dazu, sich nicht zu sehr auf eine einzelne Variable zu verlassen, oder vielmehr, sich gleichmäßig auf die wichtigste Variable zu verlassen. Der Einfachheit halber erzeugt eine andere Form der Regularisierung (L1 statt L2) ein Lasso (komprimierte Schätzung), das möglichst viele Koeffizienten auf Null setzt. Mit anderen Worten: Es lernt, Variablen mit hoher Vorhersagekraft auszuwählen und den Rest zu ignorieren. Elastische Netzwerke kombinieren diese beiden Arten der Regularisierung. Dies ist nützlich, wenn die Daten spärlich sind oder wenn Features miteinander in Zusammenhang zu stehen scheinen.

In jedem Neuron: Die einfache Version ist immer noch sehr nützlich. Der häufigste Neuronentyp in neuronalen Netzen sind lineare Regressionsmodelle, gefolgt von nichtlinearen Aktivierungsfunktionen, was die lineare Regression zu einem grundlegenden Bestandteil des Deep Learning macht.

2. Logistische Regression

Es gab eine Zeit, in der die logistische Regression nur zur Klassifizierung einer Sache verwendet wurde: Wenn Sie eine Flasche Gift getrunken hätten, würden Sie dann als „lebendig“ oder „tot“ bezeichnet?

Der Anruf bei der Notrufzentrale liefert nicht nur eine bessere Antwort auf diese Frage, sondern die logistische Regression ist auch das Herzstück des Deep Learning.

Diese Funktion stammt aus den 1830er Jahren, als der belgische Statistiker P.F. Verhulst sie zur Beschreibung der Bevölkerungsdynamik erfand: Mit der Zeit lässt die anfängliche Explosion des exponentiellen Wachstums nach, da sie die verfügbaren Ressourcen verbraucht, wodurch die charakteristische Logikkurve entsteht.

Mehr als ein Jahrhundert später entwickelten der amerikanische Statistiker E. B. Wilson und seine Schülerin Jane Worcester eine logistische Regression, um zu berechnen, wie viel eines bestimmten gefährlichen Stoffes tödlich ist.

3. Gradientenabstiegsmethode

Stellen Sie sich vor, Sie wandern in den Bergen nach Einbruch der Dunkelheit und stellen fest, dass Sie außer Ihren Füßen nichts sehen können.

Der Akku Ihres Telefons ist leer, sodass Sie GPS nicht verwenden können, um den Weg nach Hause zu finden.

Vielleicht finden Sie den schnellsten Weg durch den Gefälleabstieg, aber seien Sie vorsichtig, fallen Sie nicht von der Klippe.

Im Jahr 1847 erfand der französische Mathematiker Augustin-Louis Cauchy einen Algorithmus zur Approximation von Sternbahnen.

Sechzig Jahre später entwickelte sein Landsmann Jacques Hadamard es unabhängig, um die Verformung dünner, flexibler Objekte (z. B. Teppiche) zu beschreiben, die das Wandern mit den Knien erleichtern könnten.

Beim maschinellen Lernen besteht die häufigste Verwendung jedoch darin, den tiefsten Punkt der Verlustfunktion eines Lernalgorithmus zu finden.

Schade, dass der Akku deines Telefons leer ist, denn der Algorithmus hat dich wahrscheinlich nicht bis zum Fuß des Berges gebracht.

Sie können in einer nicht konvexen Landschaft stecken bleiben, die aus mehreren Tälern (lokalen Minima), Gipfeln (lokalen Maxima), Sattelpunkten (Sattelpunkten) und Plateaus besteht.

Tatsächlich sind Aufgaben wie Bilderkennung, Textgenerierung und Spracherkennung alle nicht konvex, und es wurden viele Variationen des Gradientenabstiegs entwickelt, um diese Situation zu bewältigen.

Zum Beispiel kann der Algorithmus über eine Dynamik verfügen, die ihm dabei hilft, kleine Höhen und Tiefen zu verstärken, wodurch es wahrscheinlicher wird, dass er den Tiefpunkt erreicht.

Die Forscher haben so viele Variationen entworfen, dass es den Anschein hat, als gäbe es ebenso viele Optimierer wie lokale Minima.

Glücklicherweise sind lokale Minima und globale Minima in der Regel ungefähr gleich.

Gradientenabstieg ist die klare Wahl, um das Minimum einer Funktion zu finden. In Fällen, in denen die genaue Lösung direkt berechnet werden kann – beispielsweise bei linearen Regressionsaufgaben mit einer großen Anzahl von Variablen – kann sie einen Wert annähern und ist oft schneller und kostengünstiger.

Aber es ist bei komplexen nichtlinearen Aufgaben nützlich.

Mit bergab und Abenteuerlust schaffst du es vielleicht rechtzeitig zum Abendessen aus den Bergen heraus.

4. Neuronales Netzwerk: Lassen Sie uns zunächst ein Problem klären. Wenn es so wäre, wäre die Software, die es ausführt, viel komplexer als ein typisches künstliches neuronales Netzwerk.

Neuronale Netze sind jedoch von der Struktur des Gehirns inspiriert: Schichten miteinander verbundener Neuronen, von denen jedes seine eigene Leistung basierend auf dem Zustand seiner Nachbarn berechnet. Die daraus resultierende Aktivitätskette führt zu einer Idee – oder Erkennung eines Katzenbildes.

Von biologisch zu künstlich: Die Idee, dass das Gehirn durch Interaktionen zwischen Neuronen lernt, geht auf das Jahr 1873 zurück, aber erst 1943 verwendeten die amerikanischen Neurowissenschaftler Warren McCulloch und Walter Pitts einfache mathematische Regeln, um ein biologisches neuronales Netzwerkmodell zu erstellen.

1958 entwickelte der amerikanische Psychologe Frank Rosenblatt den Sensor – ein einschichtiges visuelles Netzwerk, das auf einem Lochkartenautomaten implementiert wurde, mit dem Ziel, eine Hardwareversion für die US-Marine zu bauen.

Rosenblatts Erfindung kann nur einzeilige Klassifizierungen erkennen.

Später überwanden die ukrainischen Mathematiker Alexey Ivakhnenko und Valentin Lapa diese Einschränkung, indem sie Netzwerke von Neuronen in beliebig vielen Schichten stapelten.

Im Jahr 1985 beschrieben die französischen Informatiker Yann LeCun, David Parker und der amerikanische Psychologe David Rumelhart und Kollegen unabhängig voneinander den Einsatz von Backpropagation, um solche Netzwerke effektiv zu trainieren.

Im ersten Jahrzehnt des neuen Jahrtausends haben Forscher wie Kumar Chellapilla, Dave Steinkraus und Rajat Raina (in Zusammenarbeit mit Andrew Ng) die Grenzen neuronaler Netze durch den Einsatz von Grafikverarbeitungseinheiten weiter verschoben, was immer größere neuronale Netze ermöglichen kann Lernen Sie aus den riesigen Datenmengen, die das Internet generiert.

Die New York Times ebnete den Weg für den Hype um künstliche Intelligenz, als sie über Rosenblatts Erfindung des Sensors im Jahr 1958 berichtete und berichtete: „Die US-Marine will eine Maschine, die laufen, sprechen, sehen, schreiben und sich selbst reproduzieren kann, und zwar den Prototyp.“ eines elektronischen Computers, der sich seiner eigenen Existenz bewusst war.“ Text, Sprache, Video, Proteinstrukturen und mehr.

Sie leisten bereits Erstaunliches, wie zum Beispiel beim Go-Spielen die menschliche Leistungsfähigkeit zu übertreffen und sich bei praktischen Aufgaben wie der Diagnose von Röntgenbildern der menschlichen Leistungsfähigkeit anzunähern.

Allerdings ist es immer noch schwieriger, mit gesundem Menschenverstand und logischem Denken umzugehen.

5. Entscheidungsbaum

Was für ein „Tier“ ist Aristoteles? Porphyrius, ein Anhänger des Philosophen, der im dritten Jahrhundert in Syrien lebte, fand eine logische Antwort auf diese Frage.

Er kombinierte die von Aristoteles vorgeschlagenen „Kategorien der Existenz“ von allgemein zu spezifisch und ordnete Aristoteles der Reihe nach in jede Kategorie ein:

Aristoteles‘ Existenz ist materiell und seine Gedanken sind nicht belebt; eher rational als irrational.

Daher ist seine Einstufung menschlich.

Mittelalterliche Logiklehrer zeichneten diese Sequenz als vertikales Flussdiagramm: einen frühen Entscheidungsbaum.

Spulen wir zurück ins Jahr 1963, als der Soziologe John Sonquist von der University of Michigan und der Wirtschaftswissenschaftler James Morgan erstmals Entscheidungsbäume in Computern implementierten, als sie Umfrageteilnehmer gruppierten.

Mit dem Aufkommen automatischer Trainingsalgorithmus-Software ist diese Art von Arbeit üblich geworden, und jetzt verwenden verschiedene Bibliotheken für maschinelles Lernen, einschließlich Scikit-Learn, auch Entscheidungsbäume.

Dieser Code wurde von vier Statistikern der Stanford University und der University of California, Berkeley, über einen Zeitraum von 10 Jahren entwickelt. Mittlerweile ist das Schreiben eines Entscheidungsbaums von Grund auf zu einer Hausaufgabe für Machine Learning 101 geworden.

Entscheidungsbäume können eine Klassifizierung oder Regression durchführen. Es wächst nach unten, von den Wurzeln bis zur Krone, und klassifiziert die Eingabebeispiele einer Entscheidungshierarchie in zwei (oder mehr).

Denken Sie an das Thema des deutschen Mediziners und Anthropologen Johann Blumenbach: Um 1776 unterschied er erstmals Affen von Affen (davor wurden Affen und Menschenaffen als eine Einheit klassifiziert).

Diese Einstufung hängt von verschiedenen Kriterien ab, etwa davon, ob ein Schwanz vorhanden ist, ob die Brust schmal oder breit ist, ob sie aufrecht oder geduckt ist und vom Grad der Intelligenz. Verwenden Sie einen trainierten Entscheidungsbaum, um solche Tiere zu kennzeichnen, wobei jedes Kriterium einzeln berücksichtigt wird, und trennen Sie letztendlich die beiden Tiergruppen.

Angesichts der Schlussfolgerung von Blumenbach (später von Charles Darwin aufgehoben), dass sich Menschen von Affen durch ein breites Becken, Hände und zusammengebissene Zähne unterscheiden, was passiert, wenn wir den Entscheidungsbaum erweitern wollen, um nicht nur Affen und Affen, sondern auch Menschen zu klassifizieren? ?

Der australische Informatiker John Ross Quinlan machte dies 1986 mit ID3 möglich, das Entscheidungsbäume erweiterte, um nicht-binäre Ergebnisse zu unterstützen.

Im Jahr 2008 rangierte ein erweiterter Verfeinerungsalgorithmus namens C4.5 unter den zehn besten Data-Mining-Algorithmen, die von der IEEE International Data Mining Conference geplant wurden, an der Spitze.

Der amerikanische Statistiker Leo Breiman und die neuseeländische Statistikerin Adele Cutler nutzten diese Funktion zu einem Vorteil und entwickelten 2001 einen Zufallswald (Random Forest) – eine Sammlung von Entscheidungsbäumen. Jeder Entscheidungsbaum verarbeitet verschiedene, überlappende Beispiele Über das Endergebnis wird abgestimmt.

Random Forest und sein Cousin XGBoost sind weniger anfällig für Überanpassung, was sie zu einem der beliebtesten Algorithmen für maschinelles Lernen macht.

Es ist, als hätten Sie Aristoteles, Porphyrius, Blumenbach, Darwin, Jane Goodall, Dian Fossey und 1000 andere Zoologen im Raum, um sicherzustellen, dass Ihre Klassifizierung so gut wie möglich ist.

6, K-Means-Algorithmus

Wenn Sie auf einer Party in der Nähe anderer Personen stehen, haben Sie höchstwahrscheinlich etwas gemeinsam, nämlich die Verwendung von K-Means-Clustering Die Idee, Datenpunkte zu gruppieren.

Ganz gleich, ob Gruppen durch menschliches Handeln oder andere Kräfte gebildet werden, dieser Algorithmus wird sie finden.

Von der Explosion zum Wählton: Der amerikanische Physiker Stuart Lloyd, ein Absolvent der legendären Innovation Factory von Bell Labs und des Manhattan Project, das die Atombombe erfunden hat, startete als Erster die Atombombe Bombe im Jahr 1957 K-Means-Clustering wurde vorgeschlagen, um Informationen in digitalen Signalen zu verteilen, aber diese Arbeit wurde erst 1982 veröffentlicht.

Unterdessen beschrieb der amerikanische Statistiker Edward Forgy 1965 einen ähnlichen Ansatz, der zu seinem alternativen Namen „Lloyd-Forgy-Algorithmus“ führte.

Suchen Sie einen Hub: Erwägen Sie, den Cluster in gleichgesinnte Arbeitsgruppen aufzuteilen. Unter Berücksichtigung der Position der Teilnehmer im Raum und der Anzahl der zu bildenden Gruppen kann das K-Means-Clustering die Teilnehmer in ungefähr gleich große Gruppen aufteilen, wobei jede Gruppe um einen zentralen Punkt oder Schwerpunkt gruppiert ist.

Während des Trainings legt der Algorithmus zunächst k Schwerpunkte fest, indem er k Personen zufällig auswählt. (K muss manuell ausgewählt werden, und manchmal ist es sehr wichtig, einen optimalen Wert zu finden.) Anschließend werden k Cluster vergrößert, indem jede Person dem nächstgelegenen Schwerpunkt zugeordnet wird.

Für jeden Cluster wird die durchschnittliche Position aller dieser Gruppe zugeordneten Personen berechnet und diese durchschnittliche Position als neuer Schwerpunkt zugewiesen. Jeder neue Massenschwerpunkt ist möglicherweise nicht von einer Person besetzt, aber was nun? Menschen versammeln sich gerne um Schokolade und Fondue.

Nach der Berechnung des neuen Schwerpunkts ordnet der Algorithmus die Personen ihrem nächstgelegenen Schwerpunkt zu. Anschließend werden neue Schwerpunkte berechnet, die Cluster angepasst usw., bis sich die Schwerpunkte (und die sie umgebenden Gruppen) nicht mehr bewegen. Anschließend ist es einfach, neue Mitglieder dem richtigen Cluster zuzuordnen. Positionieren Sie sie im Raum und suchen Sie nach dem nächstgelegenen Massenschwerpunkt.

Seien Sie gewarnt: Angesichts der anfänglichen zufälligen Schwerpunktzuweisung landen Sie möglicherweise nicht in derselben Gruppe wie die liebenswerten datenzentrierten KI-Experten, mit denen Sie gerne Zeit verbringen möchten. Der Algorithmus leistet gute Arbeit, es ist jedoch nicht garantiert, dass er die beste Lösung findet.

Unterschiedliche Abstände: Natürlich muss der Abstand zwischen gruppierten Objekten nicht groß sein. Jede Metrik zwischen zwei Vektoren reicht aus. Anstatt Partygänger beispielsweise nach physischer Entfernung zu gruppieren, können sie durch K-Means-Clustering nach Kleidung, Beruf oder anderen Merkmalen aufgeteilt werden. Online-Shops nutzen es, um Kunden anhand ihrer Vorlieben oder ihres Verhaltens zu segmentieren, und Astronomen können auch Sterne desselben Typs gruppieren.

Die Macht der Datenpunkte: Diese Idee führt zu einigen bemerkenswerten Änderungen:

K-Medoide verwenden tatsächliche Datenpunkte als Schwerpunkte, während nicht die durchschnittliche Position innerhalb eines bestimmten Clusters. Der Mittelpunkt ist der Punkt, der den Abstand zu allen Punkten im Cluster minimiert. Diese Änderung ist einfacher zu interpretieren, da der Schwerpunkt immer der Datenpunkt ist.

Fuzzy C-Means Clustering ermöglicht es Datenpunkten, in unterschiedlichem Maße an mehreren Clustern teilzunehmen. Es ersetzt feste Clusterzuweisungen durch Clustergrade basierend auf der Entfernung vom Schwerpunkt.

n Dimension Carnival: Nichtsdestotrotz bleibt der Algorithmus in seiner ursprünglichen Form weithin nützlich – insbesondere, weil er als unbeaufsichtigter Algorithmus nicht die Sammlung teurer, gekennzeichneter Daten erfordert. Es wird auch immer schneller genutzt. Beispielsweise profitierten Bibliotheken für maschinelles Lernen, darunter scikit-learn, von der Einführung von kd-trees im Jahr 2002, die hochdimensionale Daten sehr schnell partitionieren können. ​

Das obige ist der detaillierte Inhalt vonIn der Toolbox für maschinelles Lernen sind sechs wichtige Algorithmen verborgen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:51cto.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen