于 0 的输出视为猫,将接近于 1 的输出视为狗。为完成这个标,我们会在最后个神经元上应个
同的激活函数。我们会使 sigmoid 激活函数。关于这个激活函数,你前只需要知道它地返回值是
个介于 0 到 1 的数字,这正好是我们想要的。解释完这些之后,我们可以定义个和上图对应的神经络
。
定义个神经络的函数。
w
的上标代表神经元的索引,下标代表输的索引。
最后,我们得到某种函数,它以个数作为输,输出另个介于 0 到 1 之间的数。实际上,这个函数
怎样表达并重要,重要的是我们通过些权重将个线性函数参数化,我们可以通过改变这些权重
来改变这个线性函数。
III. 损失函数损失函数
在开始讨论神经络的训练之前,最后个需要定义的就是损失函数。损失函数是个可以告诉我们,
神经络在某个特定的任务上表现有多好的函数。做这件事的最直觉的办法就是,对每个训练样本,都
沿着神经络传递得到个数字,然后将这个数字与我们想要得到的实际数字做差再求平,这样计算出
来的就是预测值与真实值之间的距离,训练神经络就是希望将这个距离或损失函数减。
上式中的 y 代表我们想要从神经络得到的数字,y hat 指的个样本通过神经络得到的实际结果,i 是
我们的训练样本的索引。我们还是以猫狗鉴别为。我们有个数据集,由猫和狗的图组成,如果图
是狗,对应的标签是 1,如果图是猫,对应的标签是 0。这个标签就是对应的 y,在向神经络传递张
图的时候我们想通过神经络的得到的结果。为计算损失函数,我们必须遍历数据集中的每张图
,为每个样本计算 y,然后按照上的定义计算损失函数。如果损失函数较,那么说明我们的神
经络性能并是很好,我们想要损失函数尽可能的。为深地解损失函数和神经络之间的联
系,我们可以重写这个公式,将 y 换成络的实际函数。
IV. 训练训练
在开始训练神经络的时候,要对权值进随机初始化。显然,初始化的参数并会得到很好的结果。在
训练的过程中,我们想以个很糟糕的神经络开始,得到个具有准确率的络。此外,我们还希望