在分类问题中我们如果:

他们都是广义线性模型中的一个样例,在理解广义线性模型之前须要先理解指数分布族。

指数分布族(The Exponential Family)

假设一个分布能够用例如以下公式表达,那么这个分布就属于指数分布族:

公式中y是随机变量;h(x)称为基础度量值(base measure);

η称为分布的自然參数(natural parameter),也称为标准參数(canonical parameter);

T(y)称为充分统计量,通常T(y)=y;

a(η)称为对数切割函数(log partition function);

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

当T(y)被固定时,a(η)、b(y)就定义了一个以η为參数的一个指数分布。我们变化η就得到这个分布的不同分布。

伯努利分布属于指数分布族。伯努利分布均值为φ,写为Bernoulli(φ)。是一个二值分布,y ∈ {0, 1}。所以p(y = 1; φ) = φ; p(y = 0; φ) = 1 − φ。当我们变化φ就得到了不同均值的伯努利分布。伯努利分布表达式转化为指数分布族表达式步骤例如以下:

当中,

再举一个高斯分布的样例。高斯分布也属于指数分布族。由高斯分布能够推导出线性模型(推导过程将在EM算法中解说)。由星型模型的如果函数能够得知,高斯分布的方差与如果函数无关,因而为了计算简便,我们设方差=1。

高斯分布转化为指数分布族形式的推导步骤例如以下:

当中

更多分部也属于指数分布族。比如:伯努利分布(Bernoulli)、高斯分布(Gaussian)、多项式分布(Multinomial)、泊松分布(Poisson)、伽马分布(Gamma)、指数分布(Exponential)、β分布、Dirichlet分布、Wishart分布。

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

在分类和回归问题中,我们通过构建一个关于x的模型来预測y。这样的问题能够利用广义线性模型(Generalized linear models,GMLs)来解决。构建广义线性模型我们基于三个如果。也能够理解为我们基于三个设计决策。这三个决策帮助我们构建广义线性模型:

  1. ,如果满足一个以为參数的指数分布。比如,给定了输入x和參数θ。那么能够构建y关于的表达式。
  2. 给定x。我们的目标是要确定T(y)。即

    大多数情况下T(y)=y,那么我们实际上要确定的是。即给定x,如果我们的目标函数是。(在逻辑回归中期望值是。因此目标函数h是φ。在线性回归中期望值是μ,而高斯分布中,因此线性回归中目标函数)。

  3. 如果自然參数η和x是线性相关,即如果:

如果有一个预測问题:基于特征商店促销活动、近期的广告、天气、星期几等特征x。来预測商店在任一小时内的顾客数目y。

依据概率知识可知,x、y符合泊松分布。泊松分布属于指数分布族。我们能够利用上面的3个如果。构建一个广义线性模型来进行构建预測模型。

GLMs构建最小二模型

线性回归中的优化目标y(损失函数)是由最小二乘法得到的。能够使用广义线性模型构建最小二乘模型。三个如果:

  1. 最小二乘法得到的目标变量y是一个连续值,我们如果给定x下y的分布符合高斯分布。

    如果1中的ExponentialFamily(η)就是高斯分布。

  2. 在高斯分布中。目标函数
  3. 如果:

推导步骤例如以下:

第一步变换依据如果2:

第二步变换依据y|x; θ ∼ N(μ, σ2),高斯分布的期望值是μ

第三步依据如果1:高斯分布中

第四步依据如果3:

如今已经使用广义线性模型构建出了最小二乘模型。接下来的工作就是利用梯度下降、牛顿方法来求解θ。梯度下降牛顿方法的内容请參考之前的讲义。

GLMs构建逻辑回归

逻辑回归能够用于解决二分类问题,而分类问题目标函数y是二值的离散值,。依据统计知识。二分类问题能够选择伯努利分布来构建模型。

在伯努利分布的指数分布族表达式中我们已知:,从而得到

构建广义线性模型的三个如果:

  1. 如果符合伯努利分布,
  2. 。伯努利分布中

推导步骤例如以下:

同最小二乘模型一样。接下来的工作就由梯度下降或牛顿方法来完毕。

注意一下上面的推到结果,回顾一下,在逻辑回归中。我们选用Sigmoid函数

之所以在逻辑回归中选用这个g(z)作为Sigmoid函数是由一套理论作支持的。这个理论便是广义线性模型。

广义线性模型 - Andrew Ng机器学习公开课笔记1.6的更多相关文章

  1. Andrew Ng机器学习公开课笔记 -- 支持向量机

    网易公开课,第6,7,8课 notes,http://cs229.stanford.edu/notes/cs229-notes3.pdf SVM-支持向量机算法概述, 这篇讲的挺好,可以参考   先继 ...

  2. Andrew Ng机器学习公开课笔记–Principal Components Analysis (PCA)

    网易公开课,第14, 15课 notes,10 之前谈到的factor analysis,用EM算法找到潜在的因子变量,以达到降维的目的 这里介绍的是另外一种降维的方法,Principal Compo ...

  3. Andrew Ng机器学习公开课笔记 -- Generative Learning algorithms

    网易公开课,第5课 notes,http://cs229.stanford.edu/notes/cs229-notes2.pdf 学习算法有两种,一种是前面一直看到的,直接对p(y|x; θ)进行建模 ...

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

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

  5. Andrew Ng机器学习公开课笔记 -- 学习理论

    网易公开课,第9,10课 notes,http://cs229.stanford.edu/notes/cs229-notes4.pdf 这章要讨论的问题是,如何去评价和选择学习算法   Bias/va ...

  6. Andrew Ng机器学习公开课笔记 -- Regularization and Model Selection

    网易公开课,第10,11课 notes,http://cs229.stanford.edu/notes/cs229-notes5.pdf   Model Selection 首先需要解决的问题是,模型 ...

  7. Andrew Ng机器学习公开课笔记–Reinforcement Learning and Control

    网易公开课,第16课 notes,12 前面的supervised learning,对于一个指定的x可以明确告诉你,正确的y是什么 但某些sequential decision making问题,比 ...

  8. Andrew Ng机器学习公开课笔记 – Factor Analysis

    网易公开课,第13,14课 notes,9 本质上因子分析是一种降维算法 参考,http://www.douban.com/note/225942377/,浅谈主成分分析和因子分析 把大量的原始变量, ...

  9. Andrew Ng机器学习公开课笔记 -- 线性回归和梯度下降

    网易公开课,监督学习应用.梯度下降 notes,http://cs229.stanford.edu/notes/cs229-notes1.pdf 线性回归(Linear Regression) 先看个 ...

随机推荐

  1. Cognos10.2.1配置加密信息不能被加密

    好奇心害死猫,可是我不是猫.这个问题已经不是第一次出现了,之前是从10.1.1到10.2.0出现的,这次是从10.2.0到10.2.1出现的,上次由于时间的问题被搁置了,这次竟然再次遇到同样的问题,已 ...

  2. Cocos2d-x 2.x 升级为 3.x 常见变化纪录

    1.去CC 之前2.0的CC**,把CC都去掉,主要的元素都是保留的 2.0 CCSprite  CCCallFunc CCNode .. 3.0 Sprite CallFunc Node .. 2. ...

  3. C++基础学习教程(五)

    这一讲我们集中解说类和他的一些特性.首先我们从自己定义一个有理数类来開始. 在C语言中有一个keyword: struct ,用来创建一个结构体类型.可是在C++中这个关键的含义就不只如此了,以下我们 ...

  4. 用pdb调试OpenStack Havana

    作为个人学习笔记分享,有任何问题欢迎交流! Note:若是想要用pdb调试OpenStack,必须通过Devstack安装它. Devstack安装Havana过程 1.   使用一般用户(非root ...

  5. log4cplus的安装与使用初步

    1. 简单介绍 log4cplus是C++编写的开源的日志系统,The purpose of this project is to port the excellentLog for Java (lo ...

  6. localhost连接慢如何解决?

    localhost连接慢如何解决 php 环境本地用ip连接mysql响应快, 今天碰到一个连接mysql的怪问题,我在php 环境本地用ip连接mysql响应快,用localhost连接慢,后来百度 ...

  7. 隐函数画图with R

    隐函数画图 with R 这个函数 sin(xsiny)-cos(ycosx)=0 图是这个样子 怎么用R画出来呢?下面是代码 x<-y<-seq(-10,20,0.1) f<-fu ...

  8. 查看慢sql语句

    查看慢sql语句 st.text AS SQL_Full --父级完整语句 ,) , ((CASE statement_end_offset THEN DATALENGTH(st.text) ELSE ...

  9. chrome更改缓存位置

      更改chrome浏览器缓存位置 CreateTime--2017年7月20日08:33:14Author:Marydon 一.参考链接 http://jingyan.baidu.com/artic ...

  10. 【linux】FTP添加用户,设置权限和目录

    一.目的,新建一个用户 test2,登录ftp,它只有自己的主目录权限,其他同级和上级目录没有权限 二.ftp安装.配置 yum -y install vsftpd //通过yum来安装vsftpd ...