能否用简单的话语,并可能通过一些例子来解释一下在机器学习/神经网络领域中损失函数是什么?
我在学习Tensorflow教程时遇到了这个问题:https://www.tensorflow.org/get_started/get_started
回答:
损失函数是如何对你的输出进行惩罚的机制。
下面的例子适用于监督学习的环境,即当你知道正确结果应该是什么的时候。尽管损失函数也可以应用于无监督的环境中。
假设你有一个模型,它总是预测1。只是一个标量值1。
你可以对这个模型应用多种损失函数。L2是欧几里得距离。
如果我输入某个值,比如2,并且我想让我的模型学习x**2函数,那么结果应该是4(因为2*2=4)。如果我们应用L2损失,那么它的计算结果是||4 – 1||^2 = 9。
我们也可以自己定义损失函数。我们可以说损失函数总是10。所以无论我们的模型输出什么,损失都将是恒定的。
为什么我们关心损失函数?因为它们决定了模型表现得有多差,并且在反向传播和神经网络的背景下,它们还决定了从最后一层传播回来的梯度,以便模型可以学习。
正如其他评论所建议的,我认为你应该从基础材料开始。这里有一个很好的链接可以开始:http://neuralnetworksanddeeplearning.com/