machine-learning

___ tag123machineelearning ___ Implementierungsfragen zu Algorithmen des maschinellen Lernens. Allgemeine Fragen zum maschinellen Lernen sollten in ihren jeweiligen Communities veröffentlicht werden. ___ qstnhdr ___ Ein mehrschichtiges Perzeptron-Netzwerk verstehen ___ tag123neuralnetwork ___ Netzwerkstruktur inspiriert von vereinfachten Modellen biologischer Neuronen (Gehirnzellen). Neuronale Netze werden trainiert, um durch überwachte und unbeaufsichtigte Techniken zu "lernen" und können verwendet werden, um Optimierungsprobleme, Approximationsprobleme, Klassifikationsmuster und Kombinationen davon zu lösen. ___ qstntxt ___

Ich versuche zu verstehen, wie man einen Multilayer trainiert; Ich habe jedoch einige Schwierigkeiten herauszufinden, wie man eine geeignete Netzwerkarchitektur - d. h. die Anzahl der Knoten / Neuronen in jeder Schicht des Netzwerks - ermittelt.

Für eine bestimmte Aufgabe habe ich vier Eingabequellen, die jeweils einen von drei Zuständen eingeben können. Ich denke, das würde bedeuten, dass vier Input-Neuronen entweder 0, 1 oder 2 feuern würden, aber so weit ich es gesagt habe, sollte die Eingabe binär gehalten werden?

Außerdem habe ich Probleme bei der Auswahl der Neuronenmenge in der versteckten Schicht. Alle Kommentare wären großartig.

Danke.

    
___ answer2708040 ___

Die Bestimmung einer akzeptablen Netzwerkstruktur für ein mehrschichtiges Perzeptron ist eigentlich unkompliziert.

  1. Eingabeebene : Wie viele Features / Dimensionen sind enthalten? Ihre Daten - dh wie viele Spalten in jede Datenzeile. Fügen Sie einen hinzu (für der Bias - Knoten) und das ist die Anzahl der Knoten für die erste (Eingabe Ebene).

  2. Ausgabeschicht : Wird Ihr MLP in 'Maschine' ausgeführt? Modus oder Regressionsmodus ('Regression' hier in der maschinelles Lernen statt statistischer Sinn) - dh tut mein MLP Gibt eine Klassenbezeichnung oder eine vorhergesagte zurück Wert? Wenn letzteres, dann dein Die Ausgabeschicht hat einen einzelnen Knoten. Ob Erstere, dann Ihre Ausgabeschicht hat die gleiche Anzahl von Knoten wie Klassenlabels. Zum Beispiel, wenn der Ergebnis, das Sie wollen, ist jedes zu beschriften Instanz als entweder "Betrug" oder "nicht Betrug ", das sind zwei Klassenlabels, Daher zwei Knoten in Ihrer Ausgabe Ebene.

  3. Ausgeblendete Ebene (n) : Zwischen diesen beiden (Eingabe und Output) sind offensichtlich die versteckten Lagen. Beginnen Sie immer mit einem einzigen versteckte Ebene. Also wie viele Knoten? Hier ist eine Faustregel: Legen Sie die (ursprüngliche) Größe der ausgeblendeten Ebene auf eine bestimmte Anzahl von Knoten fest, die nur geringfügig größer als die Anzahl der Knoten in der Eingabeebene ist. Verglichen mit weniger Knoten als der Eingabeschicht hilft diese Überkapazität, Ihre numerische Optimierungsroutine (z. B. Gradientenabstieg) zu konvergieren.

Beginnen Sie zusammen mit drei Schichten für Ihre Netzwerkarchitektur; Die Größen der ersten (Eingabe) und letzten (Ausgabe werden durch Ihre Daten bzw. durch Ihren Modellentwurf festgelegt. Eine verborgene Ebene, die gerade etwas größer als die Eingabeebene ist, ist fast immer ein gutes Design, um zu beginnen.

In Ihrem Fall wäre eine geeignete Netzwerkstruktur:

Eingabeschicht : 5 Knoten - & gt; versteckte Ebene : 7 Knoten - & gt; Ausgabeschicht : 3 Knoten

    
___ answer2747813 ___

Ich stimme Dougs Antwort oben in einigen Punkten nicht zu.

Sie haben 4 diskrete (3-Wege kategoriale) Eingänge. Sie sollten (sofern Sie keinen starken Grund dafür haben) dies als 12 Binäreingänge darstellen, die eine 1-aus-3-Codierung für jeden Ihrer vier konzeptionellen Eingänge verwenden. Wenn Sie also [2,0,1,1] eingeben, sollte Ihr Netzwerk Folgendes erhalten: 0 0 1 1 0 0 0 1 0 0 1 0 Wenn Ihre Netzwerkimplementierung einen manuellen Bias erfordert, sollten Sie ein weiteres Always-On-Bit für den Bias hinzufügen, aber die meisten sinnvollen neuronalen Netzimplementierungen erfordern dies nicht.

Probiere ein paar verschiedene Zahlen von versteckten Einheiten aus. Sie müssen sich nicht auf eine versteckte Layer-Größe beschränken, die kleiner ist als die Eingabe-Layer-Größe, aber wenn Sie es größer machen, sollten Sie darauf achten, dass Sie Ihre Gewichtungen normalisieren, vielleicht mit L2- oder L1-Gewicht-Verfall und vielleicht sogar früher Stopps im Training (stoppe das Training, wenn dein Fehler in einem ausgehaltenen Validierungssatz aufhört sich zu verbessern).

    
___ 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. ___
1
Antwort

Wie erstelle ich ein Convolution Neuronales Netz in Azure Machine Learning?

Jemand sollte "net #" als Tag hinzufügen. Ich versuche, mein neuronales Netzwerk in Azure Machine Learning Studio zu verbessern, indem ich es mithilfe dieses Lernprogramms in ein neuronales Faltungsnetz verwandle: Ссылка Der Unterschied...
09.08.2017, 05:37
1
Antwort

Implementierung von im2col in TensorFlow

Ich möchte eine Operation ähnlich der 2D-Faltung in TensorFlow implementieren. Nach meinem Verständnis ist der häufigste Ansatz zum Implementieren von Faltung, indem zuerst eine Operation im2col auf das Bild angewendet wird (siehe hier) - U...
07.08.2017, 18:56
1
Antwort

Parameterauswahl in Adaboost

Nachdem ich OpenCV für Boosting verwendet habe, versuche ich meine eigene Version von% zu implementieren. co_de% Algorithmus (schau hier , hier und das Originalpapier für einige Referenzen). Beim Lesen des gesamten Materials habe ich e...
02.05.2013, 19:37
0
Antworten

Wit.ai erkennt Zahlen als Standort

Wir stehen vor dem Problem, dass wit.ai fast jede Nummer als Standort erkennt. Manchmal sogar als DateTime, aber fast nie als Nummer. Wir haben versucht, es zu lehren, dass 1 eine Zahl ist, 2 ist eine Zahl, etc., aber es scheint das nicht aufzug...
12.01.2017, 16:20
0
Antworten

Facenet-Online-Tripelgenerierung

Der Artikel hier erwähnt eine intelligente Methode, um Triplets für ein konvolutionelles neuronales Netzwerk zu generieren (um Gesichtseinbettungen zu generieren). . Für einen Minibatch mit n Bildern werden nur die halbharten Drillinge zu...
05.08.2017, 19:48
1
Antwort

Erhalten Sie rohe Vorhersagen von Vowpal Wabbit im Daemon-Modus

Ich starte Vowpal Wabbit im Daemon-Modus mit dem folgenden Befehl: vw --loss_function hinge --ect 250 --quiet --passes 5 -b 25 --daemon --port 10001 --pid_file pidfile Das funktioniert gut und ich kann Vorhersagen erhalten, indem ich mi...
13.08.2014, 09:05
0
Antworten

Langsame Performance mit Apache Spark Gradient Boosted Tree Trainingsläufen

Ich experimentiere mit Gradienten Boosted Trees Lernalgorithmus aus der ML-Bibliothek von Spark 1.4. Ich löse ein binäres Klassifizierungsproblem, bei dem meine Eingabe ~ 50.000 Samples und ~ 500.000 Features ist. Mein Ziel ist es, die Definit...
21.09.2015, 19:22
5
Antworten

Was bedeutet Rückruf beim maschinellen Lernen?

Ich weiß, dass die Bedeutung von Rückruf in der Suchmaschine, aber was ist die Bedeutung des Rückrufs eines Klassifikators, z.B. Bayes Klassifizierer? Bitte geben Sie ein Beispiel, danke. zum Beispiel, die Genauigkeit = korrigieren / korrigie...
02.01.2013, 06:52
5
Antworten

Fehler in ConfusionMatrix die Daten und Referenzfaktoren müssen die gleiche Anzahl von Ebenen R CARET haben

Ich habe ein Baummodell mit R caret trainiert. Ich versuche nun, eine Konfusionsmatrix zu generieren und bekomme immer den folgenden Fehler:    Fehler in confusionMatrix.default (progestionsTree, testdata $ category)   : Die Daten und Referen...
17.07.2014, 10:44
0
Antworten

Opencv ML Funktionen wollen CvFileStorage * anstelle von cv :: FileStorage *

Ich verwende die CvANN_MLP-Funktionen aus den Machine-Learning-Bibliotheken in Opencv, und ich möchte mein trainiertes Netzwerk in eine Datei schreiben. Ich konnte dies mit cv :: FileStorage für Schlüsselpunkte und Deskriptoren machen, wenn ich...
15.04.2012, 08:32