参考的博客:
logistic回归
似然函数的理解
所有公式内容来自小象学院的邹博老师
一、logistic回归的原理
logistic回归是将线性回归的预测结果作为一个映射函数的变量,该映射函数得到的结果只有0和1,如果我们把1看作正类,把0看作负类,我们就可以对测试样本进行分类。
这时我可能会想到这样一个分段函数作为这个映射函数:
(z是线性回归的预测结果)
y=1看作正类,y=0看作负类,y=0.5随机分类
但这个函数不是连续的,那么我们就无法建立似然函数求得最佳参数。
所以我们将引入sigmoid函数(s函数),它的值域位于(0,1)之间:
它的图像如下:
它的导数如下:
二、logistic回归的参数估计
1、logistic回归的预测函数
注意logistic的预测函数并不是假设的,而是推导出来的,请看下面这篇博客:
逻辑回归的预测函数推导
首先我们知道线性回归的预测函数是:
那么我们得出logistic回归的预测函数:
2、构建似然函数
首先logistic回归用来实现二分类,它是一种有监督的学习方法,所以假设训练数据已经被分成了两类,我们将y=1看作正类,y=0看作负类。
假设参数θ已知,那么该样本为正类的概率如下:
(hθ(x)的值位于0和1之间,那么我们可以用它作为某样本分为正类的概率)
则样本为负类的概率如下:
将上面两个式子合并来写就可以得到某个样本x被分为正类或者负类的概率:
如果有m个样本,(x(1),y(1)), (x(2),y(2))…(x(m),y(m)),其中y(i) (1=< i <=m)是我们已经分类好的(将y值置为0或者1),那么这m个样本在参数θ已知的情况下,被正确分类为我们人为分类的正类或者负类的概率如下:
上面的式子就是我们得到的似然函数L(θ),当上面这个概率达到最大值,我们就认为此时的参数θ是最优的。也就是说我们用这个θ去预测测试样本的类别所达到的效果是最好的。
似然函数:
对上式两边取对数得到对数似然将它记做J(θ):
(这里对数取的是自然对数)
3、用梯度上升算法求θ的迭代公式(求导法无法得到解析解):
(要得到对数似然函数的最大值,所以用梯度上升)
4、交叉熵
给对数似然函数 l(θ)加一个负号,就得到了交叉熵公式,它作为一种损失函数。