在分类问题中我们如果:

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

指数分布族(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. 使用SQL查询连续号码段

    原文http://www.cnblogs.com/tc310/archive/2010/09/17/1829276.html CREATE TABLE #test(fphm INT ,kshm CHA ...

  2. MyEclipse 全面的快捷键

    摘自: http://www.360doc.com/content/11/0406/10/6704374_107513559.shtml 引用 MyEclipse快捷键(全面) 程序代码自动排版:Ct ...

  3. java 中 SVN 设置所有文件及子目录 needs-lock, svn 提交时自动设置 needs-lock, 及版本不一致问题

    摘自: http://my.oschina.net/zhangzhihao/blog/72177 设置后的效果:文件会自动带上svn:needs-lock属性,默认是只读的要签出才能修改以防止修改完后 ...

  4. CarbonData编译与安装

    原文连接 http://xiguada.org/carbondata_compile/ CarbonData是啥? CarbonData is a fully indexed columnar and ...

  5. 统计的一个小题目python实现

    最近面试碰到的一个题目,业余时间用python实现的. 拿到数据,先用sort 命令排序,也可再进一步去重复 sort -k 1,2  data.txt |uniq  > data.new # ...

  6. 海康ipc onvif抓包分析

    型号:半球DS-2CD2122FWD-IWS 子码流的地址(101+1): rtsp://admin:hik12345@10.7.36.222:554/Streaming/Channels/102?t ...

  7. Spring MVC 使用拦截器 HiddenHttpMethodFilter配置Rest风格的URL

    <!-- 4.使用Rest风格的URI,将页面普通的post请求转为指定的delete或者put请求 --> 详细使用请参考这篇博客:地址:http://blog.csdn.net/ppl ...

  8. JavaScript数组方法说明

    JavaScript的数组方法有: http://www.w3school.com.cn/jsref/jsref_obj_array.asp 其中:concat.join和slice方法都不会修改原数 ...

  9. Tomcat 改服务器编码(Java 修改字符串编码格式)

    对于客户端发来的汉字,我们一般需要转码: ------------------------------------------------------------------------------- ...

  10. c#:无法将 NULL 转换成“System.DateTime”,因为它是一种值类型(转)

    摘自:http://www.blogjava.net/parable-myth/archive/2010/09/30/333454.html 在C# 2.0里面的数据类型中,分为值类型和引用类型,引用 ...