Нелинейная регрессия с использованием настраиваемой нейронной сети в MatLab

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

Мне нужно создать двухслойную нейронную сеть, в которой:

  1. Первый слой - это N нейронов с функцией активации сигмовидной кишки.

  2. Второй слой - это слой с одним нейроном и линейной функцией активации.

Вот как я реализовал сеть:

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

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


person Evgeny Eltishev    schedule 09.04.2015    source источник


Ответы (2)


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

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

person Eskapp    schedule 10.04.2015

Вы не определили передаточную функцию для второго слоя.

net.layers{2}.transferFcn='pureline'

В остальном все нормально.

person New In Programming    schedule 22.06.2015