在神经网络中将西格码结果解释为概率
我已经在最后一层创建了一个具有Sigmoid激活功能的神经网络,因此我要在0到1之间获得结果.我想在两个类中对事物进行分类,因此我检查"是数字> 0.5,然后是类1其他类0".所有基本. 但是,我想说:"它在第0类是x中的概率,而在第1类是y". 我该怎么做? 有0.73之类的数字告诉我,它肯定是73%吗?然后1-0.73 = 0.27 SO SO Class 0? 中的27% 当它是0.27时,这是否意味着在第0阶段中确定27%的肯定是1级中的73%?没有道理. 我应该与0.5一起工作,然后看"距中心有多远,那就是百分比"? 或我误解了nn的结果? 解决方案 正如Teja指出的那样,简短的答案是否定的,但是,取决于您使用的损失,它可能比您想象的要接近真相. 想象一下,您尝试训练网络以区分beautiful和ugly的两个任意类别.假设您的输入号是0或1和0 s的0.2概率是被标记为ugly,而1 1 1的o 1> 1的可能性是ugly 想象一下
8 2023-10-16
编程技术问答社区
在TensorFlow中,sigmoid之后的交叉熵和sigmoid_cross_entropy_with_logits之间有什么区别?
试图通过sigmoid激活函数获得跨渗透性时, 之间存在差异 loss1 = -tf.reduce_sum(p*tf.log(q), 1) loss2 = tf.reduce_sum(tf.nn.sigmoid_cross_entropy_with_logits(labels=p, logits=logit_q),1) ,但是当具有SoftMax激活函数时它们是相同的. 以下是示例代码: import tensorflow as tf sess2 = tf.InteractiveSession() p = tf.placeholder(tf.float32, shape=[None, 5]) logit_q = tf.placeholder(tf.float32, shape=[None, 5]) q = tf.nn.sigmoid(logit_q) sess.run(tf.global_variables_initializer()) feed_dict =
24 2023-10-16
编程技术问答社区
在python中拟合sigmoid曲线
谢谢!我试图将Sigmoid曲线放在某些数据上,以下是我的代码 import numpy as np import matplotlib.pyplot as plt from scipy.optimize import curve_fit ====== some code in between ======= plt.scatter(drag[0].w,drag[0].s, s = 10, label = 'drag%d'%0) def sigmoid(x,x0,k): y = 1.0/(1.0+np.exp(-x0*(x-k))) return y popt,pcov = curve_fit(sigmoid, drag[0].w, drag[0].s) xx = np.linspace(10,1000,10) yy = sigmoid(xx, *popt) plt.plot(xx,yy,'r-', label='fit') plt.legend(loc='up
6 2023-08-21
编程技术问答社区
使用Python将sigmoid函数("S "形曲线)与数据相匹配
我正在尝试将Sigmoid函数拟合到我的某些数据中,但我一直在得到:ValueError: Unable to determine number of fit parameters. 我的数据看起来像这样: 我的代码是: from scipy.optimize import curve_fit def sigmoid(x): return (1/(1+np.exp(-x))) popt, pcov = curve_fit(sigmoid, xdata, ydata, method='dogbox') 然后我得到: --------------------------------------------------------------------------- ValueError Traceback (most recent call last)
16 2023-08-21
编程技术问答社区
Keras在激活函数之前检索节点的值
想象一个完全连接的神经网络,其最后两层以下结构: [Dense] units = 612 activation = softplus [Dense] units = 1 activation = sigmoid 网络的输出值为1,但我想知道Sigmoidal函数的输入X是什么(必须是一个很高的数字,因为SIGM(x)在这里为1). folllowing Indraforyou's 答案我设法检索了Keras层的输出和权重: outputs = [layer.output for layer in model.layers[-2:]] functors = [K.function( [model.input]+[K.learning_phase()], [out] ) for out in outputs] test_input = np.array(...) layer_outs = [func([test_input, 0.])
92 2023-06-30
编程技术问答社区
与ReLU激活函数的XOR
import numpy as np import matplotlib.pyplot as plt %matplotlib inline input = [[0,0,1],[0,1,1],[1,0,1],[1,1,1]] output = [0,1,1,0] N = np.size(input,0) # number of samples Ni = np.size(input,1) # dimension of the samples of input No = 1 # dimension of the sample of output Nh = 10 # number of hidden units Ws = 1/4*np.random.rand(Nh,Ni+1) print(Ws) Wo = 1/4*np.random.rand(No,Nh) print(Wo) alpha = 0.05 # Learning rate t_ = [] loss_ = [] d
62 2023-06-26
编程技术问答社区
如何在Python中计算logistic sigmoid函数?
这是一个逻辑sigmoid函数: 我知道X.我现在如何计算python中的f(x)? 假设x = 0.458. f(x)=? 解决方案 这应该做到: import math def sigmoid(x): return 1 / (1 + math.exp(-x)) 现在您可以通过致电: 对其进行测试 >>> sigmoid(0.458) 0.61253961344091512 更新:请注意,上面的表达式直接作为对python代码的直接翻译.它是未经测试或已知是数字上合理的实现的.如果您知道您需要非常强大的实施,我敢肯定,有人实际上给了这个问题. 其他解决方案 也可以在Scipy中使用: http://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.logist.html In [1]: from scipy.stats import logistic In
32 2023-06-21
编程技术问答社区
numpy中的Sigmoid函数
对于快速计算,我必须在numpy中实现我的sigmoid函数,这是下面的代码 def sigmoid(Z): """ Implements the sigmoid activation in bumpy Arguments: Z -- numpy array of any shape Returns: A -- output of sigmoid(z), same shape as Z cache -- returns Z, useful during backpropagation """ cache=Z print(type(Z)) print(Z) A=1/(1+(np.exp((-Z)))) return A, cache 也有一些相关信息: Z=(np.matmul(W,A)+b) z的类型是:
158 2023-05-01
编程技术问答社区
Python神经网络中不需要的[Nan]输出
新手在这里.刚从JS切换到Python来构建神经网,但从中取出[NAN]. 很奇怪的是我的Sigmoid Func.似乎不会遇到任何溢出,但导数会导致混乱. import numpy as np def sigmoid(x): return x*(1-x) return 1/(1 + np.exp(-x)) #The function- 2 def Sigmoid_Derivative(x): return x * (1-x) Training_inputs = np.array([[0,0,1], [1,1,1], [1,0,1], [0,1,1]]) Training_outputs = np.array([[0, 1, 1, 0]]).T np.random.seed(1
48 2023-05-01
编程技术问答社区
为什么自动编码器的解码器在最后一层使用sigmoid?
我正在寻找工作变异自动编码器. 主要类 class VAE(nn.Module): def __init__(self): super(VAE, self).__init__() self.fc1 = nn.Linear(784, 400) self.fc21 = nn.Linear(400, 20) self.fc22 = nn.Linear(400, 20) self.fc3 = nn.Linear(20, 400) self.fc4 = nn.Linear(400, 784) def encode(self, x): h1 = F.relu(self.fc1(x)) return self.fc21(h1), self.fc22(h1) def reparametrize(self, mu, logvar):
220 2023-04-22
编程技术问答社区
MathNet用一个矩阵提高标量
我正在尝试使用数学线性代数库中的.NET实现逻辑回归.我需要实现以下方程式,并且不确定如何通过矩阵完成E升高. 1.0 ./(1.0 + e.^(-1.* z)) 其中z是矩阵,e是数学常数e. 因此,代码的问题部分是e.^ z 解决方案 let sigmoid (z : Matrix) : Matrix = z.Map (fun x -> 1.0 / (1.0 + exp (0.0 - x)))
10 2023-03-20
编程技术问答社区
拟合和比较R中的多条sigmoid曲线
我想一次拟合多个曲线,并根据其3个估计参数(渐近线,斜率和X0)对它们进行统计比较. 这是要建模的数据的理想化图像: 最可搜索的页面调高方法以适合A 单一曲线,如下所示: http://kyrcha.info/2012/07/08/tutorials-fitting-a-sigmoid-inction-in-r/ 和这里 就我而言,我想(统计上)改变变量水平对Sigmoid 三个参数的影响.也就是说,当我适合此模型时: model
42 2022-10-13
编程技术问答社区
在python中实现sigmoid函数
我正在尝试为 XOR 函数实现一个简单的神经网络.我使用的激活函数是 Sigmoid 函数.sigmoid函数的代码是: def ActivationFunction(a) e = 2.671 # Sigmoid Function expo = e ** a val = expo / (1 + expo) return val 我的问题是这个函数总是返回一个介于 0.7 和 0.8 之间的值.这个问题在输出过程中表现出很大的影响. 任何建议都会被采纳. 解决方案 你的函数实现正确,但是e的值不正确. 我建议导入 math 并从那里使用预定义的 e 常量. import math def sigmoid(x): return 1 / (1 + math.e ** -x) # mathematically equivalent, but simpler 因此,导数: de
1430 2022-08-09
编程技术问答社区
为什么在神经网络中要将误差乘以sigmoid的导数?
代码如下: import numpy as np # sigmoid function def nonlin(x,deriv=False): if(deriv==True): return x*(1-x) return 1/(1+np.exp(-x)) # input dataset X = np.array([ [0,0,1], [0,1,1], [1,0,1], [1,1,1] ]) # output dataset y = np.array([[0,0,1,1]]).T # seed random numbers to make calculation # deterministic (just a good practice) np.random.seed(1) # initialize weights random
156 2022-07-26
编程技术问答社区