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