2.1.6 逻辑回归
逻辑回归(Logistic Regression)是一种预测分析,解释因变量与一个或多个自变量之间的关系,与线性回归的不同之处就是它的目标变量有几种类别,所以逻辑回归主要用于解决分类问题。与线性回归相比,它是用概率的方式,预测出属于某一分类的概率值。如果概率值超过50%,则属于某一分类。此外,它的可解释性强,可控性高,并且训练速度快,特别是经过特征工程之后效果更好。
按照逻辑回归的基本原理,求解过程可以分为以下3步。
(1)找一个合适的预测分类函数,用来预测输入数据的分类结果,一般表示为h函数,需要对数据有一定的了解或分析,然后确定函数的可能形式。
(2)构造一个损失函数,该函数表示预测输出(h)与训练数据类别(y)之间的偏差,一般是预测输出与实际类别的差,可对所有样本的偏差求 R2值等作为评价标准,记为 L(θ)函数。
(3)找到 L(θ)函数的最小值,因为值越小表示预测函数越准确。求解损失函数的最小值采用梯度下降法。
二分类问题中一般使用 Sigmoid 函数作为预测分类函数,其函数公式为,对应的函数图像是一条取值在0和1之间的S形曲线,如图2-5所示。
图2-5 Sigmoid函数
二分类问题使用概率来实现预测,首先构造h函数:
其中,θ0、θ1、θ2就是要求解的方程参数值,θ0为截距。假设X 是自变量的矩阵,θ是线性方程系数矩阵:
对 h 函数的表示形式进行简化,得到如下公式:
其中,hθ(x)函数的值表示概率值,即结果取1的概率。因此,对于输入x,分类属于类别1和类别0的概率分别用如下公式表示:
当函数的结果大于50%时,可以认为属于类别1的可能性较高。当然,阈值50%可以结合实际业务进行调整。
在求解过程中,关键是如何确定θ的值。首先要定义损失函数L(θ),即误差评价指标。在逻辑回归中损失函数采用对数损失函数:
当真实值y=1时,,当预测值越接近1时,就越接近值0,表示损失函数值越小,误差越小。而当预测值越接近于0时,就越接近负无穷,加上负号后就代表误差越大。
当真实值y=0时,,当预测值越接近0时,也越接近0,表示损失函数值越小,误差越小。而当预测值越接近1时,越接近负无穷,加上负号后就代表误差越大。
基于上述损失函数公式,计算所有样本的损失函数结果,并采用梯度下降法不断迭代求偏导,逐渐逼近θ的最佳值,使损失函数取得极小值。其中损失函数一般采用最大似然估计或对数似然函数来代替。对逻辑回归算法的效果评估,一般采用曲线下面积(Area Under the Curve, AUC)指标来评价。