首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python中大数的Sigmoid函数

Python中大数的Sigmoid函数
EN

Stack Overflow用户
提问于 2016-11-26 14:17:20
回答 1查看 2K关注 0票数 1

我正在用Sigmoid激活函数做神经网络任务。我的网络输入是图像(MNIST数据集),因为每个图像的维数是28*28,所以当我必须将它们转换成向量时,我将得到N*784矩阵。这个大矩阵与权矩阵的乘积产生了权值的正负数,我必须把它们传递给Sigmoid函数。我使用expit()作为乙状结肠函数,我的问题是:

30岁以下的数字在expit()中接近1。例如,expit(28)结果0.99999999expit(29)结果1.0和高级29也得到1。但是,我的新设备是高级30,正因为如此,他们中的一些人在第一个学习周期中获得了1和一些0,实际上根本就没有任何学习。

我要做什么?Sigmoid's上界是29吗?我不能改吗?我必须改变我的形象维度来克服这一点?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-26 15:55:55

正如注释部分所讨论的,真正的问题是使用sigmoid本身,这不适合这种情况。在任何有限精度的计算中,都会遇到描述的问题,一个系统有29个,另一个系统有38个。

解决这一问题的一种方法是使用softmax激活函数,它不太容易受到此类问题的影响。请注意,使用成本功能,您可能会遇到类似的挑战。

稍微有点离题,ut你可能想看看问题是如何用tensorflow解决的。它为初学者提供了一些很好的教程。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40819269

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档