[关闭]
@jocker--- 2017-06-15T02:53:24.000000Z 字数 3542 阅读 1364

逻辑回归

算法


1. 什么是逻辑回归?

logistic regression 是统计学习中的经典分类方法。它与多重线性回归实际上有很多相同之处,最大的区别就在于他们的因变量不同。logistic regression将回归拟合的线性函数值映射到了一个Sigmoid函数上,形成概率模型。
逻辑回归的因变量可以是二分类的,也可以是多分类的,但是二分类更为常用,也更容易解释。实际中最为常用的也是二分类的logistic regression。

2. 建模的常规步骤

  1. 特征工程,包括自变量的标准化,缺失值的处理,变量的选取等。
  2. 构造预测函数(hypotheis)
  3. 构造损失函数(cost function)
  4. 通过计算损失函数的最小值,求得回归系数

3. 逻辑回归求解推导

逻辑回归的预测函数的形式如下:


逻辑回归中使用了Sigmoid函数,将数值影射为概率,其中Sigmoid函数形式如下:
对于现线性边界的情况,边界形式如下:

构造的的预测函数为:

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

采用一些技巧,将预测函数改写为下式:

构造损失函数:

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

首先我们选择一个决策边界函数,此边界函数将正负样本分离,决策边界的一边为正样本,另一边为负样本。并且距离决策边界越远,映射到sigmoid函数所得的概率值越大或越小(正样本越大,负样本越小)。这也很符合我们的常规认识,点离决策边界越远,也表示点分为该类,可信度越高
对于Cost function 我们希望对于我们希望建立起错误分类的 点与Cost function的联系,错误分类的点越多,分类的概率值越不准确,Cost function的值越大。并且Cost Function应该为一个凸函数,以此避免当我们使用梯度下降法,计算最优解是,陷入局部最优。所以我们采用对数函数作为Cost Function,当正样本标记为1,但是所预测的概率越低,Cost Function的值越大,负样本同理。我们使用和预测函数中用到的同样技巧,将正负样本的代价函数结合在一起就获得了Cost Function
而建立Cost Function 最大的意义就是建立起我们需要猜测的系数 与预测偏差之间的联系!

使用梯度下降法对 进行更新,的更新公式可以写成如下形式:

我们引入一个做为梯度下降的更新速率。
假设我们在一个二维的平面曲线中,我们现在在曲线的某一点上,我们希望走至曲线的最低点,那我们可以对此时我们所处的位置求导,如果此时该点的导数为正数,意味着我们可以回退几部走向曲线的最低点,如果此时该点的导数为负数,则意味着我们可以继续往前走,走向最低点,我们通过来控制前进的速度。

将上面的求导过程展开:


所以 的更新过程可以从新整理为以下形式,这样方面我们直观理解,接下来如何将该式改变为矩阵计算的形式。

输入自变量数据为以下形式:


输入因变量数据为以下形式:

输入的自变量系数向量为以下形式:

数值计算过程可以写成如下形式:

误差矩阵可以写成如下形式:

结合上述公式,系数向量 的更新方程可以写成如下形式:

即:

这样我们就得到了逻辑回归整个的求解方法。我们通过Cost Function,不断调节自变量系数 减少预测误差,以拟合出一条优秀的决策边界。

4. 惩罚函数

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注