[PYTHON] Bedeutung von Datensätzen für maschinelles Lernen

Hier ist meine persönliche Meinung zur Bedeutung von Datensätzen für maschinelles Lernen.

("Wie wird es dann mit anderen Methoden verglichen?" Fügen Sie den Inhalt hinzu, der als Anhang zu einem unabhängigen Artikel geschrieben wurde Es wurde umgeschrieben.)

Beim Finden und Ausführen verschiedener Beispiele für maschinelles Lernen wird ein häufig verwendeter Datensatz im Web verwendet. Die Ersteller der Daten, die von in- und ausländischen Labors, Universitäten und einigen Unternehmen veröffentlicht wurden, sind Experten für maschinelles Lernen auf diesem Gebiet, und der Datensatz ist dem Lernen und der Bewertung gewidmet. Wenn Sie diese Daten verwenden und ein gutes Beispielprogramm ausführen, das so wie es ist im Internet geschrieben ist, können Sie sehr leicht vernünftige Ergebnisse erzielen, sodass Sie fälschlicherweise denken, dass maschinelles Lernen sehr einfach ist. vielleicht. Es ist jedoch wichtig zu wissen, dass das Sammeln eigener Trainingsdaten hilfreich ist, um ein maschinelles Lernergebnis auf Arbeitsebene zu erzielen. Es gibt einen Unterschied zwischen der Gesichtserkennung beim Abgleichen eines Gesichts mit einem Passfoto am Flughafen und der Gesichtserkennung mit einer Digitalkamera oder einem Smartphone. Es gibt einen Unterschied zwischen der Erkennung von Menschen im Fahrzeugbereich und der Erkennung von Menschen in Überwachungskameras. Der Unterschied in der Art der Daten ist größer als Sie sich vorstellen können. Selbst bei handgeschriebenen Zeichen unterscheidet sich das Verhalten zwischen dem Fall eines Bleistifts und dem Fall eines Kugelschreibers, wie z. B. schwachen Zeichen. Auf diese Weise unterscheidet sich das Verhalten vorhandener Daten nicht selten von den Gewohnheiten der Zieldaten, die Sie realisieren sollten. Sie müssen also wissen, dass es für Sie nicht trivial ist, einen Datensatz für Ihre eigenen Probleme zu sammeln, aber die Mühe lohnt sich.

** Unterschiede in den Dateneigenschaften **

Unterschied zwischen Vorderseite und Profillernen

In "Detailed OpenCV" steht auch, dass es einen Unterschied beim Lernen des Detektors zwischen der Vorderseite und dem Profil gibt. Der Unterschied besteht darin, dass sich auf der Vorderseite fast kein anderer Teil als das Gesicht im Lernbereich befindet, während sich im Profil immer etwas anderes als das Gesicht im Hintergrund befindet. Es wird angegeben, dass solche Unterschiede in den Dateneigenschaften zu unzureichendem Training führen können, abhängig davon, wie die Trainingsdaten angegeben werden. Obwohl sich Lernmethoden wie Deep Learning weiterentwickeln, denke ich, dass Gegenmaßnahmen für solche Probleme nur durch sorgfältigen Umgang mit den Daten des Lernenden gelöst werden können.

Ein Beispiel für den Unterschied zwischen der Stimme eines Synchronsprechers und der Stimme eines Animes

Im nächsten Artikel werde ich erklären, wie sich die Ergebnisse in Abhängigkeit vom Unterschied zwischen den Trainingsdaten und den Testdaten unterscheiden. Sagt. Wir lernen und testen, um Sprachschauspieler anhand der Stimme zu identifizieren. (1): Aus den ursprünglichen Sprach- und Sprachdarstellendaten des Synchronsprechers Sagen Sie Sprachschauspieler anhand der Stimme des Anime voraus. (2): Vorhersage des Synchronsprechers basierend auf der Originalstimme aus der Stimme der Animation des Synchronsprechers und den Daten des Synchronsprechers. Wir implementieren die beiden Möglichkeiten. Alle geben an, dass die Erkennungsrate unzureichend ist. Ich habe versucht, die Stimmen von Sprachschauspielern zu klassifizieren

** Sollte eine Verteilung der für die Anwendung geeigneten Trainingsdaten haben **

Die Trainingsdaten müssen eine für die Anwendung geeignete Verteilung haben. Trainingsdaten müssen gesammelt werden, um diese Abweichung zu haben. Es soll bestätigt werden, ob die Verteilung zwischen Klassen und die Verteilung innerhalb von Klassen für den Zweck geeignet sind. Für maschinelles Lernen ist es wichtig, die Erfassung solcher Lerndaten zu entwerfen und zu realisieren. Man kann sogar sagen, dass es sich eher um Messung als um Programmierung oder Entwicklung von Algorithmen handelt. Lassen Sie uns das durch die Hauptkomponentenanalyse erhaltene eindeutige Bildeigenbild als Bild mit matplotlib anzeigen. Dann können Sie sehen, welche Art von Verteilung Sie haben. Sie helfen uns zu verstehen, was die Daten sind und wie das Ergebnis der Vorverarbeitung der Daten aussieht.

** Muss eine durchschnittliche Datenverteilung haben, die für die Anwendung geeignet ist (zusätzlicher Hinweis) **

Darüber hinaus sollten die Trainingsdaten einen Durchschnitt der für die Anwendung geeigneten Trainingsdaten enthalten. Der Durchschnitt der Trainingsdaten wirkt sich auf verschiedene Teile des Algorithmus aus. Selbst wenn der Gesichtsabgleich auf Eigengesichtern basiert, wird das eindeutige Gesicht nach Subtraktion des Durchschnitts als eindeutiger Wert angezeigt. Wenn das Rennen voreingenommen ist oder das Alter extrem unterschiedlich ist, ist es daher möglich, dass das bis zu diesem Zeitpunkt aufgebaute Gesichtsanpassungssystem nicht gut funktioniert. Ein Altersschätzungssystem, das mit einer Datenbank erstellt wurde, die auf Europäer ausgerichtet ist, wird durch die Tatsache verursacht, dass es für Orientale nicht gut funktioniert. Dies scheint nicht nur beim maschinellen Lernen zu passieren, sondern auch bei Menschen, denen es schwer fällt, Menschen, die normalerweise nicht gesehen werden, zu unterscheiden und ihr Alter einzuschätzen.

** Machen Sie Trainingsdaten nicht zu schwierig **

Ich denke, es ist notwendig, dass die Leute anpassen, wie schwierig Daten in die Trainingsdaten aufgenommen werden können. Im Fall der Gesichtserkennung ist empirisch bekannt, dass das Hinzufügen eines Bildes mit zu viel Verstecken des Gesichtsteils die Leistung der Gesichtserkennung verschlechtert. Abhängig vom Trainingsalgorithmus kann die Verteilung der Trainingsdaten zu einer signifikanten Verschlechterung der Eigenschaften führen. Was in die Trainingsdaten aufgenommen und was ausgeschlossen werden soll, ist eine wesentliche Aufgabe, um praktische Trainingsergebnisse zu erzielen. (Es ist jedoch zu empirisch, so dass es nicht für diejenigen geeignet ist, die Arbeiten mit dem Lernalgorithmus selbst schreiben.)

** Bedingte Datenerfassung und zufällige Datenerfassung **

Die Datenerfassung und -auswertung erfordert die Erfassung gut konditionierter Daten und zufälliger Daten. Beides wird nicht funktionieren. Ohne die Verwendung gut konditionierter Daten kann das Framework des Algorithmus nicht erstellt werden.

Nehmen wir als Beispiel die Gesichtserkennung und die Gesichtsanpassung. Sie benötigen eine Datenbank, die die Ausrichtung Ihres Gesichts und die Lichtverhältnisse enthält. Da die Datenbank alle Lichtverhältnisse enthält, kann bewertet werden, wie sich der Einfluss der Beleuchtung auf die Gesichtsanpassung auswirkt.

Eine Datenbank mit diesen Bedingungen kann für maschinelles Lernen für andere Zwecke gut benötigt werden.

Konditionierte Daten unterscheiden sich stark von allgemeinen Daten in der Welt. Das Gesichtsbild des Proof-Fotos ist ein Foto mit flachem Hintergrund, aber ohne Bild (http://www.keishicho.metro.tokyo.jp/menkyo/koshin/koshin/koshin02_2.html).

Viele dieser Daten wurden seit den frühen Forschungs- und Entwicklungsphasen der Gesichtserkennung und des Gesichtsabgleichs erstellt.

Als nächstes müssen Sie zufällige Daten erhalten.

Wenn Sie versuchen, ein Gesicht für einen bestimmten Zweck zu erkennen und wissen, wie gut das in der Entwicklung befindliche System funktioniert, müssen Sie Daten mit weniger Personal erfassen. In letzter Zeit hat diese Art von Datensatz zugenommen. Die Gesichtsabgleichsdatenbank Beschriftete Gesichter im wilden Zuhause ist eine solche Datenbank.

Überkonditionierungsdaten bergen das Risiko vieler Auslassungen.

** Datensatz muss wiederholt überarbeitet werden **

Wann "dann, wie ist es im Vergleich zu anderen Methoden?" Ist angemessen, bei der Auswahl einer Methode, um einen ersten Treffer zu erzielen, "einfach zu starten, eine für dieses Problem geeignete Methode, literaturbasiertes Wissen und Ich denke, dass "die Phase der Auswahl basierend auf der Erfahrung von mir und anderen" und "die Phase, in der die Daten verfügbar sind und es sinnvoll ist, die Methoden zu vergleichen". Unabhängig davon, wie gut die Methode ist, kann sie nicht richtig bewertet werden, wenn die Methode von der Person, die sie verwendet, nicht verstanden wird. Für die erste Methode sind auch ein einfacher Einstieg, für Anfänger leicht verständlich und eine einfache Handhabung erforderlich. Bitte beachten Sie die folgenden Punkte, um das Stadium zu erreichen, in dem die Daten verfügbar sind, und es ist sinnvoll, die Methoden zu vergleichen.

--Wenn sich die niedrige Rückrufquote bemerkbar macht

Eine niedrige Rückrufrate für Daten in dieser Kategorie zeigt an, dass nicht genügend Trainingsdaten für diese Kategorie vorhanden sind. In einigen Fällen ist die Anzahl der Trainingsdaten in dieser Kategorie gering, und in anderen Fällen ist die Verteilung der Trainingsdaten gering. Es besteht eine hohe Wahrscheinlichkeit, dass sich die Rückrufrate verbessert, wenn sie durch tatsächliche Daten oder verarbeitete Daten ergänzt werden.

--Wenn sich die geringe Genauigkeit bemerkbar macht

Dies bedeutet, dass sich in einer anderen Kategorie viele Daten befinden, die in diese Kategorie fallen. Sehen Sie sich die Verwirrungsmatrix an, um festzustellen, welche Kategorien Einfluss haben. Der Versuch, die Trainingsdaten für diese Kategorie zu erhöhen, verbessert auch die Kategorien mit geringer Genauigkeit.

Es gibt zwei Arten von Algorithmen, bei denen die Grenze zwischen positiv und negativ wichtig ist und bei denen die Verteilung selbst wichtig ist. Dies ändert die Art und Weise, wie Trainingsdaten gesammelt werden. Wenn Sie nur Daten hinzufügen, die leicht zu unterscheiden sind, weisen einige Algorithmen eine schlechtere Erkennungsleistung als zuvor auf. AdaBoost ist ein solcher Algorithmus. Andererseits sind in SVM nur die Daten wichtig, die die Grenze (Unterstützungsvektor) angeben. Andererseits kann das Hinzufügen zu schwieriger Daten auch die Erkennungsrate verringern.

** Wenn nur wenige Daten vorhanden sind, verwenden Sie den Peeling-Algorithmus, wenn nur wenige Daten vorhanden sind. ** ** **

Boosting ist ein Algorithmus, der geeignet ist, wenn viele Daten vorhanden sind. Wenn Sie mit einer kleinen Datenmenge ein etwas besseres Ergebnis als Bullshit erzielen möchten, Naive Bayesian Beispiel [Wahrscheinlichkeitskalibrierung von Klassifikatoren] Es ist möglich, einen Algorithmus wie (http://scikit-learn.org/stable/auto_examples/calibration/plot_calibration.html) zu verwenden. Wenn die K-Nachbarschaftsmethode für weniger Trainingsdaten als zufällig verwendet wird, scheint es, dass ein etwas besseres Ergebnis erzielt werden kann.

** Wenn die Anzahl der Daten gering ist, ist die Auswertung zwischen den Algorithmen eingeschränkt **

Abhängig von der Kombination des Freiheitsgrades des Modells und der Anzahl der Trainingsdaten kann es leicht zu einer Situation kommen, in der der Wert für den Freiheitsgrad des Modells nicht angemessen bestimmt werden kann. Dies ist Der Fluch der Dimension Ist bekannt.

** Ersparen Sie sich nicht die Mühe, Daten zu sammeln **

Wenn Sie jemanden an der Spitze Ihres Unternehmens haben, der die Bedeutung von Datensätzen für maschinelles Lernen versteht, zögern Sie nicht, diese zu sammeln. Wenn Sie die Daten sammeln und die erste Version des maschinellen Lernens zum Laufen bringen, wird das Problem offensichtlich. Nachdem wir die Daten gesammelt und mit der Ausführung der ersten Ausgabe begonnen haben, können wir endlich sehen, was wir in Zukunft brauchen werden. Pläne, die ohne Berücksichtigung der tatsächlichen Daten erstellt wurden, können eine große Lücke sein. Im Fall eines Unternehmens, das sich auf die Gesichtserkennung konzentriert, verfügt die Forschungsabteilung möglicherweise über Geräte, die Gesichter aus mehreren Richtungen gleichzeitig erfassen. Schießen Sie gleichzeitig, indem Sie die Lichtbestrahlungsbedingungen ändern. Um einen Datensatz zu erhalten, der die Unterschiede in den Lichtbestrahlungsbedingungen des Gesichtsbildes in der Dispersion enthält, ist es notwendig, dieselbe Person mit demselben Ausdruck und mit verschiedenen Lichtbestrahlungen aufzunehmen. Durch Ausführen einer Hauptkomponentenanalyse aus solchen Daten ist es möglich, die Komponenten der einzigartigen Fläche aufgrund der unterschiedlichen Lichtbestrahlungsbedingungen zu extrahieren. Die Komponenten des einzigartigen Gesichts aufgrund der unterschiedlichen Lichtbestrahlungsbedingungen, die auf diese Weise erhalten werden, sind Komponenten, die zur Identifizierung einer Person nicht nützlich sein sollten. Daher ist es notwendig, dass die experimentellen Daten zum Erhalten der einzigartigen Gesichtskomponenten aufgrund der unterschiedlichen Lichtbestrahlungsbedingungen eine Reihe von Mitteln für den Verwendungszweck aufweisen. Das Gesicht einer älteren Person, die fast 100 Jahre alt ist, unterscheidet sich deutlich vom Gesicht eines 70-jährigen Mannes. Es ist zu überprüfen, ob die Gesichtserkennungsrate für Personen nahe 100 Jahre mit Produkten erreicht werden kann, die normalerweise auf dem Markt sind.

Ein Beispiel für ein einzigartiges Gesicht ist "Practical Computer Vision", Programmieren von Computer Vision mit Python Es ist geschrieben in / 0636920022923.do). Unter diesen wird der Fall der Vorderseite vor der Position des Gesichts ausreichend normalisiert und der Fall des eindeutigen Gesichts (Eigengesicht) derselben Person nach der Normalisierung und Ausrichtung der Positionen beider Augen beschrieben. Ich bin. Wenn Sie diese Unterschiede betrachten, ist es leicht zu verstehen, dass Sie kein einzigartiges Gesicht erhalten können, das den Unterschied in der Lichtbestrahlung stark widerspiegelt, wenn Sie nicht dieselbe Person mit demselben Gesichtsausdruck und mit verschiedenen Lichtbestrahlungen aufnehmen. Ich glaube du kannst. Zusätzlich zu dieser Art der Datenerfassung können Elemente extrahiert werden, die von den Auswirkungen der Lichtbestrahlung nicht leicht betroffen sind. (Wenn Sie also möchten, dass die Komponenten der Lichtbestrahlung ordnungsgemäß in die Hauptkomponentenanalyse einbezogen werden, müssen Sie die Position des Gesichts normalisieren. Berücksichtigen Sie auch die Komponenten der Lichtbestrahlung ordnungsgemäß. Wenn Sie möchten, kann gesagt werden, dass die Verteilung der Form des menschlichen Gesichts ebenfalls erweitert werden muss, um die Vielfalt des tatsächlichen Gesichts widerzuspiegeln.)

** Senken Sie die Kosten für die Datenerfassung **

Es mag im Widerspruch zu dem stehen, was ich oben gesagt habe, aber gleichzeitig überlegen Sie, wie Sie die Kosten für die Datenerfassung senken können. Ohne Datenerfassung ist nicht einmal erkennbar, ob vorhandene Klassifikatoren gut lernen.

Using Kinect and other OpenNI compatible depth sensors

** Ausschluss falsch beschrifteter Daten **

Beim Erstellen eines Datasets kann es falsch beschriftet werden. Wenn solche Daten in den Trainingsdaten enthalten sind, führt dies zu einer Verschlechterung des Trainingsergebnisses. Stellen Sie also sicher, dass Sie keine Daten haben, die falsch beschriftet wurden. Dies ist je nach Trainingsdatensatz keine triviale Angelegenheit. Ein normaler Mensch kann nicht wissen, ob das Bild der Ultraschalldiagnose ein positives Bild mit einem medizinischen Zustand oder ein negatives Bild ohne einen medizinischen Zustand ist. Wenn das maschinelle Lernen nicht ordnungsgemäß gekennzeichnet ist, werden keine guten Ergebnisse erzielt. Wenn es Trainingsdaten mit einer niedrigen Erkennungsrate gibt, die auf den Trainingsergebnissen basiert, kann es sinnvoll sein, zu überprüfen, ob die Beschriftung der Daten wirklich korrekt ist.

** Die Diskriminierungsleistung kann sich je nach Verteilung der Trainingsdaten ändern. ** ** **

Abhängig vom Lernalgorithmus wird die Unterscheidungsleistung durch die Datengrenze bestimmt, in vielen Fällen jedoch eher durch die Datenverteilung als durch die Datengrenze. Was in den Trainingsdaten enthalten ist und was nicht, ist daher wichtiges Lern-Know-how. Lassen Sie uns die Verteilung der Punktzahlen der Trainingsdaten basierend auf den trainierten Ergebnissen grafisch darstellen. Mal sehen, welche Art von Daten in den Daten mit einer niedrigen Punktzahl reichlich vorhanden sind. Wenn sich das Training auf Bilddaten bezieht, erleichtert das Anzeigen dieser Bilder in einer HTML-Datei das Erfassen der Funktionen. Welche Art von Daten zu den Trainingsdaten hinzugefügt werden, führt zum Erfolg oder Misserfolg des Trainings.

** Unbeabsichtigte Verzerrung der Trainingsdaten **

Wenn die Trainingsdaten eine unbeabsichtigte Verzerrung aufweisen, ist das resultierende Trainingsergebnis möglicherweise falsch. Angenommen, Sie möchten den Kopf einer Person über der Schulter erkennen. Nehmen wir an, eine Person steht vor einer Wand und wird von einer großen Anzahl von Personen geschult. Wenn Sie einen Detektor mit diesen Daten bauen, kann es vorkommen, dass es sich um einen Wanddetektor in der Umgebung handelt. Versuchen Sie, einen guten Test durchzuführen, um sicherzustellen, dass die Lernergebnisse keine unbeabsichtigten Verzerrungen aufweisen. Auf diese Weise sollten wir in der Lage sein, die Möglichkeit einer solchen Verzerrung beim Lernen von Daten zu entdecken und Experimente mit Gegenmaßnahmen zu planen und zu fördern.

** Unbeabsichtigte Verzerrung der Trainingsdaten (zusätzlicher Hinweis) **

Wenn Sie beispielsweise einen Kopfdetektor durch Lernen herstellen, kann die Leistung der Kopferkennung in Abhängigkeit von der Haarfarbe unterschiedlich sein. Bei schattenbasierten Merkmalen werden häufig viele Trainingsdaten verwendet, die davon ausgehen, dass schwarzes Haar schwärzer ist als die Umgebung. Im Fall von Hautkopf und grauem Haar ist die Erkennungsrate möglicherweise nicht so hoch wie die von schwarzem Haar. Manchmal muss man sich fragen, ob so etwas beim maschinellen Lernen passiert, an dem man arbeitet.

** Verwenden Sie andere Techniken, um die Datenerfassung zu vereinfachen. ** ** **

Angenommen, Sie möchten Trainingsdaten für die Erkennung von Hunden sammeln. In diesem Fall kann das von der festen Kamera bewegte Objekt durch ein Verfahren wie Hintergrunddifferenz extrahiert werden. Die Größe des Objekts wird anhand von Informationen wie dem Installationswinkel der Kamera geschätzt. Basierend auf seiner Größe können Sie Bilder sammeln, bei denen es sich wahrscheinlich um Hunde handelt. Indem Sie ein Bild eines Hundes aus diesem Bild auswählen, können Sie es einfacher machen, als nichts zu tun. Da ein Entfernungssensor wie Kinect verwendet werden kann, kann es außerdem möglich sein, Daten basierend auf Entfernungsinformationen auszuwählen. Auch wenn die Technologie nicht als Endprodukt verwendet werden kann, sollten wir sie in der Entwicklungsphase der Technologie aktiv einsetzen.

** Verwendung von CG-Daten **

Beim bildbasierten maschinellen Lernen erfordert das Beschriften der richtigen Antwortdaten viel Leistung. Zu diesem Zeitpunkt können je nach Art des Problems CG-Daten verwendet werden, um die richtigen Antwortdaten zu erstellen, die mit [1] gekennzeichnet wurden. SYNTHIA Dataset ist ein solches Beispiel.

[Umfragepapier] Erkennung des Menschen durch statistische Lernmethode 5.2 Sammlung von Lernproben

SYNTHIA Dataset

The SYNTHetic collection of Imagery and Annotations, is a dataset that has been generated with the purpose of aiding semantic segmentation and related scene understanding problems in the context of driving scenarios. SYNTHIA consists of a collection of photo-realistic frames rendered from a virtual city and comes with precise pixel-level semantic annotations for 13 classes: misc, sky, building, road, sidewalk, fence, vegetation, pole, car, sign, pedestrian, cyclist, lanemarking.

** Reflektieren Sie das Wissen erfahrener maschineller Lernender bei der Erstellung von Datensätzen **

Auf dem Gebiet des maschinellen Lernens gibt es Erfahrung, welche Daten gesammelt werden sollen. Es lohnt sich zu erfahren, welche Art von Daten zu falschem Lernen führen würde. Ich wollte die Erkennung von Menschen lernen, aber es kann sein, dass ich den Hintergrund der Aufnahmeumgebung gelernt habe, in der die Lerndaten gesammelt wurden. Möglicherweise möchten Sie einen schlanken Datenerfassungsplan erstellen, müssen jedoch Daten sammeln, lernen, Ergebnisse auswerten und überlegen, wie Sie Verbesserungen erzielen können. Es geht darum, den Teil zu verbessern, der Daten basierend auf dem in diesem Prozess gewonnenen Wissen sammelt.

** Bedeutung negativer Proben **

Wichtige Themen sind auch das Sammeln von Negativproben und die Sicherstellung der Qualität von Negativproben. Ein Beispiel ist die Fußgängererkennung. Um festzustellen, dass ein Nicht-Fußgänger in den Bildern, die ein Auto während der Fahrt sehen kann, kein Fußgänger ist, muss der Straßenbaum als kein Fußgänger trainiert werden. Beiträge sind auch keine Fußgänger. Das stehende Schild ist auch kein Fußgänger. Der Rand der Leitplanke ist auch kein Fußgänger. Weder der Zebrastreifen noch die Markierungen auf der Straße sind Fußgänger. Die Wände des Gebäudes sind auch keine Fußgänger. Es ist wichtig zu lernen, dass nicht alle Nicht-Fußgänger falsch erkannt werden. Es ist notwendig, genügend solche negativen Proben zu sammeln und zu lernen, sie einzubeziehen, um einen Detektor auf Produktebene zu realisieren. Mobileye Durch dieses Lernen bieten wir verschiedenen Autos eine monokulare Fußgängererkennung.

Negative Proben sind sehr wichtig.

** Hinweise für Kaskadenklassifikatoren **

Im Fall des Haar-ähnlichen Kaskadendiskriminators ist die Verallgemeinerung des Lernergebnisses tendenziell verdächtig, wenn der Diskriminator in der letzten Stufe stärker wird.

Die in die negative Probe eingemischte positive Probe kann dazu führen, dass das Lernergebnis seltsam ist. Infolgedessen ist es leicht, in eine Situation zu geraten, in der etwas, das ausreichend erkannt werden sollte, nicht erkannt werden kann. Daher ist die positive Probe, die in der letzten Stufe für den starken Klassifikator verwendet wurde, visuell zu überprüfen. Auf diese Weise können Sie verhindern, dass die Lernergebnisse durch die mit den negativen Stichproben vermischten positiven Stichproben verfälscht werden.

** Reichen die Testdaten als Testdaten wirklich aus? ** ** **

-Es ist wichtig, dass die Testdaten für maschinelles Lernen nicht die zum Lernen verwendeten Daten enthalten. -Wenn die Daten durch Verarbeitung erhöht werden, teilen Sie die verarbeiteten Daten nicht für Training und Test auf. Diejenigen, die dasselbe Originalbild verwenden, werden zum Lernen und Testen eingeschlossen, sodass bessere Testergebnisse erzielt werden, als es tatsächlich ist. -Wenn Sie einen Datensatz verwenden, der Promi-Gesichtsbilder enthält, besteht das Risiko, dass verschiedene frontale Gesichtsbilder des Präsidenten zum Lernen und Testen aufgenommen werden.

** Lassen Sie uns den Verwendungszweck verstehen **

Sie müssen zunächst verstehen, wie die von Ihnen implementierten Funktionen verwendet werden. Es geht darum zu verstehen, welche Auswirkungen der Fehler des Klassifikators hat und wie er implementiert werden sollte. Denken Sie über andere Möglichkeiten nach, die verbessert werden können. Es ist keine universelle Theorie des maschinellen Lernens.

SlideShare Code-Design, um beim maschinellen Lernen nicht zu weinen

Wenn Sie genügend Daten gesammelt haben und die Trainingsdaten nach außen bereitstellen möchten, um einen Algorithmus zu entwickeln, können Sie die Website Kaggle besuchen. Es gibt eine Möglichkeit, es zu verwenden. Einige haben Preise vergeben, andere haben Rekrutierungswettbewerbe.

Warum sich Datenwissenschaftler aus aller Welt bei "Kaggle" versammeln, vom Gewinnen von Preisen bis zur Arbeitssuche

Ich habe Kaggle mit Englisch ausprobiert, was ich nicht kann

Der nächste Artikel weist auf ein Problem beim Erlernen der binären Klassifizierung hin, wenn ein Bild eingeht, das keines von beiden ist (es ist wie Tomatensaft, der zur Beurteilung der Blutgruppe eingeht). Es sollte ein System erstellt werden, das maschinelles Lernen umfasst, einschließlich der Art des Systems, das entsprechend dem Verwendungszweck erstellt werden soll, und was mit der Vorverarbeitung unmittelbar davor zu tun ist.

Deep Learning erkennt Ihren Chef und verbirgt den Bildschirm

** Hinweis: Können Menschen lernen? ** ** **

Beim maschinellen Lernen von Bildern wird der Standpunkt, ob der Inhalt vom Menschen gelernt werden kann oder nicht, manchmal als Intuition dafür verwendet, ob er wahrscheinlich gelernt wird oder nicht. Betrachten Sie als Beispiel die Altersschätzung und die Gesichtserkennung. Ich finde es schwierig, das Alter einer Person abzuschätzen und festzustellen, ob sie dieselbe Person ist, wenn sie einer anderen Rasse oder Rasse angehört. Ich denke, dies liegt an der Tatsache, dass sich das durchschnittliche Gesicht, die Gesichtsschwankungsfaktoren und die Komponenten der Hauptkomponentenanalyse je nach Gruppe unterscheiden. Selbst in Bereichen, in denen Forschungs- und Entwicklungsanstrengungen außergewöhnlich sind. Es sollte beachtet werden, dass dem maschinellen Lernen in anderen Bereichen tendenziell die Daten ausgehen und "wenn es Müll gibt, wird es Müll geben".

[Anmerkung 1]: Auch im Bereich der Stereomessung wird CG zu einer Situation, die nicht ignoriert werden kann. Es ist nicht einfach, ein Stereobild mit tatsächlichen Messdaten zu erstellen, die im Bereich der Stereomessung die richtige Antwort haben. Daher scheint die Situation so zu sein, dass ein Stereobild erzeugt wird und der Algorithmus basierend darauf in einer Situation bewertet wird, in der es eine korrekte Antwort mit 3D CG gibt.

Schauen wir uns die Daten genauer an

Wenn Sie sich die Daten genau ansehen, werden Sie feststellen, dass Sie es nicht bemerken, wenn Sie nur die Ergebnisse betrachten. Der folgende Artikel ist ein solches Beispiel.

Tiefes Lernen! Die Geschichte der Daten selbst, die gelesen werden, wenn sie nach dem Erkennen handgeschriebener Zahlen nicht folgen

(17) Cuda-convnet erkennt automatisch selbst geschriebene Zahlenbilder

Shinsai FaxOCR Datensatz zur handschriftlichen Zeichenerkennung Testdaten (MNIST IDX-Format)


Nachtrag Ich finde, dass dlib die Organpunkte im Gesicht hervorragend erkennt. Wenn Sie das Ergebnis verwenden, ist es einfacher, das Gesichtsbild zu normalisieren. Es sei denn, Sie versuchen, ein neues mit mehr Präzision zu erstellen, als dies mit dlib möglich ist Ich bin der Meinung, dass der Einsatz solcher Tools effektiv ist. Bisher aufgrund der Schwierigkeit, viele korrekte Eingaben der Augenposition vornehmen zu müssen Die Situation war, dass die Entwicklung von Gesichtsalgorithmen nur an einer begrenzten Anzahl von Orten durchgeführt werden konnte.


Lesen wir die Zeitung.

Um die Güte der Bilderkennungstechnologie im Vergleich zu anderen zu behaupten, wird sie in der Arbeit immer in der Datenbank verglichen. Beim Lernen sollte beschrieben werden, welche Art von Datenbank zum Lernen verwendet wird.

Meistens verwenden Sie eine öffentliche Datenbank. In seltenen Fällen können wir die gesammelten Daten zum Lernen und Auswerten verwenden. Selbst in einem solchen Fall gibt es viele Fälle, in denen die Identität der verwendeten Daten angegeben oder die Daten veröffentlicht werden.

Zu diesem Zweck können Sie mit den neuesten Veröffentlichungen herausfinden, welche Art von Datenbank für aktuelle Vergleiche verwendet wird.

Zu diesem Zweck können Sie auch Artikel lesen.


Nachtrag:

Was Sie beim Erstellen und Verwenden von Datensätzen für maschinelles Lernen nicht tun sollten

Wenn die Daten nicht richtig verwaltet werden, besteht die Möglichkeit, dass das Bild des Bewertungsbildes als Trainingsbild verwendet wird. Nachdem Sie ein Bild kopiert haben, um von irgendwoher zu lernen, und es schwierig gemacht haben, die Identität zu verstehen, wird es schwierig, die Quelle zu verfolgen. Sobald Sie die Daten haben, verwalten Sie sie separat, um sie frühzeitig auszuwerten und zu lernen. Sie müssen es separat für die Bewertung und das Lernen in einem frühen Stadium deklarieren, bevor Sie es anderen Teammitgliedern überlassen.

Schneiden Sie ein Standbild aus dem Videorahmen aus und mischen Sie es, um es für die Auswertung und das Lernen zu trennen. Da die Aufnahmeumgebung jedoch dieselbe ist, sind die Bilder zu ähnlich, wenn das Zeitintervall zum Ausschneiden von Standbildern zu kurz ist. In einer solchen Situation verschwindet der Unterschied in den Eigenschaften zwischen dem Bewertungsbild und dem Lernbild. Dann ist die Bewertung zu gut.

Sobald jedoch die tatsächliche Umgebung erreicht ist, kann die Leistung aufgrund von Schwankungen möglicherweise nicht erreicht werden.

Das Problem, dass das Bewertungsbild und das Lernbild zu ähnlich sind, kann unbeabsichtigt auftreten. Beim Gesichtsanpassungssystem besteht beim Erstellen trainierter Daten zum Erstellen des Gesichtsanpassungssystems die Sorge, dass ein Bild, das dem in der Gesichtsanpassung zur Auswertung enthaltenen sehr ähnlich ist, unwissentlich verwendet wird. Zum Beispiel kann das Gesichtsbild von Barak Obama (ehemaliger Präsident) leicht in die Gesichtsbilddatenbank aufgenommen werden. Selbst wenn unterschiedliche Datensätze zum Lernen und zur Bewertung verwendet werden, ist Barak Obama in beiden enthalten. Es ist leicht zu passieren, dass es weg ist.


Nachtrag Die Erkennung von Personen auf Fußballfeldern hat häufig einen grünen Hintergrund. Wenn Sie also speziell dafür studieren, sinkt die Erkennungsrate wahrscheinlich, wenn der Hintergrund nicht grün ist.

Wenn Sie Ihre eigenen Daten verwenden, ist es wichtig, die Gültigkeit der Daten zu überprüfen. Wenn die Qualität der Anmerkungen nicht verbessert wird, kann die Genauigkeit des Lernens möglicherweise nicht verbessert werden.

Einer der Gründe, warum sich die Genauigkeit der Gesichtsanpassungstechnologie in den letzten Jahren dramatisch verbessert hat, ist Ich habe gehört, dass eine umfangreiche Gesichtsabgleichsdatenbank erstellt wurde und dass die Daten die Qualität der Gesichtsnamenzuordnung sicherstellen.

A Dataset With Over 100,000 Face Images of 530 People

Ein guter Datensatz lebt länger als eine einzelne Algorithmusimplementierung.

Von den Gesichtserkennungs- / Personenerkennungsalgorithmen und der Gesichtserkennungs- / Personenerkennungsdatenbank hält die Datenbank länger.

Der Gesichtserkennungsalgorithmus von Viola Jones wurde 2001 veröffentlicht. Und viele davon inspirierte Kaskadendetektoren wurden implementiert. Seitdem hat sich mit dem Fortschritt des tiefen Lernens der Algorithmus zur Gesichtserkennung erheblich geändert. Der Softwarealgorithmus hat sich nicht nur geändert, sondern auch der Hardware-Mechanismus zur Gesichtserkennung hat sich erheblich geändert. In letzter Zeit sind verschiedene Hardware-Implementierungen erschienen, die den Rahmen des Deep Learning beschleunigen, sodass sich auch die Hardware für die Gesichtserkennung und Personenerkennung erheblich geändert hat.

Trotzdem sind einige Gesichts- und Menschenerkennungsdatensätze älter als das Papier von Viola Jones.

Ein besser erstellter Datensatz ist weiterhin mit einer längeren Lebensdauer als der Algorithmus nützlich. Daher ist es wichtig, einen Datensatz über maschinelles Lernen in Ihrem Bereich zu erstellen.

Beachten Sie, dass die Implementierung, die Sie gerade implementieren, möglicherweise durch eine andere Implementierung ersetzt werden muss. Selbst im Fall von Deep Learning muss auf eine andere Implementierung des Netzwerkmodells umgestellt werden. Es ist wichtig, den Datensatz sorgfältig zu erweitern, um sich auf diese Zeit vorzubereiten.

Das Erstellen eines guten Datensatzes ist eine gute Problemeinstellung

Das Wichtigste bei der Lösung eines Problems ist, wie das Problem eingestellt wird. Wenn Sie beim Einstellen des Problems einen Fehler machen, kann das Problem problematisch sein. Das Einstellen eines guten Problems ist ein wichtiger Punkt bei der Lösung eines Problems. Ein guter Datensatz ist ein Datensatz, der darüber nachdenkt, was das Problem ist und wie es einer Lösung näher gebracht werden kann.

Beispiel: LFW

Es ist beabsichtigt, den Maßstab der Datenbank für die Gesichtsanpassung zu vergrößern und eine Gesichtsanpassungsdatenbank mit Bildern zu erstellen, deren Aufnahmebedingungen näher an der tatsächlichen Umgebung liegen, einschließlich Bildern mit unterschiedlichen Aufnahmebedingungen. Beispiel: VGG Face2 Es hat eine Vielzahl von Gesichtsausrichtungen, einschließlich eines halben Profils, und mehr Gesichter als LFW. Das Bild wurde manuell bereinigt.

Wenn Ihre Problemeinstellungen angemessen sind, bereiten Sie den entsprechenden Datensatz vor. Veröffentlichen Sie den entsprechenden Datensatz, um eine gute Frage zu stellen. Selbst Unternehmensentwickler können möglicherweise einen guten Datensatz bereitstellen.

Beispiel: Stellen Sie eine Frage zu Kaggle.

https://www.kaggle.com/c/cvpr-2018-autonomous-driving

In der Datenbank mit Fragen können Sie sehen, wie die aktuellen Zuordnungseinstellungen aussehen.

Das Bewusstsein für segmentierungsbasierte Objekte ist wichtig. In Echtzeit verarbeiten können.

Es zeigt, dass sich die Zeiten gegenüber der frühen Fußgängererkennung geändert haben, die auf dem Rechteck des Erkennungsrahmens basierte.

https://www.kaggle.com/c/mercari-price-suggestion-challenge Fragen werden auch von japanischen Unternehmen gestellt.

Beispiel: Veröffentlichen Sie die Datenbank.

Daimler Pedestrian Benchmark Data Sets

In Verbindung stehender Artikel Nach Anmerkungen suchen Das Anmerkungswerkzeug (korrektes Antwort-Eingabe-Werkzeug) entwickelt sich weiter.

Wie eine schlampige Person experimentelle Daten verwaltet Konzept jeder Phase der Datenerfassung für maschinelles Lernen Es ist keine gute Idee, das Verhältnis der Trainingsdaten so zu verwenden, wie es erscheint.

Sollten unentdeckte Daten hinzugefügt oder verschoben werden?

Recommended Posts

Bedeutung von Datensätzen für maschinelles Lernen
Grundlagen des maschinellen Lernens (Denkmal)
Maschinelles Lernen
Bedeutung des maschinellen Lernens und des Mini-Batch-Lernens
Maschinelles Lernen ③ Zusammenfassung des Entscheidungsbaums
Algorithmus für maschinelles Lernen (Verallgemeinerung der linearen Regression)
2020 Empfohlen 20 Auswahlmöglichkeiten für einführende Bücher zum maschinellen Lernen
Algorithmus für maschinelles Lernen (Implementierung einer Klassifizierung mit mehreren Klassen)
[Memo] Maschinelles Lernen
Klassifikation des maschinellen Lernens
[Maschinelles Lernen] Liste der häufig verwendeten Pakete
Beispiel für maschinelles Lernen
Maschinelles Lernen eines jungen Ingenieurs Teil 1
Klassifizierung von Gitarrenbildern durch maschinelles Lernen Teil 1
Beginn des maschinellen Lernens (empfohlene Unterrichtsmaterialien / Informationen)
Maschinelles Lernen des Sports - Analyse der J-League als Beispiel - ②
Python & Machine Learning Study Memo ⑤: Klassifikation von Ayame
Numerai Turnier-Fusion von traditionellen Quants und maschinellem Lernen-
Vollständige Offenlegung der beim maschinellen Lernen verwendeten Methoden
Liste der Links, die Anfänger des maschinellen Lernens lernen
Überblick über maschinelle Lerntechniken, die aus Scikit-Learn gelernt wurden
Über die Entwicklungsinhalte des maschinellen Lernens (Beispiel)
Zusammenfassung der beim maschinellen Lernen verwendeten Bewertungsfunktionen
Analyse der gemeinsamen Raumnutzung durch maschinelles Lernen
Angemessene Preisschätzung von Mercari durch maschinelles Lernen
Klassifizierung von Gitarrenbildern durch maschinelles Lernen Teil 2
Lassen Sie uns einen Teil des maschinellen Lernens mit Python berühren
Versuchen Sie es mit dem Jupyter Notebook von Azure Machine Learning
Anordnung von selbst erwähnten Dingen im Zusammenhang mit maschinellem Lernen
Kausales Denken mit maschinellem Lernen (Organisation von Methoden des kausalen Denkens)
Zusammenfassung des Lernprogramms für maschinelles Lernen
Maschinelles Lernen Über Overlearning
Maschinelles Lernen ⑤ AdaBoost-Zusammenfassung
Maschinelles Lernen: Betreut --AdaBoost
Logistische Regression beim maschinellen Lernen
Deep Learning 1 Übung des Deep Learning
Maschinelles Lernen unterstützt Vektormaschine
Maschinelles Lernen studieren ~ matplotlib ~
Memo zum Kurs für maschinelles Lernen
Bibliothek für maschinelles Lernen dlib
Maschinelles Lernen (TensorFlow) + Lotto 6
Lerne irgendwie maschinelles Lernen
Bibliothek für maschinelles Lernen Shogun
Maschinelles Lernen Kaninchen Herausforderung
Einführung in das maschinelle Lernen
Maschinelles Lernen: k-Nächste Nachbarn
Was ist maschinelles Lernen?
Wichtige Punkte von "Maschinelles Lernen mit Azure ML Studio"
Bildersammlung Python-Skript zum Erstellen von Datensätzen für maschinelles Lernen
[Empfohlenes Tagging beim maschinellen Lernen # 2] Erweiterung des Scraping-Skripts
[Empfohlenes Tagging beim maschinellen Lernen # 2.5] Änderung des Scraping-Skripts
Informationen zur Datenvorverarbeitung von Systemen, die maschinelles Lernen verwenden
Eindrücke vom Udacity Machine Learning Engineer Nano-Abschluss
Über das Testen bei der Implementierung von Modellen für maschinelles Lernen
Prognostizieren Sie das Geschlecht von Twitter-Nutzern durch maschinelles Lernen
Zusammenfassung des grundlegenden Ablaufs des maschinellen Lernens mit Python
Aufzeichnung der ersten Herausforderung des maschinellen Lernens mit Keras
Modell des maschinellen Lernens unter Berücksichtigung der Wartbarkeit
Maschinelles Lernen mit Pokemon gelernt
Datensatz für maschinelles Lernen