Обсуждение статьи "Глубокие нейросети (Часть IV). Создание, обучение и тестирование модели нейросети" - страница 3
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Здравствуйте,
еще вопрос.
Зачем обучение разбивается на 2 этапа:
1 pretrain и последующее обучение только верхнего слоя DNN
и
2 тонкое обучение всей сети?
Не получим ли мы тот же результат без 2-го этапа, если расширим 1-й этап до
pretrain + тонкое обучение всей сети одновременно
(т.е. установим rbm.lastLayer = 0, bp.learnRate = 1, darch.trainLayers = T)
Обновление. Поставил эксперимент: (красным показаны изменения в коде)
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)
получил:
У вас после второго этапа
Т.е. ошибка на валидационном участке такая же, т.е. 30%
Перед этим пробовал с
yValid = DTcut$train$raw$Class %>% as.data.frame()
как в коде этапа 1, и получил:
Подумал, что одним этапом ошибку в 30% не получить, но после валидации набором из этапа 2 все стало так же хорошо, как у вас.
Возможно, что просто DTcut$val набор лучше DTcut$train набора, потому он и в моем одном этапе показал такие же хорошие результаты, что и в ваших 2-х этапах.
Еще вопрос появился )
В статье от 2014 года вы использовали для запуска эксперта на разных окнах разные порты подключения к R, через svSocket.
Сейчас это нужно тоже делать?
С последних статьях это не используется. Запускал эксперта на разных окнах (на одном символе, но с разными параметрами эксперта), он вызывает разные потоки RTerm, судя по результатам - вроде бы обращается каждый к своему. Но есть сомнение - вдруг надо все таки разделить по портам?
Еще вопрос появился )
В статье от 2014 года вы использовали для запуска эксперта на разных окнах разные порты подключения к R, через svSocket.
Сейчас это нужно тоже делать?
С последних статьях это не используется. Запускал эксперта на разных окнах (на одном символе, но с разными параметрами эксперта), он вызывает разные потоки RTerm, судя по результатам - вроде бы обращается каждый к своему. Но есть сомнение - вдруг надо все таки разделить по портам?
Добрый день.
Я в дороге, поэтому коротко.
В первых статьях я использовал вариант клиент-сервер. Интересный вариант, но сейчас появились новые решения. Поэтому ничего разделять не нужно. Каждый процесс Rterm работает в своей песочнице.
Удачи
Добрый день.
Я в дороге, поэтому коротко.
В первых статьях я использовал вариант клиент-сервер. Интересный вариант, но сейчас появились новые решения. Поэтому ничего разделять не нужно. Каждый процесс Rterm работает в своей песочнице.
Удачи
Уважаемый добрый день, интересна статья новая ваша 4, у меня есть вопрос, реализовать советник можете по этой статье которая описана, естественно оплата будет, тех задание все дам, щас ищу именно нейронку обучения под цели, если да отпишите в ЛС там поговорим. Если Вы таким не занимаетесь то может подскажите к кому обратится для реализации советника под МТ5 нужна
非常感谢你的系列文章,我一直在跟踪学习,可是因为我知识结构的局限,理解这些文章不是件容易的事情。即使这样,还是希望能不断看到您的新文章,期待您发表新文章!谢谢!
А результат торговый у Вас получился?
Все вернулись к машкам. А это уже другая тема.