📄 sigmoidc.java
字号:
//////////////////////////////////////////////////////////////////////////////////// // // Copyright (C) 1996 L. Patocchi & W.Gander//// This program is free software; you can redistribute it and/or modify it// under the terms of the GNU General Public License as published by the Free// Software Foundation; either version 2 of the License, or (at your option)// any later version.//// This program is distributed in the hope that it will be useful, but WITHOUT// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for// more details.//// You should have received a copy of the GNU General Public License along with// this program; if not, write to the Free Software Foundation, Inc., 675 Mass// Ave, Cambridge, MA 02139, USA.//// Contacts:// // Project Supervisor// W.Hett hew@info.isbiel.ch// // Authors// W.Gander gandw@info.isbiel.ch// L.Patocchi patol@info.isbiel.ch//// Documentation can be found at://// http://www.isbiel.ch/Projects/janet/index.html////////////////////////////////////////////////////////////////////////////////////////// File : Sigmoidc.java//////////////////////////////////////////////////////////////////////// Sigmoidc class//////////////////////////////////////////////////////////////////////// Author: Patocchi L.// Date: 18.09.1996// Project: jaNet//// this class perform a transfer function with output domain -1...1// with a slope parameter 'c'// ////////////////////////////////////////////////////////////////////// date who what// 18.09.1996 Patocchi L. creation/* Sigmoid(x) ^ |+1 ,------- | / | / | / |/ ------------/-0----------> x /| / | / | / | -------' |-1*/package jaNet.backprop;class Sigmoidc implements activationFn{ public double c = 0.001; public double activation(double x){ double em = Math.exp(-1.0*x*c); double ep = Math.exp(x); return (ep-em)/(ep+em); //return 2.0/(1.0 + Math.exp((-1.0)*x)) - 1.0; } public double activation1stD(double x){ double e = Math.exp(x*(1+c)); return 2.0* e *(1+c) /((1+e)*(1+e));// double expX = Math.exp(x);// return 2.0 * expX/( (1+expX) * (1+expX) ); } }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -