问题标签 [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.
python-3.x - python中的sigmoid,可以采用标量、向量或矩阵
以下代码是用 Octave 编程语言编写的
它计算一个 sigmoid 函数,可以采用标量、向量或矩阵。例如,如果我将上述内容放入函数 sigmoid(z) 中,其中 z=0,结果将是:
如果传递一个向量说 z= [ 0.2, 0.4, 0.1],结果将是标量 ( 0.5),它将输出结果向量:-
结果是一个向量:
如果 z 是一个矩阵
结果是=
现在如何在 Python 中实现类似的方法?我尝试了下面的代码,
但它仅适用于标量。不适用于向量和矩阵。我究竟做错了什么。对不起,我之前的问题不是很清楚。我重新编辑了它。
neural-network - 假设输出为 (0,1),反向传播的输出是否收敛到 1
我目前正在尝试了解我为一项基本上采用灰度 (0-150) 图像 (120x128) 并确定此人是男性还是女性的任务创建的 ANN。它在大多数情况下都有效。我将其视为输出(男性 = 1,女性 = 0)的布尔问题。我能够让 ANN 正确识别男性或女性。但是,我为男性获得的输出是(0.3-0.6),具体取决于跑步。我应该得到价值〜1吗?
我正在使用 sigmoid 单元 1/(1+e^-y) 并试图取反。我已经在 1 层上使用 5 - 60 个隐藏单元进行了尝试,并尝试了 2 个带有触发器结果的输出。我想了解这一点,以便可以将其应用于非布尔问题。即,如果我想要一个数字输出,我将如何做到这一点,或者我是否使用了错误的机器学习技术?
java - 使用 ReLU 传递函数,总网络错误卡在 XOR 门中
我尝试在 XOR 问题上使用 ReLU 激活函数来查看它的性能,因为我看到很多帖子和页面都说它比 sigmoid 和其他更好。我使用了这段代码:
我通过以下方式将 RELU 添加到 TransferFunctionType 中:
我正在使用neuroph 2.92,当我运行时,它被卡在Total Network Error = 0.25。我也使用了 TANH,它卡在 1.25 而 SIGMOID 容易达到总误差 < 0.01 他们怎么了?或者我在某个地方犯了错误。谢谢
math - ANN中的sigmoid函数和sigmoid函数的导数
我正在根据教程制作 ANN。在本教程中,sigmoid 和 dsigmoid 如下:
但是,根据定义,dsignmoid 是 sigmoid 函数的导数,因此它应该是(http://www.derivative-calculator.net/#expr=tanh%28x%29):
使用 1-x*x 时,训练确实收敛,但是当我使用数学上正确的导数时,即。sech 平方,训练过程不收敛。
问题是为什么 1-x*x 有效(模型训练为正确权重),而数学导数 sech 2 (x) 无效(在最大迭代次数后获得的模型具有错误的权重)?
r - 使用 R 将实验数据点拟合到不同的累积分布
我是编程和使用 R 软件的新手,因此非常感谢您对我正在尝试解决的当前问题的反馈。
所以,我必须用一些函数(二/三参数函数)拟合累积分布。这似乎是一个非常简单的任务,但我现在一直在讨论这个问题已经有一段时间了。
让我告诉你我的变量是什么:
这是我将 x 轴设置为日志的图:
经过一些研究,我尝试了 Sigmoid 函数,如其中一篇文章所示(我无法添加链接,因为我的声誉不够高)。这是代码:
这让我得到了一些很好的拟合结果(我不知道如何量化)。但是,当我查看 Sigmuid 拟合函数的图时,我不明白为什么 S 形状现在发生在从 40 到 7 的 x 值范围内(查看 S 形状应该在 x 值中10 到 200)。
由于我无法解释这种行为,我想尝试使用 Weibull 方程进行拟合,但到目前为止我无法让代码运行。
总结一下:
- 你知道为什么 Sigmoid 会给我那种奇怪的拟合吗?
- 对于这种拟合方法,您知道更好的二或三参数方程吗?
- 我如何确定拟合优度?像r^2这样的东西?
neural-network - Sigmoid 和它的去活化作用
当我训练网络时,它会给出输出:
- 0,0 = 0 它总是 0 //我不知道
- 0,1 = 0,67,它正在上升//很好,但在 1000 次重复后,它达到 0.20,它正在下降
- 1,0 = 0.50,它正在上升//很好,但在 1000 次重复后,它达到 0.20,它正在下降
- 1,1 = 0.80 并且它正在上升//错误它应该下降。
错误在哪里?
神经网络(XOR 和反向传播)
为什么训练后它给出:
- 1.0 ==接近0,应该接近1
1.1 ==接近1,应该是0
0.0 == 很好,接近 0
- 0.1 ==接近0,应该接近1
这是训练后使用的代码(i1 和 i1 是输入 1 或 0 )
w1-w10 是权重。h1v 是隐藏层的价值。h1 是隐藏层的权重
python - python中的sigmoid函数
我试图理解为什么当输入为 37 时我的 sigmoid 函数会输出 1. sigmoid 函数:
我数学不好,但我认为永远不应该有 f(x) 等于 1 的时刻,对吧?也许是因为 e 常数不够精确但是我真正的问题是我想将 0 和 1 之间的数字映射到当 f(x) 为 0 时 x 是什么以及 f(x) 为 1 时 x 是什么。我的地图功能:
所以例如我想做
其中 y 在 sigmoid 曲线中为 f(x),-37 和 37 分别为 f(x) 为 0 和 1。使用 -37 和 37 对我不起作用,所以我要问的是为什么它是 37,我该如何解决它,例如它在 -1 和 1 之间
neural-network - 非线性是否由于其导数而添加到神经网络中?
我有一个问题:我一直假设将非线性应用于神经网络以计算误差表面的最小值。如果函数为 f(x)=mx+b,则导数始终为 f'(x) = 1。
这是应用非线性(通过 sigmoid 函数的例子,其导数为 f'(x)=f(x)*(1-f(x)))的原因之一吗?
非常感谢。
python - 使用relu激活函数破坏模型
我已经实现了一个用于分类的具有 1 个隐藏层的神经网络。它使用sigmoid activation
函数和cross entropy
损失。但是在观看 cs231n 讲座时,我遇到了relu activation
收敛速度更快的函数。因此,我对隐藏层使用了 relu 激活,但准确度30-40%
从90%
. 以前我一直在努力使用 relu,因为cost function
总是倾向于infinity
因为 relu 的输出可以为 0。我通过始终在log
.
以下是我从之前使用 sigmoid 激活的版本中修改的最重要的代码片段。我无法突出显示我已更改的部分,因此我添加了#changed
评论。如果有人想仔细看看,我会完整的代码。
片段:
激活函数:
前向道具:
计算成本:
支持:
#更新θ
为什么准确率会下降?这个 relu 函数的实现有什么问题?
neural-network - 具有 0,0,0 的二元特征,在 NN 中总是返回 0.5
假设我们有三列,具有二进制特征 (0,1)。数据集中的一行是 0,0,0,标签为 0。
我面临的问题是:
在为该行分配权重并激活 sigmoid 函数时,我将始终收到 0.5,因为任何权重为 0 的零数组乘积。
如何克服这个问题?