在分类问题中我们如果:

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

指数分布族(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. iframe高度动态自适应

    by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=1294 一.前言碎碎念 ...

  2. 在 WF 4 中编写自定义控制流活动

    在 WF 4 中编写自定义控制流活动 Leon Welicki 控制流是指组织和执行程序中各个指令的方法. 在 Windows Workflow Foundation 4 (WF 4) 中,控制流活动 ...

  3. TCP/IP具体解释学习笔记——地址解析协议ARP

    一 概述 我们知道,IP协议是用来在不同的物理网络之间数据传输的.要在不同的网络之间数据传输,至少须要将IP协议所用的地址转换成特定网络所使用的物理地址. 一般来说.就是将IPv4地址转换为mac地址 ...

  4. Visual Studio 2013 Update2

    下载: http://download.microsoft.com/download/6/7/8/6783FB22-F77D-45C5-B989-090ED3E49C7C/vs2013.2.iso

  5. UISearchBar cancel 按钮设置文本

    主要是在 UISearchDisplayDelegate中更改: - (void)searchDisplayControllerWillBeginSearch:(UISearchDisplayCont ...

  6. volist 自增序号 分页如何实现?

    TP框架模板中如何生成自增数据 {$_GET['p']*10-10+$i} /* 分页序号计算    */ function addnum($k,$num){     return ($k +1 ) ...

  7. 使用JNDI连接数据库

    第一步:实现一个Java类: package com.logistic.data; import java.sql.*;import javax.sql.*;import javax.naming.* ...

  8. javascript forEach方法与jQuery each区别

    1.forEach方法 语法: array.forEach(function(currentValue, index, arr), thisValue) 参数: 示例: <!DOCTYPE ht ...

  9. HBase建立二级索引的一些解决方式

    HBase的一级索引就是rowkey,我们仅仅能通过rowkey进行检索. 假设我们相对hbase里面列族的列列进行一些组合查询.就须要採用HBase的二级索引方案来进行多条件的查询. 常见的二级索引 ...

  10. ORA-12519:数据的连接池访问过多

    今天服务部同事问我一个问题,客户处的报表一半能打开,一半报错如下: Io 异常: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=185599744)(ERR ...