目录
一、训练神经网络模型
1、神经网络训练流程
变量初始化:通过满足正态分布的随机数来初始化神经网络中的参数是一个常用的方法。
部分训练数据:在每次迭代的开始,首先需要选取一小部分训练数据,这一小部分数据叫做一个batch。这个batch的样本会通过前向传播算法得到神经网络模型的预测结果。
前向传播算法:神经网络的结构,及每个神经元中的参数都已确定,根据输入,计算输出的过程,为前向传播算法。
后向传播算法:定义一个损失函数,量化batch样本通过前向传播算法的预测值与真实值之间的差距,反向传播算法更新神经网络参数的取值,使得这个batch样本通过神经网络模型的预测值与真实值更加接近。
循环上述神经网络模型参数的优化过程,直至达到指定的训练次数。
2、前向传播算法
输入根据网络结构和神经元参数计算预测结果的过程,为前向传播算法。
如上图所示的神经网络,前向传播算法的计算过程为:
3、反向传播算法
使用梯度下降法,优化所有参数取值,从而使神经网络在训练数据上的损失函数尽可能小。
分类问题损失函数:
softmax函数将神经网络前向传播得到的结果变成概率分布:
分类问题比较常用的损失函数为交叉熵,计算预测的概率分布和真实的概率分布之间的距离:
回归问题损失函数:
回归问题常用的损失函数为均方误差: