Ich fange an, über Deep-Learning zu lernen und gefunden synaptic.js
.Einfache Deep-Learning-Vorhersage
Ich möchte ein Vorhersagesystem erstellen, wo ich eine Eingabe von Zahlen habe und möchte, dass die AI das Muster versteht.
Meine Trainingsdaten wären ein Array aus 2 Zahlen, und die Ausgabe, die ich validieren möchte, ist [x, y, z], wobei x und z eine Art boolescher Werte für gerade/ungerade sind und y die Summe von beiden ist Zahlen in der Eingabe.
So:
var trainingSet = [{
'input': [20, 34],
'output': [1, 54, 0]
}, {
'input': [22, 33],
'output': [1, 55, 1]
},{
'input': [24, 35],
'output': [1, 59, 1]
},{
'input': [23, 36],
'output': [0, 59, 0]
}];
und ich würde die AI gerne die Antwort wissen, ob ich Eingang [20, 31]
.
Wie würde ich eine solche Logik einrichten?
Ich begann ein jsFiddle basierend auf einem YouTube talk aber nicht verstehen, was der Code tatsächlich tut ...
machten eine Schleife trainig Daten in this jsFiddle, die im Grunde ist zu generieren:
// training data generator:
var trainingSet = [];
for (var i = 0; i < 500; i++) {
var obj = {};
obj.input = [
Math.random() * 10,
Math.random() * 10
].map(Math.round);
obj.output = [
Number(obj.input[0] % 2 == 0),
obj.input[0] + obj.input[1],
Number(obj.input[1] % 2 == 1)
]
\t trainingSet.push(obj);
}
document.body.innerHTML = JSON.stringify(trainingSet);
Dowvotes und "zu breit" close-votes sind willkommen zu erklären, warum. Ich habe versucht, das auf ein bestimmtes Problem in einer bestimmten Sprache in einer bestimmten API/Bibliothek zu beschränken. Ich sehe nicht, wo das "zu breit" sein kann, aber natürlich sind Kommentare willkommen. – Rikard
Vielleicht haben Sie die Sprache und das Problem ausgewählt (beides schlechte Wahl für NNs), aber Sie haben keinen eigenen Versuch hinzugefügt. Das sieht nach schlechter Vorbereitung aus. ** Edit: ** Nach dem Besuch dieses jsFiddle-Links (nicht der beste Weg, um SO), gibt es vielleicht ein einfaches Modell, aber wenn das wirklich ein (lineares) Perzeptron ist, wird es nicht gut funktionieren und Sie werden das lernen innerhalb der ersten Teile eines guten Neural-Network-Kurses (ist die Modellkomplexität für Ihr Problem ausreichend? Ist Ihr Problem linear trennbar? Nein und Nein). Also lerne zuerst die Theorie. – sascha
@sascha Ich sehe keinen Grund, dieses Problem zu reduzieren. Es ist spezifisch, gut beschrieben und der Autor hat eindeutig versucht, es zu lösen. Die "Lerntheorie" zu sagen ist nutzlos und kann auf die meisten Fragen zu SO angewendet werden. An den Autor: Richtig, wenn ich falsch liege, aber sollte das Problem nicht umgekehrt sein? In Ihrer Anweisung möchten Sie die Eingabe basierend auf der Ausgabe vorhersagen, so dass die Ausgabe effektiv Ihr Training sein sollte. –