在上上一节逻辑回归中,是使用似然函数来作为模型的求解参数的目标。
但在很多情况下,似然函数很难直接写出,更常用的方法是损失函数,这个在上上一节的补充中也有提过。
那么损失函数表示什么概念呢?
和似然函数相反,损失函数是模型预测失败的度量。
注意最大化似然函数和最小化损失函数两者并不能完全等同,因为这涉及到所选取的参数。
对于机器学习模型来说,选择哪一种都符合模型求解的规则,关键在于选择哪一种标准(最大化似然函数or最小化损失函数)能够进行求解。
损失函数分为两个部分:损失向,正则项
损失项
损失项即代表模型误判的度量,这和与上面说的损失函数的意义是一致的。
在介绍各类损失之前,先简单说明样本的数据,并引入几个自定义参数。
从最简答的二分类开始,样本数据如下
模型的形式为:
自定义参数如下:
m>0表示预测正确,m<0表示预测错误。
如果你看过其他资料,就会发现,一般m定义为
0-1损失
和上上一节介绍的一样,0-1损失应该是衡量模型最直接(应该也是最准确)的指标了,即
直接拿模型预测的错误率来作为损失函数。
0-1损失的损失函数定义如下:
这是一个跃阶函数,或者成为0-1函数。
模型求解的目标即是:
0-1损失并不依赖于m的大小,而只与m的正负号有关,因此0-1损失是一个非凸的函数,在求解的过程中,存在很多的不足,通常在实际的使用中将0-1损失函数作为一个标准,选择0-1损失函数的代理函数作为损失函数。
log损失
既然是0-1损失的代理,那么log损失应该是0-1损失的近似,折中一点,至少损失函数的性状最好和0-1函数形似。
跃阶会导致函数不可微,一般我们还是习惯使用可微函数,毕竟nature never jump(除了量子力学)。
于是我们需要将m至于函数里面,而不是作为分段函数的分段依据。
于是log损失的损失项就出来了:
逻辑回归就是使用的log损失作为模型求解参数的依据。