在线性回归问题中,我们假设,而在分类问题中,我们假设,它们都是广义线性模型的例子,而广义线性模型就是把自变量的线性预测函数当作因变量的估计值。很多模型都是基于广义线性模型的,例如,传统的线性回归模型,最大熵模型,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. sql基础语法复习

    约定:数据库名:test:表名:tb1,tb2,tb3…: 对象:数据库:database 表:table 列:column 索引:index 视图:view 存储过程:procedure 一.数据结 ...

  2. wait() ,notify() ,notifyAll(),synchronized 和同步方法锁,对象锁的联系,关系,区别;

    一直不明白一个问题,因为在书上关于生产者和消费者的例子里看到一段这样的代码,估计很多人都和我一样迷惑 public synchronized void set(String name, String ...

  3. Error measure

    Noise 在x和y都可能有noise 对于没有noise的情况,x~P(x), f(x)=h(x),但是如果现在有noise,x~P(x), y~P(y|x)(y是真正的label,只是一定概率上会 ...

  4. 流畅设计 Fluent Design System 中的光照效果 RevealBrush,WPF 也能模拟实现啦!

    UWP 才能使用的流畅设计效果好惊艳,写新的 UWP 程序可以做出更漂亮的 UI 啦!然而古老的 WPF 项目也想解解馋怎么办? 于是我动手实现了一个!   迫不及待看效果 ▲ 是不是很像 UWP 中 ...

  5. 隐藏控件HiddenField使用

    HiddenField控件顾名思义就是隐藏输入框的服务器控件,它能让你保存那些不需要显示在页面上的且对安全性要求不高的数据. 增加HiddenField,其实是为了让整个状态管理机制的应用程度更加全面 ...

  6. {Reship}{Emgu}{vs2010}C#配置Emgu

    =============================================================================================This Ar ...

  7. BZOJ4057 [Cerc2012]Kingdoms

    题意 有一些王国陷入了一系列的经济危机.在很多年以前,他们私底下互相借了许多钱.现在,随着他们的负债被揭发,王国的崩溃不可避免地发生了--现在有n个王国,对于每对王国A和B,A欠B的钱被记为d_AB( ...

  8. fopen()和fclose()

    1.fopen()函数的用法fopen函数用于打开文件, 其调用格式为:FILE *fopen(char *filename, *type);fopen()函数中第一个形式参数表示文件名, 可以包含路 ...

  9. 理解加密算法——创建CA机构,签发证书并开始TLS通信

    1 不安全的TCP通信 普通的TCP通信数据是明文传输的,所以存在数据泄露和被篡改的风险,我们可以写一段测试代码试验一下,NODE.JS代码: TCP Server: const net=requir ...

  10. mac下导出JetBrains IDE Support插件给linux

    自从google被和谐以后,上google的store安装插件是如此的费劲,好在mac下的chrome已经装好了,直接导出给linux就可以 mac下chrome的插件目录为 ~/Library/Ap ...