Discussion of article "Deep Neural Networks (Part IV). Creating, training and testing a model of neural network" - page 3
You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
Hello,
another question.
Why is training split into 2 stages:
1 pretrain and then train only the top DNN layer
and
2 fine learning the whole network?
Wouldn't we get the same result without the 2nd stage if we extend the 1st stage to
pretrain + fine learning the whole network at the same time
(i.e. set rbm.lastLayer = 0, bp.learnRate = 1, darch.trainLayers = T)
Update. I set up an experiment:(red shows changes in the 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)
got:
You have after the second step.
I.e. the error on the validation section is the same, i.e. 30%
Before that I tried with
yValid = DTcut$train$raw$Class %>% as.data.frame()
as in the code of step 1, and got:
I thought that you can't get 30% error with one step, but after validation with the validation set from step 2, everything became as good as yours.
It is possible that just DTcut$val set is better than DTcut$train set, that 's why it showed the same good results in my one step as in your 2 steps.
Another question appeared )
In the article from 2014 you used different ports of connection to R via svSocket to run the Expert Advisor on different windows.
Is it necessary to do it now too?
This is not used in the latest articles. I ran the Expert Advisor on different windows (on the same symbol, but with different EA parameters), it calls different RTerm threads, judging by the results - it seems to address each to its own. But there is a doubt - what if it is necessary to separate by ports?
Another question appeared )
In the article from 2014 you used different ports of connection to R via svSocket to run the Expert Advisor on different windows.
Is it necessary to do it now too?
This is not used in the latest articles. I ran the Expert Advisor on different windows (on the same symbol, but with different EA parameters), it calls different RTerm threads, judging by the results - it seems to address each to its own. But there is a doubt - what if it is necessary to separate by ports?
Good afternoon.
I'm on the road, so I'll make it short.
In the first articles I used the client-server variant. It is an interesting option, but now there are new solutions. So there is no need to separate anything. Each Rterm process works in its own sandbox.
Good luck
Good afternoon.
I'm on the road, so I'll keep this short.
In the first articles I used the client-server variant. It is an interesting option, but now there are new solutions. So there is no need to separate anything. Each Rterm process works in its own sandbox.
Good luck
Dear good day, interesting article is your new 4, I have a question, you can implement an advisor according to this article, which is described, of course payment will be, technical task all will give, I'm looking for neuronka training under the goals, if yes, write to LS there we will talk. If you are not engaged in this kind of work, then maybe you can tell me who to turn to for the implementation of an Expert Advisor under MT5 need to
Thanks Vladimir! the series is great, the tools introduced is really helpful. I have been experimenting on some indices, the result is more or less, overall slightly better. I have tried the "bin" input for darch, it's similar to "woe", while the "dum" is bad. maybe too many input is not a good thing.
"Tensorflow" package sounds promising. can't wait for the article!
Спасибо, Владимир! серия отличная, инструменты, представленные, действительно полезны. Я экспериментировал по некоторым показателям, результат более или менее, в целом немного лучше. Я попробовал вход «bin» для darch, он похож на «горький», в то время как «dum» плохой. возможно, слишком много ввода не очень хорошо.
Пакет «Tensorflow» звучит многообещающе. не могу дождаться статьи!
Oh. The last three parts of the article are almost ready. Maybe before the New Year I'll have time to pass on for verification.
Good luck
非常感谢你的系列文章,我一直在跟踪学习,可是因为我知识结构的局限,理解这些文章不是件容易的事情。即使这样,还是希望能不断看到您的新文章,期待您发表新文章!谢谢!
Благодарим вас за использование моего пакета OneR. Еще раз увлекательно видеть, что даже сложный DNN не намного лучше, чем модель OneR!
This is only true for DNN with default parameters. With optimized hyperparameters, DNN shows much better results. See Part V.
Good luck
This is only true for DNN with default parameters. With optimized hyperparameters, DNN shows much better results. See Part V.
Good luck