maschinelles Lernen bzw. Mustererkennung und Prognose
-
regenundschnee schrieb:
Kannst du auch mal eine ausführliche Antwort zum Thema geben
Nein, das bringt nichts. Auf diesem Niveau nur gegen reichlich Geld.
-
volkard schrieb:
regenundschnee schrieb:
Kannst du auch mal eine ausführliche Antwort zum Thema geben
Nein, das bringt nichts. Auf diesem Niveau nur gegen reichlich Geld.
Gut, dass du mich darauf hinweist. Ich hätte jetzt noch die Lösung gepostet und du hättest abkassiert.
-
regenundschnee schrieb:
Ja, approximieren können wird, hat aber wenig mit dem zu tun, dass er auf so etwas wie "n0 = 0 ist n1 = n0+2, n2 = n1+2" kommen will.
Approximieren können heißt, dass man jede stetige Funktion damit beliebig genau (!) approximieren kann. Wenn der Fehler mal auf unter 0.5 gefallen ist, kann man das korrekte Ergebnis dann ja mit Runden bestimmen. Ich sage ja nicht, dass das die beste Möglichkeit ist das Problem zu lösen, ich argumentiere lediglich, dass es voll im Machine-Learning Framework drinliegt. Ich persönlich würde das wohl eher versuchen über einen parametrischen Ansatz zu lösen.
Soweit ich es verstanden hatte war die Aufgabe die Fortsetzung der Zahlenreihe zu raten, nicht eine Konstruktionsvorschrift zu "verstehen". Wobei Du dafür erstmal verraten müßtest was Du genau meinst, wann ein Computer eine Konstruktionsvorschrift "verstanden" hat.
-
Hey Hedgy
Da du noch keine konkrete Antwort auf dein eigentliches Problem bekommen hast:
Das Muster ist auch relativ leicht zu erkennen. Du musst dich nur fragen, was genau "das Muster" sein soll. Du sagst, du willst dass dein NN lernt dass n_x = n_(x-1) + 2.... d.h. jede Zahl ist die vorhergehende Zahl + 2.
In dem Fall hat dein Netz also 1 Eingabevariable (die vorhergehende Zahl) und eine Ausgabevariable (die aktuelle Zahl).
Eine einfachere Methode fuer dieses Muster waer eine lineare Regression.
-
Nur ist der Ansatz im Allgemeinen Bloedsinn, da man schon zu viel Wissen hineinsteckt um noch von Lernen zu sprechen.
-
Blue-Tiger schrieb:
Eine einfachere Methode fuer dieses Muster waer eine lineare Regression.
[quote=Tippgeber]
17:17:22 19.01.2012
Wie wäre es mit etwas einfachem: einer Regressionsgeraden. Solch ein Verfahren kommt normalerweise auch ganz am Anfang einer Vorlesung über maschinelles Lernen vor. Heißt glaube ich lineare Regression.Übrigens gibts bei Standford (oder MIT?) ein Portal mit vielen Vorlesungsaufzeichnungen. Darunter auch eine über maschinelles Lernen. Kann ich nur empfehlen. Da sind auch alle Übungsblätter und das Skript mit dabei.
Habe ihn mal eben herausgesucht: http://www.academicearth.org/courses/machine-learning
[/quote]Wozu mache ich mir eigentlich überhaupt die Mühe den Leuten zu helfen, wenn es doch keiner liest
-
Jester schrieb:
regenundschnee schrieb:
Ja, approximieren können wird, hat aber wenig mit dem zu tun, dass er auf so etwas wie "n0 = 0 ist n1 = n0+2, n2 = n1+2" kommen will.
Approximieren können heißt, dass man jede stetige Funktion damit beliebig genau (!) approximieren kann. Wenn der Fehler mal auf unter 0.5 gefallen ist, kann man das korrekte Ergebnis dann ja mit Runden bestimmen. Ich sage ja nicht, dass das die beste Möglichkeit ist das Problem zu lösen, ich argumentiere lediglich, dass es voll im Machine-Learning Framework drinliegt. Ich persönlich würde das wohl eher versuchen über einen parametrischen Ansatz zu lösen.
Natürlich können wir bei dieser Zahlenreihe runden, aber was soll das dann für eine Aufgabe für Machine-Learning sein, wenn wir schon fast alles was vorgeben? Wollen wir ein NN trainieren, das nur bei 0,2,4,6,8,10,12 funktioniert? Das wäre wohl total langweilig. 0.5, 2.5, 4.5, 6.5... würde dann mit Runden schon wieder nicht gehen. Außerdem habe ich nie behauptet, dass Zahlenreihen fortsetzen nicht mit Machine-Learning geht. Ich hab nur beweifelt, dass man mit einem NN alle möglichen Konstruktionsvorschrift bauen kann. Ich habe immer gefragt was rauskommen soll, aber keiner hat gesagt was rauskommen soll, sondern nur das es (was auch immer) geht. Seine Anforderung ist viel zu ungenau.
Wenn man etwas halbwegs interessantes und machbares versuchen will, könnte man versuchen ein NN zu trainieren, dass Zahlenreihen einer beschränkten Anzahl von Konstruktionsvorschriften zuordnet. Z.B. Zahlenreihen für n_x = n_(x-1) + a; n_x = n_(x-1) - a; n_x = n_(x-1) * a; trainieren und dann schauen, ob es unbekannte Zahlenreihen in die richtige Gruppe einsortiert.
-
Übung macht den Meister. Was soll das erkennende Programm denn genau üben?
Nette Übung für 2012: 12er Zahlensystem erlernen, um damit im Kopf zu rechnen.
Enthält praktischerweise nette Zahlenfolgen:
2,4,6,8,U,10
3,6,9,10
4,8,10
6,10
aber
5,U,13
9,16,23
usw.
-
TravisG schrieb:
Hier ist ein guter einführender Kurs über machine learning:
Vielen Dank, genau so etwas habe ich gesucht.
Ebenfalls Danke für die übrigen sehr interessanten Links und Beiträge. Ich werde mich weiter informieren und lernen und mich hier immer zwischendurch mal melden, wenn ich was neues habe
Herzliche Grüße,
hedgy
-
TravisG schrieb:
Die Tests fallen für dich aus, da du zu spät dran bist, aber einschreiben können solltest du dich wohl trotzdem.
Wiederholen die das nicht ohnehin im Februar nochmal?
Ansonsten +1 für mlclass; sehr gut gemacht und sehr anfängertauglich. Tolle Einführungsveranstaltung in die Materie.
-
Reihen sind das natuerliche ANwendungsgebieet von rekurrenten KNN. In ihnen ist so etwas wie eine Reihenfolge der Elemente in der Netzstruktur eingebaut. Leider sind sie touring vollstaending und dadurch eigentlich gar nicht mehr trainierbar(Gradientenabstieg im Raum der touring vollständigen programme? Danke, da gibts hübschere Suchräume)