【机器学习前置知识】狄利克雷分布

news2024/11/17 12:24:03

在阅读本文前,建议先食用以下几篇文章以能更好地理解狄利克雷分布:

二项分布

Beta分布

多项分布

共轭分布

狄利克雷分布

狄利克雷分布(Dirichlet distribution)是Beta分布的扩展,把Beta分布从二元扩展到多元形式就是狄利克雷分布,Beta分布是狄利克雷分布的二元特例。

在共轭方面,可以类比Beta分布与二项分布的关系,狄利克雷分布是多项分布的共轭分布,因此狄利克雷分布常作为多项分布的先验分布使用,它是多项分布似然的共轭先验。

狄利克雷分布本质上是多元连续型随机变量的概率密度分布,假设多元随机变量 θ = ( θ 1 , θ 2 , . . . , θ k ) θ=(θ_1,θ_2,...,θ_k) θ=(θ1,θ2,...,θk) 服从参数 α = ( α 1 , α 2 , . . . , α k ) \alpha=(\alpha _1,\alpha _2,...,\alpha _k) α=(α1,α2,...,αk) 的狄利克雷分布,记作 θ ∽ D i r ( α ) θ \backsim Dir(\alpha) θDir(α) ,则概率密度函数可表示为:

p ( θ ∣ α ) = Γ ( ∑ i = 1 k α i ) ∏ i = 1 k Γ ( α i ) ∏ i = 1 k θ i α i − 1 = 1 B ( α ) ∏ i = 1 k θ i α i − 1       ( 1 ) p(θ|\alpha)={\Gamma(\sum_{i=1}^k{\alpha _i})\over{\prod_{i_=1}^k\Gamma(\alpha _i)}}\prod_{i=1}^k θ_i^{\alpha_{i-1}}={1\over{B(\alpha)}}\prod_{i=1}^k θ_i^{\alpha_{i-1}} \ \ \ \ \ (1) p(θα)=i=1kΓ(αi)Γ(i=1kαi)i=1kθiαi1=B(α)1i=1kθiαi1     (1)

其中, ∑ i = 1 k θ i = 1 \sum_{i=1}^kθ_i=1 i=1kθi=1 θ i ≥ 0 θ_i \geq 0 θi0 α i > 0 \alpha_i > 0 αi>0

初识者对式 ( 1 ) (1) (1) 可能不明就里,我们来对它做个通俗的解释。

在二项分布和Beta分布中我们曾以抛硬币举例,因为他们只涉及到二元变量,硬币的正反面就可以表示。

在多项分布里面用的是骰子举例,狄利克雷分布也同样可以效仿之。

假设有个生产骰子的工厂,这个工厂技术精湛且先进,不仅能造出一般的质地均匀的六面骰子,甚至可以造出任意质地任意多个面的骰子,这里质地均匀指的是骰子掷出每个面的概率相同,任意质地指掷出每个面的概率不同(但和为1)。在此背景下,狄利克雷分布中的 k k k 元随机变量 θ = ( θ 1 , θ 2 , . . . , θ k ) θ=(θ_1,θ_2,...,θ_k) θ=(θ1,θ2,...,θk) 可以看作掷一枚这个工厂生产的具有 k k k 个面的骰子时, 每个面出现的概率;参数 α = ( α 1 , α 2 , . . . , α k ) \alpha=(\alpha _1,\alpha _2,...,\alpha _k) α=(α1,α2,...,αk) 可以看作掷 n n n 次骰子中, k k k 个面中每个面出现的次数,并且满足 ∑ i = 1 k θ i = 1 \sum_{i=1}^kθ_i=1 i=1kθi=1 ∑ i = 1 k α i = n \sum_{i=1}^k\alpha_i=n i=1kαi=n

因为 θ θ θ 满足 ∑ i = 1 k θ i = 1 \sum_{i=1}^kθ_i=1 i=1kθi=1 θ i ≥ 0 θ_i \geq 0 θi0 ,可以说狄利克雷分布的 k k k 元随机变量 θ = ( θ 1 , θ 2 , . . . , θ k ) θ=(θ_1,θ_2,...,θ_k) θ=(θ1,θ2,...,θk)是定义在 k − 1 k-1 k1 维概率单纯形(K-dimentional probability simplex)上的。二维单纯形是个三角形、有三个顶点(三维单纯形是四面体、有四个顶点),比如当 k = 3 k=3 k=3 时,令 θ 1 、 θ 2 、 θ 3 θ_1、θ_2、θ_3 θ1θ2θ3 分布在三维空间 z = 1 − x − y z=1-x-y z=1xy 的平面三角形上。


在这里插入图片描述


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1371991.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【PixPin】比Snipaste、QQ的截图长图和动图还好用的截图工具

1.下载地址—— 下载地址 2.下载压缩包 双击exe文件运行 按默认的来 中文安装 选择安装路径 下一步,安装 安装完成,可以自己设置快捷键

使用Django框架自带的Form表单完成简单的用户登录注册

如果不知道怎么配置Django环境以及如何连接数据库请点击我的上一篇博客: 使用pycharm初始化Django框架并连接Sql Server 文章目录 1.Django默认生成的数据表2.用户登录2.1创建登录页面2.2视图处理登录请求2.3配置访问路径 3.用户注册3.1创建用户表单3.2创建注册模版…

VScode代码格式化

Vscode代码格式化 有时候总是想,为什么我的代码格式化完后为什么这么挤,而且不想让代码在格式化后换行,他总是自动换行,所以我去网上查了相关资料 第一步,搜索插件ESLint并安装,安装完成后你就可以进行格式化了 第二步,设置中选择settings,搜索Tab size,根据一下图片更改 第…

全志T113开发板Qt远程调试

1引言 通常情况下工程师在调试Qt程序时,需要频繁制作镜像烧录到核心板来测试Qt程序是否完善,这样的操作既费时又费力。这时我们可以通过QtCreator设备功能,定义设备后,在x86_64虚拟机上交叉编译qt程序,将程序远程部署到…

ubuntu 18.04网络问题

ubuntu 18.04网络问题汇总 准备工作一、有线网卡不可用二、无法访问外网 准备工作 安装好系统之后,检查gcc和make是否已经安装 $ which gcc /usr/bin/gcc $ which make /usr/bin/make如果未安装,则安装gcc和make $ apt install gcc $ apt install mak…

Golang协程池ants库的学习、使用及源码阅读,协程池与GMP模型关系的理解

前言 在工作时遇到了一个需要使用ants协程池的地方,因此顺带来学习一下他的原理。 协程池 Golang的资源还是偏少一些…因此先简单的参考学习了一下线程池。 类似于Java中的线程池,协程池也是为了减少协程频繁创建、销毁所带来资源消耗的问题。按默认每…

【我想开发一个小程序,大概需要多少钱?】

小程序开发为什么报价差距很大?主要是因为小程序的实现方法和功能模型不同。 小程序的实现方法: 实现方法主要分为SAAS小程序、定制小程序和第三方平台小程序。不同的实现方法价格都是不一样的,大概的区间如下: SAAS小程序和第三…

ChatGPT+Python近红外光谱数据分析及机器学习与深度学习建模进阶应用

目录 第一章 ChatGPT4入门基础 第二章 ChatGPT4 提示词使用方法与技巧 第三章 ChatGPT4助力信息检索与总结分析 第四章 ChatGPT4助力论文写作与投稿 第五章 ChatGPT4助力Python入门基础 第六章 ChatGPT4助力近红外光谱数据预处理 第七章 ChatGPT4助力多元线性回归近红外…

leetcode经典【双指针】例题

删除有序数组中的重复项: https://leetcode.cn/problems/remove-duplicates-from-sorted-array/ 解题思路: 首先注意数组是有序的,那么重复的元素一定会相邻。 注: 要求删除重复元素,实际上就是将不重复的元素移到数组的左侧。 考…

ubuntu20.04安装cuda11.4以及cudnn

系统:ubuntu20.04硬件配置:GPU3080、CPU未知通过《软件和更新》在附加驱动选项中添加了驱动: 1.检查自己电脑支持的cuda nvidia-smi4. 下载cuda11.4.2 wget https://developer.download.nvidia.com/compute/cuda/11.4.2/local_installers/c…

典型的无人机打击技术

无人机打击技术主要指的是用于中和、摧毁或干扰无人机(UAV)的各种技术手段。 这些技术随着无人机的广泛使用而迅速发展,特别是在军事和安全领域。下面是一些主要的无人机打击技术及其原理: 射频干扰(RF Jamming&#x…

算法通关村番外篇-LeetCode编程从0到1系列六

大家好我是苏麟 , 今天带来LeetCode编程从0到1系列六 . 链表相关的题目 , 也是面试热题 . 大纲 21. 合并两个有序链表206. 反转链表 21. 合并两个有序链表 描述 : 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 题目 : Le…

苹果手机设置静态IP教程,长效IP代理有什么帮助?

随着智能手机的普及,越来越多的人开始使用苹果手机。然而,有时候我们在使用苹果手机时,可能会遇到需要设置静态IP的情况。那么,如何在苹果手机上设置静态IP呢?下面就为大家详细介绍一下。 1、打开苹果手机,…

LINUX基础第十一章:文件系统与日志服务管理

目录 一.LINUX文件系统 1.inode表和block (1)inode (2)block 2.查看inode号命令 3.Linux系统文件三种主要时间属性 4.磁盘空间还剩余很多但无法继续创建文件 5.inode大小 二.日志 1.日志保存位置 2.日志文件的分类 &am…

关于java的稀疏数组

关于java的稀疏数组 我们在前面的文章中了解了冒泡排序和优化冒泡排序,在本篇文章中我们来介绍一下稀疏数组,我们学会了可以自己动手试一试😀 稀疏数组 在介绍稀疏数组之前,我们先来了解一下五子棋。 我们这里有一个11 x 11的棋…

新手练习项目 4:简易2048游戏的实现(C++)

名人说:莫听穿林打叶声,何妨吟啸且徐行。—— 苏轼《定风波莫听穿林打叶声》 Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder) 目录 一、效果图二、代码(带注释)三、说明 一、效果图 二、代码(带…

深度学习|交叉熵

文章目录 什么是交叉熵如何构造信息量的函数关于 C 1 C_1 C1​参数的选择关于 C 2 C_2 C2​参数的选择 一个系统的熵如何比较两个系统的熵交叉熵在神经网络中的应用参考 什么是交叉熵 熵是用来衡量一个系统的混乱程度,混乱程度也其实代表着整个系统内部的不确定性。…

Redis缓存使用问题

数据一致性 只要使用到缓存,无论是本地内存做缓存还是使用 redis 做缓存,那么就会存在数据同步的问题。 以 Tomcat 向 MySQL 中写入和删改数据为例,来解释数据的增删改操作具体是如何进行的。 我们分析一下几种解决方案, 1、先更新缓存,再更新数据库 2、先更新数据库,…

搭建Docker私有镜像服务器

一、前言 1、本文主要内容 基于Decker Desktop&Docker Registry构建Docker私有镜像服务器测试在CentOS 7上基于Docker Registry搭建公共Docker镜像服务器修改Docker Engine配置以HTTP协议访问Docker Registry修改Docker Engine配置通过域名访问Docker Registry配置SSL证书…

1分钟速通Webservice服务端和客户端

服务端实现: 我们随便实现一个简单服务,客户请求我们的服务,我们给客户返回响应的信息 WebService public class HelloServiceImpl implements HelloService {Overridepublic String getString(String name) {return "hello," n…