Эллиот 2 симметричных сигмоидальных передаточных функции
A = elliot2sig(N)
Передаточные функции преобразуют сетевой вход слоя нейронной сети в его сетевой выход. Эта функция является изменением на исходном Эллиоте сигмоидальная функция. Это имеет более крутой наклон, ближе к tansig
, но как не является гладким в центре.
A = elliot2sig(N)
берет S
- Q
матрица S
N
- элемент сетевые входные вектор-столбцы и возвращает S
- Q
матричный A
из выходных векторов, где каждый элемент N
раздавлен от интервала [-inf inf]
к интервалу [-1 1]
с “S-образной” функцией.
Преимущество этой передаточной функции по другому sigmoids состоит в том, что это быстро, чтобы вычислить на простом вычислительном оборудовании, когда это не требует никаких показательных или тригонометрических функций. Его недостаток - то, что это вылетает от классической сигмоидальной формы вокруг нуля.
Вычислите слой выход от одного сетевого входного вектора:
n = [0; 1; -0.5; 0.5]; a = elliot2sig(n);
Постройте передаточную функцию:
n = -5:0.01:5; plot(n, elliot2sig(n)) set(gca,'dataaspectratio',[1 1 1],'xgrid','on','ygrid','on')
Для сети вы уже задали, измените передаточную функцию для слоя i
:
net.layers{i}.transferFcn = 'elliot2sig';