2015-04-09 4 views
0

Я очень новичок в MatLab. У меня возникла задача моделирования нелинейной регрессии с использованием нейронной сети в MatLab.Нелинейная регрессия с использованием пользовательской нейронной сети в MatLab

Мне нужно создать двухслойную нейронную сеть с: слоем 1 N нейронов с функцией активации сигмоида. Второй слой - слой с одним нейроном с линейной активационной функцией.

Я делаю это следующим образом:

net = network(N, 2); 
net.layers{1}.transferFcn = 'logsig'; 
net.layers{1}.size = N 
net.layers{2}.size = 1; 

Является ли это правильно? И как назначить функцию линейной активации второму слою?

ответ

0

Быстрое считывание справки Matlab по функции «nntransfer» дает вам список всех возможных функций передачи, которые вы можете использовать. В вашем случае я думаю, вы должны либо попробовать «poslin» (положительный линейный), либо «purelin» (чистый линейный).

Когда у вас есть такие вопросы, наилучшим способом является «спросить» Matlab о возможностях, которые у вас есть. В этом случае я просто набрал «net.layers {2}» в окне консоли Matlab. Это отображает список параметров 2-го уровня. Затем вы просто нажимаете ссылку «TransferFcn» и справку Matlab с возможными параметрами для этого значения параметра автоматически открывается. Это работает для любого параметра вашей нейронной сети;)

0

Вы не определили передаточную функцию для второго уровня. Остальное в порядке. net.layers {2} .transferFcn = 'pureline'

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