极大似然估计法的步骤
【深度学习中的损失函数探究】
在大多数课程,尤其是帮助大家快速掌握深度学习的课程中,损失函数似乎并不是一个需要额外关心的问题。因为它往往都是现成的,被广泛使用的。就像是在吴恩达讲深度学习的课程里,他就提到了两个常用的损失函数。
损失函数,简单来说,就是用来衡量模型预测值与真实值之间差距的函数。在机器学习的上机实践,或者是在应对学校里的作业时,损失函数的使用往往能让我们快速得到一个可行的结果。
当我们想要更深入地理解深度学习,损失函数就成为了一个重要的障碍。很多人都会有这样的疑问:这两个损失函数是怎么得出来的?它们背后有没有一个明确的推导过程?
这篇文章的目的,就是希望解决这个问题。我们将从直观理解损失函数是什么,为什么重要开始谈起,逐步深入到最小二乘法和最大似然估计的原理,以及它们之间的关系。
我们要明白,机器学习本质上就是在学习数据背后的规律。就像我们人去分辨猫狗一样,虽然我们无法给出一个明确的定义,但我们的模型可以通过大量的数据学习到这个规律。而损失函数的作用,就是将模型预测的规律与真实的规律进行比较,看看差距有多大。
对于网络的深度学习,损失函数的设计是关键的一环。我们通常先猜测一个规律,然后通过比较这个规律与真实规律的差距来调整参数。而这个比较的过程,就是通过损失函数来实现的。
那么怎么设计出这个损失函数呢?其实,虽然我们不知道真实的规律是什么,但我们有已经打好标签的数据集。我们可以利用这些数据集来比较模型的预测结果与真实结果,从而设计出损失函数。
对于最小二乘法设计的损失函数,它是通过让所有数据预测误差的平方和最小来设计的。而最大似然估计法则是通过最大化似然函数来设计的,似然函数表示的是在给定模型参数下,观察到样本数据的概率。
虽然最小二乘法和最大似然估计法在形式上看起来非常不同,但它们其实都是用来衡量模型预测的规律与真实规律的差距。只是最小二乘法要求误差的分布属于正态分布,而在某些情况下,我们可以认为最大似然估计法和最小二乘法是等价的,这就是交叉熵方法。