本文主要是对LR的复习,把LR知识结构化,温故而知新~
LR分类过程
1、LR的假设函数
LR假设函数
P ( y = 1 ∣ x ) = 1 1 + e − w T x P(y=1|x) = \frac{1}{1+e^{-w^Tx}} P(y=1∣x)=1+e−wTx1
sigmoid函数的理解
关于LR为什么用sigmoid函数,总共有两个理解:
1、从对数几率logit角度理解:
- 在统计学中,概率和odds都是用于描述某件事情发生的可能性
- 概率、odds的取值范围是在 [0,1] 之间,针对odds取对数,logit模型的取值范围是在 [ − ∞ , + ∞ ] [-\infty, +\infty] [−∞,+∞] 之间
- logit模型刚好同线性回归模型 w T x w^Tx wTx 取值范围相对应
- 所以用logit模型对预测事件发生的概率进行建模
2、从sigmoid函数角度理解:
- 自变量为0时,预测值刚好为0.5
- 自变量越大,预测值越接近1
- 自变量越小,预测值越接近0
2、LR的损失函数
最大似然估计
LR的损失函数主要根据最大似然估计推导来
1、最大似然估计:
- 已知样本x,y信息,反推最大概率导致这样样本结果的模型参数
2、最大似然函数的推导(这里在线下写了,就不详细用latex写了,文章的主要目的是建立LR的知识结构)
3、LR梯度下降
LR梯度下降公式推导(略)
LR数据特征使用归一化的好处
- 加速梯度下降:当不用归一化时,损失函数的等值线为椭圆形,进行梯度下降速度慢;使用归一化后,损失函数等值线为圆形,每次都朝着圆心的方向前进,速度快
LR优缺点分析
数据层面
数据量
- 实施简单,非常高效(计算量小、存储占用低),可以在大数据场景中使用
异常值/缺失值
- 缺失值:需要手动补充,不像Xgboost可以直接处理缺失值
- 异常值:因为曲线尽可能保证每一个样本分类正确,对异常值敏感
特征层面
- LR没有像DNN自动进行特征工程的部分,只能人工构造交叉特征,特征表达能力较差
拟合层面
- LR只能表达模型的线性关系,容易欠拟合, 精度不高
工程部署层面
- LR模型简单,可解释性强
- 可以使用online learning的方式更新轻松更新参数,不需要重新训练整个模型
参考资料
1、 https://zhuanlan.zhihu.com/p/27188729