逻辑回归推导
Xiao Feng Lv2

介绍

逻辑回归是一种广义上的线性回归模型,简单来看就是将线性回归的结果 通过一个映射函数 sigmoid 映射到 0-1 区间,将 sigmoid 函数输出当做概率值,当概率值大于 0.5 时分类为正类,反之反类。

Sigmoid函数:

sigmoid曲线图

推导模型公式

模型公式

⚠️ 注意:

  • 是预测的类别,
  • 是真实的类别,
  • 视作概率值(这个模型就是这样设计的),
  • 是这个模型的 参数(实际上和线性回归的参数一样)

推导损失函数

条件概率表示

首先写出模型的条件概率表示(在给定样本 下):

给定输入样本 ,模型输出 表示预测类别为 的概率,即:

同样,预测类别为 的概率是:

,上面的公式可以写为:

给定输入样本 ,预测类别为 的概率:

同样,预测类别为 的概率是:


最大似然函数

这里实际上将sigmoid输出当做概率,我们目标追求 正确分类的概率 要越高越好 (注意这里的 是真实类别,所以 就是正确分类的概率值)。

使用最大似然估计来求使 达到最大的参数 ,故可以得到参数 的似然函数如下:

©️ 符号说明:

  • : 样本数量
  • : 为样本特征纬度
  • : 单个样本的特征,是一个行向量
  • : 每个样本特征组成的矩阵,形状为
  • : 第 个样本的特征
  • : 单个样本的类别标签
  • : 样本类别组成的向量,形状为
  • : 第 个样本的真实类别

改写最大似然函数

替代为

生效; 失效, 生效。所以这种替代是等效的。

这其实是为什么要定义正类编码为 ,负类编码为 的原因,这样做可以简洁表示,简化了后面的推导过程。如果定义为其他数字也是可以的,不过后续推导会很繁琐。

然后就可以得到下面这种形式:


对数似然函数

为了计算方便,在上式两边取对数:

最大化对数似然 等价于 最大化似然


损失函数

得到 对数似然 后,我们需要最大化 对数似然 得到参数

我们知道求解一个模型是需要将模型的损失函数最小化,但是现在我们需要最大化对数似然,所以将对数似然 取负,然后最小化 即可。

故损失函数为:

📝 备注:
在逻辑回归的损失函数中,我们希望对所有训练样本的损失进行求和,然后再通过 来平均,这样可以使损失函数对每个样本的贡献相等,避免训练数据量的大小对损失函数的影响过大。


梯度下降求解

先计算一些后面会用到的结果:

  • sigmoid函数的导数
  • 1 - sigmoid函数的导数:

  • 对数 sigmoid函数的导数:
  • 对数 1 - sigmoid函数的导数:

一通算后,终于可以开始计算损失函数的导数:

中间计算详细过程:

  • :

  • :



迭代更新公式

梯度下降更新公式:

 评论
评论插件加载失败
正在加载评论插件