Wie bestimmen Sie die pegelschwelle für neuron Entlassungen in neuronalen Netzen?
Habe ich eine einfache Aufgabe zu klassifizieren Menschen, die von Ihrer Höhe und der Länge der Haare, entweder MANN oder FRAU Kategorie mit Hilfe eines neuronalen Netzes. Auch lehren die Muster, mit einigen Beispielen und verwenden Sie es dann zu klassifizieren, auf Ihre eigenen.
Habe ich ein grundlegendes Verständnis von neuronalen Netzwerken, aber wirklich brauchen würde einigen hier helfen.
Ich weiß, dass jedes neuron unterteilt den Bereich in zwei Teilbereiche, im Grunde das ist, warum P = w0 + w1*x1 + w2*x2 + ... + wn*xn wird hier verwendet (GEWICHTE sind nur das verschieben der Linie, wenn wir betrachten die geometrische Darstellung).
Ich verstehe, dass jede epoche sollte, ändern Sie die GEWICHTE näher zum richtigen Ergebnis, doch habe ich nie Programm und ich bin hoffnungslos über, wie zu starten.
Wie soll ich Vorgehen, was bedeutet: Wie kann ich bestimmen die Schwelle, und wie soll ich die Eingänge?
Es ist nicht die Hausaufgaben eher als Aufgabe für diejenigen, die interessiert waren. Ich bin, und ich möchte um es zu verstehen.
- Ich nur geschönt deine Frage, aber ich bin mir nicht sicher über die Verwendung von
epoche
. Meinst du epoché?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sieht aus wie Sie es mit einem einfachen Perzeptron mit Schwellwert-Aktivierungsfunktion. Haben Sie einen Blick auf diese Frage. Da Sie über ein bias-neuron (w0), legen Sie den Schwellenwert auf 0.
Du dann nehmen Sie einfach den Ausgang Ihres Netzwerkes und vergleichen Sie es mit 0, so würden Sie z.B. die Ausgabe der Klasse 1, wenn x < 0 und Klasse 2, wenn x > 0. Sie könnten Modell der Fall x=0 als "nicht ausgeprägt".
Lernen der GEWICHTE, die Sie müssen, um die Delta-Regel Lernen das kann sehr einfach realisiert werden. Aber Vorsicht: ein perceptron mit einer einfachen Schwellwert-Aktivierung-Funktion kann nur korrekt sein, wenn Ihre Daten sind Linear trennbar. Wenn Sie mehr komplexe Daten, die Sie benötigen, ein Multilayer-Perzeptron und eine nichtlineare Aktivierungsfunktion wie die Logistische Sigmoid-Funktion.
Haben Sie einen Blick auf Geoffrey Hintons Coursera-Kurs, Vorlesung 2 für details.
Arbeite ich mit machine learning in letzter Zeit (aber ich bin kein Experte), aber Sie sollten sich auf die Accord.NET Rahmen. Es enthält alle gängigen maschinellen Lernens algorithme aus der box. So ist es einfach, nehmen Sie eine vorhandene Proben und ändern Sie es, anstelle von vorne anfangen. Auch die Entwickler des Frameworks ist es sehr hilfreich, im forum auf der gleichen Seite.
Mit den verfügbaren Proben, können Sie auch entdecken, etwas besser als neuronales Netzwerk, wie das Kernel-Support-Vektor-Maschine. Wenn Sie an das neuronale Netzwerk, Spaß haben ändern alle anderen Variablen und durch ausprobieren und Fehler werden Sie verstehen, wie es funktioniert.
Spaß haben!
Da Sie sagte:
&
Ich denke, dass Sie verwenden möchten perseptron oder ADALINE neuronale Netze. Diese neuronalen Netzwerke können nur klassifizieren linear trennbare Muster. seit Ihrer eingegebenen Daten ist kompliziert, Es ist besser ein Multi-layer Non-Linearen Neuronalen Netzwerk. (mein Vorschlag ist eine zwei-Schicht neuronales Netz mit tanh-Aktivierungsfunktion) . Für die Ausbildung dieser Netzwerk, das Sie verwenden sollten, back-propagation-Algorithmus.
Für die Beantwortung zu
Ich muss wissen, mehr details über die inputs( Z.B.: sind Sie nur Höhe und Länge der Haare, oder es ist mehr, was ist Ihr Angebot und Ihre Auflösung und etc.)
Wenn man sich mit nur Höhe und Länge der Haare schlage ich vor, dass teilen der Höhen und der Länge in einigen Klassen (z.B. 160cm-165cm, 165cm-170cm & etc.) und für jede dieser Klassen setzen ein/Aus input-neuron. dann legen Sie eine ausgeblendete Ebene nachdem alle Klassen bezüglich der Höhen und der anderen, verborgenen Ebene nachdem alle Klassen mit Bezug zu Haar-Länge (tanh-Aktivierungsfunktion). Anzahl der Neuronen in diesen zwei hidden layer bestimmt wird, basierend auf der Anzahl der trainingsfälle.
dann nimm diese zwei hidden layer output und senden Sie Sie an aggregation-layer mit 1 output-neuron.