NLP基础:逻辑回归(LR)详解与实战

NLP基础:逻辑回归(LR)详解与实战

  • 1. 逻辑回归(Logistic Regression)简介
  • 2. 逻辑回归优化算法推导
    • 2.1 梯度下降法(Gradient Descent)
    • 2.2 随机梯度下降法
    • 2.3 mini-batch 梯度下降
  • 3. 自适应学习率算法
    • 3.1 AdaGrad
    • 3.2 RMSProp
    • 3.3 Adam
  • 4. 迭代终止条件
    • 4.1 对数似然函数基本不再发生变化时
    • 4.2 参数基本不再发生变化时
    • 4.3 Early-stopping
  • 5. 逻辑回归实战
    • 5.1大致流程
    • 5.2 代码实现
    • 5.3 运行结果
  • 6. 逻辑回归的缺陷
  • 7. 逻辑回归的改进
    • 7.1 L1 正则
    • 7.2 L2 正则
    • 7.3 L1 正则 VS L2 正则
    • 7.4. Elastic Net
  • 8. Reference

1. 逻辑回归(Logistic Regression)简介

  1. 逻辑回归是一种线性分类器,因为它的决策边界(decision bound)是线性的。
  2. 逻辑回归是一种判别模型,模型训练后可以直接得到某样本为正样本或者负样本的概率。
  3. 逻辑回归采用的逻辑函数也即sigmoid 函数,输入的范围是负无穷到正无穷,输出映射为(0, 1),可以认为经过逻辑函数映射后的数值是一种概率。
  4. 逻辑函数的性质:
    在这里插入图片描述
    在推导求解过程中要用到此性质。

2. 逻辑回归优化算法推导

2.1 梯度下降法(Gradient Descent)

NLP基础:逻辑回归(LR)详解与实战_第1张图片
NLP基础:逻辑回归(LR)详解与实战_第2张图片
NLP基础:逻辑回归(LR)详解与实战_第3张图片
也即参数的更新迭代方式为:
NLP基础:逻辑回归(LR)详解与实战_第4张图片

2.2 随机梯度下降法

梯度下降法中,参数每更新一次,需要对所有的数据进行计算,当样本数据量非常大时,计算的效率会非常低下,而改进后的随机梯度下降法中,随机选择一个样本,对参数进行更新,此时的learning rate 步长一般比梯度下降法小。
NLP基础:逻辑回归(LR)详解与实战_第5张图片

2.3 mini-batch 梯度下降

mini-batch 梯度下降是GD与SGD的中和版本,参数每次的更新,涉及到mini-batch个样本,mini-batch一般大于1小于所有样本数,设mini-batch 大小为m,则mini-batch GD 算法
NLP基础:逻辑回归(LR)详解与实战_第6张图片

3. 自适应学习率算法

以上阐述的算法都是基于学习率不变的情况,然而实际情况下,学习率应该随着训练的状态的变化发生改变,也就是随着训练的迭代,学习率自适应地变化。

3.1 AdaGrad

大致思路是随着训练迭代的进行,学习率先是较大的,后面随着收敛,逐渐减小。AdaGrad通过累积梯度的平方和,再让参数的更新量与历史梯度的平方跟成反比。更新方式:
NLP基础:逻辑回归(LR)详解与实战_第7张图片
AdaGrad的缺点是后续参数的更新乏力,因为累积梯度平方和会非常大,可能会收敛不到极值点参数就几乎不再更新。

3.2 RMSProp

RMSProp是AdaGrad的改进,引入了新的参数来控制历史梯度值的衰减速率。
NLP基础:逻辑回归(LR)详解与实战_第8张图片
由更新方式中步骤2可知,RMSProp引入了p来控制对历史梯度累积的“保留程度”,这样,到迭代后期,累积梯度平方和不至于会太大,影响参数的更新。

3.3 Adam

Adam是在RMSProp基础上进行的改进,RMSProp只考虑到了累积梯度的平方和,也就是二阶矩估计,Adam在其基础上,增加了一阶矩估计,大致更新方式与RMSProp类似:

你可能感兴趣的:(NLP基础,python,逻辑回归,机器学习)