Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Neural network 0到9使用哪个激活函数_Neural Network - Fatal编程技术网

Neural network 0到9使用哪个激活函数

Neural network 0到9使用哪个激活函数,neural-network,Neural Network,我正在尝试实现一个图像识别神经网络, 我面临一个问题 当我使用sigmoid函数时,我得到了很好的结果,但它们介于0和1之间。我需要得到0到9之间的结果 当我使用线性激活函数时,数字很早就变得很大,导致javascript中出现Infinity和NaN 当我使用SoftPlus时,数字变得非常小,导致NaN。。。我应该使用什么激活函数?您必须在[0,9]范围内对输出进行规格化(假设连续输出),以便在[0,1]范围内获得规格化输出,然后只使用sigmoid激活 如果您想要从0到9(整数)的离散输出

我正在尝试实现一个图像识别神经网络, 我面临一个问题

当我使用sigmoid函数时,我得到了很好的结果,但它们介于0和1之间。我需要得到0到9之间的结果

当我使用线性激活函数时,数字很早就变得很大,导致javascript中出现
Infinity
NaN


当我使用SoftPlus时,数字变得非常小,导致
NaN
。。。我应该使用什么激活函数?

您必须在[0,9]范围内对输出进行规格化(假设连续输出),以便在[0,1]范围内获得规格化输出,然后只使用sigmoid激活


如果您想要从0到9(整数)的离散输出,那么这是一个分类问题,您应该使用softmax激活。

我知道您使用的是Javascript。我已经建立了一个javascript神经网络库,它是高度可定制的。过来看。它列出了不同的内置激活功能,但是它们很容易修改

所以逻辑函数是这样写的:

  LOGISTIC : function(x, derivate) {
    if (!derivate)
      return 1 / (1 + Math.exp(-x));
    var fx = Activation.LOGISTIC(x);
    return fx * (1 - fx);
  },
因此,如果您希望输出介于0和9之间,您可以创建一个定制的物流激活功能:

  CUSTOM_LOGISTIC : function(x, derivate) {
    if (!derivate)
      return 1 / (1 + Math.exp(-x)) * 9;
    var fx = Activation.CUSTOM_LOGISTIC(x);
    return fx * (1 - fx);
  },

并将此激活功能分配给您的输出神经元/节点。

顺便说一句,输入层有252个神经元,隐藏层有10个和10个,输出层有1个