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

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

二项分布

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.mzph.cn/news/611032.shtml

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

相关文章

你Go代码写的像“鸭子”吗???

概 述 Go 语言也提供了接口类型,使得我们可以面向接口编程,将实现和接口分离。在我看来,软件的抽象之美也应该以此来表达,和 Java 语言不同的是 Go 并不是那么 “强制”,它使用了一种 鸭子类型 的方式让动态类型成为可…

three.js : tweenjs创建threejs动画

效果&#xff1a; 代码 <template><div><el-container><el-main><div class"box-card-left"><div id"threejs" style"border: 1px solid red"></div> <div class"box-right"><…

超凡脱俗的 sudo

文章目录 超凡脱俗的 sudo语法 没有sudo权限的用户指定用户执行命令列出目前sudo的权限使用sudo快速统计家目录的使用情况更多信息 超凡脱俗的 sudo Linux sudo命令以系统管理者的身份执行指令&#xff0c;也就是说&#xff0c;经由 sudo 所执行的指令就好像是 root 亲自执行。…

selenium自动发数据到console并获取返回数据

# 导入selenium库 from time import sleep from selenium import webdriver from selenium.webdriver.common.by import By# 创建一个Chrome浏览器对象 options webdriver.ChromeOptions() #最大化窗口 options.add_argument("start-maximized") #自动打开开发者工具…

认识SpringBoot中的条件注解

✅作者简介&#xff1a;大家好&#xff0c;我是Leo&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Leo的博客 &#x1f49e;当前专栏&#xff1a; 循序渐进学SpringBoot ✨特色专栏&…

Hive之set参数大全-4

F 指定在使用 FETCH 命令提取查询结果时的序列化/反序列化器 hive.fetch.output.serde 是 Hive 的一个配置参数&#xff0c;用于指定在使用 FETCH 命令提取查询结果时的序列化/反序列化器。 以下是一个示例&#xff1a; -- 设置 hive.fetch.output.serde 为 org.apache.had…

虚幻引擎:开创视觉与创意的新纪元

先看看据说虚幻5做出来的东西吧&#xff1a; 虚幻引擎5&#xff01;&#xff01;&#xff01;4K画质PS5实机演示&#xff01; 好了&#xff0c;用文字认识一下吧&#xff1a; 虚幻引擎5.3对UE5的核心工具集作了进一步优化&#xff0c;涉及渲染、世界构建、程序化内容生成&…

Linux kernel 学习笔记

几个推荐的网站或邮件列表&#xff1a; https://elixir.bootlin.com/linux/latest/source&#xff0c; 在线查看Linux源码https://kernelnewbies.org/LinuxVersions&#xff0c;查看Linux kernel每一个历史版本的主要变化https://kernelnewbies.org/&#xff0c;是一方适合内核…

【解刊】Elsevier旗下,1区CCF-B,超快审稿:2个月22天录用!

计算机类 • 升区期刊 本次带来Elsevier旗下高分快刊&#xff0c;入选CCF-B类推荐&#xff0c;如有相关领域作者意向投稿&#xff0c;可重点关注&#xff01;更多领域期刊&#xff0c;可移步公众号【Unionpub学术】了解详情~ 01 期刊简介 Computer Networks ✅出版社&#x…

14:00面试,14:07就出来了,问的问题有点变态。。。

前言 刚从小厂出来&#xff0c;没想到在另一家公司我又寄了。 在这家公司上班&#xff0c;每天都要加班&#xff0c;但看在钱给的比较多的份上&#xff0c;也就不太计较了。但万万没想到一纸通知&#xff0c;所有人不准加班了&#xff0c;不仅加班费没有了&#xff0c;薪资还…

GIS入门,JavaScript如何将度分秒(°′″)格式的经纬度数据转换为十进制小数格式

前言 本章讲解JavaScript如何将度分秒格式(′″)的经纬度数据转换为十进制小数格式。 比如将 "4030′30″(纬度:40度30分30秒)转换为,12020′15″(经度: 120度20分15秒)转换为 40.508333,120.337500 实现功能 将度分秒格式(′″)的经纬度转换为十进制小数格…

回顾基础--HTML篇

HTML语法规范 <html></html> 开始标签与结束标签 <br /> 单标签 包含关系 <head><title></title> </head>并列关系 <head></head> <body></body> 1、 标题标签 标题标签 【双标签】【不同标题字体大小…

GBASE南大通用Parameter 属性

SQL 语句或者存储过程使用的参数集合 GBASE南大通用ParameterCollection&#xff0c;默认是空集合。  语法 [Visual Basic] Public ReadOnly Property Parameters As GBaseParameterCollection Get [C#] public GBaseParameterCollection Parameters { get; }  注释…

计算机网络-各层协议

大家在搞嵌入式开发的时候基本都了解过七层网络协议、五层网络协议、四层网络协议&#xff0c;那么今天让我们更加的深入了解一下&#xff1a; 历史发展介绍 OSI七层模型由ISO国际标准化组织提出的通信标准。TCP/IP四层模型是OSI七层模型的简化版&#xff0c;OSI在它被官方完…

论文阅读1---OpenCalib论文阅读之factory calibration模块

前言 该论文的标定间比较高端&#xff0c;一旦四轮定位后&#xff0c;可确定标定板与车辆姿态。以下为本人理解&#xff0c;仅供参考。 工厂标定&#xff0c;可理解为车辆相关的标定&#xff0c;不涉及传感器间标定 该标定工具不依赖opencv&#xff1b;产线长度一般2.5米 Fa…

浅谈WAF——守护网络安全的无形之盾

随着信息化时代的到来&#xff0c;网络已逐渐融入我们日常生活的方方面面。然而&#xff0c;与此同时&#xff0c;网络安全问题却也如影随形。为此&#xff0c;一种名为“Web应用防火墙”的工具应运而生&#xff0c;简称”WAF”。 WAF是什么&#xff1f; WAF&#xff08;Web …

用js将geojson转换成WKT格式并插入到数据库

用js将geojson转换成WKT格式并插入到数据库 var fs require("fs"); var mysql require("mysql"); var Geojson2wkt require("Geojson2Wkt");var connection mysql.createConnection({host: "172.16.2.252",port: 3316,user: &quo…

Python string模块中Template的substitute()使用

一、模板字符串 模板字符串提供了由 PEP 292 所描述的更简便的字符串替换方式。 模板字符串的一个主要用例是文本国际化 (i18n)&#xff0c;因为在此场景下&#xff0c;更简单的语法和功能使得文本翻译过程比使用 Python 的其他内置字符串格式化工具更为方便。 作为基于模板字符…

实现LCM在docker之间的通信

目录 1.docker容器互联 新建网络 连接容器 2.设置环境变量 3.在两个docker之间实现通信 1.docker容器互联 新建网络 $ docker network create -d bridge test-net 连接容器 运行一个容器并连接到新建的 test-net 网络: $ docker run -itd --name lcm_1 --network tes…

通过iFrame嵌入Grafana页面或pannel

前言 在当前数据驱动的时代&#xff0c;有效地可视化和监控关键性能指标变得至关重要。Grafana&#xff0c;作为一个开源的监控解决方案&#xff0c;提供了强大的功能来呈现和分析数据&#xff0c;从而帮助用户及时洞察和响应各种情况。随着技术的不断发展&#xff0c;将这些信…