从广义线性模型(GLM)理解逻辑回归
1 问题来源
记得一开始学逻辑回归时候也不知道当时怎么想得,很自然就接受了逻辑回归的决策函数——sigmod函数:
与此同时,有些书上直接给出了该函数与将 $y$ 视为类后验概率估计 $p(y=1|x)$ 等价,即
并给出了二分类(标签 $yin(0,1)$)情况下的判别方式:
但今天再回过头看的时候,突然就不理解了,一个函数值是怎么和一个概率联系起来了呢?有些人解释说因为 $h_{theta}(x)$ 范围在0~1之间啊,可是数值在此之间还是没说明白和概率究竟有什么关系。所以,前几天看了一些资料,对个人而言比较好理解的还是从广义线性模型(Generalized Linear Models, GLM)来解释,至少这种方法能从概率出发直接推出 sigmod 函数。实际上,线性回归和逻辑回归都是广义线性模型的特例,从此出发,得到对应的决策函数就比较自然了。
2 指数分布族
在介绍广义线性模型之前不得不先说一下“指数分布族”,因为指数分布族是广义线性模型所提出的假设之一。
指数分布族中的一类分布都可以用下述公式描述:
下面是公式中的参数:(可以通过后面具体例子的推导来理解)
- η:分布的自然参数(也就是说跟分布有关)
- T(y):充分统计量(通常 T(y)=y)
- a(η):log partition function,$e^{-a(eta)}$ 本质上起着规范化常数的作用,保证概率分布 $sum p(y;eta)$ 为1
当T、a、b固定之后实际上就确定了指数分布族中的一种分布模型,就得到了以$eta$为参数的模型。
其实,大多数的概率分布都属于指数分布族:
- 伯努利分布(Bernoulli):对 0、1 问题进行建模;
- 二项分布(Multinomial):对 K 个离散结果的事件建模;
- 泊松分布(Poisson):对计数过程进行建模,比如网站访问量的计数问题,放射性衰变的数目,商店顾客数量等问题;
- 伽马分布(gamma)与指数分布(exponential):对有间隔的正数进行建模,比如公交车的到站时间问题;
- β 分布:对小数建模;
- Dirichlet 分布:对概率分布进建模;
- Wishart 分布:协方差矩阵的分布;
- 高斯分布(Gaussian)
知道了这么多的指数分布族之后其实我们已经能够求解一些问题了,求解的方法就是将概率分布符合上述指数分布族的转换成它对应的指数分布族的形式,求出指数分布族对应位置上的参数即可求出原模型的参数。
3 广义线性模型
为了给问题构造GL 大专栏 从广义线性模型(GLM)理解逻辑回归M模型,必须首先知道GLM为作出的三个假设:
- $y|x;θ sim ExponentialFamily(eta)$。比如,给定样本$x$与参数$theta$,样本的分类$y$服从以 $eta$ 为参数的指数分布族中的某个分布
- 给定$x$,广义线性模型的目标是求解 $T(y)|x$,不过由于很多情况下 $T(y) = y$ 所以我们的目标变成了求 $h(x) = E[y|x]$
- $eta=theta^Tx$
这些假设看起来似乎很神奇,比如第三条,但这就是GLM的假设(说成“设计”更合理),从这三个假设出发能得到一类很好的学习算法。下面就来展示一下如何从GLM推导出逻辑回归和线性回归。
3.1 GLM与逻辑回归
接下来按照上面GLM作出的假设条件来推导逻辑回归。
- 对于二分类问题,很自然想到$y$服从伯努利分布,满足第一个假设,即$y|x;theta sim Bernoulli(phi)$
- 第二个假设很重要,是求决策函数的。因此我们要求$E[y|x;theta]$。对于伯努利分布来说,$p(y=1|x;theta)=phi$,$p(y=0|x;theta))=1-phi$。因此有:
参照指数分布族的标准形式,可以得到:
$b(y)=1$
$T(y)=y$
$eta=log(frac{phi}{1-phi})y$,进而得到$phi=frac{1}{1+e^{-eta}}$
$a(eta)=-log(1-phi)=log(1+e^eta)$
再根据第三个假设条件$eta=theta^Tx$,得到 $phi=frac{1}{1+e^{-eta}}=frac{1}{1+e^{-theta^Tx}}$,即 $p(y=1|x;theta)=frac{1}{1+e^{-theta^Tx}}$,这样就将概率和 sigmod 函数联系起来了。
到这里,GLM已经解决了概率和sigmod函数之间关系的疑惑了。
3.2 GLM与线性回归
- 在线性回归中,我们对概率分布作出的假设是 $y|x;theta sim N(mu,sigma^2)$
- 接下来求 $h_{theta}(x)=E[y|x;theta]$。对于高斯分布,从概率角度是通过极大似然法来求,可以发现最后的结果是不受$sigma$影响的,因此可以将$sigma$设为1。(原因如下所示)

等价于:
所以我们从 $y|x;theta sim N(mu,1)$ 出发来推导:
通刚才一样,参照指数分布族的标准形式,可以得到:
$b(y)=frac{1}{sqrt{2pi}}exp(-frac{y^2}{2})$
$T(y)=y$
$eta=mu$
$a(eta)=frac{mu^2}{2}=frac{eta^2}{2}$
再根据第三个假设条件,即可得到线性回归模型 $h_{theta}(x)=E[y|x;theta]=mu=eta=theta^Tx$
综上所述,广义线性模型GLM是通过假设一个概率分布并将其化成指数分布族形式,从而得到不同的模型,这对理解模型的由来很有帮助。
参考:
CS229 Andrew Ng
从广义线性模型(GLM)理解逻辑回归的更多相关文章
- 广义线性模型 GLM
Logistic Regression 同 Liner Regression 均属于广义线性模型,Liner Regression 假设 $y|x ; \theta$ 服从 Gaussian 分布,而 ...
- 广义线性模型(GLM, Generalized Linear Model)
引言:通过高斯模型得到最小二乘法(线性回归),即: 通过伯努利模型得到逻辑回归,即: 这些模型都可以通过广义线性模型得到.广义线性模型是把自变量的线性预测函数当作因变量的估计值.在 ...
- 广义线性模型------逻辑回归和softmax回归
1.广义线性模型 2.逻辑回归 3.softmax回归
- 广义线性模型(GLM)
一.广义线性模型概念 在讨论广义线性模型之前,先回顾一下基本线性模型,也就是线性回归. 在线性回归模型中的假设中,有两点需要提出: (1)假设因变量服从高斯分布:$Y={{\theta }^{T}}x ...
- 【Coursera】线性回归和逻辑回归
一.线性回归 1.批量梯度下降法 每次对参数进行一次迭代时,都要扫描一遍输入全集 算法可以收敛到局部最优值 当迭代多次之后,每次迭代参数的改变越小 2.随机梯度下降法 对于一个输入样本,对参数进行一次 ...
- 逻辑回归(Logistic Regression)
转载请注明出自BYRans博客:http://www.cnblogs.com/BYRans/ 本文主要讲解分类问题中的逻辑回归.逻辑回归是一个二分类问题. 二分类问题 二分类问题是指预测的y值只有两个 ...
- 分类和逻辑回归(Classification and logistic regression)
分类问题和线性回归问题问题很像,只是在分类问题中,我们预测的y值包含在一个小的离散数据集里.首先,认识一下二元分类(binary classification),在二元分类中,y的取值只能是0和1.例 ...
- 逻辑回归(Logistic Regression)推导
出自BYRans博客:http://www.cnblogs.com/BYRans/ 本文主要讲解分类问题中的逻辑回归.逻辑回归是一个二分类问题. 二分类问题 二分类问题是指预测的y值只有两个取值(0或 ...
- 机器学习——逻辑回归(Logistic Regression)
1 前言 虽然该机器学习算法名字里面有"回归",但是它其实是个分类算法.取名逻辑回归主要是因为是从线性回归转变而来的. logistic回归,又叫对数几率回归. 2 回归模型 2. ...
随机推荐
- 3)在View中添加LBUTTONDOWN(标准消息)
1)消息一共分为四类: (1)标准消息-->以WM_ 开头的都是标准消息 (2)命令消息----> 菜单 工具条 快捷键(两个按键的组合是快捷键,一个按键是 WM_KEYDOWN( ...
- 12 Spring Data JPA:springDataJpa的运行原理以及基本操作(下)
spring data jpaday1:orm思想和hibernate以及jpa的概述和jpa的基本操作 day2:springdatajpa的运行原理 day2:springdatajpa的基本操作 ...
- PAT Advanced 1044 Shopping in Mars (25) [⼆分查找]
题目 Shopping in Mars is quite a diferent experience. The Mars people pay by chained diamonds. Each di ...
- Android studio 3.0安装与配置(看这一篇就够了)
前言 为了完成数据库大作业,并充分利用学过的Java语言,决定开发一个简单完整成熟的安卓手机应用程序.于是下载安装Android Studio集成开发环境,第一次安装最新版本,因为墙的原因安装失败,第 ...
- 洛谷p1006 传纸条 三维解法
原题目如下 原地址https://www.luogu.com.cn/problem/P1006 题目描述 小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题.一次素质拓展活动中,班上同学安排做 ...
- JS 特效三大系列总结
一. offset系列 1. offset系列的5个属性 1. offsetLeft : 用于获取元素到最近的定位父盒子的左侧距离 * 计算方式: 当前元素的左边框的左侧到定位父盒子的左边框右侧 * ...
- 吴裕雄--天生自然TensorFlow高层封装:解决ImportError: cannot import name 'tf_utils'
将原来版本的keras卸载了,再安装2.1.5版本的keras就可以了.
- xcode6添加pch文件
pch文件 定义:该文件中定义的内容为全局变量,可供所有类进行调用 例子:在pch文件中定义ios版本
- [原]UEFI+GPT启动VHD
1. 缘起 2. 创建VHD文件并写入系统镜像到VHD文件 2.1 制作VHD文件 2.1.1 纯界面创建 2.1.2 命令行创建 2.2 把系统镜像写入VHD文件 3. 添加VHD文件到系统引导 3 ...
- c++ 语言几个坑
#include <iostream> int main(){ int i = 1; switch (i){ case 1 : int j ; j = 1; break; case 2: ...