- LR适用场景
LR适用于需要求解二分类概率的场景,例如CTR预估,金融风控等场景,CTR预估中,工业界常使用GBDT+LR进行在线的rank
- 优点
实现简单,分类时计算量小,速度快,存储资源低,不仅可以拿到类别,同时也能拿到分类概率 - 缺点
1.逻辑回归容易欠拟合,精度不太高 2.数据特征缺失或者特征空间特别大时表现效果并不好
LR是广义线性模型,其原理是找到决策边界,将空间划分为两部分。
决策边界.png
LR是分类模型,通过sigmod函数可以将线性函数的值域映射到[0,1]对应的概率
sigmod函数.png
-
LR为什么又叫对数几率(odds)回归?
几率.png LR的损失函数是什么,与极大似然估计之间的关系
-
似然函数角度理解LR的损失函数
似然值角度理解损失函数.png -
通过损失函数的角度理解
由于LR会将样本分为0,1两类,当y_true=1时,我们希望y_hat=1的损失为0,y_hat=0的损失无穷大;反之一样
image.png
-
通过梯度下降法求解LR的参数
梯度下降.png
5.LR过拟合
当模型过拟合时,通常有以下几种方法进行处理
增加样本数量
由于样本数量少,“配不上”模型的复杂度,增加样本数量可以有效的处理过拟合-
正则化
以2个特征为例,图中椭圆部分是误差等高线,越靠近紫色的部分误差越小。当不加约束的时候,经过梯度下降等优化算法会找到最靠近中心的w的取值。
当加上L1或者L2正则化后,优化的损失不仅要靠近紫色部分,也要考虑L1的菱形区域或L2的圆形区域的面积尽可能的小
对于L1来说,最优参数在(0,x)上,这时其中一个参数就不起作用,这也就是为什么L1会得到稀疏解;对于L2来说,圆形区域会与等高线接近坐标轴的地方相切,这样会得到比较小的解
-
特征为什么需要归一化
由于需要使用梯度下降对参数优化,凡是使用梯度下降的算法,特征归一化有利于提高收敛速度
image.png -
为什么不使用MSE作为LR的损失函数
对于LR来说,MSE不是凸函数,容易优化到局部最优值而无法继续收敛
image.png 为什么LR适合离散型特征
我们在使用逻辑回归的时候很少会把数据直接丢给 LR 来训练,我们一般会对特征进行离散化处理,这样做的优势大致有以下几点:
- 离散后稀疏向量内积乘法运算速度更快,计算结果也方便存储,容易扩展
- 离散后的特征对异常值更具鲁棒性,如 age>30 为 1 否则为 0,对于年龄为 200 的也不会对模型造成很大的干扰
- LR 属于广义线性模型,表达能力有限,经过离散化后,每个变量有单独的权重,这相当于引入了非线性,能够提升模型的表达能力,加大拟合
- 离散后特征可以进行特征交叉,提升表达能力,由 M+N 个变量编程 M*N 个变量,进一步引入非线形,提升了表达能力
- 特征离散后模型更稳定,如用户年龄区间,不会因为用户年龄长了一岁就变化
LR高配版 FM,FFM模型,这两个模型后续会写一篇单独的文章