one-hot-encoding

___ tag123python ___ Python ist eine dynamische und stark typisierte Programmiersprache, die die Usability betont. Zwei ähnliche, aber größtenteils inkompatible Versionen von Python sind weit verbreitet (2 und 3). Wenn Sie eine versionsspezifische Python-Frage haben, sollten Sie die Tags [python-2.7] oder [python-3.x] zusätzlich zum Tag [python] verwenden. Wenn Sie eine Python-Variante wie jython, pypy, iron-python usw. verwenden, kennzeichnen Sie diese bitte entsprechend. ___ tag123machineelearning ___ Implementierungsfragen zu Algorithmen des maschinellen Lernens. Allgemeine Fragen zum maschinellen Lernen sollten in ihren jeweiligen Communities veröffentlicht werden. ___ qstnhdr ___ Trainieren Sie den Klassifikator für mehrere Klassen in Keras ___ tag123keras ___ Keras ist eine minimalistische, hochgradig modulare neuronale Netzwerkbibliothek, die eine Python-API auf hohem Niveau bietet, die Rapid Prototyping ermöglicht und die Verwendung eines von mehreren rechnergestützten Back-Ends ermöglicht. ___ tag123deeplearning ___ Deep Learning ist ein Bereich des maschinellen Lernens, dessen Ziel es ist, komplexe Funktionen mit speziellen neuronalen Netzwerkarchitekturen zu erlernen, die "tief" sind (aus vielen Schichten bestehen). Dieses Tag sollte für Fragen zur Implementierung von Deep-Learning-Architekturen verwendet werden. Allgemeine Fragen zum maschinellen Lernen sollten mit "maschinelles Lernen" gekennzeichnet werden. Eine Markierung für die relevante Softwarebibliothek (z. B. "keras" oder "tensorflow") ist hilfreich. ___ answer41824511 ___
  1. Verwenden Sie %code% als Aktivierungsfunktion der Ausgabeschicht, dies ist eine Verallgemeinerung der logistischen Funktion für einen Fall mit mehreren Klassen. Lesen Sie mehr darüber hier .

  2. Wenn der Validierungsfehler viel größer als der Trainingsfehler ist, wie in Ihrem Fall, ist dies ein Anzeichen für Überanpassung. Sie sollten eine Regularisierung durchführen, die definiert ist als jede Änderung des Lernalgorithmus, die den Testfehler reduzieren soll, aber nicht den Trainingsfehler. Sie können Dinge wie Datenerhöhung, frühes Anhalten, Rauschinjektion, aggressiveres Aussetzer usw. ausprobieren.

  3. Wenn Sie die gleichen Einstellungen wie im verknüpften Lernprogramm haben, ändern Sie %code% von %code% und %code% in %code% und es wird eine einzige Kodierung für Ihre Klassen geben.

___ tag123onohotencodierung ___ hilf uns dieses Wiki zu bearbeiten ___ qstntxt ___

Ich habe ein Tutorial verfolgt, um einen Klassifikator mit Keras zu trainieren.

Ссылка

Aus dem zweiten Skript des Autors wollte ich das Skript in ein Skript umwandeln, das trainiert werden kann Mehrklassen-Klassifikator (war eine Binärdatei für Katze und Hund). Ich habe 5 Klassen in meinem Zugordner, also habe ich folgende Änderung vorgenommen:

In der Funktion von train_top_model ():

Ich habe mich geändert

%Vor%

in

%Vor%

Nach dem Training erreichte das Modell eine Trainingsgenauigkeit von fast 99%, aber nur für eine Genauigkeit von 70% der Validierungsgenauigkeit. So fing ich an zu denken, dass es vielleicht nicht so einfach ist, 2 Klassen Training in 5 Klassen zu verwandeln. Vielleicht muss ich bei der Beschriftung der Klassen die One-Hot-Codierung verwenden (aber ich weiß nicht wie)

BEARBEITEN:

Ich habe auch mein Feintrieb-Skript beigefügt. Ein weiteres Problem: Die Genauigkeit wurde nicht effektiv erhöht, wenn der Feintrieb startet.

%Vor%     
___
1
Antwort

Trainieren Sie den Klassifikator für mehrere Klassen in Keras

Ich habe ein Tutorial verfolgt, um einen Klassifikator mit Keras zu trainieren. Ссылка Aus dem zweiten Skript des Autors wollte ich das Skript in ein Skript umwandeln, das trainiert werden kann Mehrklassen-Klassifikator (war eine Binär...
24.01.2017, 08:12