线性回归vs逻辑回归(二)——损失函数比较

        上一篇讨论了线性回归和逻辑回归的模型结构,以及从线性回归到逻辑回归的推导过程,这一篇将进一步比较两者的损失函数的异同。

1.0 线性回归

1.1 平方和损失函数&一般最小二乘法

        损失函数(loss function),也称成本函数(cost function),描述的是模型的预测值与真实值的差异,并将这种差异映射为非负实数以表示模型可能带来的“风险”或“损失”。机器学习中将损失函数作为模型拟合好坏的评判准则,并通过最小化损失函数求解和评估模型。

        一般最小二乘法(Ordinary Least Squares, OLS),是目前通用的构建线性回归损失函数并求解参数的方法。OLS的思想非常直观,通过构建真实值与模型预测值差值的平方和(构建思想同方差)来衡量模型预测的差距,并且平方还能够使得差值越大,“损失”越大,差值越小,损失“越小”,比起线性方法(如绝对值和)更能准确反应差值带来的“损失”大小。

        对所有样本数据的“损失”求和就得到了线性回归模型的损失函数,即。而使得损失函数最小的,就认为是模型回归系数的最佳估计,即:

        其中。

        求解,只需对损失函数进行求导,得导函数,令导函数为零,即可求得最佳估计:

2.2 损失函数的概率理解 & 极大似然估计

        对于线性回归,代表模型所有未能观测到的误差集合,其中也包含模型的偏差。根据大数定律,有~,于是有:

        上式了表示了对特征用参数估计得到的概率。

        又由于相互独立,进行联合乘积就得到所有输出结果的概率:

        为了使模型的预测结果更接近真实值,就需要使预测概率最大。根据极大似然估计,求使上式最大值的参数即可:

         对上式两边作对数,得:

                            

        上式中,和均为常数,为使最大,只需求即可,这刚好就是线性回归的平方和损失函数,而平方和损失函数就反映了预测值接近于真实值的概率。

2.0 逻辑回归

2.1 对数损失函数

        线性回归损失函数通过真实值和预测值的差积,直接计算了模型的“损失”。但是逻辑回归中,样本的真实值只有两种{0, 1},且预测值为0~1的概率值,使用差积会使得损失值缩小(概率差值是小于1的数,平方后会变小),对于差值损失的放大作用也非常不明显,因此采用对数化处理,作为损失的横量。

        假设的类别,那么理想情况下真实概率值为,即百分百分类正确,而逻辑回归的预测概率值为,简化记为。那么与之间的“损失”,直接作对数处理即可:

        那么上式中“损失”的意义该怎么理解呢?通过下图对数函数的函数图像来说明一下,其中横轴为分类概率,纵轴为模型损失。那么对于一个类别为1的样本,真实的分类概率就应该为1.0。那么若预测概率也为1.0,那么此时的模型损失就为,即无损失。

        现在有两个逻辑回归模型LR1和LR2,LR1对于该样本分类的预测概率为,LR2对于该样本分类的预测概率为,则和分别为两个模型的预测差异,,则为两个模型的损失。并且由图可知且,说明当LR1的预测概率比LR2的预测概率更接近真实概率(更准确)时,LR1的预测损失要小于LR2的损失。

对数函数与概率预测损失

        从上图可以看出,对数函数的图形可以非常好的反应预测概率的损失,并且对于当预测概率趋近于0时,即预测错误偏离严重时,对数化的概率趋近于正无穷,使得模型损失非常大,这更符合建模的基本原则,因此对数损失可以较好的描述逻辑回归的模型损失。

        上图是以样本真实类别为1时为例,那么当样本真实类别为0时,则预测损失可写为:

        由于样本的类别只有{0, 1}两种可能,因此可将两个损失函数合并为一,即为:

              

        再将所有样本数据的损失求和,就得到了逻辑函数的损失函数,如下。该损失函数被称为对数损失函数,但更多时候被称为交叉熵损失函数

        又由于,因此可采取线性回归的同样的参数求解方法得到。

        有意思的是,逻辑回归损失函数的导函数与线性回归的导函数形式非常类似(具体推导过程参见https://www.jianshu.com/p/de01516618df):

2.2 损失函数的概率理解 & 极大似然估计

        假设的类别,那么逻辑回归的预测概率为,若,则预测概率。这两种情况可以写成一个式子:

        理想情况下,若样本类别为1,真实预测概率;若样本类别为0,真实预测概率。因此当尽可能大时,得到的越接近真实概率。因此为使得模型预测准确,只需求:

 

        那么对于所有样本数据来说,由于样本间相互独立,求模型整体预测概率最大就是求所有的乘积最大,即:

        根据极大似然估计,要使得最大,就需要求使得取最大值时的参数,其中。

        对上式两边取对数,如下。等号右边刚好是逻辑回归损失函数,不过损失函数通常是求最小值,因此对右式加负号改成求最小即可。

        

你可能感兴趣的:(线性回归vs逻辑回归(二)——损失函数比较)