Обсуждение статьи "Глубокие нейросети (Часть IV). Создание, обучение и тестирование модели нейросети" - страница 3
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 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 нужна
Спасибо Владимир! Серия отличная, представленные инструменты очень полезны. Я экспериментировал с некоторыми индексами, результат более-менее, в целом немного лучше. Я попробовал вход "bin" для darch, он похож на "woe", в то время как "dum" - плохо. возможно, слишком много входов - не очень хорошо.
Пакет "Tensorflow" звучит многообещающе. Жду не дождусь статьи!
Спасибо, Владимир! Серия отличная, инструменты, представленные, действительно полезны. Я экспериментировал по некоторым показателям, результат более или менее, в целом немного лучше. Я попробовал вход "бин" для дарча, он похож на "горький", в то время как "дум" плохой. Возможно, слишком много ввода не очень хорошо.
Пакет "Tensorflow" звучит многообещающе. Не могу дождаться статьи!
О. Последние три части статьи почти готовы. Может быть, до Нового года успею передать на проверку.
Удачи
非常感谢你的系列文章,我一直在跟踪学习,可是因为我知识结构的局限,理解这些文章不是件容易的事情。即使这样,还是希望能不断看到您的新文章,期待您发表新文章!谢谢!
Благодарим вас за использование моего пакета OneR. Еще раз увлекательно видеть, что даже сложный DNN не намного лучше, чем модель OneR!
Это справедливо только для DNN с параметрами по умолчанию. С оптимизированными гиперпараметрами DNN показывает гораздо лучшие результаты. См. часть V.
Удачи
Это справедливо только для DNN с параметрами по умолчанию. С оптимизированными гиперпараметрами DNN показывает гораздо лучшие результаты. См. часть V.
Удачи