在线性回归问题中,我们假设,而在分类问题中,我们假设,它们都是广义线性模型的例子,而广义线性模型就是把自变量的线性预测函数当作因变量的估计值。很多模型都是基于广义线性模型的,例如,传统的线性回归模型,最大熵模型,Logistic回归,softmax回归。

指数分布族

在了解广义线性模型之前,先了解一下指数分布族(the exponential family)

指数分布族原型如下

如果一个分布可以用上面形式在表示,那么这个分布就属于指数分布族,首先来定义一下上面形式的符号:

η:分布的自然参数(natural parameter)或者称为标准参数(canonical parameter)

T (y):充分统计量,通常用T(y) = y

a(η):对数分割函数(log partition function)

:本质上是一个归一化常数,确保概率和为1。

当给定T时,a、b就定义了一个以η为参数的一个指数分布。我们变化η就得到指数分布族的不同分布。

论证伯努利分布和高斯分布为指数分布族

,伯努利分布均值φ,记为Bernoulli(φ),y ∈ {0, 1},所以p(y = 1; φ) = φ; p(y = 0; φ) = 1 − φ

对比指数分布族的表达式可以得到:

η = log(φ/(1-φ)) 我们将φ用η表示,则:φ=1/(1+e),是不是发现和sigmoid函数一样了。

这就表明,当我们给定T,a,b,伯努利分布可以写成指数分布族的形式,也即伯努利分布式指数分布族。

同理,在高斯分布中,有:

对比指数分布族,我们得到:

因为高斯分布的方差与假设函数无关,因而为了计算简便,我们设方差=1,这样就得到:

所以这也表明,高斯分布也是指数分布族的一种。

构造广义线性模型(Constructing GLMs)

怎么通过指数分布族来构造广义线性模型呢?要构建广义线性模型,我们要基于以下三个假设:

  1. 给定特征属性和参数后,的条件概率服从指数分布族,即
  2. 预测的期望,即计算。 #h(x) = E[y|x]
  3. 之间是线性的,即

构建最小二乘模型

回顾一下,在线性回归中,代价函数y是通过最小二乘法得到的。下面通过广义线性模型来构造最小二乘模型。

线性回归中,假设y|x;θ服从高斯分布N(μ,σ2)N(μ,σ2),根据我们前面的推导,我们知道µ = η,所以根据三个假设有

说明:

第一个等号根据我们的假设2得到,=y,也即

第二个等号根据高斯分布的期望为μ得到

第三个等号根据我们前面推到可得,也即假设1

第四个等号根据假设3得到。

至此,最小二乘模型构建完成,也即为线性回归中使用的线性模型的来源。接下来的工作就是利用梯度下降,牛顿方法求解Θ

构建逻辑回归

逻辑回归可以用来解决二分类问题,二分类问题的目标函数是离散值,通过统计学知识我们知道可以选择伯努利分布来构建逻辑回归的模型

在前面的论证中我们得到η = log(φ/(1-φ)) 我们将φ用η表示,则:φ=1/(1+e)。根据三个假设,我们有

构建完成,这就是逻辑回归中使用的模型。

构建Softmax Regression

现在我们考虑一个多分类问题,也即响应变量y有k个值,即y ∈{1 2, . . . , k},首先我们来证明多项分布也同样属于指数分布族。

多分类模型的输出结果为该样本属于k个类别的概率,我们可以用φ1, . . . , φk来表示这k个样本输出的概率。φ1, . . . , φk满足,但是这样参数就显得有些冗余了,所以我们用φ1, . . . , φk−1来表示,则

定义T(y)∈Rk-1如下:

注意:

在这里T(y)就不等于y了,在这里它是一个k-1维的向量,而不是一个实数。规定(T (y))i表示向量T(y)中第i个元素

另外,引入一个新的符号,如果大括号内为true,则该式等于1,反之为0,例如1{2 = 3} = 0,1{3 =5 − 2} = 1,

这样T (y) 和 y的关系我们可以表示为

关系可以表示为:

所以有:

所以这样,多项式分布我们也可以写成指数分布族的样式,也即,多项分布也是指数分布族。所以我们可以用广义线性模型来拟合了

通过η的表达式可以得到:ηi=log(φik) 这是ηi关于φi的表达式,将它转化为φi关于ηi,为了方便,我们令,所以有

所以可以求得,代入上图红色方框的等式中,求得,这个关于的的函数称为Softmax函数(Softmax Function)

下面我们使用广义线性构造模型

根据假设3,有ηi = θiT x (for i = 1, . . . , k − 1), where θ1, . . . , θk-1 ∈ Rn+1  同样在这里我们定义θk = 0 所以可以得到:ηk = θkT x = 0

所以模型在给定x的条件下y的分布为:

应用在多分类模型上的这个模型称之为softmax regression,它是逻辑回归的一般化。

对于假设函数,我们有假设2可以得到

所以现在求解目标函数的最后一步就是参数的拟合问题。最大似然估计得到

最大似然函数来求解最优的参数θ,跟前面介绍的一样,可以使用梯度上升或者牛顿方法。

广义线性模型(Generalized Linear Models)的更多相关文章

  1. 斯坦福CS229机器学习课程笔记 part3:广义线性模型 Greneralized Linear Models (GLMs)

    指数分布族 The exponential family 因为广义线性模型是围绕指数分布族的.大多数常用分布都属于指数分布族,服从指数分布族的条件是概率分布可以写成如下形式:η 被称作自然参数(nat ...

  2. 广义线性模型(Generalized Linear Models)

    前面的文章已经介绍了一个回归和一个分类的例子.在逻辑回归模型中我们假设: 在分类问题中我们假设: 他们都是广义线性模型中的一个例子,在理解广义线性模型之前需要先理解指数分布族. 指数分布族(The E ...

  3. Andrew Ng机器学习公开课笔记 -- Generalized Linear Models

    网易公开课,第4课 notes,http://cs229.stanford.edu/notes/cs229-notes1.pdf 前面介绍一个线性回归问题,符合高斯分布 一个分类问题,logstic回 ...

  4. [Scikit-learn] 1.1 Generalized Linear Models - from Linear Regression to L1&L2

    Introduction 一.Scikit-learning 广义线性模型 From: http://sklearn.lzjqsdd.com/modules/linear_model.html#ord ...

  5. Popular generalized linear models|GLMM| Zero-truncated Models|Zero-Inflated Models|matched case–control studies|多重logistics回归|ordered logistics regression

    ============================================================== Popular generalized linear models 将不同 ...

  6. [Scikit-learn] 1.5 Generalized Linear Models - SGD for Regression

    梯度下降 一.亲手实现“梯度下降” 以下内容其实就是<手动实现简单的梯度下降>. 神经网络的实践笔记,主要包括: Logistic分类函数 反向传播相关内容 Link: http://pe ...

  7. [Scikit-learn] 1.5 Generalized Linear Models - SGD for Classification

    NB: 因为softmax,NN看上去是分类,其实是拟合(回归),拟合最大似然. 多分类参见:[Scikit-learn] 1.1 Generalized Linear Models - Logist ...

  8. [Scikit-learn] 1.1 Generalized Linear Models - Logistic regression & Softmax

    二分类:Logistic regression 多分类:Softmax分类函数 对于损失函数,我们求其最小值, 对于似然函数,我们求其最大值. Logistic是loss function,即: 在逻 ...

  9. Regression:Generalized Linear Models

    作者:桂. 时间:2017-05-22  15:28:43 链接:http://www.cnblogs.com/xingshansi/p/6890048.html 前言 本文主要是线性回归模型,包括: ...

随机推荐

  1. [置顶] Isolation Forest算法原理详解

    本文只介绍原论文中的 Isolation Forest 孤立点检测算法的原理,实际的代码实现详解请参照我的另一篇博客:Isolation Forest算法实现详解. 或者读者可以到我的GitHub上去 ...

  2. pdf 数据流解析

     根据这个解释可以认为,/CCITTFaxDecode应该指单色图像(每个像素占8位?还是1位),FlateDecode 指文字或者矢量图片(png) 参考论文:http://www.doc88.co ...

  3. stm32寄存器版学习笔记05 PWM

    STM32除TIM6和TIM7外都可以产生PWM输出.高级定时器TIM1和TIM8可以同时产生7路PWM,通用定时器可以产生4路PWM输出. 1.TIM1 CH1输出PWM配置步骤 ①开启TIM1时钟 ...

  4. 数字证书在web应用中实现登陆

    1数字证书登录认证的优点 作为企业信息系统的第一道大门,身份认证是确保企业信息资源只能被合法用户所访问的重要保障. 传统的口令认证方式虽然简单,但是由于其易受到窃听.重放等攻击的安全缺陷,使其已无法满 ...

  5. 《DSP using MATLAB》示例Example 8.27

    %% ------------------------------------------------------------------------ %% Output Info about thi ...

  6. 《DSP using MATLAB》示例Example 8.5

  7. REST服务开发实战【转】

    原文:http://kb.cnblogs.com/page/91827/ REST介绍 如果要说什么是REST的话,那最好先从Web(万维网)说起. 什么是Web呢?读者可以查看维基百科的词条(htt ...

  8. win32 去掉窗口边框

    参考:http://www.blitzbasic.com/Community/posts.php?topic=67222 Strict Graphics 320, 200 SetClsColor 0, ...

  9. py2exe转换参数

    在公司用python写了个统计数据并通过xlsxwriter模块生成excel的小工具, 完成后使用py2exe转换成exe文件过程中遇到了些问题, 记录下. from distutils.core ...

  10. grpc gateway 使用以及docker compose 集成

    1. grpc gateway 安装 参考,比较简单,有需要的依赖可以参考相资料 mkdir tmp cd tmp git clone https://github.com/google/protob ...