[R] I cannot register but I have a burning Question about mcmcPack

lloyd no_last_name lloyd.relaxed at gmail.com
Fri Aug 22 20:00:51 CEST 2014


I want to construct a simple MCMC Neural Net with normal errors


 library(nnet)


 nn.ts <- nnet( y=response, x = data.frame(result$bestColSpace), size = 2,
skip = T, softmax=F, entropy=F, linout = T, maxit = 150, Hess = F, trace =
F, Wts=result$coefficients[[1]] )


 L1Metric(nn.ts$residuals)

[1] 0.6978838


 # I created a maximum likelihood version of

# my regular nn function


 *mcmcNN = function( proposed.nwts, # proposed wts in Neural Net *

*y=result$response, # response vector *

*X=result$bestColSpace ) # matrix same rows as y*

*{ *

result$coefficients = proposed.nwts

uHat = pureNN( result )$fit;

# expected values of the NN given X, y and proposed parms

singlelikelihoods = dnorm(y, mean = uHat, sd = sd(x=(y-uHat)), log = T)

LL = sum(singlelikelihoods)


 return( LL );


 *} # end of function mcmcNN*

# function for metropolis-hastings



 and I ran the Metropolis-hastings in


 library(mcmcPack);


 *post.samp <- MCMCmetrop1R( mcmcNN, theta.init = nn.ts$wts,*

 X=result$bestColSpace, y=response,

 V=NULL, # or =covV

 thin=4, mcmc=12000, burnin=12000,

 tune=rep( 0.55, length(nn.ts$wts) ),

logfun=TRUE, force.samp=T )


 # with each row of parms ( neural net weights ) in the posterior sample

# I computed the fitted.values with my neural net function

# next, I located the best fit of all of these 12,000 models

# I even started init.theta with the nnet weights


 > minErr # from all proposed paramaters ( NN wts ) with fixed X and y

[1] 0.8727279


 This is significantly worse than nnet;


 The neural net, being nonlinear regression, is sensitive to initial
values. Therefore, it will find a local minimum. I expected mcmc to return
the global minimum ( average absolute deviation ).




 Thanx,

Lloyd L


 Is there some way I can help R-users?

	[[alternative HTML version deleted]]



More information about the R-help mailing list