Logistic Regression的本质


注意:这不是一篇LR的入门文章,本文假定读者已经了解LR的推导和基本原理,建议有LR基础的同学阅读本文。

LR essential in one sentence

  • LR 本质上是对正例负例的对数几率做线性回归,因为对数几率叫做logit,做的操作是线性回归,所以该模型叫做Logistic Regression。
  • LR 的输出可以看做是一种可能性,输出越大则为正例的可能性越大.
  • 关于Logistic Regression

    我们都知道Logistic Regression(LR)模型是工业界使用非常多的一个模型,它的优点非常明显:


    1. 模型非常简单。应用到线上时,prediction的计算非常容易做。在O(1)的时间复杂度之内就能够给出模型的预测值,这对于线上数据暴风雨般袭来的时候非常有用。
      $$\hat{y} = \frac{1}{1 + e^{-(wx + b)}} \tag{1}$$

    2. 模型可解释性强。对于LR模型,每个特征$x_i$的参数$w_i$就是该特征的权重,$w_i$越大,则特征权重越大;越小,则特征权重越小。因此LR的模型往往非常直观,而且容易debug,而且也容易手动修改。

    3. 模型的输出平滑。由于Logistic function的作用,LR的输出值是(0,1)之间的连续值,更重要的是,这个值能从某种角度上表示样本x是正例的可能性, 输出值越接近1,则样本是正例的可能性就越大,输出值越接近0,样本是负例的可能性就越大。


    总之,在LR能够用上的地方,它总是大放异彩。

    LR为什么叫做LR?

    Logistic Regression模型中文一般被叫做“逻辑斯蒂回归”或“逻辑回归”,然而这个名字并没有什么实质含义,实际上Logistic一词和“逻辑”一词并没有什么关系。周志华在其《机器学习》中,将LR翻译做“对数几率模型”,我认为是妥当的。

    在解释之前,我们尝试对LR的label换一种理解方式。在LR模型中,我们给正例赋予1的label,负例赋予0的label。从另一个角度,label可以看做该样本属于正例的概率,label为1表示“该样本有1的概率属于正例”, label为0表示“该样本有0的概率属于正例”。

    logistic 和 logit

    LhR的logistic 来源于 logit,是logit的形容词,logit function在中文叫做“对数几率”,是正例负例概率之比的自然对数。

    $$logit(x) = log\frac{x}{1-x} \tag{2}$$

    对数几率(注意不是对数概率),是某种意义的表达x是否属于正例的可能性,x为正例的可能性越高,则其对数几率就越高。反之,x的对数几率越高,其为正例的可能性就越大。

    注意这种可能性,并不和概率完全等价,两者只是正相关的关系。

    从LR模型的公式说开去

    我们尝试把LR的公式推导成我们喜闻乐见的形式:
    $$y = \frac{1}{1 + e^{-(wx + b)}} \tag{3}$$
    $$\frac{1}{y} = 1 + e^{-(wx+b) } \tag{4}$$
    $$\frac{1-y}{y} = e^{-(wx+b)} \tag{5}$$
    $$log\frac{y}{1-y} = wx + b \tag{6}$$
    (6)的表述清晰而简单:左侧是logit,右侧是线性回归。

    Logistic Regression 的本质

    所以,LR模型就是通过线性回归对目标的对数几率进行拟合。这就是LR的本质。

    所以为什么LR的结果能够在某种程度上代表目标属于正例的可能性,因为LR拟合的就是目标的对数几率,而对数几率能够代表目标属于正例的可能性。
    所以这个模型叫做Logistic Regression。

    引申

    由此引申出去,LR的label并不一定非要是0和1,LR也不一定只能处理二分类问题,因为其label是其对数几率。
    比如,有下面一个问题,对文章的相关性进行训练,label可以分成三类,相关,弱相关和不相关,其label分别为1,0.5,0,也完全可以拿到LR中进行训练—-因为这个label也可以代表样本属于正例的概率。

    虽然本文没有提,但是LR是广义线性模型家族(GLM)的一员,如果有机会,可以写一写广义线性模型.

    Comments
    Write a Comment
    • Jiahui reply

      超级有用! 解答了我的疑惑,谢谢!!