Эллиот 2 симметричная сигмоидная передаточная функция
A = elliot2sig(N)
Передаточные функции преобразуют нейронный слой сети сетевой вход в его чистый выход. Эта функция является изменением исходной сигмоидной функции Elliot. Имеет более крутой уклон, ближе к tansig
, но не так гладко в центре.
A = elliot2sig(N)
принимает S
-by- Q
матрица S
N
-element net входные векторы-столбцы и возвращает S
-by- Q
матрица A
из выхода векторов, где каждый элемент N
вычеркивается из интервала [-inf inf]
в интервал [-1 1]
с «S-образной» функцией.
Преимущество этой передаточной функции по сравнению с другими сигмоидами в том, что она быстро вычисляется на простом вычислительном оборудовании, так как не требует каких-либо экспоненциальных или тригонометрических функций. Его недостаток в том, что он отходит от классической сигмоидной формы около нуля.
Вычислите выход слоя из одного вектора входа сети:
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';