Logistic回归损失函数证明

来源:互联网 发布:二叉树的遍历算法c 编辑:程序博客网 时间:2024/06/04 18:46

在理解Logistic回归算法原理中我们指出了Logistic回归的损失函数定义(在这里重新约定符号):
对于单个样本而言,令这里写图片描述为样本的期望输出,记为y;这里写图片描述为样本的实际输出,记为y_hat,那么Logistic回归的损失函数就可以表示为:
这里写图片描述

而对于全体样本集的成本函数,就可以表示为:
这里写图片描述

与损失函数不同的是,它描述了在全体样本上集上,模型的参数w和b与优化目标之间的关系,在这两个公式中,成本函数其实是损失函数的平均值。

那么我们先看一下对于损失函数而言,为什么它能发挥作用:

如果期望输出y=1,那么优化目标为min L(y,y_hat)=min[-log(y_hat)],显然此时y_hat的越大,优化目标会得到最小值;
如果期望输出y=0,那么优化目标为min L(y,y_hat)=min[-log(1-y_hat)],显然此时y_hat的越小,优化目标会得到最小值;

下面证明下这个损失函数是怎么来的:
Logistic回归模型如下:

这里写图片描述

那么令y_hat为给定x的情况下y=1的概率:

这里写图片描述

那么则有:

这里写图片描述

由于是个二分类问题,y的值非1即0,那么合并上式就可得到:

这里写图片描述

同时由于log函数是严格单调递增的函数,在机器学习中,我们往往不太关注log的底数到底是什么,甚至直接省略掉,所以出现了log的写法,但是在数学中这样写是错的。所以,为了后续求解方便,我们可以取对数:

这里写图片描述

而对于成本函数来说,他对于整个训练集优化w和b,所以就有了这个上面出现过的式子:
这里写图片描述
在这里其实是可以用最大似然估计的方法来求这个解的,但是在实际的优化中,我们往往直接使用梯度下降法。