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为作出的三个假设:

  1. $y|x;θ sim ExponentialFamily(eta)$。比如,给定样本$x$与参数$theta$,样本的分类$y$服从以 $eta$ 为参数的指数分布族中的某个分布
  2. 给定$x$,广义线性模型的目标是求解 $T(y)|x$,不过由于很多情况下 $T(y) = y$ 所以我们的目标变成了求 $h(x) = E[y|x]$
  3. $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)理解逻辑回归的更多相关文章

  1. 广义线性模型 GLM

    Logistic Regression 同 Liner Regression 均属于广义线性模型,Liner Regression 假设 $y|x ; \theta$ 服从 Gaussian 分布,而 ...

  2. 广义线性模型(GLM, Generalized Linear Model)

    引言:通过高斯模型得到最小二乘法(线性回归),即:      通过伯努利模型得到逻辑回归,即:      这些模型都可以通过广义线性模型得到.广义线性模型是把自变量的线性预测函数当作因变量的估计值.在 ...

  3. 广义线性模型------逻辑回归和softmax回归

    1.广义线性模型 2.逻辑回归 3.softmax回归

  4. 广义线性模型(GLM)

    一.广义线性模型概念 在讨论广义线性模型之前,先回顾一下基本线性模型,也就是线性回归. 在线性回归模型中的假设中,有两点需要提出: (1)假设因变量服从高斯分布:$Y={{\theta }^{T}}x ...

  5. 【Coursera】线性回归和逻辑回归

    一.线性回归 1.批量梯度下降法 每次对参数进行一次迭代时,都要扫描一遍输入全集 算法可以收敛到局部最优值 当迭代多次之后,每次迭代参数的改变越小 2.随机梯度下降法 对于一个输入样本,对参数进行一次 ...

  6. 逻辑回归(Logistic Regression)

    转载请注明出自BYRans博客:http://www.cnblogs.com/BYRans/ 本文主要讲解分类问题中的逻辑回归.逻辑回归是一个二分类问题. 二分类问题 二分类问题是指预测的y值只有两个 ...

  7. 分类和逻辑回归(Classification and logistic regression)

    分类问题和线性回归问题问题很像,只是在分类问题中,我们预测的y值包含在一个小的离散数据集里.首先,认识一下二元分类(binary classification),在二元分类中,y的取值只能是0和1.例 ...

  8. 逻辑回归(Logistic Regression)推导

    出自BYRans博客:http://www.cnblogs.com/BYRans/ 本文主要讲解分类问题中的逻辑回归.逻辑回归是一个二分类问题. 二分类问题 二分类问题是指预测的y值只有两个取值(0或 ...

  9. 机器学习——逻辑回归(Logistic Regression)

    1 前言 虽然该机器学习算法名字里面有"回归",但是它其实是个分类算法.取名逻辑回归主要是因为是从线性回归转变而来的. logistic回归,又叫对数几率回归. 2 回归模型 2. ...

随机推荐

  1. Xcode中SVN不能提交.a及其他文件

    Xcode默认忽略的.a 文件.所以无法提交到svn服务器,但是很多第三方的库都有.a文件.所以还是必须提交到服务器. 搜索了一下解决方案: http://wpt205.blog.163.com/bl ...

  2. Linux不进入网卡配置文件更改静态ip

    1.找到网卡配置文件名ls /etc/sysconfig/network-scripts/ 2.备份并查看原始配置文件(若原先有配置IP的,则按照第五点方式修改) 3.修改随机自启和IP地址echo ...

  3. Akka Typed系列:协议&行为

    引言 2019年11月6号LightBend公司发布了AKKA 2.6版本,带来了类型安全的actor,新的Akka Cluster底层通信设施——Artery,带来了更好的稳定性,使用Jackson ...

  4. Maven--导出pom中依赖的jar包

    参考:https://my.oschina.net/cloudcoder/blog/212648 mvn dependency:copy-dependencies -DoutputDirectory= ...

  5. Vue专题-组件

    vue.js既然是框架,那就不能只是简单的完成数据模板引擎的任务,它还提供了页面布局的功能.本文详细介绍使用vue.js进行页面布局的强大工具,vue.js组件系统. Vue.js组件系统 每一个新技 ...

  6. 注册服务和发现服务 Eureka

    来自蚂蚁课堂: 注册服务和发现服务 1.原理如图: 注册中心负载均衡: 实践 注册中心 集群:

  7. 你必须知道的基本位运算技巧(状压DP、搜索优化都会用到)

    一. 位操作基础 基本的位操作符有与.或.异或.取反.左移.右移这6种,它们的运算规则如下所示: 符号 描述 运算规则 & 与 两个位都为1时,结果才为1 | 或 两个位都为0时,结果才为0 ...

  8. 四十三、LAMP与LNMP web架构深度优化实战-第二部

    1. 配置nginx gzip压缩功能    服务器对发出的内容进行压缩,带宽少了,体验好,速度快,但是服务端压,会使cpu使用高,压缩比高的进行压缩:文本.程序文件.数据文件.图片视频不要压缩,一般 ...

  9. C# 类的解构

    C#对类的解构,必须在该类内实现Deconstruct方法,并且返回类型为void ,并用out参数返回各个部分. using System; using System.Text; namespace ...

  10. ofo小黄车做信息流!这到底算怎么回事?

    不得不说,现在ofo绝对处于商业处境和舆论的风口浪尖上.近段时间以来,ofo各种大动作实在是让业界和大众都"看不懂".但毋庸置疑的是,ofo的种种举措都是为了"自救&qu ...