泛统计理论初探——常见损失函数初探

数据挖掘-常见损失函数初探

常见损失函数简介
在之前的文章中,我们介绍过各种计算准确率的指标,在本文中我们将会介绍常见的损失函数并做出比较,讨论使用的场景和各个损失函数的优缺点。
首先我们来认识损失函数,常见的有监督数据挖掘问题无外乎两类,即分类问题和回归问题,即因变量是离散值或连续值。目标是寻找一种函数或者说是规则去最大程度的逼近或是预测原有的数据分布和结果,因此我们需要引入损失函数,损失函数是当前所有真实数据与预测结果的差值的汇总,即我们需要一个函数去体现预测效果,这个函数就是损失函数。而大多数有监督学习都是靠着最小化损失函数来进行参数的求解的,比如回归问题的参数向量就是最小化损失函数(平方差之和)来进行求解的。
其次我们要清楚,对于分类问题和回归问题,它们的损失函数是不同的。回归问题由于预测值和因变量真实值都是连续的,所以直接计算它们的差值的绝对值再求和,或是计算它们的差值的平方和再求和,即利用“距离”进行构建损失函数。而对于分类问题,由于预测的结果是离散的分类值,不能直接加减,所以我们需要使用交叉熵作为损失函数。在构建了损失函数后,上面的两种情况都是可以对参数向量进行求导,令损失函数最小化后可以得到最终的迭代后的参数。
在这里插入图片描述
除了上述的平方损失函数和交叉熵损失函数之外,还有一些比较常见的损失函数,比如铰链损失函数、0-1损失函数等。它们的形式如下所示,左边的是0-1损失函数的公式、右边的是铰链损失函数的公式,其中值得注意的是0-1损失函数是分类问题中最早期的损失函数,即如果预测正确的就取值为0,而当预测错误的时候就取值为1,但其实该损失函数较为苛刻,当遇到多分类问题时,该损失函数的衡量效果会较差。与此同时,该损失函数是不连续的,因此也是不可导的损失函数,很难通过该损失函数去学习模型的参数向量,所以该损失函数用的地方较少。
在这里插入图片描述
对于上图右边的铰链损失函数,它是来自于支持向量机的损失函数,其本质是一条折线,我们针对二分类的支持向量机来看,当y取值是1或者-1,而当f(x)预测正确的时候,也是1或者-1,也就是说y与f(x)的乘积在预测正确的时候必然是1,所以损失函数必然为0;当预测错误时,f(x)的值是1-y*f(x),其实就是支持向量机里的间隔函数最大化的形式,但一般该损失函数在其他模型不太常用。
其实对于因变量连续的问题,最常用的还是平方损失函数,但是会在这个基础上加上正则项防止过拟合,而对于因变量离散的问题,不同的模型使用的损失函数不同,并且分类问题由于不能直接通过“距离”进行误差衡量,所以会针对不同的模型提出不同标准的损失函数。但对于分类问题,相对使用较多的还是交叉熵损失函数,因为这种损失函数可以较好地体现真实的数据分布与预测得到的数据分布的差异,如果该值比较小则说明预测得到的数据分布是较为逼近真实数据分布的。总的来说,初学者需要明确在不同场景使用的损失函数是不同的,并且损失函数可以用来估计和学习参数向量,不同的损失函数虽然形态不同,但是其中的求解步骤是类似的,并且损失函数的概念和意义是初学者必须明确的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章