深度学习有三大部分
- 模型表征(包括模型设计、网络表示等)
- 模型评估(上一篇文章提到的准确召回和损失函数等)
- 优化算法(模型如何学习或更新)
本节我们就来介绍模型是如何学习或更新的。
4.1 损失函数
模型的学习,实际上就是对参数的学习。参数学习的过程需要一系列的约束,这个约束就是损失函数。
以函数曲线拟合为例,对于每一个样本点,真实值和拟合值之间就存在了一个误差,我们可以通过一个公式来表示这个误差:
L(x)=(F(x)-f(x))2
。
通过这个计算函数,我们可以知道用这个拟合函数去表示真实函数时,表示效果的好坏,我们称这个函数为损失函数(loss fuction)。损失函数越小,拟合函数就能越好的拟合真实函数。
4.2 代价函数
我们将训练集上所有点的拟合误差做一个平均,可以用如下的函数进行表示:
这个函数我们称为代价函数(cost function),这种训练集数据的平均损失,我们称为经验风险。同样,只要我们将经验风险最小化,那么拟合出来的函数就会更接近实际的函数。
一般来说,损失函数是针对一个样本,而代价函数是针对一个数据集,即所有样本的,但我们在实际工作中并不会严格区分它们。