数据驱动
提取特征量
传统算法/其他机器学习算法/神经网络,灰色部分表示没有人为介入训练数据和测试数据
- 使用训练数据进行学习,寻找最优的参数
- 使用测试数据评价模型的实际能力
- 仅用一个数据集去学习和评价参数,容易出现过拟合
损失函数
- 神经网络中以某个指标为线索寻找最优权重参数,所用的指标为损失函数
- 均方误差:
- 交叉熵误差:
- 批数据的交叉熵误差:
- mini-batch: 从训练数据中选出一批数据(称为mini-batch),用这批数据进行学习,这种方式称为mini-batch
梯度下降法
梯度(gradient): ,梯度是一个向量
梯度下降法:
正向传播的二层神经网络
步骤
- 确定概率预测函数
- 确定T函数(预测正确为1,否则为0)
- 确定交叉熵误差作为神经网络损失函数
-
和作为参数,确定函数对变量在处的梯度
- 使用mni_batch更新参数,为学习率
- (可视化时可选)
周期性地记录train_acc和test_acc,最后用这两组记录绘制学习曲线 - 达到最大迭代次数后返回
流程图表示如下
正向传播的二层神经网络
小结
- 机器学习中使用数据集分为训练数据集和测试数据集
- 神经网络用训练数据进行学习,并用测试数据评价学习到的模型的泛化能力
- 神经网络的学习以损失函数为指标,更新权重参数,以使损失函数的值减小
- 利用某个给定的微小值的差分求导数的过程(导数定义),称为数值微分
- 利用数值微分,可以计算权重参数的梯度
- 数值微分虽然简单但是费时间,另一种高速计算导数的方法叫做误差的反向传播法
网友评论