神经网络训练:从评估到优化
1. 评估多层感知器(MLP)
在处理神经网络时,一旦实现了评估方法,评估大型神经网络和小型神经网络的难度是一样的,因为 Python 会帮助我们完成所有工作。
1.1 评估方法的原理
MLP 的评估方法应接受一个 64 维向量作为输入,并返回一个 10 维向量作为输出。从输入到输出的过程基于逐层计算激活值,从输入层一直到输出层。为了便于后续的反向传播,我们需要跟踪所有层的激活值,包括隐藏层。因此,评估函数的构建分为两个步骤:
1. 构建一个方法来计算所有层的激活值,即前馈(feedforward)方法。
2. 构建另一个方法来提取最后一层的激活值并生成结果。
1.2 前馈方法的实现
前馈方法是逐层计算激活值的常见过程。输入层的激活值是给定的,为了得到下一层的激活值,我们需要将当前层的激活值向量乘以权重矩阵,加上下一层的偏置,然后将结果的每个坐标通过 sigmoid 函数。重复这个过程直到到达输出层。以下是前馈方法的代码实现:
class MLP():
...
def feedforward(self,v):
activations = []
a = v
activations.append(a)
for w,b in zip(self.weights, self.biases):
z = w @ a + b
a = [sigmoid(x) for x in z]
超级会员免费看
订阅专栏 解锁全文


被折叠的 条评论
为什么被折叠?



