逻辑回归

2017-05-29  本文已影响83人  jockerMe

什么是逻辑回归?

logistic回归与多重线性回归实际上有很多相同之处,最大的区别就在于它们的因变量不同。但这两种回归可以归于同一个家族,既广义线性模型(generalizedlinear model)。

随着因变量的不同,被称为不同的回归模型:

Logistic回归的因变量可以是二分类的,也可以是多分类的,但是二分类的更为常用,也容易解释。实际中最为常用的也是二分类的Logistic回归。

常规步骤:

  1. 特征工程,寻找与因变量具有相关性的自变量
  2. 寻找h函数(hypotheis)
  3. 构造损失函数(cost function)
  4. 通过计算损失函数的最小值,求得回归参数()

构造预测函数Hypotheis

Logistic回归是一种分类方法,主要用于分类问题,函数的形式为:

逻辑回归中利用到了Logistic函数(或称为Sigmoid函数),形如下图:

下面的图来自于 Coursera 中机器学习课程,左图是一个线性决策边界,右图是一个非线性的决策边界:

对于线性边界的情况,边界形式如下:

构造预测函数为:

预测函数的值有特殊的含义,它表示结果取1的概率,因此对于输入x分类结果为类别1和类别0的概率分别为:

预测函数也可写成以下形式:

构造损失函数:

在线性函数中

损失函数可改写为如下形式:

在这里,尝试解释以下整个逻辑回归算法:
首先我们尝试找到一个决策边界函数h,此决策边界函数h有如下特性,针对正负样本,随着正负样本离决策边界h越远,代入决策边界函数的值越大或越小(分别大于或者小于0),将样本点入决策边界所得的值,代入sigmoid函数,映射为分类结果的概率值。然而对于CostFunction,我们希望当误分的点越多CostFunction的值越大,并且计算出的概率对应正确分类的概率越大,CostFunction值越小。并且CostFunction 应该是一个凸函数,以此避免当我们使用梯度下降,计算最优解时,陷入局部最优。所以我们构造如上所示的CostFunction,当正样本标记为1,且概率为1 时,CostFunction的值为0。当正样本标记为1,概率越低, CostFunction的值越大。负样本同理,我们使用技巧,将正负样本的代价函数结合在一起,就获得了CostFunction J。

代价函数的求解

对J(θ)求导:

θ的更新过程可以表示如下公式,其中α表示为梯度下降的更新速率:

使用矩阵计算的方式,更新权重θ:



θ的更新可写成以下形式:

既:

过拟合问题:

对于线性回归或者逻辑回归的损失原函数构成的模型,由于对于数据集的过分拟合,使得模型的复杂度变高,泛化能力较差(对未知数据的预测能力)

当数据集出现过拟合,往往由于所选择的变量数据集来自过多的特征,以及数据集中存在噪点。

通常遇到这种问题 : 我们可以采用特征工程,进行变量筛选。选用与因变量相关性比较高的特征。或者我们可以对CostFunction添加正则惩罚项。

上一篇 下一篇

猜你喜欢

热点阅读