一、算法简介

1.1 定义

逻辑回归(Logistic Regression) 虽然名字中有回归,但模型最初是为了解决二分类问题。

线性回归模型帮助我们用最简单的线性方程实现了对数据的拟合,但只实现了回归而无法进行分类。因此LR就是在线性回归的基础上,构造的一种分类模型。

对线性模型进行分类如二分类任务,简单的是通过阶跃函数(unit-step function),即将线性模型的输出值套上一个函数进行分割,大于z的判定为0,小于z的判定为1。如下图左所示

逻辑回归中的p值计算 逻辑回归系数求解_机器学习

逻辑回归中的p值计算 逻辑回归系数求解_线性回归_02

但这样的分段函数数学性质不好,既不连续也不可微。因此有人提出了对数几率函数,见上图右,简称Sigmoid函数。

逻辑回归中的p值计算 逻辑回归系数求解_机器学习_03

该函数具有很好的数学性质,既可以用于预测类别,并且任意阶可微,因此可用于求解最优解。将函数带进去,可得LR模型为

逻辑回归中的p值计算 逻辑回归系数求解_逻辑回归中的p值计算_04

其实,LR 模型就是在拟合 z = w^T x +b 这条直线,使得这条直线尽可能地将原始数据中的两个类别正确的划分开。

1.2 损失函数

回归问题的损失函数一般为平均误差平方损失 MSE,LR解决二分类问题中,损失函数为如下形式

逻辑回归中的p值计算 逻辑回归系数求解_算法_05

这个函数通常称为对数损失logloss,这里的对数底为自然对数 e ,其中真实值 y 是有 0/1 两种情况,而推测值 y^ 由于借助对数几率函数,其输出是介于0~1之间连续概率值。因此损失函数可以转换为分段函数

逻辑回归中的p值计算 逻辑回归系数求解_线性回归_06

1.3 优化求解

线性回归模型的模型如下:

逻辑回归中的p值计算 逻辑回归系数求解_逻辑回归中的p值计算_07

将上述线性回归的模型带入到g(x)中,得到最终的逻辑回归的模型:

逻辑回归中的p值计算 逻辑回归系数求解_机器学习_08

使用极大似然估计的推导过程

逻辑回归中的p值计算 逻辑回归系数求解_机器学习_09

将上面两个式子整合为下面一个公式:

逻辑回归中的p值计算 逻辑回归系数求解_逻辑回归中的p值计算_10

那么似然函数为:

逻辑回归中的p值计算 逻辑回归系数求解_机器学习_11

m表示样本个数,为了方便计算,取对数得:

逻辑回归中的p值计算 逻辑回归系数求解_线性代数_12

求上式的极大值,引入因子 -1/m,转化为求下式的极小值:

逻辑回归中的p值计算 逻辑回归系数求解_算法_13

逻辑回归中的p值计算 逻辑回归系数求解_机器学习_14偏导数推导如下:

逻辑回归中的p值计算 逻辑回归系数求解_线性回归_15

 

其中(2)引用以下化简公式得出(3),以下对X求导,上述的对X函数里边的逻辑回归中的p值计算 逻辑回归系数求解_机器学习_16求导:

逻辑回归中的p值计算 逻辑回归系数求解_机器学习_17

 

则梯度下降更新逻辑回归中的p值计算 逻辑回归系数求解_机器学习_14值:

 

逻辑回归中的p值计算 逻辑回归系数求解_机器学习_19

此外,优化算法还包括

  • Newton Method(牛顿法)
  • Conjugate gradient method(共轭梯度法)
  • Quasi-Newton Method(拟牛顿法)
  • BFGS Method
  • L-BFGS(Limited-memory BFGS)

上述优化算法中,BFGS与L-BFGS均由拟牛顿法引申出来,与梯度下降算法相比,其优点是:第一、不需要手动的选择步长;第二、比梯度下降算法快。但缺点是这些算法更加复杂,实用性不如梯度下降。