热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

广义线性模型AndrewNg机器学习公开课笔记1.6

转载请注明出处:http:www.cnblogs.comBYRans前面的文章已经介绍了一个回归和一个分类的例子。在逻辑回归模型中我们假设:在分类问题中我们假设:他们都是广义线性模

转载请注明出处:http://www.cnblogs.com/BYRans/

     前面的文章已经介绍了一个回归和一个分类的例子。在逻辑回归模型中我们假设:

     技术分享

     在分类问题中我们假设:

    技术分享

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

指数分布族(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 modelsGMLs来解决。构建广义线性模型我们基于三个假设,也可以理解为我们基于三个设计决策,这三个决策帮助我们构建广义线性模型:

  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. 技术分享,伯努利分布中技术分享
  3. 技术分享

推导过程如下:

    技术分享

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

      注意一下上面的推到结果技术分享,回忆一下,在逻辑回归中,我们选用Sigmoid函数技术分享

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

广义线性模型 - Andrew Ng机器学习公开课笔记1.6


推荐阅读
  • 深入理解OAuth认证机制
    本文介绍了OAuth认证协议的核心概念及其工作原理。OAuth是一种开放标准,旨在为第三方应用提供安全的用户资源访问授权,同时确保用户的账户信息(如用户名和密码)不会暴露给第三方。 ... [详细]
  • 深入理解 Oracle 存储函数:计算员工年收入
    本文介绍如何使用 Oracle 存储函数查询特定员工的年收入。我们将详细解释存储函数的创建过程,并提供完整的代码示例。 ... [详细]
  • 本文介绍了在Windows环境下使用pydoc工具的方法,并详细解释了如何通过命令行和浏览器查看Python内置函数的文档。此外,还提供了关于raw_input和open函数的具体用法和功能说明。 ... [详细]
  • MATLAB实现n条线段交点计算
    本文介绍了一种通过逐对比较线段来求解交点的简单算法。此外,还提到了一种基于排序的方法,但该方法较为复杂,尚未完全理解。文中详细描述了如何根据线段端点求交点,并判断交点是否在线段上。 ... [详细]
  • 高效解决应用崩溃问题!友盟新版错误分析工具全面升级
    友盟推出的最新版错误分析工具,专为移动开发者设计,提供强大的Crash收集与分析功能。该工具能够实时监控App运行状态,快速发现并修复错误,显著提升应用的稳定性和用户体验。 ... [详细]
  • QUIC协议:快速UDP互联网连接
    QUIC(Quick UDP Internet Connections)是谷歌开发的一种旨在提高网络性能和安全性的传输层协议。它基于UDP,并结合了TLS级别的安全性,提供了更高效、更可靠的互联网通信方式。 ... [详细]
  • 理解存储器的层次结构有助于程序员优化程序性能,通过合理安排数据在不同层级的存储位置,提升CPU的数据访问速度。本文详细探讨了静态随机访问存储器(SRAM)和动态随机访问存储器(DRAM)的工作原理及其应用场景,并介绍了存储器模块中的数据存取过程及局部性原理。 ... [详细]
  • 几何画板展示电场线与等势面的交互关系
    几何画板是一款功能强大的物理教学软件,具备丰富的绘图和度量工具。它不仅能够模拟物理实验过程,还能通过定量分析揭示物理现象背后的规律,尤其适用于难以在实际实验中展示的内容。本文将介绍如何使用几何画板演示电场线与等势面之间的关系。 ... [详细]
  • 本文介绍如何通过Windows批处理脚本定期检查并重启Java应用程序,确保其持续稳定运行。脚本每30分钟检查一次,并在需要时重启Java程序。同时,它会将任务结果发送到Redis。 ... [详细]
  • MySQL中枚举类型的所有可能值获取方法
    本文介绍了一种在MySQL数据库中查询枚举(ENUM)类型字段所有可能取值的方法,帮助开发者更好地理解和利用这一数据类型。 ... [详细]
  • 本文介绍如何在应用程序中使用文本输入框创建密码输入框,并通过设置掩码来隐藏用户输入的内容。我们将详细解释代码实现,并提供专业的补充说明。 ... [详细]
  • 本文介绍如何通过SQL查询从JDE(JD Edwards)系统中提取所有字典数据,涵盖关键表的关联和字段选择。具体包括F0004和F0005系列表的数据提取方法。 ... [详细]
  • 本文详细介绍了如何通过命令行启动MySQL服务,包括打开命令提示符窗口、进入MySQL的bin目录、输入正确的连接命令以及注意事项。文中还提供了更多相关命令的资源链接。 ... [详细]
  • 本文介绍如何使用 NSTimer 实现倒计时功能,详细讲解了初始化方法、参数配置以及具体实现步骤。通过示例代码展示如何创建和管理定时器,确保在指定时间间隔内执行特定任务。 ... [详细]
  • 本文介绍如何使用阿里云的fastjson库解析包含时间戳、IP地址和参数等信息的JSON格式文本,并进行数据处理和保存。 ... [详细]
author-avatar
_Terr1鄭x宜_F
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有