机器学习中的高斯分布

2023-11-04


本文主要对机器学习中的高斯分布进行总结:

  • 第一章先总结一元高斯分布和多元高斯分布的概率密度函数;
  • 第二章以一元高斯分布为例,通过极大似然估计推导一元高斯分布中均值和方差的求法,并验证均值是无偏估计,而方差是有偏估计(相对真实值偏小);
  • 第三章主要对多元高斯分布的二次型部分进行介绍,并通过吴恩达课程中二元高斯分布的图像,体验一下均值和协方差矩阵对分布图像的影响,最后点明高斯分布在实际应用中的两个问题和解决方法;
  • 第四章主要推导在已知联合分布的情况下,如何求解边缘分布和条件分布;
  • 第五章主要推导线性高斯系统中相关分布的求解,可用于卡尔曼滤波的推导等。

一、高斯分布的概率密度函数

在这里插入图片描述



二、一元高斯分布的极大似然估计

2.1 μ M L E , σ M L E \mu_{MLE},\sigma_{MLE} μMLE,σMLE 的求解

在这里插入图片描述

2.2 验证 μ M L E , σ M L E \mu_{MLE},\sigma_{MLE} μMLE,σMLE 的无偏性

实际上,通过极大似然估计得到的 μ M L E \mu_{MLE} μMLE 是无偏估计,而 σ M L E \sigma_{MLE} σMLE 是相对真实方差偏小的有偏估计,原因如下:

在这里插入图片描述



三、多元高斯分布

在推导过程中,我们做以下的规定:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7y0dgRWj-1608607576896)(C:%5CUsers%5C25013%5CDesktop%5C%E5%9B%A0%E6%9E%9C%5C%E7%AE%97%E6%B3%95%E5%AD%A6%E4%B9%A0%5Cpic%5C%E9%AB%98%E6%96%AF4.png)]


3.1 马氏距离

多元高斯分布中 ( x − μ ) T Σ − 1 ( x − μ ) (x-\mu)^T\Sigma^{-1}(x-\mu) (xμ)TΣ1(xμ) 部分其实是一个马氏距离,其值是一个数。当 Σ − 1 \Sigma^{-1} Σ1 是一个单位矩阵时,马氏距离即为欧式距离:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ymrJRj4o-1608607576898)(C:%5CUsers%5C25013%5CDesktop%5C%E5%9B%A0%E6%9E%9C%5C%E7%AE%97%E6%B3%95%E5%AD%A6%E4%B9%A0%5Cpic%5C%E9%AB%98%E6%96%AF5.png)]


3.2 ( x − μ ) T Σ − 1 ( x − μ ) (x-\mu)^T\Sigma^{-1}(x-\mu) (xμ)TΣ1(xμ) 的求解

在这里插入图片描述
在这里插入图片描述


特别地,令 p = 2,我们来看一下二元高斯分布的图像情况,并通过几个图来了解一下均值和协方差矩阵对图像分布的影响:

在这里插入图片描述

在这里插入图片描述


3.3 实际应用过程的问题

  1. 实际应用中,协方差矩阵 Σ \Sigma Σ p ( p + 1 ) 2 \frac{p(p+1)}{2} 2p(p+1) 个自由参数,复杂度为 O ( p 2 ) O(p^2) O(p2),因此在高维时常常假设 Σ \Sigma Σ 为对角阵
  2. 单个高斯分布的拟合能力是有限的,因此后续引入了高斯混合模型等模型



四、联合分布 -> 边缘分布 + 条件分布

4.1 数据说明

在这里插入图片描述


4.2 关键推论

在后面的推导中,我们会经常用到下面这个推理,此处证明略:

在这里插入图片描述


4.3 求解边缘分布 P ( x a ) P(x_a) P(xa)

在这里插入图片描述

4.4 求解条件分布 P ( x b ∣ x a ) P(x_b|x_a) P(xbxa)

使用配方法也可以推导出条件分布 P ( x b ∣ x a ) P(x_b|x_a) P(xbxa),但在这里我们使用巧妙且比较简单的构造法进行推导:

在这里插入图片描述



五、线性高斯系统

5.1 问题介绍

在这里插入图片描述


5.2 求解 P ( y ) P(y) P(y)

在这里插入图片描述


5.3 求解 P ( x ∣ y ) P(x|y) P(xy)

在这里插入图片描述



六、参考资料

  1. 哔哩哔哩白板推导系列视频

  2. 机器学习第九周(三)–多元高斯分布

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

机器学习中的高斯分布 的相关文章

  • linux下C程序查看内存剩余大小

    嵌入式linux中很多内存资源都比较小 所以很多程序中在malloc时就需要提前知道内存剩余的大小 下面是一种调用 sysinfo接口来实现 示例代码如下 include
  • java--基础--16.8--IO流--打印流

    java 基础 16 8 IO流 打印流 1 介绍 1 1 分类 字节流打印流 PrintStream 字符打印流 PrintWriter 1 2 特点 只有写数据的 没有读取数据 只能操作目的地 不能操作数据源 可以操作任意类型的数据 如
  • 东北大学acm训练第四周(搜索)

    include
  • 在mac上配置vue开发环境

    1 在mac上安装brew brew 是 Mac 下的一个包管理工具 没有安装brew 检测用 brew v 则执行下面的命令安装 usr bin ruby e curl fsSL https raw githubusercontent c
  • sqli-18

    1 1 updatexml 1 concat 0x5c select group concat table name from information schema tables where table schema security
  • springMvc自定义校验注解

    spring 自定义注解 翻看公司代码 看到了自定义的注解 查了查 再次记录一下 还是太菜 下面是我的实现 1 自定义注解 package com test import javax validation Constraint import
  • 多核编程 与 单核多线程编程的区别

    一 首先声明 并行 两件 多件 事情在同一时刻一起发生 并发 两件 多件 事情在同一时刻只能有一个发生 由CPU快速切换 从而给人的感觉是同时进行 使用多线程来实现并行计算来缩短计算时间时 只要在多核CPU下才行 单核CPU下启用多线程最终

随机推荐

  • mac安装php8和apache

    如果自己在mac安装php 会涉及证书问题 而用brew方法安装 即可自动关联 省心省力 删除mac自带的apache sudo launchctl unload w System Library LaunchDaemons org apa
  • spring 或者spring boot 调整bean 的加载顺序:

    spring 或者spring boot 调整bean 的加载顺序 接下来讲解三种调整类加载顺序的方式 1 使用 Order调整配置类加载顺序 Configuration Order 1 public class ConfigA Bean
  • web安全之XSS攻击原理及防范

    一 什么是XSS攻击 二 反射型XSS 三 存储型XSS 四 DOM based型XSS 五 SQL注入 六 XSS如何防范 1 cookie安全策略 2 X XSS Protection设置 3 XSS防御HTML编码 4 XSS 防御H
  • JSON简单例子-1

    package com xuankai json import org json JSONArray import org json JSONObject public class Test public static void main
  • Java 中Map五种取值方式

    map的主要作用是什么 可以通过创建一个map的实现类 来存放 数据 值 和值的描述 也可以通过描述去取得数据 将键映射到值的对象 一个映射不能包含重复的键 每个键最多只能映射到一个值 此接口取代 Dictionary 类 后者完全是一个抽
  • python的@property有什么用?

    从本质上讲 property是一个语法糖 语法糖是python里老生常谈的事务了 比方说 最基础的len iterable 函数 其实是通过调用iterable len 方法实现的 只是pythonic的理念让我们习惯并且喜欢上使用诸如fu
  • EMWIN显示中文

    上面是我创建的群聊 欢迎新朋友的加入 安装软件 在桌面新建TXT 文件另存为 打开软件 选择字体和大小 取消所有已选内容 导入刚刚的文件 都在edit下面 截图不了 另存为C文件 导入工程 后面的问号不是乱码 是字符 后面整理一下文件 就是
  • Klocwork — 符合功能安全要求的自动化静态测试工具

    Klocwork 符合功能安全要求的自动化静态测试工具 Klocwork工具应用静态分析技术 可实现对C C Java等代码的全面静态分析 检查问题种类既包含软件质量和安全缺陷相关 也可实现多种语言编码规则规范的检查 通过使用Klocwor
  • QCC300x笔记(6) -- QCC3007的OTA流程梳理

    哈喽大家好 这是该系列博文的第六篇 篇 lt lt 系列博文索引 快速通道 gt gt 写在前面 QCC300x支持OTA功能 官方提供了详细的文档说明 按照文档即可升级成功 下面是对流程的简单梳理 可参考 文档和APP下载 1 生产APP
  • C语言解析FLM(ELF)格式文件

    C语言解析FLM ELF 格式文件 代码下载 https gitee com jhembedded flmparse 1 前言 写这篇博客的目的是因为最近在做一个STM32的离线编程器 离线下载需要用到FLM文件的下载算法 所以实现了一下提
  • [人工智能-深度学习-28]:卷积神经网络CNN - 网络架构与描述方法

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 https blog csdn net HiWangWenBing article details 120806599 目录 第1章 卷积神
  • Spring Boot Event Bus用法

    Spring Boot Event Bus是Spring框架中事件驱动编程的一部分 它为应用程序中的不同组件提供了一种解耦的方式 以便它们可以相互通信和交互 以下是Spring Boot Event Bus的用法 导入依赖 首先 您需要在项
  • 如何编写脚本对项目代码进行分析(测试篇)

    本篇将从一个测试的角度 对于在开发过程中 如何对代码进行完善的测试 包括功能以及性能的测试 内容属于杂谈 可能不够严谨 但希望能帮到看到这篇文章的各位 前言 我想没有人会质疑测试的重要性 我们自己编写的代码 可能需要经过很多次的测试才能上线
  • Java 数据库介绍

    数据库基础 数据库概念 数据库 Database 是按照数据结构来组织 存储和管理数据的仓库 它是存储数据集合的容器 可以看做一个文件夹 里面存放着一系列有关联的数据表 数据表 Table 是一种结构化的数据 以列和行为单位来存储的一种结构
  • 基于TCP协议的select多路复用IO服务器编程

    一 初识TCP协议 TCP协议是面向链接 可靠的 基于字节流传输层协议 使用严格的应答机制来保证可靠性 1 建立连接时进行三次握手 2 断开连接时进行四次挥手 3 每次发送数据后 都必须要应答 4 会给每个数据包编号 应答时区分编号 TCP
  • Visual Studio 跨平台开发实战(5) - Xamarin Android 多页面应用程式开发

    前言 大部份的Android 都具有实体或虚拟的Back鍵 因此在处理多页面应用程式时 与先前所介绍的iOS Navigation controller 比较起来会简单许多 1 开启Visual Studio 并新增Android Appl
  • Python爬虫到底要学到什么程度才能接单赚钱呢

    Python爬虫可以做副业接单 一些个人或者企业想要爬一些资料数据之类的 可以给他们爬 费用几百上千不等 这又可以增加个人的收入来源 Python爬虫学到什么程度可以接单 你得要熟练使用Python爬虫 那么一些Python基础知识肯定需要
  • OpenGL计算着色器实现光线追踪——以球体跟踪为例

    OpenGL计算着色器实现光线追踪 以球体跟踪为例 光线追踪是渲染领域中的一种技术 通过在场景中发射光线并迭代计算来确定每个像素的颜色值 这种技术可以用于生成真实感和高度逼真的渲染图像 而在OpenGL中 我们可以利用计算着色器实现光线追踪
  • Qt应用开发(基础篇)——工具按钮类 QToolButton

    一 前言 QToolButton类继承于QAbstractButton 该部件为命令或选项提供了一个快速访问按钮 通常用于QToolBar中 按钮基类 QAbstractButton QToolButton是一个特殊的按钮 一般显示文本 只
  • 机器学习中的高斯分布

    文章目录 一 高斯分布的概率密度函数 二 一元高斯分布的极大似然估计 2 1 M L E