Dieser Artikel wird in 3 Teile unterteilt ( Theorie / Methoden und Algorithmen zur Problemlösung / Entwicklung und Implementierung in Java ), um das vollständige Bild zu beschreiben. Der erste Artikel wird nur eine Theorie enthalten , um die Gedanken der Leser vorzubereiten.
Zweck des Artikels:
- Teilweise oder vollständige Automatisierung der Aufgabe des Clustering und Klassifizierens von Big Data, nämlich Textdaten.
- Anwendung von Algorithmen fĂĽr maschinelles Lernen "unbeaufsichtigt" (Clustering) und "ĂĽberwacht" (Klassifizierung).
- Analyse aktueller Problemlösungen.
Allgemein zu berĂĽcksichtigende Aufgaben:
- Entwicklung und Anwendung von Algorithmen und Methoden zur Verarbeitung natĂĽrlicher Sprache.
- Entwicklung und Anwendung von Clustering-Methoden zur Bestimmung der Clustergruppen von Eingabedokumenten.
- Anwendung von Klassifizierungsmethoden zur Definition des Themas jeder Clustergruppe.
- Webinterface-Entwicklung basierend auf Java Vaadin
Hypothesen, die ich aus dem Problem und beim Unterrichten der Theorie abgeleitet habe:
- Die Klassifizierung von Gruppengruppen definiert abstraktes und wertvolleres verstecktes Wissen, wobei Rauschen ignoriert wird, als die Klassifizierung einzelner Objekte.
- Die Clustergenauigkeit ist direkt proportional zur Anzahl der Clustergruppen und umgekehrt proportional zur Anzahl der Objekte in einer Clustergruppe.
Mit Blick auf alle, die sich fĂĽr den Algorithmus selbst interessieren, finden Sie hier eine Ăśbersicht.
Der Algorithmus der Software fĂĽr maschinelles Lernen besteht aus 3 Hauptteilen:
- Verarbeitung natĂĽrlicher Sprache.
- Tokenisierung;
- Lemmatisierung;
- Stop Listing;
- Worthäufigkeit;
- Clustering-Methoden.
TF-IDF;
SVD;
Clustergruppen finden;
- Klassifizierungsmethoden - Aylien API.
Beginnen wir also mit der Theorie.
1. Das Konzept des maschinellen Lernens
‒ , , . – , , - . “ , , , . , ?”. ‒ , “”. – , , — , .
. , , , , , . - () . , , , .. , ? — , , . ? — , . .
, , , , . , , , , . , . , , . , .
, . ‒ . , . , , . . , " ", . , , .
()? , : “ , E T P, T, P, E”. , E , T , P , . – E, , 100 . “” .
, , . . , , , .
, .
2.
‒ , :
- ‒ . , .
- ‒ . , , , .
- – , , . . , . , ‒ , .
- ‒ , . , .
. , , , . , . , , , . ‒ , , , , .
, , , , , .
, . . , . . , . , . , , , . , .
, , . , . , Google, Yahoo, Microsoft, Amazon , . , , Facebook, YouTube Twitter, . , , , , .
, . , . . , . , , , , , .
, . , , . , , .
, . , , , , , , , , , , , / .. , / . , .
Zusammenfassend können wir sagen, dass Big Data und maschinelles Lernen eng miteinander verbunden sind, da Big Data ohne Analyse und Extraktion von Informationen nutzlos ist und maschinelles Lernen ohne Big Data nicht koexistieren könnte, was dem Algorithmus Erfahrung und Lernen gibt.
3. Arten des maschinellen Lernens
Maschinelles Lernen als Wissenschaft kann je nach Art des Lernens in drei Hauptkategorien eingeteilt werden:
- Unterrichten mit einem Lehrer;
- Unterrichten ohne Lehrer;
- Verstärkungslernen.
In einigen wissenschaftlichen Arbeiten ist das Lernen von Natur aus in vier Kategorien unterteilt, die teilweises Lernen umfassen. Dies ist jedoch nur eine Symbiose des Lernens mit einem Lehrer und ohne Lehrer.
3.1. Mit einem Lehrer lernen
, , , , . , , . , . . , . , , , , . , .
Um das Problem zu lösen und überwachtes Lernen anzuwenden, müssen die folgenden Schritte ausgeführt werden:
- Bestimmen Sie die Art der Trainingsbeispiele. Zunächst müssen Sie entscheiden, welche Daten als Trainingssatz verwendet werden sollen.
- Datensammlung. Der Datensatz muss repräsentativ für die tatsächliche Verwendung der Funktion sein. Somit wird ein Satz von Eingabemerkmalen und zugehörigen Ausgaben gesammelt.
- Bestimmung der Eingabedarstellung des Objekts der untersuchten Funktion. Die Genauigkeit der untersuchten Funktion hängt stark davon ab, wie das Eingabeobjekt dargestellt wird. In der Regel wird das Eingabeobjekt in einen Vektor von Objekten konvertiert, der eine Reihe von Objekten enthält, die das Objekt beschreiben. Die Anzahl der Funktionen sollte aufgrund des "Fluches der Dimension" nicht zu groß sein, sondern genügend Informationen enthalten, um das Ergebnis genau vorherzusagen.
- .
- . . . ( ) .
- . , , .
Algorithmen werden anhand vorverarbeiteter Beispiele trainiert, und in diesem Stadium wird die Leistung der Algorithmen anhand von Testdaten bewertet. Manchmal können in einer Teilmenge von Daten identifizierte Muster in einer größeren Datenpopulation nicht gefunden werden. Wenn das Modell nur zur Darstellung von Mustern geeignet ist, die in einer Teilmenge des Trainings vorhanden sind, wird ein Problem namens "Überanpassung" erstellt.
Überanpassung bedeutet, dass das Modell für den Trainingsdatensatz genau abgestimmt ist, jedoch möglicherweise nicht auf große Datensätze mit unbekannten Daten anwendbar ist. Zum Schutz vor Überanpassung sollten Tests auf unerwartete oder unbekannte Daten durchgeführt werden. Die Verwendung unerwarteter Daten für eine Testsuite kann Ihnen dabei helfen, die Genauigkeit des Modells bei der Vorhersage von Ergebnissen zu beurteilen. Überwachte Lernmodelle sind auf eine Vielzahl von Geschäftsproblemen anwendbar, einschließlich Betrugserkennung, Empfehlung, Spracherkennung oder Risikoanalyse.
Die am häufigsten verwendeten und beliebtesten überwachten Lernalgorithmen sind:
- Support Vector Machine;
- lineare Regression;
- logistische Regression;
- naiver Bayes'scher Klassifikator;
- Entscheidungsbaumtraining;
- k-Methode der nächsten Nachbarn;
- kĂĽnstliche neuronale Netz;
- Untersuchung von Ă„hnlichkeiten.
Jeder der obigen Algorithmen hat unterschiedliche Ansätze für mathematische und statistische mathematische Methoden und Formeln. Das allgemeine Muster des Algorithmus kann jedoch hervorgehoben werden, da alle diese Algorithmen überwachtes Lernen sind:
n (x_1,y_1),(x_2,y_2),...,(x_n,y_n), x_i ‒ , y_i ‒ . , x_i , , , , . y_i «” „“.
‒ m : (xn+1, xn+2,..., xn+m) * (x_(n+1),x_(n+2),...,x_(n+m) ). , , (, “” “ ”), , .
3.3.
‒ . , . , () . . , “” .
, , (), . , , . ‒ ‒ .
, , . , , , . , , , . , , , , .
Das Dilemma ist, dass weder Lernen noch Beherrschen ausschließlich ohne Fehler in der Aufgabe erreicht werden können. Der Algorithmus sollte verschiedene Aktionen ausprobieren und nach und nach diejenigen bevorzugen, die am besten erscheinen. Bei einem stochastischen Problem muss jede Aktion wiederholt versucht werden, um eine zuverlässige Schätzung zu erhalten. Das lernbeherrschende Dilemma wird von Mathematikern seit vielen Jahrzehnten intensiv untersucht, bleibt aber ungelöst.
Fehler helfen Ihnen beim Lernen, da sie ein gewisses Maß an Disziplin hinzufügen (Kosten, Zeitverschwendung, Bedauern, Schmerzen usw.) und Ihnen beibringen, dass eine bestimmte Vorgehensweise weniger wahrscheinlich ist als andere. Ein interessantes Beispiel für verstärkendes Lernen findet statt, wenn Computer lernen, Videospiele zu spielen von selbst ohne menschliches Eingreifen.
Maschinelles Lernen kann auch anhand der gewĂĽnschten Ergebnisse klassifiziert werden:
- Einstufung;
- Clustering;
- Regression.
Regressionsalgorithmen werden üblicherweise für statistische Analysen verwendet. Mithilfe der Regression können Sie Modellbeziehungen zwischen Datenpunkten analysieren. Regressionsalgorithmen können die Stärke der Korrelation zwischen Variablen in einem Datensatz quantifizieren. Darüber hinaus kann eine Regressionsanalyse hilfreich sein, um zukünftige Datenwerte basierend auf historischen Werten vorherzusagen. Es ist jedoch wichtig zu bedenken, dass bei der Regressionsanalyse davon ausgegangen wird, dass es bei der Korrelation um Ursache und Wirkung geht. Ohne den Kontext um die Daten zu verstehen, kann die Regressionsanalyse zu ungenauen Vorhersagen führen. Regressionstypen:
- lineare Regression;
- nichtlineare Regression;
- Vektorregression;
- logistische Regression.
Clustering ist eine ziemlich einfach zu verstehende Technik. Objekte mit ähnlichen Parametern werden zusammen gruppiert (in einem Cluster). Alle Objekte in einem Cluster sind einander ähnlicher als Objekte in anderen Clustern. Clustering ist eine Art von unbeaufsichtigtem Lernen, da der Algorithmus selbst die allgemeinen Eigenschaften der Elemente in den Daten bestimmt. Der Algorithmus interpretiert die Parameter, aus denen jedes Element besteht, und gruppiert sie dann entsprechend.
Clustering-Kategorien:
- k-Mittel-Methode;
- dichtebasiertes räumliches Clustering für verrauschte Anwendungen - DBSCAN;
- Clustering-Algorithmus OPTICS;
- Methode der Hauptkomponenten.
Es ist jedoch wichtig zu beachten, dass der Algorithmus beim Clustering, insbesondere beim unbeaufsichtigten Lernen, nach Verbindungen zwischen Eingabedaten sucht. Das Schöne am maschinellen Lernen ist das Auffinden versteckter Verbindungen zwischen Daten, besser bekannt als latente Verbindungen. Für die Clusterbildung bei der Suche nach latenten Beziehungen wird ein Modell versteckter Variablen verwendet, mit dem die Beziehungen zwischen den Werten von Variablen untersucht werden. Das Modell der versteckten Variablen umfasst:
- EM-Algorithmus;
- Methode der Momente;
- blinde Signaltrennung;
- Methode der Hauptkomponenten;
- Analyse unabhängiger Komponenten;
- nicht negative Matrixzerlegung;
- Einzelwertzerlegung.
Bei der Klassifizierung wird eine Klasse bestimmter Datenpunkte vorhergesagt. Klassen werden manchmal als Bezeichnungen oder Kategorien bezeichnet. Die prädiktive Modellierung der Klassifizierung ist das Problem der Approximation einer Abbildungsfunktion (f) von Eingangsvariablen (X) zu diskreten Ausgangsvariablen (y) . Die Klassifizierung gehört zur Kategorie des überwachten Lernens. Arten von Klassifizierungsschemata:
- Thesaurus;
- Taxonomie;
- Datenmodell;
- Transport Netzwerk;
- Ontologie.
Beim maschinellen Lernen werden die Klassifizierungstypen jedoch gemäß den Arten von Algorithmen durchgeführt, die sich auf die eine oder andere Weise auf Klassifizierungsschemata beziehen. Die am häufigsten verwendeten Lernalgorithmen sind:
- Support Vector Machine;
- logistische Regression;
- naiver Bayes'scher Klassifikator;
- k-Methode der nächsten Nachbarn;
- kĂĽnstliche neuronale Netz;
- .
4.
, . . , . – . ‒ , , – . , . , .
(NLP) ‒ . ‒ , , ( ) . , , , . , .
, , .
, , . , . ( ) (), . / . . , , . : () .
, . , -, , ‒ . (NLP). NLP ‒ (-) . NLP , , . NLP, , : . , , ( ). NLP , . NLP, , . , :
- ‒ () , . – . , . .
- ‒ , . ? , () , . . . , , . .
- – , . , . , :
- , , , , .
- ,
, . , .
- - ‒ - , , , , - , . .
- – . , . , , ( ).
, , . , . . . . . , , . .
Beim maschinellen Lernen kann ein Textdokument viele Kategorien in einer Klassifizierung oder viele Cluster in Clustern überlappen. Die am häufigsten verwendeten Feature-Sampling-Algorithmen sind:
- Begriffshäufigkeit - Inverse Dokumenthäufigkeit (TF-IDF) wird üblicherweise verwendet, um jedes Wort in einem Textdokument entsprechend seiner Eindeutigkeit zu gewichten. Das Wortgewicht (Token) wird häufig zum Abrufen von Informationen und zur semantischen Analyse von Text verwendet. Dieses Gewicht ist ein statistisches Maß, mit dem bewertet wird, wie wichtig ein Wort für ein Dokument in einer Sammlung oder einem Korpus ist. Mit anderen Worten, der TF-IDF-Ansatz spiegelt die Relevanz von Wörtern, Textdokumenten und bestimmten Kategorien wider.
- Word2Vec ist ein Tool (eine Reihe von Algorithmen) zur Berechnung von Vektordarstellungen von Wörtern, das zwei Hauptarchitekturen implementiert - Continuous Packet of Words (CBOW) und Skip-Gramm. Ein Textdokument oder Wort wird als Eingabe übergeben, und die Ausgabedaten werden als Vektorvariablen (Koordinaten im Vektorraum) dargestellt.
Nachwort
Tatsächlich ist die Theorie des maschinellen Lernens sehr umfangreich. Hier habe ich in abstrakteren und einfacheren Worten geschrieben. Wenn es Änderungen am Text oder an der Theorie gibt, schreiben Sie bitte. Der Zweck dieses Artikels besteht wiederum darin, die Leser auf das praktischste Problem und die praktischste Lösung vorzubereiten.
Hinterlasse einen Kommentar, wenn du auf mehr wartest.