Gast
#4653187
Hallo Forum, ich beschäftige mich gerade mit maschinellem Lernen am Rande, da ich in einer festen batteriebetrieben Applikation eine passende Hardwareplattform dafür anbieten muss. Leider lassen die wenig gemachten Voruntersuchungen mir nicht viel Wahl und ich muss etwas tiefer rein. Für den PC gibt es ja schon so einige Toolkits. Interessant sind natürlich die kostenfreien. Für Python gibt es Scikit-learn und neu: Tensorflow von google. API's die anbieten auf der Grafikkarte die Algorithmen zu lösen, sagen ja schon recht viel über den Ressourcenhunger aus... Zur Aufgabenstellung: Ich habe eine 4-Dimensionale (Eingangswerte) (evtl. auch höhere D.) Funktion zu der ich eine 3D-Lösungsfunktion (Ausgangswerte) besitze. Also einfach ausgedrückt: Ich habe drei Eingangswerte und brauche die zwei passenden Ausgangswerte. Lösung: maschinelles Lernen -> Regression ?! Nun waren die ersten Versuche nicht von mir und es stellte sich heraus, dass es mit 8 GB Arbeitsspeicher und nem Quad-Core CPU ganz gut funktioniert... Zur Frage: Ich habe mir einiges an Dokumentation zu scikit-lern durchgelesen, leider konnte ich bisher keine Parameter entdecken, mit dem ich den Ressourcenhunger beim Lernen begrenzen könnte. Mein Wunschziel wäre es eine "Lernmatrix" in der Größe um maximal 1 MB (Flash) zu genieren und die anschließende Regression sollte maximal 300 kB RAM benötigen. Die Rechenzeit würde ich der Einfachheit halber erst einmal ausklammern. Ich fürchte nur, dass sich die nötigen Ressourcen einfach aus den verwendeten Algorithmen (+ Datenpunkten) ableiten. Mein Ansatz bei über 100k Samples wäre nach diesem Flowchart: http://scikit-learn.org/stable/tutorial/machine_learning_map/ wäre die SGDRefressor Klasse. Bin ich auf dem Holzweg? Könnte mir jemand kurz umreißen wie ich dieses Problem angehe und der Lösung näher rücke? Vielen Dank Reiner