【探讨】逻辑回归为什么不用mse损失函数

目录

一、什么是逻辑回归模型

1.1 逻辑回归解决的是什么问题

1.2 逻辑回归模型介绍

二、逻辑回归的损失函数

2.1 逻辑回归模型的损失函数

2.2 如何理解逻辑回归的损失函数

三、为什么不用MSE作为逻辑回归的损失函数

3.1 逻辑回归-交叉熵损失函数相比MSE更具背景意义

3.2 逻辑回归-交叉熵损失函数相比MSE更易于求解

四、拓展趣谈-逻辑回归与BP神经网络

4.1 逻辑回归与两层分类BP神经网络

4.2 为什么相同的模型却用不同的损失函数


   

本文部分图片来自《老饼讲解-机器学习》

一、什么是逻辑回归模型

1.1 逻辑回归解决的是什么问题

逻辑回归是一种二分类算法,用来解决二分类的问题。逻辑回归模型的输出是一个概率值,表示样本属于目标类的概率。它通过判断数据属于某一类的概率值大小,来决定该数据判为哪一类。

在实际应用中,逻辑回归模型可以用于数据挖掘、疾病自动诊断、经济预测等领域。例如,通过逻辑回归模型可以预测小贷中的逾期概率,并根据审批阈值来确定是否对客户授信等等。

1.2 逻辑回归模型介绍

在模型定义中,逻辑回归通过sigmoid函数将线性回归的输出转换为一个概率值。具体来说,逻辑回归先将根据权重W落得输入特征值的线性函数,再通过sigmoid函数将其映射到[0,1]的概率范围内。如下:

逻辑回归模型的数学表达式如下:

从逻辑回归模型的数学表达式可以看到,逻辑回归输出的是属于正向类别的概率。

二、逻辑回归的损失函数

2.1 逻辑回归模型的损失函数

逻辑回归模型的损失函数是对数损失函数(logLoss),也称为binary cross entropy。它衡量的是模型预测结果与真实结果之间的差距。

逻辑回归的损失函数具体的表达式如下:

由于逻辑回归的预测值是一个概率,而交叉熵又表示真实概率分布与预测概率分布的相似程度,因此选择使用交叉熵作为损失函数。

2.2 如何理解逻辑回归的损失函数

逻辑回归的交叉熵损失函数可以从两个方面,一方面可以从熵的定义去理解损失函数,另一方面可以从最大似然法理解损失函数。

如果从熵的角度去理解,是比较简单的,它就是代表所有样本的交叉熵总和,这么说有点难明白,但懂的都懂,不懂的都不懂,因为这涉及熵及交叉熵的概念,不是一言两语就能说明。

也正因为交叉熵需要较多的理解基础,所以更多时候从最大似然的角度去理解。最大似然是指选取参数使得样本出现的概率最大。上述损失函数代表的就是样本的最大似然函数化简后的形式。

逻辑回归损失函数的推导过程可以见:

老饼讲解|【推导】逻辑回归损失函数推导过程

老饼讲解|【逻辑回归】逻辑回归损失函数交叉熵形式的理解

三、为什么不用MSE作为逻辑回归的损失函数

逻辑回归模型不用MSE作为损失函数的原因主要有两个,一个从背景意义来说,交叉熵函数更贴切“概率”的意义。另一方面是从求解的角度,交叉熵损失函数比MSE损失函数更易于求解。

3.1 逻辑回归-交叉熵损失函数相比MSE更具背景意义

逻辑回归的预测值是一个概率,而交叉熵又表示真实概率分布与预测概率分布的相似程度,因此选择使用交叉熵。

而MSE衡量的更多是“值”之间的差异,从背景意义来说,概率并不是简单的数值差异,不妨看两组数据,(0.9,0.8),(0.7,0.6),假设0.9和0.7是真实值,0.8和0.6是预测值,而(0.9,0.8)与(0.7,0.6)两组数据的真实值与预测值都只相差0.1,在数值上是没差异的,但如果从概率角度来说,把“0.9预测成0.8”与“0.7预测成0.6”则是不同的两码事。所以使用mse来评估,有所偏移。

另一方面,使用MSE来评估逻辑回归的损失是没有背景意义的,也就是即使知道损失函数L=3时,也并不知道这个3究竟代表模型“怎么样”。而使用交叉熵,不管是从最大似然角度还是交叉熵角度,都能够给予一个较具意义的解释。

3.2 逻辑回归-交叉熵损失函数相比MSE更易于求解

MSE不适合用于做逻辑回归的损失函数,因为当sigmoid函数中的值稍微大些或稍微小些的时候,很容易趋近于1或0,导致MSE很小,使得模型学不到东西。此外,MSE的极小值点特别多,而且与特征维度的平方成正相关,这对初始化有很大的要求。

而逻辑回归的交叉熵函数则不同,它已被证明,是一个凸函数,这意味着使用梯度下降等算法进行求解时,它必然能求解最优解,因此,交叉熵损失函数对于逻辑回归而言,在求解上更具优势。

放开来说,如果不是考虑到MSE的一些求解性能上的优势,MSE函数也不会被广泛应用,很可能被MAE替代,毕竟,MAE在某些方面来说,能更好地、客观地、符合实际地评估误差。但MAE是不连续可导的,因此给求解带来了困难,所以更多时候使用的是MSE函数。

总的来说,在设计损失函数的时候,不仅要考虑损失函数的合理性,同时也要求损失函数易于求解,毕竟,就是依靠它来求解参数的,如果极度不好求解,那再好的损失函数在实际中也是无法落地的。

四、拓展趣谈-逻辑回归与BP神经网络

4.1 逻辑回归与两层分类BP神经网络

我们说逻辑回归不使用MSE函数作为损失函数,指的是“逻辑回归”这一套模型在理论上不用MSE,并非从数学角度上说不能用MSE来求解逻辑回归模型的参数。甚至真的用MSE来求解逻辑回归模型,也不见得对模型的求解结果有太多的影响。

事实上,我们不妨放宽眼光,使用MSE函数作为损失函数来求解逻辑回归模型的参数也并非没有,比较巧的是,一个2层、输出层为softmax激活函数的BP神经网络实际就是一个逻辑回归模型!模型表达式是完全一样的!但BP神经网络往往就使用MSE损失函数。
也就是,同一套模型表达式,既是逻辑回归模型,也是BP神经网络模型。而逻辑回归用的是交叉熵损失函数,BP神经网络用的却是MSE损失函数!

4.2 为什么相同的模型却用不同的损失函数

为什么同样的模型,作为逻辑回归时使用MSE就很怪,而作为BP神经网络时却见怪不怪呢?这主要有两个原因,一方面是使用习惯,另一方面是模型的出发点不同。

BP神经网络的特色是“拟合万物”,它已经抛开了“概率”这一包袱,它只管“结果准确”就行,所以,在BP神经网络中使用MSE是完全没问题的。这也是BP作为“黑箱”,难以解释的原因。

但对于逻辑回归则不同,它的模型是从熵的概率一步一步推导而来,专为概率服务,且具有非常强烈的使用条件,例如X与Y必须正相关等等。因此,它必须是可解释的、白箱的,这时如果使用MSE就突兀且不适合了,在理论上难以自洽。


写文不易,点赞收藏吧~!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值