Diskussion zum Artikel "Tiefe neuronale Netzwerke (Teil IV). Erstellen, trainieren und testen eines Modells des neuronalen Netzes" - Seite 3
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Hallo,
eine weitere Frage.
Warum ist das Training in 2 Stufen aufgeteilt:
1 Pretrain und dann nur die oberste DNN-Schicht
und
2 Feinlernen des gesamten Netzes?
Würden wir nicht das gleiche Ergebnis ohne die 2. Stufe erhalten, wenn wir die 1. Stufe auf
pretrain + fine learning des gesamten Netzwerks zur gleichen Zeit
erweitern (d.h. rbm.lastLayer = 0, bp.learnRate = 1, darch.trainLayers = T setzen)
Aktualisieren. Ich habe ein Experiment eingerichtet:(rot zeigt Änderungen im Code)
evalq({
require(darch)
require(dplyr)
require(magrittr)
Ln <- c(0, 16, 8, 0)
nEp_0 <- 25
#------------------
par_0 <- list(
layers = Ln,
seed = 54321,
logLevel = 5,
# params RBM========================
rbm.consecutive = F, # each RBM is trained one epoch at a time
rbm.numEpochs = nEp_0,
rbm.batchSize = 50,
rbm.allData = TRUE,
rbm.lastLayer = 0,
rbm.learnRate = 0.3,
rbm.unitFunction = "tanhUnitRbm",
# params NN ========================
darch.batchSize = 50,
darch.numEpochs = nEp_0,
darch.trainLayers = T,
darch.unitFunction = c("tanhUnit","maxoutUnit", "softmaxUnit"),
bp.learnRate = 1,
bp.learnRateScale = 1,
darch.weightDecay = 0.0002,
darch.dither = F,
darch.dropout = c(0.1,0.2,0.1),
darch.fineTuneFunction = backpropagation, #rpropagation
normalizeWeights = T,
normalizeWeightsBound = 1,
darch.weightUpdateFunction = c("weightDecayWeightUpdate",
"maxoutWeightUpdate",
"weightDecayWeightUpdate"),
darch.dropout.oneMaskPerEpoch = T,
darch.maxout.poolSize = 2,
darch.maxout.unitFunction = "linearUnit")
#---------------------------
DNN_default <- darch(darch = NULL,
paramsList = par_0,
x = DTcut$pretrain$woe %>% as.data.frame(),
y = DTcut$pretrain$raw$Class %>% as.data.frame(),
xValid = DTcut$val$woe %>% as.data.frame(),
yValid = DTcut$val$raw$Class %>% as.data.frame()
)
}, env)
erhalten:
Sie haben nach dem zweiten Schritt.
D.h. der Fehler auf dem Validierungsabschnitt ist derselbe, nämlich 30%
Vorher habe ich versucht mit
yValid = DTcut$train$raw$Class %>% as.data.frame()
wie im Code von Schritt 1, und bekam:
Ich dachte, dass man mit einem Schritt keine 30% Fehler bekommen kann, aber nach der Validierung mit dem Validierungsset aus Schritt 2 wurde alles so gut wie bei Ihnen.
Es ist möglich, dass nur das DTcut$val Set besser ist als das DTcut$train Set, deshalb zeigte es die gleichen guten Ergebnisse in meinem einen Schritt wie in Ihren 2 Schritten.
Eine weitere Frage ist aufgetaucht )
In dem Artikel von 2014 haben Sie verschiedene Ports für die Verbindung zu R über svSocket verwendet, um den Expert Advisor auf verschiedenen Fenstern auszuführen.
Ist es notwendig, dies auch jetzt zu tun?
In den aktuellen Artikeln wird dies nicht verwendet. Ich habe den Expert Advisor auf verschiedenen Fenstern laufen lassen (auf demselben Symbol, aber mit verschiedenen EA-Parametern), er ruft verschiedene RTerm-Threads auf, nach den Ergebnissen zu urteilen - es scheint, dass er jeden für sich selbst anspricht. Aber es gibt einen Zweifel - was, wenn es notwendig ist, um durch Ports zu trennen?
Eine weitere Frage ist aufgetaucht )
In dem Artikel von 2014 haben Sie verschiedene Ports für die Verbindung zu R über svSocket verwendet, um den Expert Advisor auf verschiedenen Fenstern auszuführen.
Ist es notwendig, dies auch jetzt zu tun?
In den aktuellen Artikeln wird dies nicht verwendet. Ich habe den Expert Advisor auf verschiedenen Fenstern laufen lassen (auf demselben Symbol, aber mit verschiedenen EA-Parametern), er ruft verschiedene RTerm-Threads auf, nach den Ergebnissen zu urteilen - es scheint, dass er jeden für sich selbst anspricht. Aber es gibt einen Zweifel - was ist, wenn es notwendig ist, nach Ports zu trennen?
Schönen guten Tag.
Ich bin unterwegs, also werde ich mich kurz fassen.
In den ersten Artikeln habe ich die Client-Server-Variante verwendet. Das ist eine interessante Option, aber jetzt gibt es neue Lösungen. Es besteht also keine Notwendigkeit, irgendetwas zu trennen. Jeder Rterm-Prozess arbeitet in seiner eigenen Sandbox.
Viel Erfolg!
Guten Tag.
Ich bin gerade unterwegs, also werde ich mich kurz fassen.
In den ersten Artikeln habe ich die Client-Server-Variante verwendet. Das ist eine interessante Option, aber jetzt gibt es neue Lösungen. Es besteht also keine Notwendigkeit, irgendetwas zu trennen. Jeder Rterm-Prozess arbeitet in seiner eigenen Sandbox.
Viel Glück
Lieber guten Tag, interessanter Artikel ist Ihre neue 4, ich habe eine Frage, können Sie einen Berater nach diesem Artikel, der beschrieben wird, natürlich die Zahlung wird, technische Aufgabe alle geben, ich bin für neuronka Ausbildung unter den Zielen suchen, wenn ja, schreiben Sie an LS dort werden wir reden. Wenn Sie nicht in dieser Art von Arbeit beschäftigt sind, dann vielleicht können Sie mir sagen, wer für die Umsetzung eines Expert Advisor unter MT5 wenden müssen
Danke Vladimir! Die Serie ist großartig, die vorgestellten Tools sind wirklich hilfreich. Ich habe an einigen Indizes experimentiert, das Ergebnis ist mehr oder weniger, insgesamt etwas besser. Ich habe versucht, die "bin"-Eingabe für darch, es ist ähnlich wie "woe", während die "dum" ist schlecht. vielleicht zu viele Eingabe ist nicht eine gute Sache.
"Tensorflow" Paket klingt vielversprechend. kann nicht für den Artikel warten!
Спасибо, Владимир! серия отличная, инструменты, представленные, действительно полезны. Я экспериментировал по некоторым показателям, результат более или менее, в целом немного лучше. Я попробовал вход "bin" для darch, он похож на "горький", в то время как "dum" плохой. возможно, слишком много ввода не очень хорошо.
Пакет "Tensorflow" звучит многообещающе. не могу дождаться статьи!
Aha. Die letzten drei Teile des Artikels sind fast fertig. Vielleicht habe ich vor dem neuen Jahr Zeit, sie zur Überprüfung weiterzugeben.
Viel Glück!
非常感谢你的系列文章,我一直在跟踪学习,可是因为我知识结构的局限,理解这些文章不是件容易的事情。即使这样,还是希望能不断看到您的新文章,期待您发表新文章!谢谢!
Благодарим вас за использование моего пакета OneR. Еще раз увлекательно видеть, что даже сложный DNN не намного лучше, чем модель OneR!
Dies gilt nur für DNN mit Standardparametern. Mit optimierten Hyperparametern zeigt DNN viel bessere Ergebnisse. Siehe Teil V.
Viel Erfolg
Dies gilt nur für DNN mit Standardparametern. Mit optimierten Hyperparametern zeigt DNN wesentlich bessere Ergebnisse. Siehe Teil V.
Viel Glück