【问题标题】:Matlab How to use a custom transfer function in neural net trainingMatlab如何在神经网络训练中使用自定义传递函数
【发布时间】:2013-08-29 15:14:17
【问题描述】:

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

线程“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));

【问题讨论】:

    标签: matlab neural-network


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2010-11-20
      • 1970-01-01
      • 2015-08-13
      • 2011-07-25
      • 2012-10-15
      • 2013-07-11
      • 2014-04-20
      • 2020-12-06
      • 2015-10-28
      相关资源
      最近更新 更多