浅谈逻辑回归

从线性回归说起

  1. 线性回归

    • $y = w^Tx + b$

    x表示n维的特征向量,通过线性相加得到y值,可以使用使用最小二乘求解。

  2. 逻辑回归与线性回归的联系与区别

    1. 对数几率角度理解
      • 逻辑回归是,通过线性回归的方法去预测对数几率,即:$ln\frac{y}{1-y} = w^Tx+b$
      • 求解得到 $y = \frac{1}{e^{-(w^Tx+b)}+1}$
    2. 线性回归形式预测的是几率大小,逻辑回归将可能性大小映射到0-1之间
      • 将 $y = w^Tx + b$ 认为y是预测的对数几率的大小,经过一个sigmoid将对数几率变为0-1之间。
      • 也就是说sigmoid将对数几率变为了y的概率
  3. 逻辑回归与线性可分

    1. 逻辑回归从线性回归来,这个线性回归预测的结果是对数几率,大于0是为正例,小于0时为负例,本质上没有改变线性分类超平面($y = w^Tx + b$ 构成的超平面)。
    2. 通过构造特征,映射到高维,映射到高维的线性可分。

逻辑回归的公式推导

  1. loss

    • 使用的是神奇的负的对数似然作为loss $J = -\frac{1}{m}\sum_i (y_iln(h(w^Tx^i) + (1-y_i)ln(1-h(w^Tx^i)))$
    • 对应的是二分类形式的交叉熵
  2. 梯度下降公式推导

    • 补充
      • $\sigma’(x) = \sigma(x)(1-\sigma(x))$
      • $(1-\sigma(x))’ = -\sigma’(x)(1-\sigma(x))$
      • 令$\theta_i = y_iln(h(w^Tx^i) + (1-y_i)ln(1-h(w^Tx^i) $
    • 在此基础上,根据梯度下降公式

逻辑回归的正则化

  1. l1和l2

    • L1:$||w||_1 = (\sum_i |w_i|)$
    • L2: $||w||_2 = \sqrt(\sum_iw_i^2)$
  2. l1和l2的区别以及为什么

    1. l1会使得参数变得稀疏,l2会使得参数变得更接近0

    2. 最终的loss为:$J = loss + ||w||_p$

    3. 图形解释

      • 一圈一圈的是loss的等高线(loss值),方形和圆形分别是l1和l2的等高线,基于梯度下降思想,需要更加接近圆心,才会loss更小。
      • 对于l1来说,弧形会最先与轴上的点相交,对于l2来说,因为是圆弧,所以会先与圆相切
      • 那么结论就出来了,与轴上点相交时,w1的值就为零了,而与圆弧相交则使得w1和w2变得较小。
      • 可能loss的等高线并不是弧形,这点其实需要思考,该部分不够严谨,对于l1的图来说,其实是存在与弧线相切的线的,比如在靠近圆心的位置,此时,w1和w2并不为零,所以可能理解有偏差,仅供参考
    4. 从参数更新公式理解

      • 参数更新公式为 $w = w - \alpha \frac{\partial J}{\partial w}$ $\alpha$是学习率,偏导项是梯度,可以分为两个部分,一个部分是原本的loss,一个部分是正则化项的梯度。对于l1和l2正则来说,前半部分都是相同的,只有后半部分不一样

      • 对于l1正则化来说,

        • 根据参数更新公式$w = w - \alpha \frac{\partial J}{\partial w}$,当w大于0时,正则化项的梯度为1,会使w往0的方向靠近,当w小于0时,正则化项的梯度为-1,同样会使得w往0的方向靠近,直至为0
      • 对于l2正则化来说

        • 同样根据参数更新公式$w = w - \alpha \frac{\partial J}{\partial w}$,$w = (1 - 2\alpha)w $ ,在原有w基础上乘以一个系数,会使得w接近于0,而不是变为0

逻辑回归与极大似然估计

本质上来说,逻辑回归就是极大似然估计。因为逻辑回归的损失函数是负的对数似然函数,本质上的优化,也是使得对数似然函数尽可能大,也就是极大似然法的思想。

逻辑回归与最大熵模型

逻辑回归可以认为是特殊形式的最大熵模型。

逻辑回归

最大熵模型

如果令

则可以由最大熵模型推导得到

根据上面的推导,我们可以得到逻辑回归的形式,也就是特殊形式的最大熵模型(特征函数以及y是特征的)

特征交叉和特征离散化

逻辑回归只能解决线性可分问题,所以对于一个现实问题,要想取得比较好的效果,一般会进行特征交叉以及特征离散化。特征离散化是将连续特征(离散特征也可以)的每个特征值都变为一维,类似变成了ont-hot向量。

特征交叉是指某些特征之间是具有联系的,有时候可以将特征与特征联合进行考虑,即交叉得到新的特征。具体见fm和ffm算法。

具体特征交叉和离散化在CTR中的应用

逻辑回归的优缺点

没有找到详细的解释,有大概几点,有详细解释再补充吧。

优点

  1. 计算快
  2. 结果是概率形式,可以知道可能性大小
  3. 可以并行化计算,工业上用的比较多

缺点

  1. 容易欠拟合,分类或者回归的精度不高
  2. 特征空间大效果不好