泊松回归(Poisson Regression)
本博客已经迁往http://www.kemaswill.com/, 博客园这边也会继续更新, 欢迎关注~
Linear Regression预测的目标\(Y\)是连续值, Logistic Regression预测的目标是二元变量, 泊松回归预测的是一个整数, 亦即一个计数(Count).
1. 泊松分布
如果一个离散随机变量\(Y\)的概率分布函数(probability mass function)为
$$Pr(Y=k)=\frac{\lambda^ke^{-\lambda}}{k!}$$
其中\(\lambda>0, k=0,1,2,...\), 则称\(Y\)服从泊松分布, 示意图如下图所示

泊松分布有以下性质:
- \(E(Y)=\lambda\)
- \(Var(Y)=\lambda\)
- 如果\(Y_1 \sim Poisson(\lambda_1), Y_2 \sim Poisson(\lambda_2)\), 则\(Y=Y_1+Y_2 \sim Poisson(\lambda=\lambda_1+\lambda_2)\)
2. 泊松回归
泊松回归预测的目标\(Y\)是整数值, 且服从参数为\(\lambda\)的泊松分布:
$$P(Y=y|\lambda)=\frac{\lambda^ye^{-\lambda}}{y!}$$
泊松分布是广义线性模型(Generalized Linear Model)的一种, 可以通过以下过程来建模:
- 假设\(Y_i~Poisson(\lambda_1)\)
- 令\(\phi_i=log(\lambda_i)\)或者\(\phi_i=\lambda_i\) , 前者称作identity link function, 后者称作log link function.
- \(\phi_i=\beta_0+\beta_1 X_{i1}+\beta_2 X_{i2}+...\)
使用log link function的好处是不会得到\(\lambda\)的负数估计值(因为泊松分布的\(\lambda\)是正的), 而identity link function则可能会得到负数估计值, 但在数据量比较大的情况下, 使用identity link function会减少计算量(除了不需要求对数之外, 在增量计算时, 也会有很大的好处, 细节可以参考[2])
2.1 参数估计
可以使用最大似然估计(MLE)来求得泊松分布的参数:
$$w=arg \hspace{2 pt} max \hspace{2 pt} l=log(\prod_i (p(y_i)))$$
$$=arg \hspace{2 pt} max \hspace{2 pt} l=\sum_i (y_ilog(w^Tx_i)-w^Tx_i-log(y_i!))$$
可以得到对数似然关于\(w\)的倒数为
$$\frac{\partial l}{\partial w_j}=\sum_i(\frac{y_i}{\lambda_i}x_{ij}-x_{ij})$$
因为对数似然函数是凸函数[3], 所以可以使用梯度下降或者Newton-Raphson[4]方法来求得最优解.
2.2 用途
泊松分布可以用在Behavior Targeting中, 用泊松分布分别估计将来用户在某个类别上的浏览和点击数, 然后就可以得到这个用户在这个类别上的CTR:
$$\widehat{CTR_{ik}}=\frac{\lambda_{ik}^{click}+\alpha}{\lambda_{ik}^{view}+\beta}$$
其中\(\alpha\)和\(\beta\)是用来做拉普拉斯平滑的, 可以是一个全局的值, 也可以每个类别都设置一对. \(\alpha / \beta\)是一个没有任何历史记录的新用户的默认CTR值.
参考文献:
[1]. Carl James Schwarz. Poisson Regression.
[2]. Ye Chen, Dmitry Pavlov, John F.Canny. Large-Scale Behavioral Targeting.
[3]. 凸问题浅析.
[4]. 优化算法-BFGS.
泊松回归(Poisson Regression)的更多相关文章
- Machine Learning 学习笔记 (3) —— 泊松回归与Softmax回归
本系列文章允许转载,转载请保留全文! [请先阅读][说明&总目录]http://www.cnblogs.com/tbcaaa8/p/4415055.html 1. 泊松回归 (Poisson ...
- 机器学习总结之逻辑回归Logistic Regression
机器学习总结之逻辑回归Logistic Regression 逻辑回归logistic regression,虽然名字是回归,但是实际上它是处理分类问题的算法.简单的说回归问题和分类问题如下: 回归问 ...
- 机器学习(四)--------逻辑回归(Logistic Regression)
逻辑回归(Logistic Regression) 线性回归用来预测,逻辑回归用来分类. 线性回归是拟合函数,逻辑回归是预测函数 逻辑回归就是分类. 分类问题用线性方程是不行的 线性方程拟合的是连 ...
- 机器学习入门11 - 逻辑回归 (Logistic Regression)
原文链接:https://developers.google.com/machine-learning/crash-course/logistic-regression/ 逻辑回归会生成一个介于 0 ...
- Coursera公开课笔记: 斯坦福大学机器学习第六课“逻辑回归(Logistic Regression)” 清晰讲解logistic-good!!!!!!
原文:http://52opencourse.com/125/coursera%E5%85%AC%E5%BC%80%E8%AF%BE%E7%AC%94%E8%AE%B0-%E6%96%AF%E5%9D ...
- 岭回归(Ridge Regression)
一.一般线性回归遇到的问题 在处理复杂的数据的回归问题时,普通的线性回归会遇到一些问题,主要表现在: 预测精度:这里要处理好这样一对为题,即样本的数量和特征的数量 时,最小二乘回归会有较小的方差 时, ...
- 机器学习方法(五):逻辑回归Logistic Regression,Softmax Regression
欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld. 技术交流QQ群:433250724,欢迎对算法.技术.应用感兴趣的同学加入. 前面介绍过线性回归的基本知识, ...
- 机器学习 (三) 逻辑回归 Logistic Regression
文章内容均来自斯坦福大学的Andrew Ng教授讲解的Machine Learning课程,本文是针对该课程的个人学习笔记,如有疏漏,请以原课程所讲述内容为准.感谢博主Rachel Zhang 的个人 ...
- ML 逻辑回归 Logistic Regression
逻辑回归 Logistic Regression 1 分类 Classification 首先我们来看看使用线性回归来解决分类会出现的问题.下图中,我们加入了一个训练集,产生的新的假设函数使得我们进行 ...
随机推荐
- [C#] Timer + Graphics To Get Simple Animation (简单的源码例子,适合初学者)
>_<" 这是一个非常简单的利用C#的窗口工程创立的程序,用来做一个简单的动画,涉及Timer和Graphics,适合初学者,高手略过~
- LINQ-to-SQL那点事~LINQ-to-SQL中的数据缓存与应对
回到目录 这个文章写的有点滞后了,呵呵,因为总想把之前不确定的东西确定了之后,再写这篇,之前的LINQ-to-SQL那点事,请点这里. LINQ-to-SQL中的数据缓存与应对 Linq-to-SQL ...
- 《Web 开发基础》专题系列
说在前头 Web的重要性我想不必我多说了,写这篇文章的目的主要是想分享一些我学习Web前端开发的知识积累,其中以JavaScript为主,比较适合新人看,也欢迎大牛们多多留言提提意见. ...
- js脚本语言基础和数组
js和PHP中,字符串赋值:要使用"双引号"或"单引号"引起来:例如:var c="你好"不同类型进行数学运算,要转换,类型转换:强制转换p ...
- python中argparse模块的使用
有两个文件一个是 文件1:sync_shop_source_bimer.sh 文件2:sync_shop_source_bimer.py 在sync_shop_source_bimer.sh 中调用s ...
- 使用 Aircrack-ng 破解 WEP 和 WPA/WPA2 加密的 Wi-Fi 密码。(转)
1.首先请不要使用此方法去搞破坏,去蹭Wi-Fi,因为不装逼地说,我认为技术本身的价值很大,尤其是在学习这个技术的过程中解决遇到的问题,当经过重重困难最后终于成功之后的喜悦又怎么能拿去蹭网呢.我在此过 ...
- Chkdsk scan needed on volume
After we extended the volume in storage array, in Failover cluster, it shows the volume is of 30.0 T ...
- Cocos2dx.3x入门三部曲-Hello Game项目解析(三)
一.前提: 完成Hello Game项目的创建编译. 具体参考:Cocos2dx.3x_Hello Game项目创建篇 二.本篇目标: l 分析proj.win32工程的主要构成 l 分析proj ...
- Bilateral Filtering(双边滤波) for SSAO(转)
原文链接:http://blog.csdn.net/bugrunner/article/details/7170471 另外一篇相似的英文资料:http://homepages.inf.ed.ac.u ...
- 几种filter的比较
需要整理 Gaussian filter https://en.wikipedia.org/wiki/Gaussian_filter Laplacian/Laplacian of Gaussian h ...