AForge backpropagation / Wer kennt sich aus?

  • VB.NET
  • .NET 4.5

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von Morrison.

    AForge backpropagation / Wer kennt sich aus?

    Hallo!

    Habe mir aus der AForge-library jetzt was zusammengeschustert was aber leider nicht wirklich funktioniert!

    Kennt sich wer mit der AForge-Backpropagation aus?
    Wenn ich mein Netzwerk lernen lasse sehe ich zwar Fortschritte inn der Error-Rate, aber was mache ich wenn der dann zu Ende "gelernt" hat?

    Wenn ich dann .compute() anwende, was mache ich mit dem Double()? Ich bekomme immer das selbe Ergebnis!
    Ich bekomme
    Oder wo finde ich zur AForge paar Beispiele?
    Hab diesbezüglich nur die XOr Funktion gefunden..

    Hab mein Projekt mal angehängt :huh:
    Dateien

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Morrison“ ()

    OK, vielleicht ein paar Verständnisfragen!

    Ich habe Bitmaps der Größe 100x100px also ein First-Layer von 10000 Neuronen..
    ..jede Bitmap repräsentiert eine Zahl zwischen 0 und 9!

    Ich bekomme das netwerk nur zum lernen wenn ich es so aufsetze:

    VB.NET-Quellcode

    1. Dim Network As ActivationNetwork = New ActivationNetwork(New BipolarSigmoidFunction(4), 10000, 1000, 100, 100, 10, 2, 1)
    2. Dim _teacher As BackPropagationLearning = New BackPropagationLearning(Network)


    oder so:

    VB.NET-Quellcode

    1. Dim Network As ActivationNetwork = New ActivationNetwork(New SigmoidFunction(2), 10000, 1000, 100, 100, 10, 2, 1)
    2. Dim _teacher As BackPropagationLearning = New BackPropagationLearning(Network)


    Ich brauch also 6 Layer, mit weniger bleibt die error-rate wo sie ist!

    Meine Input-Daten sind korrekt!

    also was mache ich nun mit dem trainierten Netzwerk??

    Bis jetzt hab ich das so versucht:

    VB.NET-Quellcode

    1. Dim _sol() As Double = Network.Compute(_double)


    ..aber was mache ich mit dem Output-Double??
    Das ist bei jeder Zahl immer gleich!! Das kann doch nicht sein!?

    Oder muss ich beim Output Netzwerk das Setup so erstellen:

    VB.NET-Quellcode

    1. Dim Network As ActivationNetwork = New ActivationNetwork(New SigmoidFunction(2), 10000, 1000, 100, 100, 10, 2, 10)


    ..und dann ist das double mit höchstem Wert die Lösung?!?

    Komme mit dem undokumentierten Mist nicht klar! Weiß jemand Rat?!?