问题标签 [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.
neural-network - 分类器神经网络的最后一层是否同时使用 sigmoid 和 softmax?
分类器网络的隐藏层使用 sigmoid 或其他激活函数来引入非线性和规范化数据,但最后一层是否使用 sigmoid 和 softmax 结合?
我觉得这并不重要,网络会以任何一种方式进行训练——但是否应该单独使用 softmax 层?还是应该先应用 sigmoid 函数?
python - 如何用 ReLU 代替 Sigmoid 函数
此代码应该接收一组三个数字 [(value_1),(value_2),(value_1-value_2)] 并在第一个和第二个值之间的差为负或“1”时返回“0”如果差异是积极的。到目前为止,它实际上工作得很好。
这是输出:
ERROR: 0.497132186092
ERROR: 0.105081486632
ERROR: 0.102115299177
ERROR: 0.100813655802
ERROR: 0.100042420179
ERROR: 0.0995185781466
Test Output
[0.0074706006801269686, 0.66687458928464094, 0.66687458928463983, 0.66686236694464551, 0.98341439176739631]
Output
[0.66687459245609326, 0.00083944690766060215, 0.00083946471285455484, 0.0074706634783305243, 0.0074706634765733968, 0.007480987498372226, 0.99646513183073093, 0.99647100131874755, 0.99646513180692531, 0.00083944572383107523, 0.99646513180692531, 0.98324165810211861, 0.66687439729829612, 0.66687459321626519]
错误:0.497132186092
如您所见,给定 alpha = 0.0251(对于梯度下降 - 通过反复试验发现)的误差仅为 9.95 % 左右。
自从我编写了这个程序以来,我了解到leaky RelU 是 Sigmoid 函数的更好替代方案,因为它比 Sigmoid 优化和学习更快。我想在这个程序中使用 numpy 实现泄漏的 RelU 函数,但我不确定从哪里开始,尤其是它的导数是什么。
我怎样才能在这个神经网络中实现leaky RelU?
sas - SAS Enterprise Miner 神经网络中的 Sigmoid 函数
在 SAS Enterprise Miner 中对神经网络进行建模时,是否可以看到内部使用的 Sigmoid 函数(以图形方式)?
请帮忙!谢谢你。
python-2.7 - 如何编辑代码以获得预期范围内的预测值?
我尝试了一个在互联网上找到的简单的神经网络教程。但我希望稍微改变一下。原始代码预测 0-1 之间的值。但我想将其更改为 0-10。我该怎么做?
据我了解,这些是他应该考虑改变的线路。
请注意,权重不是在 nonlin 函数之后声明的。
原始源代码在以下链接中,包含完整代码。
链接到原始代码
machine-learning - sigmoid 导数的实际用途是什么?
老实说,我正在学习神经网络,但我在激活部分有一个问题。我知道这个问题很笼统,互联网上有很多解释。但是我还是不太明白。
为什么我们需要推导 sigmoid 函数?为什么我们不直接使用它?
如果你能给出清楚的解释就好了。谢谢你。我在 youtube 上看过很多视频,我已经阅读了很多关于它的文章,但仍然不明白。谢谢你的帮助。
python - 具有 Sigmoid 激活的神经网络产生全 1
我正在尝试在 python 中实现卷积神经网络。架构如下:
INPUT->[Convolution->Sigmoid->Pooling]->[Convolution->Sigmoid->Pooling]->Fully Connected Layer-> Hidden Layer->Ouput
.
输入形状:28*28
卷积层 1 的过滤器/权重形状:20*1*5*5卷积层2
的过滤器/权重形状:40*20*5*5
激活函数:Sigmoid (1/(1+e^-x ))
由于过滤器/权重的形状很大,在卷积层 2 中应用点积时,得到的输出值接近 20 或更高,这随后导致 sigmoid 激活函数值之后的输出全为 1。
卷积层 1 的输出:
卷积层 2 的输出:
在 convlayer2 上应用 sigmoid 后的输出:
我在这个论坛上发现了一个类似的问题:神经网络 sigmoid 函数。我没有犯蒂姆回答中指出的错误。但我想不通的是:
最后,即使有这些变化,具有所有正权重的全连接神经网络可能仍会为输出产生全 1。您可以包含对应于抑制节点的负权重,或者显着降低连接性(例如,第 n 层中的节点连接到第 n+1 层中的节点的概率为 0.1)。
我应该在 convlayer2 上应用 sigmoid 后标准化输出吗?或尝试别的东西?
编辑:输入数据:
convlayer 1 的权重:
convlayer 2 的权重:
权重使用 Xavier 初始化进行初始化:
neural-network - 使用神经网络拟合的函数的导数
这个问题非常笼统和数学。
我正在使用具有单个隐藏层(10 个神经元)的神经网络来近似具有 2 个输入和 2 个输出变量的函数。sigmoid 函数用作激活函数。
后来,我将导数用于其他用途。我用数值方法逼近导数。该方法使用神经网络的输出。
我想知道是否可以轻松获得近似函数的导数,因为学习算法对每个神经元都使用导数。
如果有一种简单的方法可以将导数从神经网络中取出,我可以摆脱用于推导的数值方法。
我正在考虑链式法则,但我不确定这是否是正确的方法以及如何正确使用它。
python - Tensorflow 中的 Sigmoid 操作实现
出于学习目的,我的任务是在 tensorflow 中进行线性和 sigmoid 操作。我设法做了线性运算:
但我坚持使用 sigmoid 操作:
那是对的吗?
而且我很难理解 sigmoid 梯度
有人可以帮忙吗?
tensorflow - sigmoid_cross_entropy 是否会产生整个批次的平均损失?
我有一个多标签分类任务,有 6 个标签。任何样本都可能没有标签或某些标签为 1。我在 tensorflow 中使用了损失:
每次有一批(1000)个样本进来,就会计算损失。
但我不确定损失是否是每个预测列的对数损失的平均值。如果不是,我如何将损失修改为上面提到的平均列对数损失?