BAYESIAN OPTIMIZATION OF A NEURAL NETWORK

1 vue (au cours des 30 derniers jours)
GEORGIOS BEKAS
GEORGIOS BEKAS le 7 Août 2018
Commenté : Greg Heath le 7 Août 2018
I wrote the following code to optimize the architecture of a neural network via Bayesian optimization. What's wrong with it?
clc
clear
data = xlsread('Geor.xls')
t = data(:,5)'
x = data(:,1:4)'
trainFcn = 'trainbr';
hiddenLayerSize = optimizableVariable('hiddenLayerSize',[1,4]);
net.divideParam.trainRatio = optimizableVariable('net.divideParam.trainRatio',[0.4,0.75]);
vars =[hiddenLayerSize, net.divideParam.trainRatio]
net = fitnet(hiddenLayerSize,trainFcn);
net.divideParam.valRatio = 0.5*(100-net.divideParam.trainRatio*100)/100;
net.divideParam.testRatio = 0.5*(100-net.divideParam.trainRatio*100)/100;
[net,tr] = train(net,x,t);
y = net(x);
e = gsubtract(t,y);
mae = sum(abs(e))/40
performance = perform(net,t,y);
fun = @(x)mae(x, vars)
results = bayesopt(fun,vars)
  3 commentaires
Greg Heath
Greg Heath le 7 Août 2018
If you want to use data to explain your problem, use a MATLAB set:
help nndatasets
and
doc nndatasets
Greg
Greg Heath
Greg Heath le 7 Août 2018
close all, clear all, clc
x = [-1:.05:1]; % FROM HELP TRAINBR
t = sin(2*pi*x)+0.1*randn(size(x));
trainFcn = 'trainbr';
hiddenLayerSize = optimizableVariable ('hiddenLayerSize',[1,4]);
net.divideParam.trainRatio = optimizableVariable('net.divideParam.trainRatio',[0.4,0.75]);
vars =[hiddenLayerSize,net.divideParam.trainRatio]
net = fitnet(hiddenLayerSize,trainFcn);
Error using fitnet (line 69)
Parameters.hiddenSizes is not numeric.

Connectez-vous pour commenter.

Réponses (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by