文章目录

  • 前言
  • 一、逻辑回归——一个叫“回归”的分类器
  • 二、为什么需要逻辑回归
  • 三、sklearn中的逻辑回归



前言

开始学习逻辑回归!!!!


一、逻辑回归——一个叫“回归”的分类器

回归树,随机森林的回归,无一例外他们都是区别于分类算法们,用来处理和预测连续型标签的算法。然而逻辑回归,是一种名为“回归”的线性分类器,其本质是由线性回归变化而来的,一种广泛使用于分类问题中的广义回归算法

要理解逻辑回归从何而来,得要先理解线性回归。线性回归是机器学习中最简单的的回归算法,他的方程是:
逻辑回归后为什么还要用sigmoid 逻辑回归为什么叫回归_逻辑回归后为什么还要用sigmoid

  • 逻辑回归后为什么还要用sigmoid 逻辑回归为什么叫回归_回归_02: 统称为模型的参数
  • 逻辑回归后为什么还要用sigmoid 逻辑回归为什么叫回归_线性回归_03: 截距(intercept)
  • 逻辑回归后为什么还要用sigmoid 逻辑回归为什么叫回归_逻辑回归后为什么还要用sigmoid_04: 系数(coefficient)

我们可以使用矩阵来表示这个方程,其中x和逻辑回归后为什么还要用sigmoid 逻辑回归为什么叫回归_逻辑回归后为什么还要用sigmoid_05都可以被看做是一个列矩阵,则有:
逻辑回归后为什么还要用sigmoid 逻辑回归为什么叫回归_逻辑回归后为什么还要用sigmoid_06

线性回归的任务,就是构造一个预测函数 来映射输入的特征矩阵x和标签值y的线性关系,而构造预测函数的核心就是找出模型的参数: 逻辑回归后为什么还要用sigmoid 逻辑回归为什么叫回归_线性回归_07逻辑回归后为什么还要用sigmoid 逻辑回归为什么叫回归_线性回归_03 ,著名的最小二乘法就是用来求解线性回归中参数的数学方法。

通过函数 ,线性回归使用输入的特征矩阵X来输出一组连续型的标签值y_pred,以完成各种预测连续型变量的任务(比如预测产品销量,预测股价等等)

如果我们的标签是离散型变量,尤其是,如果是满足0-1分布的离散型变量,可以通过引入联系函数(link function),将线性回归方程z变换为g(z),并且令g(z)的值分布在(0,1)之间,且当g(z)接近0时样本的标签为类别0,当g(z)接近1时样本的标签为类别1,这样就得到了一个分类模型。而这个联系函数对于逻辑回归来说,就是Sigmoid函数

逻辑回归后为什么还要用sigmoid 逻辑回归为什么叫回归_机器学习_09

逻辑回归后为什么还要用sigmoid 逻辑回归为什么叫回归_逻辑回归后为什么还要用sigmoid_10

Sigmoid函数的公式和性质

  • Sigmoid函数是一个S型的函数,当自变量z趋近正无穷时,因变量g(z)趋近于1,而当z趋近负无穷时,g(z)趋近于0,它能够将任何实数映射到(0,1)区间,使其可用于将任意值函数转换为更适合二分类的函数。因为这个性质,Sigmoid函数也被当作是归一化的一种方法,与我们之前学过的MinMaxSclaer同理,是属于数据预处理中的**“缩放”功能**,可以将数据压缩到[0,1]之内。区别在于,MinMaxScaler归一化之后,是可以取到0和1的(最大值归一化后就是1,最小值归一化后就是0),但Sigmoid函数只是无限趋近于0和1。

线性回归中逻辑回归后为什么还要用sigmoid 逻辑回归为什么叫回归_线性回归_11,于是我们将 带入,就得到了二元逻辑回归模型的一般形式:
逻辑回归后为什么还要用sigmoid 逻辑回归为什么叫回归_线性回归_12

逻辑回归后为什么还要用sigmoid 逻辑回归为什么叫回归_回归_13就是逻辑回归返回的标签值,逻辑回归后为什么还要用sigmoid 逻辑回归为什么叫回归_回归_13的取值在[0,1]之间,因此逻辑回归后为什么还要用sigmoid 逻辑回归为什么叫回归_回归_13逻辑回归后为什么还要用sigmoid 逻辑回归为什么叫回归_逻辑回归_16相加之和为1,如果令逻辑回归后为什么还要用sigmoid 逻辑回归为什么叫回归_回归_13除以逻辑回归后为什么还要用sigmoid 逻辑回归为什么叫回归_逻辑回归_16可以得到形似几率(odds)逻辑回归后为什么还要用sigmoid 逻辑回归为什么叫回归_回归_19,在此基础取对数,可以得到:
逻辑回归后为什么还要用sigmoid 逻辑回归为什么叫回归_线性回归_20

y(x)的形似几率取对数的本质其实就是我们的线性回归z,我们实际上是在对线性回归模型的预测结果取
对数几率来让其的结果无限逼近0和1
。因此,其对应的模型被称为对数几率回归****(logisticRegression),也就是我们的逻辑回归,这个名为“回归”却是用来做分类工作的分类器


二、为什么需要逻辑回归

线性回归对数据的要求很严格,比如标签必须满足正态分布,特征之间的多重共线性需要消除等等,而现实中很多真实情景的数据无法满足这些要求,因此线性回归在很多现实情境的应用效果有限。逻辑回归是由线性回归变化而来,因此它对数据也有一些要求,而我们之前已经学过了强大的分类模型决策树和随机森林,它们的分类效力很强,并且不需要对数据做任何预处理。

何况,逻辑回归的原理其实并不简单。一个人要理解逻辑回归,必须要有一定的数学基础,必须理解损失函数,正则化,梯度下降,海森矩阵等等这些复杂的概念,才能够对逻辑回归进行调优。其涉及到的数学理念,不比支持向量机少多少。况且,要计算概率,朴素贝叶斯可以计算出真正意义上的概率,要进行分类,机器学习中能够完成二分类功能的模型简直多如牛毛。因此,在数据挖掘,人工智能所涉及到的医疗,教育,人脸识别,语音识别这些领域,逻辑回归没有太多的出场机会。

无论机器学习领域如何折腾,逻辑回归依然是一个受工业商业热爱,使用广泛的模型,因为它有着不可替代的优点:

  • 逻辑回归对线性关系的拟合效果非常非常非常好:
    特征与标签之间的线性关系极强的数据,比如金融领域中的信用卡欺诈,评分卡制作,电商中的营销预测等等相关的数据,都是逻辑回归的强项。虽然现在有了梯度提升树GDBT,比逻辑回归效果更好,也被许多数据咨询公司启用,但逻辑回归在金融领域,尤其是银行业中的统治地位依然不可动摇(相对的,逻辑回归在非线性数据的效果很多时候比瞎猜还不如,所以如果你已经知道数据之间的联系是非线性的,千万不要迷信逻辑回归)
  • 逻辑回归计算快:
    对于线性数据,逻辑回归的拟合和计算都非常快,计算效率优于SVM和随机森林,在大型数据上尤其能够看得出区别
  • 逻辑回归返回的分类结果不是固定的0,1,而是以小数形式呈现的类概率数字:
    我们因此可以把逻辑回归返回的结果当成连续型数据来利用。比如在评分卡制作时,我们不仅需要判断客户是否会违约,还需要给出确定的”信用分“,而这个信用分的计算就需要使用类概率计算出的对数几率,而决策树和随机森林这样的分类器,可以产出分类结果,却无法帮助我们计算分数(当然,在sklearn中,决策树也可以产生概率,使用接口predict_proba调用就好,但一般来说,正常的决策树没有这个功能)

逻辑回归还有抗噪能力强的优点。福布斯杂志在讨论逻辑回归的优点时,甚至有着“技术上来说,最佳模型的AUC面积低于0.8时,逻辑回归非常明显优于树模型”的说法。并且,逻辑回归在小数据集上表现更好,在大型的数据集上,树模型有着更好的表现

逻辑回归的本质,它是一个返回对数几率的,在线性数据上表现优异的分类器,它主要被应用在金融领域。其数学目的是求解能够让模型对数据拟合程度最高的参数 逻辑回归后为什么还要用sigmoid 逻辑回归为什么叫回归_逻辑回归后为什么还要用sigmoid_21的值,以此构建预测函数 ,然后将特征矩阵输入预测函数来计算出逻辑回归的结果y。注意,虽然我们熟悉的逻辑回归通常被用于处理二分类问题,但逻辑回归也可以做多分类


三、sklearn中的逻辑回归

逻辑回归后为什么还要用sigmoid 逻辑回归为什么叫回归_线性回归_22

逻辑回归后为什么还要用sigmoid 逻辑回归为什么叫回归_逻辑回归_23