线性回归vs逻辑回归(一)——模型结构比较

        线性回归和逻辑回归在统计上都属于Conditional models(没找到标准中文译名),并且在sklearn中线性回归类LinearRegression 和逻辑回归类LogisticRegression 都在Linear_model包里面,可见二者存在密切关系。因此这个本篇文章将从模型结构、损失函数、参数求解等进行比较,加深对二者的理解(注:线性回归和逻辑回归的前提假设这里不进行讨论)。

1.0 线性回归

        线性回归(linear regression),是指以线性相加的形式来描述特征和输出结果之间的关联关系(也称自变量 indepent variables、[数学]回归量 regressor;也称因变量dependent variable,[数学]回归变数 regressand)。线性回归的模型结果为标量scalars,即连续型数值变量,如房价、空气指数、薪酬等。

        线性回归的一般形式如下:

        其中称为回归系数(regression coefficients),为常数项(constant,或截距项intercept),为误差项(unobservable error)。其实存在于所有模型中,反映了未能在中观测到的的变化以及随机观测误差;常见用于残差分析,即检验模型对特征与输出结果的关系的描述是否充分;在理想拟合的情况下,应服从正态分布。

        上面线性模型仅是针对一组特征和数据而言,当存在组特征和标签,即,,此时线性回归的一般形式为:

        写成向量形式为:,其中

特征矩阵
系数向量
残差向量

        模型中的每一组都会加上固定的常数项,可看是存在一个特征,而是该特征的系数,即,这样线性模型的形式又可以变为:。

        此时的,和分别为:

特征矩阵
系数向量
误差向量

2.0 逻辑回归

        逻辑回归(logistic regression)虽然名叫“回归”,但本质是一个二分类模型(binary classification model),该模型是在线性模型的输出结果的基础上,通过逻辑函数(logistic function)转换为概率,并通过阈值判断实现二分类。逻辑回归与线性回归具有相同的输入变量,输出变量则为离散变量,即类别标签。

        假设存在样本数据,,作为二分类的结果标签设其取值为。因此,当时,以为输入的结果概率为:

        其中为逻辑函数,为线性模型的结果输入。显然,,,,这刚好是概率的完整取值范围。相对应的有。

        将常数项考虑为一个定值特征,逻辑回归的矩阵形式为:,和形式同线性回归。

3.0 从线性回归到逻辑回归

3.1 正态分布和probit回归

        对于线性回归来说,其输出结果的取值范围应为,并且是关于轴对称分布的,此时可以为分界点,设置:

        于是:

                                

        由于误差项都服从正态分布,则根据正态分布的概率密度性质,上式变为:

        其中为的概率累积(cumulative distribution function,cdf)函数,由于均服从正态分布,则:

        于是得到如下二分类模型,该模型称为probit回归:

3.2 logit分布和逻辑回归

        上一节指出,通过probit回归可以将线性回归的输出结果转化为概率,并根据概率值实现分类。但是,probit回归是基于服从正态分布,而正态分布的概率累积函数在使用时存在诸多问题,如形式复杂、无解析解、运算复杂、正态分布的均值和方差难以准确确定等,于是数学家们尝试寻找一种函数来替代正态分布的概率累积函数,这就是logit分布的概率累积函数,也就是大名鼎鼎的sigmoid函数,即:

        下图为正态分布和logit分布的概率累积函数和概率密度函数的形状比较,可以看出正态分布和logit分布在两种函数上都非常接近,且具有相似的数学性质。尤其在概率累积函数方面,sigmoid函数在形式上比正态分布简单得多,且微积分运算时非常便捷,因此将其作为正态分布概率累积函数的替代。

        因此,用服从logit分布替代原本的正态分布,此时概率累积函数变为:

        令,就得到逻辑回归:

你可能感兴趣的:(线性回归vs逻辑回归(一)——模型结构比较)