Bibliothek für Neuronale Netze

masty

Newbie
Registriert
Mai 2014
Beiträge
2
Hallo liebe Community,

ich möchte mit Neuronalen Netzen experimentieren. Vor allem interessiere ich mich für vorwärtsgerichtete (feedworward) Neuronale Netze, die überwacht (supervised) lernen.

Allerdings möchte ich nicht die Netzgröße angeben. Z. B.: Es gibt 3 versteckte Schichten (hidden layers) mit jeweils 5 Neuronen. Und dann manuell auszuprobieren müssen, welche Netzgröße die passende für welches Problem ist.

Es gibt Algorithmen die während des Trainings die Netzgröße der Aufgabenstellung anpassen können. Dazu zähle ich Cascading Correlation, Dynamic Multilayer Perceptron oder Pruning Algorithmen.

Ich suche nun eine Bibliothek die solche Aufgaben bewältigen kann oder bei der man es einfach implementieren könnte. Ich bin für jede Kritik offen.

Vielen Dank für euren Ratschlag schon mal im Voraus.

masty
 
Hallo kuddlmuddl,

ich danke dir vielmals für deine Antwort. Und ja du hast recht, ich habe mich bereits mit dem Thema beschäftigt. Wir arbeiten vorallem mit C#. Daher wäre es genial, auch eine Bibliothek zu finden, die das alles kann und in C# geschrieben ist. Ich Liste mal meine Ergebnisse, die ich gefunden habe auf. Bitte seht es als Geschenk. Es stecken mehrere Tage arbeit dahinter^^ Trotzdem kann ich keine Garantie auf Richtigkeit geben.


  • FANN [C / Open Source]
    besitzt eine Implementierung von Cascading Correlation. Gibt auch ein C#-Wrapper dafür, der scheint aber nur unter 32-Bit zu laufen. Da auch dieser Open Source ist, wäre es möglich, sowohl die Library als auch den Wrapper parallel weiter zu entwickeln.
  • SNIPE [Java / Freeware]
    ist eine tolle Library, mit einem tollen Buch. Unbedingt zu empfehlen als Einstieg. Aber von Cascading Correlation keine spur. Im Buch wird das Thema Pruning in ein paar Sätzen beschrieben, dass war es dann leider auch schon. Leider ist SNIPE auch nicht Open Source.
  • Neuroph [Java / Open Source]
    Vorteil gegenüber SNIPE, es ist Open Source. Unterstützt aber auch kein Cascading.
  • WEKA [Java]
    WEKA sollte man auf keinen Fall vergessen, wenn man von Machine Learning spricht. WEKA ist eine Riesige Plattform, die schon sehr viele Algorithmen implementiert. Auch die Vorverarbeitung und die Anzeige von den Ergebnissen, macht es zu ein schönen Tool, mit dem man schön spielen kann. Es könnte vor allem interessant sein für Leute, die Richtung Textanalyse, Klassifizierung aus Texten arbeiten interessant sein. Unterstüzt aber so wie es scheint auch keiner dieser Algorithmen.
  • Neural Network Leaves Recognition [Java]
    benutzt Backpropagation für edge detection.
  • neuralnet [R]
    keine Implementierung von einem Dynamischen Neuronalen Netz.
  • NNSYSID Toolbox [Matlab / Open Source]
    Ist Open SOurce. Soll auch Funktionen haben für Pruning. Läuft auch mit C#
  • OpenCV [C++ / Open Source]
    Hat 2 Implementierung von Neuronalen Netzen. Eine sehr einfache und eine Cascading Correlation (CC) implementierung die auf CUDA läuft. Allerdings wird diese CC für FaceDetection verwendet. Meine vermutung ist, dass diese sich nur auf Pixeldaten anwenden lässt.
  • NeuronDotNet [C# / Open Source]
    keine Implementierung von einem Dynamischen Neuronalen Netz und wird schwierig es dahingegend flexibel zu gestalten.
  • Cortex
    Für Trading
  • NetMaker [C# / Freeware]
    Ich möchte nicht über dieses Programm urteilen. Aber es ist anders als die anderen. Großer vorteil: Es unterstützt Cascading Correlation, und eine eigene Version von Dynamic Multilayer Perceptron. Da es aber nicht OpenSource ist, ist es nur sehr schwer nach zu vollziehen.

Es gibt noch eine Reihe von C++ Bibliotheken. Die folgenden sind alle Open Source / Freeware unterstützen aber kein Cascading Correlation.
  • Libann
  • NNFpp
  • Lightweight Neural Network++
  • ANN
  • Amygdala
  • Annie
  • libF2N2 [Auch PHP]

Diese sind leider ausgeschieden, weil ich kein Python kann:

Eigene Sprache geschrieben worden um das NN zu verwenden.
  • Torch [LuaJIT / C]
  • Xerion [Uts / C]

Und die folgenden scheiden leider aus, weil sie keine Freeware sind.
  • Neural Network Toolbox [Matlab / keine Freeware]
  • Alyuda NeuroIntelligence
  • EasyNN
  • NeuroSolutions
  • Tradecision

Lässt sich nicht Downloaden.
  • University of Hertfordshire Neural Network Software [Java]

Other:
  • Genesis
  • mahout
  • aforge
  • membrain
  • encog

Diese Liste hat echt viel Arbeit gemacht, also bitte zieht sie nicht in den dreck. Vielleicht hat der eine oder ander in der Richtung schon mal etwas gemacht und Erfahrung sammeln können. Würde mir echt weiterhelfen, danke.
 
Zurück
Oben