2015-10-18 4 views
0

Я пытаюсь использовать пакет darch для создания dbn нескольких уложенных RBM. Я новичок в глубокой учебной сцене, поэтому мой вопрос: что эквивалентно функции прогнозирования в пакетах glmnet/randomForest/knn ... etc?Использование darch для прогнозирования нового класса образцов

После обучения dbn, как я могу предсказать внешний образец? например (это пример, приведенный в пакете)

## Not run: 
# Generating the datasets 
inputs <- matrix(c(0,0,0,1,1,0,1,1),ncol=2,byrow=TRUE) 
outputs <- matrix(c(0,1,1,0),nrow=4) 
# Generating the darch 
darch <- newDArch(c(2,4,1),batchSize=2) 
# Pre-Train the darch 
darch <- preTrainDArch(darch,inputs,maxEpoch=1000) 
# Prepare the layers for backpropagation training for 
# backpropagation training the layer functions must be 
# set to the unit functions which calculates the also 
# derivatives of the function result. 
layers <- getLayers(darch) 
for(i in length(layers):1){ 
layers[[i]][[2]] <- sigmoidUnitDerivative 
} 
setLayers(darch) <- layers 
rm(layers) 
# Setting and running the Fine-Tune function 
setFineTuneFunction(darch) <- backpropagation 
darch <- fineTuneDArch(darch,inputs,outputs,maxEpoch=1000) 
# Running the darch 
darch <- darch <- getExecuteFunction(darch)(darch,inputs) 
outputs <- getExecOutputs(darch) 
cat(outputs[[length(outputs)]]) 

Пусть теперь мы имеем

inputsTest <- matrix(c(0,1,0,0,0,0,1,1),ncol=2,byrow=TRUE) 

Как получить выход?

также, может кто-нибудь объяснить, что делает эта строка:

darch <- darch <- getExecuteFunction(darch)(darch,inputs) 

ответ

0

Darch имеет кучу добытчиками и сеттеров к полям вы могли бы получить доступ к вашим собственным. Выполнить функцию является одним из них.

Для меня, самый простой способ это просто сделать Darch <- [email protected](darch, inputs)

Выходы всех слоев будет в Darch @ executeOutput

Смежные вопросы