深度学习与计算机视觉[CS231N] 学习笔记(3.1):损失函数(Loss Function)

在上一节的线性回归的例子中,我们通过一定的矩阵运算获得了每张图像的最终得分(如下图),可以看到,这些得分有些是比较好的预测,有些是比较差的预测,那么,具体如何定义“好”与“差”呢?这就需要引入“损失函数”的相关概念了。

这里写图片描述

损失函数

关于损失函数的精准定义可以在维基百科或者百度百科里查到,但是这种定义不太容易理解,这里我用一种比较通俗的说法来介绍损失函数:损失函数就是可以准确的告诉我们,分类器是好是坏的一类函数
这里我们继续使用上面图中的例子来讲解损失函数。首先,给定一组样例 xiyii=1...N 。其中xi代表图像,yi代表图像对应的标签。则可以给出关于这组样例的一个简单的损失函数定义: L=1NNiLi(f(xi,W),yi)
为了更好的理解损失函数,在这里我们给出多分类器SVM的损失函数形式:

Li=jyi{0,sjsyi+1,if syisj+1otherwise=jyimax(0,sjsyi+1)

将上式中的 syi 作为横轴,损失程度作为纵轴,则可以得到下面的损失图像:
这里写图片描述
从上面的图像我们可以看出,当正确类别的得分比其他类别的得分高出一定范围时(这里是大于1),那么该预测结果的损失程度就是0,而如果正确类别的得分比其他类别的得分低时,那么损失程度就与分值差呈线性相关。
下面,我们可以分别计算这三幅图像在当前分类器中的损失函数的值,来看看当前分类器是好是坏。

这里写图片描述

这里写图片描述

这里写图片描述
至此,我们得到了三幅图像各自的损失函数值,然后,我们对损失函数值求平均,就可以得到当前分类器的损失值,如下所示,损失值为5.27。
这里写图片描述

这里有一个问题需要注意,即使我们求得了一个矩阵W,使得损失函数的值是0(实际中不太可能为0),那么这个W是否是唯一的呢?答案是”不唯一。举个很简单了例子,如果W使得损失函数为0,那么2W肯定也可以使得损失函数为0。

另外,如果有多个损失函数都在训练数据上有较低的损失,那么我们应该优先选择计算过程较简单的损失函数,这是因为,越是复杂的函数,它的约束也就越多,对新数据的要求也就越多,那么就越不容易对新数据做好良好的预测,如下图所示,图中曲线是较为复杂的模型,而直线是较为简单的模型,很明显我们应该选择直线而不是曲线。

这里写图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值