得分函数就是对于给定的一个输入,通过计算,得到这个输入属于每种类别的得分。比如我们现在有三个类别:小猫、小狗和青蛙,对于一张给定的图片,计算出这个图片是小猫的得分,是小狗的得分以及是青蛙的得分。
对于中间的计算过程:
其中w和b为权重参数。下面介绍如何计算:
这里我们假设小猫的图片为2x2的矩阵由四个像素点组成,我们将2x2的矩阵变成一个列向量的形式,也就是我们的Xi,由于最后的分类有三种,所以我们的权重参数W就是一个3x4 的矩阵,其中3代表类别个数,4代表像素点的个数,根据公式来计算类别得分。
我们先来看W矩阵,W中分数的大小相当于该像素点的重要程度,正值代表积极的影响,负值代表着消极的影响。对于背景为负值,猫的主体为正值。对于每一个具体的值怎么来的在之后的文章中会详细介绍。
最后我们想得到的是属于某个类别的得分值。
如果最后的结果分辨错了,我们需要告诉模型它预测错了,怎么告诉模型呢?这里就是使用损失函数。通过损失函数进行迭代、优化分类效果。损失函数值越大代表着分类的效果越差,损失函数值越小代表着分类效果越好。希望损失函数值为零0,
下面我们来介绍一下损失函数:
我们根据得分函数计算出每个输入的类别得分如下:
我们只有类别的得分并不能评判分类效果,损失函数便是用来评估分类效果的好坏程度。对于上图中,小猫图片的输入,最后的分类得分分别为cat:3.2、car:51、frog:-1.7,根据得分我们可以看到,这个图片输入car的得分最高,很明显这里就预测错误了,所以我们要通过损失函数来告诉模型。这里我们使用SVM的损失函数来进行介绍:
对于小猫图片的这个输入来说,用的正确分类的分3.2与其它错误分类的得分5.1和-1.7求差值,再把求得的差值和0进行对比,如果大于0就加在最终的LOSS值上,这里的+1这个数值代表了我们的满意程度,值越大代表要求越高。
所以小猫的损失函数=max(0,5.1-3.2+1)+max(0,-1.7-3.2+1)=max(0,2.9)+max(0,-3.9)=2.9+0=2.9。
对于预测结果为frog时,得分为-1.7和cat的得分相比,这时的预测结果是正确的,所以值为0。
得分函数与损失函数
最新推荐文章于 2024-03-23 11:52:03 发布