分享

用Sklearn实现Logistic回归

 geoallan 2018-12-22

Logistic回归:回归还是分类?

为什么我们使用Logistic回归来完成分类任务?如果我们按其名称命名,它似乎是一种回归技术。但是它也是一种分类技术,但是如果我们将数据拟合到线性回归模型中,然后应用logit函数,该函数基本上是预测每个类的概率,并且基于概率,我们可以推断出,在二进制分类问题的情况下,样本实例属于具有最高概率或概率>0.5的类。

我们可以应用Logistic回归的情况

  1. 垃圾邮件检测:是否为垃圾邮件。

  2. 预测水果是苹果还是橙子。(最简单的分类)

这里涉及了两个类的更多分类问题。

Logistic回归如何运作?

现在我们已经对Logistic回归基本上是什么进行了概述,现在我们将看看它是如何工作的,它如何为我们提供预测类。

第1步(应用线性回归)

在这一步中,我们将对数据应用线性回归。公式是Y = mX + b。

第2步(在获得的Y上应用Logistic函数)

现在我们需要在二元分类的情况下应用Logistic函数,即Sigmoid函数。

用Sklearn实现Logistic回归

该数据实例的概率值

Sigmoid函数

逻辑 - 也称为logit,记为σ(·) - 是一个Sigmoid函数(即S形),它输出一个介于0和1之间的数字。

用Sklearn实现Logistic回归

应用Sigmoid函数

第3步(制作预测)

现在我们有数据实例的概率,我们可以预测它是属于一个类还是另一个类。

如果概率值小于0.5,那么它将归属于0级,否则它属于1级。

用Sklearn实现Logistic回归

我们已经看到Logistic回归模型如何预测,但最重要的部分它是如何被训练出来的。

训练和成本函数

训练的目的是设置参数向量θ,使得模型估计正实例的高概率(y = 1)和负实例的低概率(y = 0)。以下是Logistic回归模型的成本函数。

用Sklearn实现Logistic回归

成本函数

我把p作为预测概率,y作为正确输出。

情况1(Correct out= 0和p <>如果正确的输出为0,那么它将转到对应于y = 0的第2个等式(在上面的图像中查看成本函数)并且当p更接近0时它将给出c = -log(1-p)的较小成本值,即接近零

情况2(Correct out= 0且p≥0.5):如果正确输出为0,那么它将转到对应于y = 0的第2个等式,并且对于p = 0.5,然后对于p = 1,它将导致无穷大。对错误的预测进行惩罚

情况3(Correct out= 1且p <>如果正确输出为1,则它将转到对应于y = 1的第1个等式,并且当p更接近于0时,它将为c = -log提供非常高的成本值(p)即导致无穷大。对错误的预测进行惩罚

情况4(Correct out= 1且p≥0.5):如果正确输出为1,则它将转到对应于y = 1的第1个等式,并且当p更接近1时,它将给出c = -log的较小成本值( p)即接近零

因此,到目前为止,您必须了解成本函数如何对每个错误预测进行大量惩罚。整个训练集的成本函数就是所有训练实例的平均成本。它可以写在一个名为log loss的表达式中。

用Sklearn实现Logistic回归

log loss公式

该等式看起来非常类似于成本函数。它计算预测误差并将其乘以j特征值,然后计算所有训练实例的平均值。

整个讨论是针对二进制分类(具有两个输出类)。

但是,如果我们有两个以上的输出类呢?那么多项Logistic回归就会出现。

多项Logistic回归

它与二元Logistic回归相同,但略有修改。这里我们将应用Softmax函数而不是sigmoid函数。

用Sklearn实现Logistic回归

Softmax函数

多项Logistic回归只不过是M-1(M =类数)二元逻辑回归模型的结果。

用Sklearn实现Logistic回归

多项Logistic回归图像

Softmax函数将logit作为输入,然后预测每个类的概率。具有最大概率的类是输出类。

用于Logistic回归的Sklearn实现

我使用过Kaggle提供的Iris Dataset。

用Sklearn实现Logistic回归

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多