Ich versuche, ein mehrschichtiges neuronales Perzeptron-Netzwerk aufzubauen und zu trainieren, das richtig vorhersagt, welcher Präsident zum ersten Mal in welchem Landkreis gewonnen hat. Ich habe die folgenden Informationen für Trainingsdaten.
Gesamtbevölkerung Durchschnittsalter% BachelorsDeg oder höher Arbeitslosenquote Pro-Kopf-Einkommen Gesamthaushalte Durchschnittliche Haushaltsgröße% Eigentumswohnungen% Mieterwohnungen% Leerstehende Wohnungen Medianer Hauswert Bevölkerungswachstum Haushaltswachstum Pro-Kopf-Einkommenswachstum Gewinner
Das sind 14 Spalten mit Trainingsdaten und die 15. Spalte ist die Ausgabe.
Ich versuche, mit Keras ein mehrschichtiges neuronales Perzeptron-Netzwerk aufzubauen, aber ich brauche Hilfe beim Verständnis einiger Eigenschaften und der Vor- und Nachteile der Auswahl verschiedener Optionen für diese Eigenschaften.
- AKTIVIERUNGSFUNKTION
Ich weiß, dass mein erster Schritt darin besteht, eine Aktivierungsfunktion zu entwickeln. Ich habe immer neuronale Netze untersucht und Sigmoid-Aktivierungsfunktionen verwendet. Ist eine Sigmoid-Aktivierungsfunktion die beste? Woher weißt du, welches du verwenden sollst? Keras bietet zusätzlich die Möglichkeit, eine Aktivierungsfunktion für Softmax, Softplus, Relu, Tanh, Linear oder Hard_Sigmoid zu verwenden. Ich bin damit einverstanden, was auch immer zu verwenden, aber ich möchte nur verstehen können, warum und die Vor- und Nachteile.
- PROBABILITÄTSINITIALISIERUNGEN
Ich weiß, dass Initialisierungen die Wahrscheinlichkeitsverteilung definieren, die zum Festlegen der anfänglichen Zufallsgewichte von Keras-Ebenen verwendet wird. Die Optionen, die Keras bietet, sind einheitlich lecun_uniform, normal, Identität, orthogonal, Null, glorot_normal, glorot_uniform, he_normal und he_uniform. Wie wirkt sich meine Auswahl hier auf mein Endergebnis oder Modell aus? Sollte es nicht wichtig sein, dass wir jedes zufällige Modell "trainieren", mit dem wir beginnen, und trotzdem eine optimalere Gewichtung der Schichten finden?