逻辑回归模型算是机器学习的一种基本方法,但也有很多细节。本篇文章从原理入手,力求化繁为简,如有错漏,烦请指正。

什么是逻辑回归:

逻辑回归是一种分类模型。给定输入X, 可以将Y的条件概率P(Y|X)形式化为logistic分布。具体地讲,以二分类为例,逻辑回归模型为:

keras 逻辑回归 二分类 分类逻辑回归模型_keras 逻辑回归 二分类

keras 逻辑回归 二分类 分类逻辑回归模型_分类_02

对于逻辑回归模型,给定x,根据以上两个式子求得P(Y=1|x)和P(Y=0|x),比较两个概率大小,然后将x分类为概率最大的一类。

p为一个事件发生的概率,则一个事件发生的几率为p/(1-p),而:

keras 逻辑回归 二分类 分类逻辑回归模型_keras 逻辑回归 二分类_03

可以看出逻辑回归的特点,输出Y=1的几率为输入x的线性函数。

损失函数:

keras 逻辑回归 二分类 分类逻辑回归模型_逻辑回归_04

似然函数为:

keras 逻辑回归 二分类 分类逻辑回归模型_算法_05

对数似然函数为:

keras 逻辑回归 二分类 分类逻辑回归模型_keras 逻辑回归 二分类_06

        

keras 逻辑回归 二分类 分类逻辑回归模型_分类_07

        

keras 逻辑回归 二分类 分类逻辑回归模型_keras 逻辑回归 二分类_08

损失函数为负平均对数似然:

keras 逻辑回归 二分类 分类逻辑回归模型_算法_09

在逻辑回归中,最小化损失函数即为最大化对数似然

求解:

主要求解方法:梯度下降法(随机梯度下降、mini-batch梯度下降等),牛顿法等

1.随机梯度下降:

keras 逻辑回归 二分类 分类逻辑回归模型_牛顿法_10

keras 逻辑回归 二分类 分类逻辑回归模型_算法_11

2.牛顿法:

基本思路是在现有极小估计点附近做二阶泰勒展开,得到导数为0的点进行一个更新,直到达到要求。设

keras 逻辑回归 二分类 分类逻辑回归模型_算法_12

为目前的极小估计点:

keras 逻辑回归 二分类 分类逻辑回归模型_牛顿法_13


keras 逻辑回归 二分类 分类逻辑回归模型_牛顿法_14

,可得:

keras 逻辑回归 二分类 分类逻辑回归模型_逻辑回归_15

其中

keras 逻辑回归 二分类 分类逻辑回归模型_keras 逻辑回归 二分类_16

为海森矩阵

缺点:牛顿法是定长迭代,没有步长因子,所以不能保证函数值稳定的下降。牛顿法要求函数一定是二阶可导的。而且计算Hessian矩阵的逆复杂度很大。

所以提出拟牛顿法,用一个特别的表达形式来模拟Hessian矩阵或者是他的逆使得表达式满足拟牛顿条件。主要有DFP法(逼近Hession的逆)、BFGS(直接逼近Hession矩阵)、 L-BFGS(可以减少BFGS所需的存储空间)。

正则化:

1、L1正则(LASSO回归):

对参数增加一个先验,服从零均值拉普拉斯分布:

keras 逻辑回归 二分类 分类逻辑回归模型_逻辑回归_17

所以负对数似然变为:

keras 逻辑回归 二分类 分类逻辑回归模型_分类_18

2、L2正则(Ridge回归):

对参数w增加一个先验,服从零均值正态分布:

keras 逻辑回归 二分类 分类逻辑回归模型_算法_19

负对数似然为:

keras 逻辑回归 二分类 分类逻辑回归模型_逻辑回归_20

3、作用与区别

控制模型复杂度,惩罚过大的参数来防止过拟合。L1正则化可以产生稀疏权值矩阵,从而可以进行特征选择。