泊松回归(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 首先我们来看看使用线性回归来解决分类会出现的问题.下图中,我们加入了一个训练集,产生的新的假设函数使得我们进行 ...
随机推荐
- Net中JSON序列化和反序列化处理(日期时间特殊处理)
0 缘由 笔者最近在web api端使用Json.Net进行序列化处理,而在调用端使用DataContractSerializer进行反序列化,遇到日期时间处理反序列化不成功[备注:笔者使用Net ...
- 如何解决ASP.NET网站'__doPostBack' is undefined的脚本错误
最近碰到一个很奇怪的问题! 新发布一个ASP.NET的网站,基于.net 4.0 framework,基本没有用到什么特别新的技术,但是由于给客户预览用的服务器比较老,操作系统用的是Windows 2 ...
- String.Format in javascript
有些时候,我们确实需要在JavaScript中进行字符串替换,类似于C#中的String.Format()方法一样,只不过这种格式化替换只局限于对由'{0}','{1}','{2}'...所组成的“占 ...
- js关于事件
摘要:事件在Web前端领域有很重要的地位,很多重要的知识点都与事件有关.本文旨在对常用的事件相关知识做一个汇总和记录. 在前端中,有一个很重要的概念就是事件.我对于事件的理解就是使用者对浏览器进行的一 ...
- paip.输入法编程---词库多意义条目分割 python实现.
paip.输入法编程---词库多意义条目分割 python实现. ==========子标题 python mysql 数据库操作 多字符分隔,字符串分割 字符列表循环 作者 老哇的爪子 Attil ...
- Android动画及图片的缩放和旋转
Android动画有2种,一种是Tween Animation,另一种是Frame Animation,先说说Tween动画吧. Tween动画是对视图对象中的内容进行一系列简单的转换,比如位置的移动 ...
- Maven full settings.xml
<?xml version="1.0" encoding="UTF-8"?> <!-- Licensed to the Apache Soft ...
- Windows 系统下设置Nodejs NPM全局路径
Windows下的Nodejs npm路径是appdata,很不爽,想改回来,但是在cmd下执行以下命令也无效 npm config set cache "D:\nodejs\node_ca ...
- 用issnode+IIS来托管NodeJs Server
用issnode+IIS来托管NodeJs Server之一:安装篇 用issnode+IIS来托管NodeJs Server之二:移植 用issnode+IIS来托管NodeJs Server之三: ...
- Navi.Soft30.开放平台.聚合.开发手册
1系统简介 1.1功能简述 现在是一个信息时代,并且正在高速发展.以前获取信息的途径非常少,可能只有电视台,收音机等有限的来源,而现在的途径数不胜数,如:QQ,微信,官方网站,个人网站等等 本开发手册 ...