LR逻辑回归

来源:互联网 发布:服务器批量安装linux 编辑:程序博客网 时间:2024/04/30 10:27

功能

与线性回归一样,LR通过对训练数据的拟合,得到一个回归模型,对测试数据进行预测


特点

线性回归是用来估计连续型回应变量与一组预测变量之间关系的方法

逻辑回归用来估计非连续型(分类型)变量与一组预测变量之间关系的方法(非0即1,如新闻广告点击、是否患病)

对于01问题之所以用LR而不是线性回归,我是这么理解的

黑点和白点表示01两类样本,如果用线性回归,大体是红线的分类结果,显然误差较大;而如果用S型曲线则可以很精准的分类了。

因此说到底LR算法就是找了一个描述S型曲线的函数(就是sigmoid)对结果进行映射。


算法步骤

假设有n组样本,每组样本包含m个特征,那么LR模型将会有m+1个权重w


1) sigmoid函数映射(逻辑变换)

p取0~1,表示该样本属于1类的概率

2)最大似然求解权重

对所有样本,目标是预测值与实际值一致的概率最大

这里假设p3的实际值为0

接下来就很简单了,对式子取对数化为累加形式,再求导即可得到理论上取极值的权重


寻优算法

上一节中提到利用最大似然求解权重,但实际应用中很难对其求导,因此一般使用迭代寻优算法求得近似值

1)梯度下降法(GD)

基本思想就是从初始值出发,向着当前值与实际值的梯度方向前进,最终到达实际值附近结束

中a为步长,y为实际值


2)随机梯度下降法(SGD)

梯度下降是一种batch训练方式,每次对所有样本训练。但对于大量样本,这样是不经济的,随机梯度下降每次训练一个样本(公式同上),可以实现模型的在线更新


3)FTRL算法(Follow-the-regularized-Leader)

google 2013年提出的一种在线学习算法,“在处理诸如逻辑回归之类的带非光滑正则化项(例如1范数,做模型复杂度控制和稀疏化)的凸优化问题上性能非常出色”。

FTRL的理论推导可参考google的论文,下面是其工程实现的伪代码

算法输入有4个参数:alpha、beta、L1、L2,分别代表了步长,学习率,1范式和2范式正则化


正则化

FTRL算法里有正则化参数,正则化就是防止模型出现过拟合

“对于线性回归或逻辑回归的损失函数构成的模型,可能会有些权重很大,有些权重很小,导致过拟合(就是过分拟合了训练数据),使得模型的复杂度提高,泛化能力较差(对未知数据的预测能力)”(来源:http://blog.csdn.net/pakko/article/details/37878837)


正则化的目标就是,在保证特征数目不变的情况下,减小某些特征的权重,从而达到降低模型复杂度的效果


上式为加了正则化的梯度下降公式,式中lambd就是正则化参数


工业应用上的优化

理论上每个feature的score是一个float值(一般被归一化到[ 0, 1 ]),应用上可以按score的分布将每个feature进行切分。如年龄feature,如果以20岁作为步长,可以切分为5段(假设取值为0~100),这样当一个样本落在某个区间,该区间的子feature置1,其余为0。


参考资料

[1] H. Brendan McMahan and Matthew Streeter. Adap-tive bound optimization for online convex optimiza-tion. InCOLT, 2010 (开始的那篇理论性paper)
[2] H. Brendan McMahan. A unied analysis of regular-ized dual averaging and composite mirror descent with implicit updates. Submitted, 2011 (FTRL理论发展,regret bound和加入通用正则化项)
[3] H. Brendan McMahan, Gary Holt, D. Sculley, Michael Young, Dietmar Ebner, Julian Grady, Lan Nie, Todd Phillips, Eugene Davydov, Daniel Golovin, Sharat Chikkerur, Dan Liu, Martin Wattenberg, Arnar Mar Hrafnkelsson, Tom Boulos, Jeremy Kubica, Ad Click Prediction: a View from the Trenches, Proceedings of the 19th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD) (2013)(这篇是那篇工程性的paper)

[4] http://www.cnblogs.com/EE-NovRain/p/3810737.html(FTRL)

[5] http://blog.csdn.net/zouxy09/article/details/20319673(LR)
[6] http://blog.csdn.net/huangxia73/article/details/21174885(LR)
[7] http://blog.csdn.net/pakko/article/details/37878837(正则化)

0 0
原创粉丝点击