【机器学习】CS229课程笔记notes1翻译-Part III广义线性模型

CS229课程笔记

吴恩达

Part III 广义线性模型

      到目前为止,我们已经看到一个回归的例子和一个分类的例子。在回归的例子中,我们有y|x;θ~N(μ,σ2),在分类的例子中,y|x;θ~Bernoulli(φ),其中某个合适的μ和φ的取值定义为x和θ的函数。在这一部分,我们将展示出这些方法都是一个更广模型族的特例,叫做广义线性模型(GLM)。我们也将展示GLM家族中的其他模型可以怎样被推导和应用到其他分类和回归问题中。

8  指数族

      为了研究广义线性模型,我们从定义指数族分布开始。我们说指数族中的一类分布,如果它可以写为如下形式:

      这里,η叫做分布的自然参数(也叫做规范参数);T(y)是充分统计(对于我们考虑的分布,通常认为T(y)=y);a(η)是对数分割函数。e-a(η)实际上起正则化常量的作用,确保p(y;η)的和为从y到1。

      特定的T,a和b定义了一系列分布,η为参数,当我们变化η时,我们得到该家族中不同的分布。

      我们现在展示Bernoulli和Gaussian分布是指数族中的分布。均值为φ的Bernoulli分布,写作Bernoulli(φ),该分布y∈{0,1},p(y=1;φ)=φ,p(y=0;φ)=1-φ。当我们变化φ,我们获得拥有不同均值的Bernoulli分布。我们现在展示指数族中的这类Bernoulli分布,通过变化φ来得到,例如存在一个T,a和b的取值使得等式(6)变成Bernoulli分布类型。

我们将Bernoulli分布写为:

      因此,自然参数η由η=log(φ/(1-φ))给定。有趣的是,如果我们将φ变换为η的函数,我们得到φ=1/(1+e-η)。这是熟悉的sigmoid函数!当我们将logistic回归推导为广义线性函数时,这将再次出现。为了完成Bernoulli分布作为指数族分布的公式,我们有:

      这显示出在合适的T,a和b的选择下,Bernoulli分布可以写成等式(6)的形式。

      让我们现在考虑高斯分布。回忆一下,当推导线性回归时,σ2的值对我们最终对θ和hθ(x)的选择没有影响。因此,我们可以对σ2选择任意值,这不会改变任何东西。为了简化下面的推导,我们设置σ2=1。我们有:

      因此,我们可以看到高斯分布也在指数族中,有下面的取值:

      有许多其他的分布是指数族的成员:多项分布(我们后面会看到)、泊松分布(为可数的东西建模,可见问题集)、γ分布、指数分布(为连续的非负随机变量建模,比如时间间隔)、β分布、狄利克雷分布(通过概率进行分布)等等。下一节,我们将描述一个一般的副本来构建模型,y(给定x和θ)来自于这些分布其中之一。

9  构建广义线性模型(GLM)

      假定你想要构建一个模型来估计在任意给定时段你商店到达的顾客数y(或者你网站的访问量),基于特定特征x,比如商店促销、近期广告、天气、一周的哪一天等等。我们知道泊松分布通常可以对访问者数量很好地建模。知道这个,我们怎么为我们的问题提出一个好的模型?幸运地,泊松分布是一个指数族分布,因此我们可以应用广义线性模型(GLM)。在这一部分,我们将描述一种方法为这些问题构建GLM模型。

      一般地,考虑分类或回归问题,我们想要预测的随机变量y的值是x的函数。为这个问题推导GLM,我们将作出关于给定x的y的条件分布和我们的模型的下面三个假设:

      1. y|x;θ~ExponentialFamily(η)。例如,给定x和θ,y的分布遵循某个指数族分布,参数是η。

      2. 给定x,我们的目标是预测给定x的T(y)的期望值。在绝大多数我们的例子中,我们有T(y)=y,因此这意味着我们想要通过我们学习的假设h预测h(x)的输出值来满足h(x)=E[y|x]。(注意该假设在为logistic回归和线性回归选择hθ(x)时被满足。例如,在logistic回归中,我们有hθ(x)=p(y=1|x;θ)=0·p(y=0|x;θ)+1·p(y=1|x;θ)=E[y|x;θ]。)

      3. 自然参数η和输入x是线性相关的:η=θiTx。(或者,如果η是向量值的,那么ηi=θiTx。)

      假设中的第三个似乎不太好证明,认为它是设计GLM的一个设计选择而不是一个假设似乎更好。这三个假设/设计选择将允许我们推导出一个非常优雅的学习算法类,即广义线性模型,它具有很多期望的特性,比如容易学习。此外,对于建模不同类型y的分布,结果模型通常非常有效;例如,我们将看到logistic回归和普通最小平方都可以被推导成广义线性模型。

9.1  普通最小平方算法

      为了展示普通最小平方是广义线性模型家族的一个特例,考虑目标变量y(也叫做响应变量,在广义线性模型术语中)是连续的,我们建模给定x的y的条件分布作为高斯分布N(μ,σ2)。(这里,μ可以依赖于x。)因此,我们让上面的指数族ExponentialFamily(η)分布是高斯分布。如我们之前所见,在高斯公式中,其作为指数族分布,我们有μ=η。因此,我们有

      第一个等式遵从上面的假设2;第二个等式遵从y|x;θ~N(μ,σ2),因此它的期望值为μ;第三个等式遵从假设1(我们早期的推导显示,在作为指数族分布的高斯公式中,μ=η);最后一个等式遵从假设3。

9.2  Logistic回归

      我们现在考虑logistic回归。这里我们对二值分类感兴趣,因此y∈{0,1}。给定y是二值的,因而选择Bernoulli分布族建模给定x的y的条件分布似乎是自然的。在我们的Bernoulli分布公式中,作为指数族分布,我们有φ=1/(1+e-η)。此外,如果y|x;θ~Bernoulli(φ),那么E[y|x;θ]=φ。因此,遵从着与普通最小平方相似的推导,我们得到:

      因此,这给出了我们

的假设函数。如果你以前想知道我们怎么提出logistic函数1/(1+e-z),这给出答案:一旦我们假定在x的条件下y是Bernoulli分布,它就成为广义线性模型GLM和指数分布族定义的必然结果。

      为了多介绍一点术语,函数g的参数为给定的分布的均值(g(η)=E[T(y);η]),叫做响应函数。相反,g-1,叫做链接函数。因此,高斯分布族的响应函数是识别函数,Bernoulli的响应函数是logistic函数。

9.3  Softmax回归

      让我们看更多广义线性模型的例子。考虑分类问题,响应变量y取k个值中的任意一个,因此y∈{1, 2, ..., k}。例如,除了将邮件分成两类——垃圾邮件或非垃圾邮件——这将是一个二分类问题——我们可能想要分成三类,比如垃圾邮件、私人邮件、工作邮件。响应变量仍然是离散的,可以取多个值。我们将因此建模,依据多项式分布。

      让我们推导广义线性模型来建模这种多项式数据,我们将开始表示多项式作为一种指数族分布。

      为了参数化一个多项式为k个可能输出,我们可以使用k个参数φ1,...,φk指定每个输出。然而,这些参数可能是冗余的,或者,它们可能不是独立的(由于我们知道任意k-1个φi唯一决定最后一个,而且它们必须满足

)。因此,我们将多项式参数改写为k-1个参数,φ1,...,φk-1,其中φi=p(y=i;φ),p(y=k;φ)=1-

,我们也让

,但是我们应该记住,这不是一个参数,它由φ1,...,φk-1完全指定。

      为了将多项式表达成指数族分布,我们将定义T(y)∈Rk-1如下:

      不像我们前面的例子,这里我们没有T(y)=y;T(y)现在是一个k-1维的向量,而不是一个实数。我们将写作(T(y))i代表向量T(y)的第i个元素。

      我们引进更多有用的符号。指示函数1{·}取值为1,如果其参数为真,否则取值为0(1{True}=1,1{False}=0)。例如,1{2=3}=0,1{3=5-2}=1。因此,我们也可以将T(y)和y之间的关系写为(T(y))i=1{y=i}。(在你继续阅读之前,请你确保你理解为什么这是真的!)此外,我们有E[(T(y))i]=P(y=i)=φi。

      我们现在准备展示多项式是指数族中的一员。我们有:

      其中

      这样就完成了我们的多项式公式,作为指数族分布。

      链接函数(i=1,...k)由以下公式给出:

      为了方便,我们也定义ηk=log(φk/φk)=0。为了转换链接函数,推导响应函数,我们有

      这意味着

,代回等式(7),给出响应函数

      该函数从η映射到φ,叫做softmax函数。

      为了完成我们的模型,我们使用早先给定的假设3,ηi与x线性相关。因此,我们有ηi=θiTx(对于i=1,...,k-1),其中θ1,...,θk-1∈Rn+1是我们模型的参数。为了符号便利,我们也可以定义θk=0,以便ηk=θkTx=0,如之前给出。因此,我们的模型假设给定x的y的条件分布由下式给出:

      这个模型,应用到分类问题,其中y∈{1,...k},叫做softmax回归,是由logistic回归生成的。

      我们的假设将输出

      换句话说,我们的假设将输出估计概率p(y=i|x;θ),对于每个值i=1,...k。(即使如上定义的hθ(x)仅仅是k-1维的,清晰地,p(y=k|x;θ)可通过得到。)

      最后,让我们讨论参数拟合。与我们最初的普通最小平方和logistic回归推导相似,如果我们有一个m个样本的训练集{(x(i),y(i));i=1,...,m},想要学习该模型的参数θi,我们可以首先写下对数似然函数:

      为了获得上面的第二行,我们使用公式(8)中给出的定义p(y|x;θ)。我们现在可以通过最大化l(θ)获得关于参数θ的最大似然估计,使用梯度上升方法或者牛顿方法。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏算法channel

一文了解Word2vec之Skip-Gram训练网络的3种技术

上一篇 斯坦福大学NLP-cs224课程笔记2:词向量 介绍了 Word2vec 模型的基本思想,得到目标函数,给定中心词求上下文概率,最后还说到用 negat...

1182
来自专栏奇点大数据

Pytorch神器(5)

大家好,今天我们进一步学习Pytorch的用法之正向传播(FeedForward)网络的用法。

792
来自专栏https://www.cnblogs.com/L

【机器学习】--层次聚类从初识到应用

聚类就是对大量未知标注的数据集,按数据的内在相似性将数据集划分为多个类别,使类别内的数据相似度较大而类别间的数据相似度较小. 数据聚类算法可以分为结构性或者分...

832
来自专栏机器学习算法与理论

深度学习核心技术实战 NLP-word2vec

多分类的逻辑回归- softmax模型 word2vec:词向量 one-hot representation 对应位置为1,但不能表达词之间的关系 本质...

542
来自专栏SeanCheney的专栏

《Scikit-Learn与TensorFlow机器学习实用指南》 第3章 分类

在第一章我们提到过最常用的监督学习任务是回归(用于预测某个值)和分类(预测某个类别)。在第二章我们探索了一个回归任务:预测房价。我们使用了多种算法,诸如线性回归...

431
来自专栏机器学习算法与Python学习

推荐 | 图解机器学习

关键字全网搜索最新排名 【机器学习算法】:排名第一 【机器学习】:排名第一 【Python】:排名第三 【算法】:排名第四 源 | ynaughty 每当提...

3595
来自专栏杨熹的专栏

为什么需要 Mini-batch 梯度下降,及 TensorFlow 应用举例

里面对 BGD,SGD,MBGD,Adagrad,Adadelta,RMSprop,Adam 进行了比较, 今天对其中的 mini-batch 梯度下降 作进...

581
来自专栏CSDN技术头条

基于卷积神经网络(CNN)的中文垃圾邮件检测

前言 文本分类任务是一个经久不衰的课题,其应用包括垃圾邮件检测、情感分析等。 传统机器学习的做法是先进行特征工程,构建出特征向量后,再将特征向量输入各种...

2887
来自专栏张俊红

Sklearn参数详解—Adaboost

今天这篇讲讲集成学习,集成学习就是将多个弱学习器集合成一个强学习器,你可以理解成现在有好多道判断题(判断对错即01),如果让学霸去做这些题,可能没啥问题,几乎全...

953
来自专栏机器学习原理

机器学习(16)——EM算法示例

算法思想:含有隐变量的极大似然估计 我们经常会从样本观察数据中,找出样本的模型参数。 最常用的方法就是极大化模型分布的对数似然函数。 但是在一些情况下,我们得到...

2988

扫码关注云+社区