Matlab如何在神经网络训练中使用自定义传递函数

时间:2013-08-29 01:47:48

标签: matlab neural-network

我正在使用Matlab2008。有文件template_transfer.m并重命名:fungsiku.m。我在这个文件中写下我的函数并将它放在我的工作目录中。我修改了purelin传递函数。 我训练了我的NN,我得到了输出。但我得到了一些像这样的消息

线程“AWT-EventQue ......”中的异常 在javax。摇摆.. 在java.awt ...

我的转会功能有什么问题? 这是我的传递函数'fungsiku'

function out1 = fungsiku(in1,in2,in3,in4)
fn = mfilename;
boiler_transfer

 function n = name
    n = 'fungsiku';

 function r = output_range(fp)
    r = [-6 +5];

 function r = active_input_range(fp)
    r = [-10 +10];

 function fp = param_defaults
   fp = struct;

 function names = param_names
   names = {};

 function err = param_check(fp)  
    err = '';

 function a = apply_transfer(n,fp)
    a = 1.32*n + 0.73;

 function da_dn = derivative(n,a,fp)
     da_dn = 1.32*ones(size(n));

1 个答案:

答案 0 :(得分:0)

不确定Matlab 2008中的工作方式是否相同,但在较新的版本中,您可以尝试直接在神经网络对象属性中设置图层的传递函数: net = <network creation code>; net.layers{1}.transferFcn = 'fungsiku';这应为第一层设置fungsiku转移功能。