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