04 深度学习之神经网络的学习
1.学习的目的
就是以该损失函数为基准,找出能使它的值达到最小的权重参数。
2.损失函数
定义
损失函数(loss function)是将随机事件或其有关随机变量的取值映射为非负实数以表示该随机事件的“风险”或“损失”的函数。
公式

3.交叉熵误差
公式

图像

4.为什么要导入损失函数
在进行神经网络的学习时,不能将识别精度作为指标。因为如果以识别精度为指标,则参数的导数在绝大多数地方都会变为0。
识别精度对微小的参数变化基本上没有什么反应,即便有反应,它的值也是不连续地、突然地变化。
5.one-hot表示
one-hot表示是一种将正确解标签表示为1,其他标签表示为 0的表示方法。
6.梯度
本质:梯度指示的方向是各点处的函数值减小最多的方向。
7.梯度法
表示更新量,在神经网络的学习中,称为学习率。学习率决定在一次学习中,应该学习多少,以及在多大程度上更新参数,通过不断地沿梯度方向前进,逐渐减小函数值的过程。
8.学习率
像学习率这样的参数称为超参数。
学习率这样的超参数则是人工设定的。一般来说,超参数需要尝试多个值,以便找到一种可以使学习顺利进行的设定。
9.神经网络的梯度

10.学习算法的实现
步骤 1(mini-batch)
从训练数据中随机选出一部分数据,这部分数据称为mini-batch。我们的目标是减小mini-batch的损失函数的值。
步骤 2(计算梯度)
为了减小mini-batch的损失函数的值,需要求出各个权重参数的梯度。梯度表示损失函数的值减小最多的方向。
步骤 3(更新参数)
将权重参数沿梯度方向进行微小更新。
步骤 4(重复)
重复步骤1、步骤2、步骤3。
简要步骤
输入层->隐藏层 x,w1,b1->a1
隐藏层->隐藏层 sigmoid(a1)->z1 z1,w2,b2->a2
隐藏层->输出层 sigmoid(a2)->z2 z2,w3,b3->a3 softmax(a3)->y