作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我必须完成以下作业。我失去了这个问题的所有分数,因为我什至不知道从哪里开始。坦率地说,我们没有被教过这些。我没有收到关于这个作业的反馈,但我真的很想学习如何解决这些问题。有人可以让我知道从哪里开始吗?我非常沮丧,因为我没有得到教授的帮助。我想做的就是学习一些东西。我已经用谷歌搜索了这个问题,并没有找到任何有帮助的东西。
假设我有一个由 m 个数据点组成的训练集,具有 n 个特征。进一步假设我使用具有 h 个隐藏节点的神经网络来学习这些数据,并且在反向传播终止之前需要 e 个 epoch。用大 O 符号回答以下每个问题。 (例如 O(m^2n^5/h)。
一种。假设数据集中的每个特征对应一个输入节点,存储这个神经网络需要多少内存?
湾训练这样一个神经网络分类器需要多少时间?
C。训练完成后需要多少时间来确定测试点的类别?
最佳答案
让我提供一些基本的指导,以便您开始。你应该能够完成作业。
假设我们有一个带有 n
的神经网络输入,隐藏层h
神经元和 m
输出。我们总共有这么多神经元:
nbNeurons = h + m.
O(w)
,其中
w
是神经元接收的输入数量。原因是神经元每个输入有一个权重加上一些附加信息,例如
bias
,
learning rate
,
output
,
error
.由于所有这些都受一个常数的限制,因此一个神经元所需的内存与权重(即输入)的数量成正比。
h
具有
n
的神经元输入每个,所以它需要
h*O(n)
内存单位。输出层有
m
具有
h
的神经元输入每个,因此
m*O(h)
.因此
memory = h*O(n) + m*O(h) = O(h*n) + O(m*h) = O((n+m)*h)
k
喂养神经元输入需要
k
乘法加
k+1
添加 +
1
sigmoid(或类似)函数的评估。这显然与
k
成正比。因此
O(k)
.
h
带有
n
的隐藏神经元输入每个,因此
h*O(n)
加喂
m
输出神经元
h
每个输入,
m*O(h)
.所以,
feed time = h*O(n) + m*O(h) = O((n+m)*h)
关于neural-network - 神经网络和大O,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53843459/
我是一名优秀的程序员,十分优秀!