从逻辑回归推广到广义线性模型
来源:互联网 发布:淘宝 鸟枪暗语 编辑:程序博客网 时间:2024/05/16 09:03
1.引言
前几天突然想复习一下逻辑回归算法,于是在网上搜了一些大神写的博客,收获很多,也让我想起之前看过Andrew Ng的机器学习课程笔记,上面好像说过线性回归、逻辑回归、softmax回归可以统一为一种模型,所以决定直接把之前的课程笔记(英文原版的,网上貌似有翻译过的,但是感觉还是看原版更好)再好好研究一下,真正把回归问题搞清楚。另外,这是我第一次写博客,希望以后能够越写越好,有写的不对或者不好的地方,还希望大家能够指点一下。
2.回忆逻辑回归模型
查了一下回归问题的定义,百度百科给出的定义如下:研究一个随机变量Y对另一个(X)或一组(X1,X2,…,Xk)变量的相依关系的统计分析方法。对于一般的回归问题来说,常见的步骤如下:
1. 寻找预测函数(hypothesis)
2. 构造损失函数(cost/loss function)
3. 使用优化算法(牛顿法、梯度下降法等)来最小化损失函数,即优化预测函数的参数)
特别地,对于逻辑回归模型(Logistic Regression Model ),一般用来处理两分类问题,下面分别针对上面的三个步骤进行解释:
2.1 寻找预测函数
在逻辑回归模型中,预测函数
sigmoid函数的图像如下,取值范围为(0,1):
下面左图是一个线性的决策边界,右图是非线性的决策边界:
对于线性决策边界的情况,边界函数为:
其中
根据线性边界函数构造预测函数如下:
在这里,预测函数表示目标变量
至于为什么会选择sigmoid函数,在下面讲GLM的时候会给出具体的推导,具有一定的统计意义。
2.2 构造损失函数
对于逻辑回归,损失函数如下:
分析
当给定一系列训练样本
至于损失函数
2.3 使用优化算法最小化损失函数
在这里,我们只会介绍使用梯度下降法来最小化损失函数,当然还有很多其他的方法可以使用(如牛顿法):
在梯度下降法中,每次迭代过程中,参数
其中
下面针对逻辑回归算法给出的推导如下:
因此
每次跌代都需要遍历所有样本
3. 广义线性模型(GLM)的引入
广义线性模型是基于指数分布族的,而指数分布族的原型如下
其中
不同的
那么如何根据指数分布簇构造广义线性模型呢?广义线性模型基于下面三个假设:
1. 给定特征属性
2. 给定特征属性
3.
下面将证明线性回归、逻辑回归、softmax回归(逻辑回归是其两分类其情况)其实都属于广义线性模型的范畴:
3.1 线性回归
关于高斯分布的知识在这就不多说了,如果把它看着指数分布簇,那么:
为了方便证明,在这里我们假设
按照GLM的假设2,
假设所有的样本相互之间是独立的,则有
给定样本集,令
最大化
这也就是我们在线性回归里面使用LMS准则的损失函数。
如上所示,线性回归实际上就是指数函数簇为高斯分布时的广义线性模型。
3.2 逻辑回归
与线性回归一样,逻辑回归实际上是对应于指数函数簇为伯努利分布(Bernoulli Distribution)时的广义线性模型。下面给出证明:
对于二元的伯努利分布Bernoulli(
现在将伯努利分布表示为指数簇函数形式:
根据GLM的假设2,
与线性回归一下,假设样本之间相互独立,则似然函数
同样对似然函数取对数:
最大化
这也就从统计意义上解释了逻辑回归中损失函数的由来。
3.3 softmax回归
现在让我们来考虑一下k分类问题,即与逻辑回归不同,逻辑回归中y取值只能为0或1,对于k分类问题,y的取值为
我们定义
其中
由假设2可知,
再由归一化条件可知,
为了表示方便,我们可以定义
这也就是我们所熟知的softmax回归模型,预测的目标函数为:
当k=2时,softmax回归便退化为前面的逻辑回归模型。
至此,我们已经完成了对线性回归模型、逻辑回归模型、softmax模型的推导,其实把分布簇函数换成泊松分布,你就可以推导出泊松回归了。
结束语
公式实在太多,搞了差不多一天,终于完成了自己的第一篇博客,希望能够对希望了解回归的同学有点帮助,时间匆忙,文中可能会有些错误,还希望大家能够多多包涵,多多指点,欢迎交流。《机器学习实践》这本书中有具体的实现代码,大家有时间最好还是动手实践一下,能够加深理解!
http://blog.csdn.net/dongtingzhizi/article/details/15962797
http://blog.csdn.net/lilyth_lilyth/article/details/10032993
http://blog.csdn.net/acdreamers/article/details/44663091
Andew Ng 机器学习lecture notes
《机器学习实践》
- 从逻辑回归推广到广义线性模型
- 从广义线性模型到逻辑回归
- 从广义线性模型到逻辑回归
- 从广义线性模型到逻辑回归
- 从多元线性回归到逻辑回归
- 指数族分布、广义线性模型、逻辑回归前传
- GLM(广义线性模型) 与 LR(逻辑回归) 详解
- 各种回归全解:传统回归、逻辑回归、加权回归/核回归、岭回归、广义线性模型/指数族
- 从GLM广义线性模型到线性回归、二项式及多项式分类——机器学习笔记整理(一)
- 对数线性模型之一(逻辑回归), 广义线性模型学习总结
- 【转载】对数线性模型之一(逻辑回归), 广义线性模型学习总结
- 对数线性模型之一(逻辑回归), 广义线性模型学习总结
- 对数线性模型之一(逻辑回归), 广义线性模型学习总结
- 对数线性模型之一(逻辑回归), 广义线性模型学习总结
- 对数线性模型之一(逻辑回归), 广义线性模型学习总结
- 对数线性模型之一(逻辑回归), 广义线性模型学习总结
- 从线性回归(Linear regression)到逻辑回归(Logistic regression)
- 机器学习----从线性回归到逻辑斯特回归
- Android 之 ViewDragHelper 详解
- 谋略和勇略
- SQL DELETE 语句
- Ruby数组的各种使用
- android studio常用插件,可极大简化开发,增强开发效率
- 从逻辑回归推广到广义线性模型
- jpcap网络流量监控
- 通过ClipDrawable 实现茶杯注满效果
- Swift通过类名动态创建对象的方式
- FRM-40212:字段**的值无效
- Android系统性能调优工具介绍
- Ruby中Hash常用方法
- Java interview 统计一篇英文文档的单词数,并输出次数最多的10个
- UVA 11019 Matrix Matcher(二维矩阵匹配ac自动机)