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. ___
2
Antworten

Wie kann man eine bestimmte Art von Ähnlichkeitsindex verwenden? Euklidischer Abstand vs. Pearson-Korrelation

Was sind einige der entscheidenden Faktoren, die bei der Auswahl eines Ähnlichkeitsindex berücksichtigt werden müssen? In welchen Fällen wird eine euklidische Entfernung gegenüber Pearson und umgekehrt bevorzugt?     
10.11.2012, 17:11
2
Antworten

Weka: Ergebnisse jeder Falte im 10-fachen CV

Wenn wir für Weka Explorer (GUI) einen 10-fachen Lebenslauf für eine gegebene ARFF -Datei machen, dann ist der Weka Explorer (soweit ich das sehen kann) das Durchschnittsergebnis für alle die 10 Falten. Q. Gibt es eine Möglichkeit, die Er...
02.06.2012, 06:14
2
Antworten

Problematische Random Forest-Trainingslaufzeit bei Verwendung der Formelschnittstelle

Ausführen des Zufalls-Forest-Beispiels von Ссылка , die folgende Zeile: %Vor% dauert Stunden (nicht sicher, ob es jemals endet, aber der Prozess scheint zu funktionieren). Der Datensatz enthält 1128 Zeilen und ~ 7000 Variablen. Kann m...
10.03.2013, 11:58
1
Antwort

Wie prognostiziert man in Python mit maschinellem Lernen aus einer gegebenen Menge geografischer Daten?

Ich habe einige geografische Daten analysiert und versucht, das nächste Ereignis in Bezug auf die Zeit und die geographische Position vorherzusagen / vorherzusagen. Die Daten waren in der folgenden Reihenfolge (mit Beispieldaten) %Vor% Erste...
28.01.2013, 13:00
2
Antworten

Wie erhalten Sie die meisten informativen Funktionen für den scikit-learn Klassifikator für verschiedene Klassen?

NLTK-Paket bietet eine Methode show_most_informative_features() , um die wichtigsten Funktionen für beide Klassen zu finden, mit Ausgabe wie: %Vor% Wie in dieser Frage beantwortet Wie Sie am meisten bekommen informative Features für sciki...
17.11.2014, 15:44
6
Antworten

Machine Learning Algorithmen: Welcher Algorithmus für welches Problem?

Ich bin neu auf dem Gebiet des maschinellen Lernens und ich habe festgestellt, dass es viele Algorithmen / Algorithmen gibt, die verwendet werden können: SVM, Entscheidungsbäume, naive Bayes, Perzeptron usw. Deshalb frage ich mich, welcher Algor...
22.05.2013, 08:28
2
Antworten

Keras - Unterschied zwischen kategorischer Genauigkeit und sparse_categorical_accuracy

Was ist der Unterschied zwischen categorical_accuracy und sparse_categorical_accuracy in Keras? Es gibt keinen Hinweis in der Dokumentation für diese Messwerte , und indem ich Dr. Google frage, habe ich auch keine Antworten dafür gefunden...
10.06.2017, 19:55
4
Antworten

Wie wird die Überanpassung gemessen, wenn die Zug- und Validierungsprobe im Keras-Modell klein ist?

Ich habe folgendes Diagramm: Das Modell wird mit der folgenden Anzahl von Beispielen erstellt: %Vor% Nach meinem Verständnis zeigt die Handlung, dass es keine Überanpassung gibt. Aber ich denke, Da die Stichprobe sehr klein ist, bin...
08.02.2018, 01:06
2
Antworten

Messung der Leistung des Klassifikationsalgorithmus

Ich habe ein Klassifizierungsproblem in der Hand, das ich mit einem maschinellen Lernalgorithmus (Bayes, oder Markovian wahrscheinlich, die Frage ist unabhängig von dem zu verwendenden Klassifikator) ansprechen möchte. Angesichts einer Reihe von...
02.01.2009, 11:09
1
Antwort

TensorFlow: Saver hat 5 Modelle zu begrenzen

Ich wollte mehrere Modelle für mein Experiment speichern, aber mir ist aufgefallen, dass tf.train.Saver() constructor nicht mehr als 5 Modelle speichern konnte. Hier ist ein einfacher Code: %Vor% Als ich diesen Code ausführte, sah ich nur...
08.08.2016, 19:44