Dirichlet Process (徐亦达老师)狄利克雷过程

混合高斯模型的例子

混合高斯模型

        混合高斯模型(Mixture of Gaussians,简称GMM)是一种概率模型,用于对复杂的数据分布进行建模。它是由多个高斯分布组合而成的混合模型,每个高斯分布(称为组件)对应数据的一个子群体。混合高斯模型的概率密度函数可以表示为多个高斯分布的线性组合,即每个分布乘以一个相应的权重。数学形式如下:

P ( x ) = ∑ i = 1 K π i ⋅ N ( x ∣ μ i , Σ i ) P(x) = \sum_{i=1}^{K} \pi_i \cdot \mathcal{N}(x | \mu_i, \Sigma_i) P(x)=i=1KπiN(xμi,Σi)

其中,K是高斯分布的数量, π i \pi_i πi是对应于第 i 个高斯分布的权重, N ( x ∣ μ i , Σ i ) \mathcal{N}(x | \mu_i, \Sigma_i) N(xμi,Σi) 是第i个高斯分布的概率密度函数,由均值 μ i \mu_i μi和协方差矩阵 Σ i \Sigma_i Σi参数化。

问题

        假设有一堆数据 X = { x 1 , … , x N } X=\{x_1,…,x_N\} X={x1,xN},并且假设其采样自一个高斯混合分布,那么如何判断该高斯混合分布中的K值为多少?

         最大似然估计(Maximum Likelihood Estimation,MLE) 一种解法是采用最大似然估计,将K作为分布的参数,选择使得观测数据出现的概率最大的参数值。最大似然估计的步骤如下:

  1. 建立似然函数: 根据模型和观测数据建立似然函数。

  2. 对似然函数取对数: 为了方便计算,通常对似然函数取自然对数。

  3. 求导数并令其为零: 对取对数后的似然函数关于参数进行求导,并令导数为零,解得似然方程。

  4. 求解似然方程: 解似然方程得到参数的估计值。

  5. 检验估计的合理性: 通过检验估计的标准误差、置信区间等来评估估计的精确性和可靠性。

在这里插入图片描述

         但是这种方法会得到平凡解 K = N K=N K=N,均值为数据的值,方差为0。

在这里插入图片描述

思考

         如果 K = N K=N K=N,那么聚类就没有意义了,假设 K = f ( N ) K=f(N) K=f(N),那么函数f应该是什么形式?
         答: K ∝ l o g ( N ) K \propto log(N) Klog(N),N增加K也增加,但是K增加的度远小于N。

另一个例子

         假设有一堆数据 X = { x 1 , … , x N } X=\{x_1,…,x_N\} X={x1,xN},并且假设每个数据都对应一个参数为 θ i \theta _i θi的分布并由其产生。 θ i \theta_i θi 也是从某个分布生成的 θ i ∼ H ( θ ) \theta_i \sim H(\theta) θiH(θ)。如果H是连续的,那么会有以下的情况出现(红线标注处,如果 θ 1 , θ 2 \theta_1,\theta_2 θ1θ2采用自一个连续的分布,那么二者相等的概率为0,那么所有的几个 θ \theta θ值都不相等,K还是等于N,所以H是非连续分布

在这里插入图片描述
         假设 θ \theta θ从G中产生, θ i ∼ G \theta _i\sim G θiG,但是G和H是有联系的, G ∼ D P ( α , H ) \color{red} G\sim DP(\alpha,H) GDP(α,H),其中 α \alpha α是一个程度标量,描述G的离散程度, α \alpha α越小G越离散, α \alpha α越大,G越连续。 α = 0 \alpha=0 α=0时G只有一个点, α = ∞ \alpha=\infty α= G = H G=H G=H

在这里插入图片描述

狄利克雷过程

        从 G ∼ D P ( α , H ) \color{red} G\sim DP(\alpha,H) GDP(α,H)中每次采样得到的都是一个分布,但是这些分布是有某种特性的。

在这里插入图片描述

迪利克雷分布DIR

        G的划分性质 假设将分布的定义域进行划分,划分成d个区域,在第i个区域 a i a_i ai,G在 a i a_i ai上权重的总和 G ( a i ) G(a_i) G(ai)有如下性质(红线部分):

在这里插入图片描述

        其中DIR为狄利克雷分布(Dirichlet distribution,红框中为DIR分布的特性):

f ( x ; α ) = 1 B ( α ) ∏ i = 1 K x i α i − 1 f(\mathbf{x};\boldsymbol{\alpha}) = \frac{1}{B(\boldsymbol{\alpha})} \prod_{i=1}^{K} x_i^{\alpha_i - 1} f(x;α)=B(α)1i=1Kxiαi1

其中:

  • x = ( x 1 , x 2 , … , x K ) \mathbf{x} = (x_1, x_2, \ldots, x_K) x=(x1,x2,,xK) 是一个K维随机变量,满足 0 ≤ x i ≤ 1 0 \leq x_i \leq 1 0xi1 ∑ i = 1 K x i = 1 \sum_{i=1}^{K} x_i = 1 i=1Kxi=1
  • α = ( α 1 , α 2 , … , α K ) \boldsymbol{\alpha} = (\alpha_1, \alpha_2, \ldots, \alpha_K) α=(α1,α2,,αK) 是分布的参数,其中每个 α i > 0 \alpha_i > 0 αi>0。狄利克雷分布的参数 α \boldsymbol{\alpha} α 可以影响分布的形状。当所有的 α i \alpha_i αi 都相等时,分布是均匀的;当某些 α i \alpha_i αi大于1而其他的小于1时,分布会偏向于在对应的维度上取较大的值。
  • B ( α ) B(\boldsymbol{\alpha}) B(α) 是多元Beta函数,定义为 B ( α ) = ∏ i = 1 K Γ ( α i ) Γ ( ∑ i = 1 K α i ) B(\boldsymbol{\alpha}) = \frac{\prod_{i=1}^{K} \Gamma(\alpha_i)}{\Gamma(\sum_{i=1}^{K} \alpha_i)} B(α)=Γ(i=1Kαi)i=1KΓ(αi),其中 Γ \Gamma Γ 是伽玛函数。

在这里插入图片描述
        因为G在划分上服从迪利克雷分布,又因为红框中的性质:

E [ G ( a i ) ] = α H ( a i ) ∑ k α H ( a k ) = α H ( a i ) α ∑ k H ( a k ) = α H ( a i ) α ⋅ 1 = H ( a i ) E[G(a_i)]=\frac{\alpha H(a_i)}{\sum_k \alpha H(a_k)} = \frac{\alpha H(a_i)}{ \alpha \sum_kH(a_k)} = \frac{\alpha H(a_i)}{ \alpha \cdot 1} = H(a_i) E[G(ai)]=kαH(ak)αH(ai)=αkH(ak)αH(ai)=α1αH(ai)=H(ai)

V a r [ G ( a i ) ] = H ( a i ) ( 1 − H ( a i ) ) α + 1 Var[G(a_i)]=\frac{H(a_i)(1-H(a_i))}{\alpha+1} Var[G(ai)]=α+1H(ai)(1H(ai))

  • α → ∞ , V a r [ G ( a i ) ] = 0 \alpha\rightarrow \infty ,Var[G(a_i)]=0 α,Var[G(ai)]=0

  • α → 0 , V a r [ G ( a i ) ] = H ( a i ) ( 1 − H ( a i ) ) , 二 项 分 布 \alpha\rightarrow 0, Var[G(a_i)]={H(a_i)(1-H(a_i))},二项分布 α0,Var[G(ai)]=H(ai)(1H(ai)),

G的折棍构造 stick-breaking constructin

        如何从分布中采样G?G长什么样? G = ∑ i = 0 ∞ π i δ θ i G=\sum_{i=0}^{\infty}\pi_i\delta\theta_i G=i=0πiδθi

  • 采样第一个点

在这里插入图片描述

在这里插入图片描述

  • 采样第二个点, ( 1 − π 1 ) (1-\pi_1) (1π1)为第一次采样后剩下的,者剩下的

在这里插入图片描述

        在采样完所有这些点之后就得到一个G的visualization。因为 β i ∼ B e t a ( 1 , α ) , 所 以 E [ β i ] = 1 1 + α \beta_i\sim Beta(1,\alpha),所以E[\beta_i]=\frac{1}{1+\alpha} βiBeta(1,α),E[βi]=1+α1。当 α = 0 , E [ β i ] = 1 \alpha=0,E[\beta_i]=1 α=0,E[βi]=1。当 α = ∞ , E [ β i ] = 0 \alpha=\infty,E[\beta_i]=0 α=,E[βi]=0,即产生了0各权重给每个 θ \theta θ用。

小结

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

G的后验

        假设已经知道了了 θ 1 , θ 2 , … … , θ N \theta_1,\theta_2,……,\theta_N θ1,θ2,θN
P ( G ∣ θ 1 , θ 2 , … … , θ N ) = P ( θ 1 , θ 2 , … … , θ N ∣ G ) × P ( G ) = G × P ( G ) P(G|\theta_1,\theta_2,……,\theta_N) = P(\theta_1,\theta_2,……,\theta_N|G)\times P(G) = G\times P(G) P(Gθ1,θ2,θN)=P(θ1,θ2,θNG)×P(G)=G×P(G)

和多项式分布的关系

        如果将狄利克雷分布的参数α 视为多项式分布中的概率参数p 的先验分布,那么在贝叶斯统计学中,给定观测数据,通过贝叶斯公式可以更新参数的后验分布。这个后验分布将是一个狄利克雷分布。这表明狄利克雷分布是多项式分布的共轭先验。

多项式分布

        多项式分布(Multinomial Distribution)是概率论和统计学中的一种离散概率分布,它是二项分布的推广。在多项式分布中,试验的结果有两个以上的分类,每个分类有一个概率,且这些概率之和为1。与二项分布不同,多项式分布描述的是多个试验中各个分类的次数。

        考虑一个试验,将一个对象放入多个互不相交的类别中,每个类别发生的概率为 p 1 , p 2 , … , p k p_1, p_2, \ldots, p_k p1,p2,,pk,其中 p i p_i pi 表示对象属于第 i i i 个类别的概率。试验进行了 n n n 次,我们想知道每个类别发生的次数。

多项式分布的概率质量函数为:

P ( X 1 = x 1 , X 2 = x 2 , … , X k = x k ) = n ! x 1 ! ⋅ x 2 ! ⋅ … ⋅ x k ! ⋅ p 1 x 1 ⋅ p 2 x 2 ⋅ … ⋅ p k x k P(X_1 = x_1, X_2 = x_2, \ldots, X_k = x_k) = \frac{n!}{x_1! \cdot x_2! \cdot \ldots \cdot x_k!} \cdot p_1^{x_1} \cdot p_2^{x_2} \cdot \ldots \cdot p_k^{x_k} P(X1=x1,X2=x2,,Xk=xk)=x1!x2!xk!n!p1x1p2x2pkxk

其中:

  • n n n 是试验次数。
  • k k k 是类别的个数。
  • x 1 , x 2 , … , x k x_1, x_2, \ldots, x_k x1,x2,,xk 分别是每个类别发生的次数。
  • p 1 , p 2 , … , p k p_1, p_2, \ldots, p_k p1,p2,,pk 分别是每个类别发生的概率,且 ∑ i = 1 k p i = 1 \sum_{i=1}^{k} p_i = 1 i=1kpi=1

多项式分布常常用于描述具有多个离散类别的随机试验,例如扔骰子、抽取彩球等。

似然为多项式分布

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

中国餐馆过程

predictive distribution

在这里插入图片描述

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

在这里插入图片描述

CG

  • https://github.com/sakshamgarg/Dirichlet-Out-of-Distribution-Detection
  • https://www.cs.princeton.edu/courses/archive/fall07/cos597C/scribe/20070921.pdf

SAM

安装

  • https://github.com/facebookresearch/segment-anything#model-checkpoints
$ pip install git+https://github.com/facebookresearch/segment-anything.git
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Collecting git+https://github.com/facebookresearch/segment-anything.gitCloning https://github.com/facebookresearch/segment-anything.git to /tmp/pip-req-build-3od4d54tRunning command git clone --filter=blob:none --quiet https://github.com/facebookresearch/segment-anything.git /tmp/pip-req-build-3od4d54tResolved https://github.com/facebookresearch/segment-anything.git to commit 6fdee8f2727f4506cfbbe553e23b895e27956588Preparing metadata (setup.py) ... done
Building wheels for collected packages: segment-anythingBuilding wheel for segment-anything (setup.py) ... doneCreated wheel for segment-anything: filename=segment_anything-1.0-py3-none-any.whl size=36589 sha256=b23a3b85adc5d579423f8ef9a218af802032d60d6aa3706d67f87dbe48d70fd5Stored in directory: /tmp/pip-ephem-wheel-cache-119odynp/wheels/b0/7e/40/20f0b1e23280cc4a66dc8009c29f42cb4afc1b205bc5814786
Successfully built segment-anything
Installing collected packages: segment-anything
Successfully installed segment-anything-1.0

使用

  • 从给定的提示中获取掩码
from segment_anything import SamPredictor, sam_model_registry
sam = sam_model_registry["vit_l"](checkpoint="sam_vit_l_0b3195.pth")
predictor = SamPredictor(sam)
predictor.set_image(<your_image>)
masks, _, _ = predictor.predict(<input_prompts>)
  • 为整个图像生成蒙版
from segment_anything import SamAutomaticMaskGenerator, sam_model_registry
sam = sam_model_registry["vit_l"](checkpoint="sam_vit_l_0b3195.pth")
mask_generator = SamAutomaticMaskGenerator(sam)
masks = mask_generator.generate(<your_image>)

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

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

相关文章

86 滑动窗口判断是否有重复元素II

问题描述&#xff1a;给定一个整数数组和一个整数k&#xff0c;判断数组中是否存在两个不同的索引i和j&#xff0c;使得nums[i]nums[j],并且i和j的绝对值最多为k。 map求解&#xff1a;首先将第一个元素放入map中&#xff0c;因为它不可能与任何一个元素构成队列&#xff0c;然…

HJ108 求最小公倍数

题目&#xff1a; HJ108 求最小公倍数 题解&#xff1a; 辗转相除法求出最大公约数&#xff0c;然后求出最小公倍数。 public int gcd(int a, int b) {if (b 0) {return a;}return gcd(b, a%b);} 时间复杂度&#xff1a;O(N)

基于SpringBoot的职业生涯规划系统

文章目录 项目介绍主要功能截图:部分代码展示设计总结项目获取方式🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 项目介绍 基于SpringBoot的职业生涯规划系统,java…

知识库问答LangChain+LLM的二次开发:商用时的典型问题及其改进方案

前言 如之前的文章所述&#xff0c;我司下半年成立大模型项目团队之后&#xff0c;我虽兼管整个项目团队&#xff0c;但为让项目的推进效率更高&#xff0c;故分成了三大项目组 第一项目组由霍哥带头负责类似AIGC模特生成系统第二项目组由阿荀带头负责论文审稿GPT以及AI agen…

pytorch深度学习笔记(共计169页,基于本人听完B站小土堆PyTorch深度学习快速入门教程所写)

一、笔记视频 pytorch深度学习&#xff08;共计169页&#xff0c;基于本人听完B站小土堆PyTorch深度学习快速入门教程所写&#xff09; 二、获取方式 方式一&#xff1a; 点击下面的链接 pytorch深度学习笔记 如果链接无法打开 直接复制下方链接即可 https://mall.bilibili.c…

如何借助边缘网关打造智慧配电房安全方案

配电房是电力系统的重要组成部分&#xff0c;通常设置有各种高压配电装置和箱柜&#xff0c;是企业安全管理的重点。传统的人工巡检和监控总是难以避免疏漏&#xff0c;导致风险隐患的产生和扩大。 随着物联网、边缘计算、设备联动控制等技术的普及应用&#xff0c;佰马针对配电…

在FC中手工创建虚拟机模板

1、Linux去除个性化信息 &#xff08;1&#xff09;编辑网卡配置文件&#xff0c;只保留以下内容&#xff08;以RHEL 7为例&#xff09; &#xff08;2&#xff09;清除主机密钥信息&#xff08;开机会自动生成&#xff09; &#xff08;3&#xff09;清除Machine ID&#xff…

机器学习概述

最近在学习机器学习的基础知识&#xff0c;在此记录一下 目前最火的机器学习框架是Scikit-Learn和pytorch&#xff0c;因此&#xff0c;之后的一段时间会使用这两种框架搭建机器学习的模型&#xff0c;相应的学习资源也会开源&#xff0c;希望可以学习到很多知识。 简单介绍机…

(C)一些题21

1.条件语句 while(x){...}中条件表达式 x 的等价写法是 B。 A. x0 B. x!0 C. x1 D. x!1 2.表达式 1!2 && 35 的值是 C。 A. True B. False C. 0 D. 1 3。. _______125__________。 #include <stdio.h> int x; void main() { x5; cude(); printf("%d\n"…

Servlet见解3

13 Cookie和Session http协议是一个无状态的协议&#xff0c;你每一个跳转到下一个页面的时候都是需要先登录才能使用&#xff0c;这样就很麻烦比如淘宝&#xff0c;没有cookie和session的话&#xff0c;用户在首页已经登录上去了&#xff0c;但是需要再次登录才能选择商品&am…

计算几何库

1、Geos GEOS 是一个用于计算几何的C/C库&#xff0c;专注于地理信息系统(GIS) 软件中使用的算法。它实现了OGC 简单特征几何模型&#xff0c;并提供了该标准以及许多其他标准中的所有空间功能。GEOS 是PostGIS、QGIS、GDAL和Shapely的核心依赖项。 它旨在包含C 中JTS的完整功…

Linux: dev: glibc: GL 定义

今天找到了这个GL的定义&#xff0c;记录一下&#xff0c;费了一些劲才找到的。&#xff08;没有想到的是#和define之间还有空格&#xff0c;导致一直搜不到想要的结果。&#xff09;是在sysdeps/generic/ldsodefs.h文件中。依赖于SHARED和rtld的定义。 #ifndef SHARED # defi…

嵌入式Linux C语言介绍

目录 一.前言 二.C语言的特点 一.前言 开发工具通常依赖于操作系统提供的各种功能和服务。许多开发工具都基于操作系统的API&#xff08;应用程序接口&#xff09;进行开发&#xff0c;这些API提供了文件处理、网络通信、图形界面等核心功能。没有操作系统的支持&#xff0c;…

使用pyqt5+qtdesign设计模仿网易云音乐客户端界面

案例效果图 设计界面效果图&#xff1a; 运行效果图&#xff1a; 本项目目前只是对界面进行了设计&#xff0c;功能都没有进行完善&#xff0c;想完善的小伙伴自己拿到UI文件之后&#xff0c;自己完善即可。 简要设计思路说明 使用QFrame将界面分割布局成如下几个部分&am…

buuctf-Misc 题目解答分解103-105

103.[GKCTF 2021]签到 追踪流发现类似flag 字符 f14g 下面有大量的是16进制字符 64306c455357644251306c6e51554e4a5a3046355355737764306c7154586c4a616b31355357704e65556c7154586c4a616b31355357704e65556c7154586c4a616b31355357704e65556c7154586c4a616b31355357704e655…

腾讯云50G通用型SSD云硬盘够用吗?

腾讯云服务器系统盘是50G通用型SSD云硬盘&#xff0c;50G系统盘够用吗&#xff1f;够用。一般来讲&#xff0c;Windows操作系统占用空间更大&#xff0c;系统盘要50GB起步&#xff1b;Linux操作系统占用空间较少&#xff0c;系统盘为20GB起步。所以&#xff0c;如果仅仅是用来安…

学习动态规划解决不同路径、最小路径和、打家劫舍、打家劫舍iii

学习动态规划|不同路径、最小路径和、打家劫舍、打家劫舍iii 62 不同路径 动态规划&#xff0c;dp[i][j]表示从左上角到(i,j)的路径数量dp[i][j] dp[i-1][j] dp[i][j-1] import java.util.Arrays;/*** 路径数量* 动态规划&#xff0c;dp[i][j]表示从左上角到(i,j)的路径数量…

归并算法排序

目录 归并排序 逆序对的数量 归并排序 题目如下&#xff1a; 给定你一个长度为 n 的整数数列。 请你使用归并排序对这个数列按照从小到大进行排序。 并将排好序的数列按顺序输出。 输入格式&#xff1a; 输入共两行&#xff0c;第一行包含整数 n。 第二行包含 n 个整数&…

基于Java SSM框架实现智能仓储管理系统项目【项目源码+论文说明】

基于java的SSM框架实现仓库管理系统演示 摘要 随着科学技术的飞速发展&#xff0c;社会的方方面面、各行各业都在努力与现代的先进技术接轨&#xff0c;通过科技手段来提高自身的优势&#xff0c;智能仓储系统当然也不能排除在外。智能仓储系统是以实际运用为开发背景&#xf…

ThinkPad产品如何升级BIOS程序

操作步骤: 重要提示&#xff1a; 更新BIOS存在风险&#xff01;如果您的电脑在此过程中出现死机&#xff0c;系统崩溃或断电&#xff0c;则BIOS或UEFI固件程序可能会损坏&#xff0c;这将使您的电脑无法启动。 由于BIOS的版本或者在升级过程中出错&#xff0c;可能会造成不可…