Main Content

elliot2sig

Elliot 2 対称シグモイド伝達関数

構文

A = elliot2sig(N)

説明

伝達関数は、ニューラル ネットワーク層の正味入力を正味出力に変換します。この関数は、元の Elliot シグモイド関数のバリエーションです。これは、tansig に近く、より急な勾配をもちますが、中央がそれほど滑らかではありません。

A = elliot2sig(N) は、N 個の正味入力を要素にもつ列ベクトル S から成る SQ 列の行列を取り、出力ベクトルから成る SQ 列の行列 A を返します。ここで、N の各要素は、"S 型" 関数を使用して区間 [-inf inf] から区間 [-1 1] にスカッシングされます。

この伝達関数は、指数関数や三角関数を必要としないため、シンプルなコンピューティング ハードウェアでの計算が他のシグモイドと比べて高速であるという利点があります。これは、ゼロ付近で従来のシグモイド形状から離れるという欠点があります。

単一の正味入力ベクトルから層の出力を計算します。

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';

バージョン履歴

R2012b で導入