LR回忆录

来源:互联网 发布:github源码如何使用 编辑:程序博客网 时间:2024/06/11 16:25

广告部门点击率预估采用的是LR算法。以前学习算法都局限于理论,这次是实战。回忆总结下 LR,以后备用。

这里结合点击率预估整理下LR算法,为以后实践应用提供参考。

内容包括LR建模L1&L2范数LR和NB联系LR求解以及实践中遇到的一些经典问题


LR建模

一般线性回归模型是y=<w,x>,然后根据观测样本来估计参数w。参数估计采用极大似然估计,在假设误差变量服从均值为0的正态分布前提下,我们熟知的最小二乘法和极大似然估计等价。具体证明见这里。

LR是一种广义的线性回归模型,主要是利用了连接函数sigmod函数f(t) = 1 / (1+pow(e, -t)),即我们的模型是:
y = f (<w, x>),也即ln(y/[1-y]) = <w, x>(p/[1-p]称作几率),这里将预测值y做了sigmod变换后,值域变为[0, 1]。


L1(Lass0) vs L2(Ridge)

常用机器学习算法经常要面临一个过拟合的问题,LR也不例外,这时就会考虑利用范数来限制模型复杂度避免过拟合。 常用的有L1和L2范数,L1范数具有特征选择的功能,使得模型变得稀疏简单。关于L0,L1,L2的扯淡,参见这里,L1的稀疏性证明参见这里。

LR和NB的联系

LR和NB分别作为Discriminative and Generative Algorithm的代表,虽属不同派系,但在一定假设条件下,却有一定内在联系。从这个联系的推倒过程也可以看到LR模型的可解释性,LR模型求出来的权重实际代表这个特征在正负样本中的均值差异大小。
  • 符号:和预估值的正负相关性
  • 大小:特征的重要程度(均值差异的大小)
  • 常数项含义:即含有普通权重的信息,同时也包含正负样本比信息
关于LR系数的含义这里还有点争论的样子,主要在于特征是否独立,具体见这里



LR模型求解

利用最大似然估计来求解LR模型,最终是求解一个无约束最优化问题。常见无约束最优化问题求解算法有梯度法,牛顿法,BFGS,L-BFGS:
  • 梯度法:利用梯度信息寻找最速下降方向。利用平面去逼近原函数,一阶收敛。
  • 牛顿法:利用Hessian矩阵寻找下降方向。利用二次曲面去逼近原函数,二阶收敛。
  • BFGS:根据迭代的最近k步信息(函数值,梯度信息)来构造Hessian矩阵的逆。
  • L-BFGS:BFGS的空间复杂度是o(n^2),此算法将空间复杂度降为o(n*k)

最优化之路 梳理了各种最优化算法。

常见经典问题

  • 正负样本悬殊
  • covariate shift(训练集和测试集分布不同)



0 0
原创粉丝点击