在理解Logistic回归算法原理中我们指出了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,所以就有了这个上面出现过的式子:
在这里其实是可以用最大似然估计的方法来求这个解的,但是在实际的优化中,我们往往直接使用梯度下降法。