【机器学习】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 条评论
登录 后参与评论

相关文章

来自专栏大数据挖掘DT机器学习

详细介绍tensorflow 神经网络分类模型构建全过程:以文本分类为例

许多开发者向新手建议:如果你想要入门机器学习,就必须先了解一些关键算法的工作原理,然后再开始动手实践。但我不这么认为。 我觉得实践高于理论,新手首先要做的是了解...

4867
来自专栏机器之心

教程 | 从字符级的语言建模开始,了解语言模型与序列建模的基本概念

选自imaddabbura 机器之心编译 你有没有想过 Gmail 自动回复是如何进行的?或者手机在你输入文本时如何对下一个词提出建议?生成文本序列的通常方式是...

3075
来自专栏Petrichor的专栏

tensorflow: bn层 的 decay参数项

探究 batch normalization 过程中的 decay 参数项 在 train 和 test 过程中的不同作用。

1283
来自专栏iOSDevLog

估计器接口小结摘自:《Python 机器学习基础教程》 第3章 无监督学习与预处理(三)

scikit-learn 中的所有算法——无论是预处理、监督学习还是无监督学习算法——都被实现为类。这些类在 scikit-learn 中叫作估计器(estim...

782
来自专栏null的专栏

机器学习算法实现解析——libFM之libFM的模型处理部分

本节主要介绍的是libFM源码分析的第三部分——libFM的模型处理。 3.1、libFM中FM模型的定义 libFM模型的定义过程中主要包括模型中参数的设置及...

4589
来自专栏null的专栏

简单易学的机器学习算法——岭回归(Ridge Regression)

一、一般线性回归遇到的问题     在处理复杂的数据的回归问题时,普通的线性回归会遇到一些问题,主要表现在: image.png 模型的解释能力:如果模型中的特...

4057
来自专栏瓜大三哥

BP神经网络续1

一、BP网络中的函数 1.创建函数 1) cascadeforwardnet函数 cascadeforwardnet(hiddenSizes,trainFcn)...

2399
来自专栏瓜大三哥

matlab神经网络1

神经网络的通用函数 一、神经网络仿真函数 [Y,Pf,Af,E,Perf]=sim(net,P,Pi,Ai,T) 其中,参数Y为网络的输出;Pf表示最终的输入延...

2228
来自专栏AI研习社

手把手教你用 TensorFlow 实现卷积神经网络(附代码)

在知乎上看到一段介绍卷积神经网络的文章,感觉讲的特别直观明了,我整理了一下。首先介绍原理部分。 通过一个图像分类问题介绍卷积神经网络是如何工作的。下面是卷积神经...

3416
来自专栏杂文共赏

卷积神经网络究竟做了什么?

神经学习的一种主要方式就是卷积神经网络(CNN),有许多种方法去描述CNN到底做了什么,一般通过图像分类例子通过数学的或直观的方法来介绍如何训练和使用CNN。

4938

扫码关注云+社区