问题标签 [sigmoid]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
61 浏览

java - 我的神经网络有更好的激活函数吗?

我正在编写一个程序来识别手写字母。我有 500px*500px 图像作为 BufferedImages 导入,我将每个像素的 getRBG() 值作为神经网络的输入,因此有 250,000 个输入。getRGB() 的值范围从 -16777216(表示写入)到 -1(表示白色背景)。从输入到第一个隐藏节点的权重从 0 到 1 随机化。我一直使用 sigmoid 函数1/(1+e^(-x))作为激活函数来获取 0 到 1 之间的所有值。不过,我的问题是,因为有许多输入,当我将它们与权重相乘时,我得到一个巨大的数字(例如,1.3E8-1.3E8)。然后,当我将该数字放入 sigmoid 函数时,结果总是全 1 或全 0,因此它基本上没有将有价值的信息传递给第二个隐藏节点。此外,由于图像主要是白色,因此大多数输入为 -1。

我调整了代码,使其在点积之后打印值,然后在它们通过 sigmoid 函数后打印它。

为了编辑 getRGB() 值,我使用了该函数,newRGBValue = (getRGB() + 2) * (-1)因此所有值的范围从 -1 到 16777214。但是,当我将所有这些值传递给 sigmoid 函数时,它只返回 1,因为具有这些值的新点积是巨大的正数(如下面的输出所示)。

我应该为这个程序使用更好的激活功能吗?或者有没有办法可以操纵输入以使 sigmoid 函数适合?很抱歉这篇冗长的帖子,并提前感谢您的任何见解。

0 投票
1 回答
4627 浏览

python - 在python中实现sigmoid函数

我正在尝试为 XOR 函数实现一个简单的神经网络。我使用的激活函数是 Sigmoid 函数。sigmoid函数的代码是:

我的问题是这个函数总是返回一个介于 0.7 和 0.8 之间的值。这个问题在输出过程中显示出主要影响。

任何建议都会被采纳。

0 投票
1 回答
1188 浏览

python - x 的 Sigmoid 为 1

我刚刚读了“制作你自己的神经网络”一书。现在我正在尝试在 Python 中创建 NeuralNetwork 类。我使用 sigmoid 激活函数。我编写了基本代码并尝试对其进行测试。但是我的实现根本无法正常工作。经过长时间的调试和与书中代码的比较后,我发现非常大的 sigmoid 是 1,因为 Python 将它四舍五入。我numpy.random.rand()用来生成权重,这个函数只返回从 0 到 1 的值。在对权重和输入的所有乘积求和后,我得到非常大的数字。numpy.random.normal()我使用从范围生成随机数的函数解决了这个问题,例如 (-1, 1)。但我有一些问题。

  • sigmoid 是好的激活函数吗?
  • 如果 node 的输出仍然很大并且 Python 将结果四舍五入为 1,这对于 sigmoid 是不可能的怎么办?
  • 如何防止 Python 舍入非常接近整数的浮点数
  • 对我作为神经网络初学者的任何建议(书籍、技术等)。
0 投票
0 回答
38 浏览

machine-learning - 在 Caffe 中,TanHLayer Backward 是否计算 sigmoid 输入的误差梯度?

我是 Caffe 的新手。

TanHLayer 的 Doxygen 文档说,

Backward_cpu() 计算 sigmoid 输入的误差梯度。

http://caffe.berkeleyvision.org/doxygen/classcaffe_1_1TanHLayer.html

为什么它需要 sigmoid 输入,而不是 TanH?这让我很困惑。请给我一些提示。

我在 Caffe 用户组上询问过,但没有得到答案。 https://groups.google.com/forum/#!topic/caffe-users/oxRDDOy_xN8

谢谢。

0 投票
0 回答
62 浏览

octave - 为什么某些东西可以作为函数的一部分而不是直接命令?

我的 sigmoid 实现在一个函数中单独工作,但是直接在命令窗口中插入代码会出错。

我的 sigmoid 函数:

在我的命令提示符下,我调用了:

这给出了正确的结果。

但是如果我直接进入程序,就会显示错误:

为什么会这样?

0 投票
1 回答
56 浏览

neural-network - 神经网络误差推导 Sigmoid

在我关于 AI 的书中写道,误差函数是 (target-output)^2

d=增量

W=重量

O=输出

T=目标

dE/Wa = dE/dOk * dOk/dWa

dE/dWa = -2*(Tk-Ok)*dOk/dWa。//这个减号是从哪里来的?

所以推导必须是 2*(target-Output)。我不明白减号是从哪里来的。

0 投票
2 回答
75 浏览

python-3.x - 即使在实施深度神经网络后精度也很差

我的神经网络试图预测一个人是否患有糖尿病,这是我的数据集 kaggle.com/uciml/pima-indians-diabetes-database。我使用的是 3 层神经网络,我的准确率为 65%。
任何提高准确性的帮助将不胜感激。

这是我的代码---------------------------------- ------------

0 投票
0 回答
404 浏览

tensorflow - 张量流 sigmoid 函数不起作用

我是张量流和神经网络的新手。

在下面的代码中,一切正常。但是,一旦我通过取消注释来实现 tf.sigmoid 函数 #X21 = tf.sigmoid(X21); 我得到了奇怪的结果,我的所有预测都等于 1。为什么会发生这种情况?

请注意,我正在预测以千为单位的房价。

0 投票
6 回答
7770 浏览

python - 为python中的列表定义数值稳定的sigmoid函数的最佳方法

对于标量变量x,我们知道如何在 python 中写出数值稳定的 sigmoid 函数:

对于一个标量列表,z = [x_1, x_2, x_3, ...]假设我们事先不知道每个标量的符号x_i,我们可以推广上述定义并尝试:

这似乎有效。但是,我觉得这可能不是最 Pythonic 的方式。我应该如何改进“清洁度”的定义?说,有没有办法使用理解来缩短函数定义?

如果有人问过这个问题,我很抱歉,因为我在 SO 上找不到类似的问题。非常感谢您的时间和帮助!

0 投票
2 回答
3608 浏览

python - 如何为 Keras 中的每个输出应用 sigmoid 函数?

这是我的代码的一部分。

使用此代码,它将一次将 softmax 应用于所有输出。所以输出表示所有概率。但是,我正在研究非排他性分类火,这意味着我希望输出具有独立的概率。对不起,我的英语不好......但我想做的是对每个输出应用 sigmoid 函数,以便它们具有独立的概率。