机器学习笔记之狄利克雷过程(一)基本介绍

news2025/1/13 15:59:42

机器学习笔记之狄利克雷过程——基本介绍

  • 引言
    • 回顾:高斯混合模型
    • 狄利克雷过程——引出

引言

从本节开始,将介绍狄利克雷过程

回顾:高斯混合模型

高斯混合模型( Gaussian Mixture Model,GMM \text{Gaussian Mixture Model,GMM} Gaussian Mixture Model,GMM)是针对无监督学习中聚类任务的混合模型。
基于 N N N个样本的样本集合 X = { x ( i ) } i = 1 N \mathcal X = \{x^{(i)}\}_{i=1}^N X={x(i)}i=1N,关于模型参数 θ \theta θ的学习过程,使用的底层逻辑极大似然估计( Maximum Likelihood Estimate,MLE \text{Maximum Likelihood Estimate,MLE} Maximum Likelihood Estimate,MLE):
arg ⁡ max ⁡ θ [ log ⁡ P ( X ) ] = arg ⁡ max ⁡ θ [ ∑ i = 1 N log ⁡ ∑ k = 1 K α k ⋅ N ( x ( i ) ∣ μ k , Σ k ) ] \mathop{\arg\max}\limits_{\theta} \left[\log \mathcal P(\mathcal X)\right] = \mathop{\arg\max}\limits_{\theta} \left[\sum_{i=1}^N \log \sum_{k=1}^{\mathcal K} \alpha_{k} \cdot \mathcal N(x^{(i)} \mid \mu_k,\Sigma_{k})\right] θargmax[logP(X)]=θargmax[i=1Nlogk=1KαkN(x(i)μk,Σk)]
它的模型参数 θ \theta θ具体包含三个部分:
当然, α \alpha α一共包含 K \mathcal K K个离散信息,但如果求解出 α 1 , ⋯   , α K − 1 \alpha_1,\cdots,\alpha_{\mathcal K-1} α1,,αK1,那么最后一个 α K = 1 − ( α 1 + ⋯ + α K − 1 ) \alpha_{\mathcal K} = 1 - (\alpha_1 + \cdots + \alpha_{\mathcal K - 1}) αK=1(α1++αK1)即可。
θ = { μ 1 , ⋯   , μ K , Σ 1 , ⋯   , Σ K , α 1 , ⋯   , α K − 1 } \theta = \{\mu_1,\cdots,\mu_{\mathcal K},\Sigma_1,\cdots,\Sigma_{\mathcal K},\alpha_1,\cdots,\alpha_{\mathcal K-1}\} θ={μ1,,μK,Σ1,,ΣK,α1,,αK1}
关于高斯混合模型的概率图结构表示如下:
高斯混合模型——概率图结构
由于概率图结构简单,并且 Z \mathcal Z Z一维的、离散型随机变量 X ∣ Z \mathcal X \mid \mathcal Z XZ服从高斯分布,因而该模型是特殊的、直接使用 EM \text{EM} EM算法就可求解模型参数的模型结构。

狄利克雷过程——引出

关于某一个聚类任务,如果集合 X \mathcal X X在样本空间中的分布结构简单、易于观察聚类数量,我们可以轻易地定义聚类数量 K \mathcal K K的取值;

但如果处于某些原因,导致样本空间中的样本分布无法容易地观察出来。如:

  • 样本数量较少;
  • 聚类情况过于琐碎,聚类效果不明显;
  • 样本的特征维度过高,导致无法通过观察得到样本的聚类数量

这导致我们没有办法确定聚类数量 K \mathcal K K。一种想法是:如果将聚类数量 K \mathcal K K也作为模型参数 θ \theta θ的一部分
θ ′ = { μ 1 , ⋯   , μ K , Σ 1 , ⋯   , Σ K , α 1 , ⋯   , α K − 1 , K } \theta' = \{\mu_1,\cdots,\mu_{\mathcal K},\Sigma_1,\cdots,\Sigma_{\mathcal K},\alpha_1,\cdots,\alpha_{\mathcal K-1},\mathcal K\} θ={μ1,,μK,Σ1,,ΣK,α1,,αK1,K}

从而使用极大似然估计去求解 K \mathcal K K。但真实情况下,这种方式可能是不可取的。我们首先观察对数似然函数 log ⁡ P ( X ) \log \mathcal P(\mathcal X) logP(X)
log ⁡ P ( X ) = ∑ i = 1 N log ⁡ ∑ k = 1 K α k ⋅ N ( x ( i ) ∣ μ k , Σ k ) \log \mathcal P(\mathcal X) = \sum_{i=1}^N \log \sum_{k=1}^{\mathcal K} \alpha_{k} \cdot \mathcal N(x^{(i)} \mid \mu_k,\Sigma_k) logP(X)=i=1Nlogk=1KαkN(x(i)μk,Σk)
连加项中的核心构成是由聚类概率 α k \alpha_k αk对应高斯分布的概率密度函数 N ( μ k , Σ k ) \mathcal N(\mu_k,\Sigma_k) N(μk,Σk)构成。可能出现如下情况:

K = N \mathcal K = N K=N时,即任意一个样本自身归为一类。那么某样本在基于该样本产生的高斯分布中,对应的概率密度函数结果一定是最大值。如果样本数量较少, α k ( k = 1 , 2 , ⋯   , K ) \alpha_{k}(k=1,2,\cdots,\mathcal K) αk(k=1,2,,K)没有被划分的过于细碎,最终这种方法对应的 log ⁡ P ( X ) \log \mathcal P(\mathcal X) logP(X)可能会脱颖而出。

这种做法所划分出来的聚类结果,对于聚类任务来说是没有意义的。

针对这种聚类模糊的样本分布,我们可以尝试:

  • 针对每一个样本 x ( i ) ( i = 1 , 2 , ⋯   , N ) x^{(i)}(i=1,2,\cdots,N) x(i)(i=1,2,,N)构建一个对应的参数 θ ( i ) ( i = 1 , 2 , ⋯   , N ) \theta^{(i)}(i=1,2,\cdots,N) θ(i)(i=1,2,,N)
    其中 θ ( i ) ( i = 1 , 2 , ⋯   , N ) \theta^{(i)}(i=1,2,\cdots,N) θ(i)(i=1,2,,N)的具体意义依然是描述对应样本 x ( i ) ( i = 1 , 2 , ⋯   , N ) x^{(i)}(i=1,2,\cdots,N) x(i)(i=1,2,,N)的聚类信息;只不过 θ ( i ) \theta^{(i)} θ(i)仅仅对 x ( i ) x^{(i)} x(i)一个样本负责。

  • 此时,已经有了 N N N个参数 θ \theta θ,对于每一个参数 θ ( i ) \theta^{(i)} θ(i),它均会服从某个分布 H ( θ ) \mathcal H(\theta) H(θ)
    θ ( i ) ∼ H ( θ ) i = 1 , 2 , ⋯   , N \theta^{(i)} \sim \mathcal H(\theta) \quad i=1,2,\cdots,N θ(i)H(θ)i=1,2,,N
    需要对分布 H ( θ ) \mathcal H(\theta) H(θ)进行限制,假设 H ( θ ) \mathcal H(\theta) H(θ)是一个连续分布( Continuous Distribution \text{Continuous Distribution} Continuous Distribution),那会出现什么样的情况?

    假设各样本之间独立同分布( Independent Identical Distribution,IID \text{Independent Identical Distribution,IID} Independent Identical Distribution,IID),并且样本之间不存在重复。对于数据集合中任意两个样本 x ( i ) , x ( j ) ∈ X x^{(i)},x^{(j)} \in \mathcal X x(i),x(j)X,其对应的 θ ( i ) , θ ( j ) \theta^{(i)},\theta^{(j)} θ(i),θ(j)不相同的概率无限接近于 0 0 0。这导致的直接后果是:任意两个样本对应的概率分布均不相同
    θ ( i ) , θ ( j ) ∼ H ( θ ) ⇒ P ( θ ( i ) = θ ( j ) ) = 0 \theta^{(i)},\theta^{(j)} \sim \mathcal H(\theta) \Rightarrow \mathcal P(\theta^{(i)} = \theta^{(j)}) = 0 θ(i),θ(j)H(θ)P(θ(i)=θ(j))=0

    此时又回到了上面的问题:每个样本的分布均不相同,意味着 K = N \mathcal K = N K=N。这样的聚类结果自然没有意义。

  • 但实际上,由于样本 x ( i ) x^{(i)} x(i)之间的差异性,对应参数 θ ( i ) \theta^{(i)} θ(i)之间同样存在差异。因而 H ( θ ) \mathcal H(\theta) H(θ)确实是一个关于 θ \theta θ连续分布。但因为上面的问题,不能从 H ( θ ) \mathcal H(\theta) H(θ)中直接采样。因而需要找到一个 H ( θ ) \mathcal H(\theta) H(θ)相似的离散分布。该离散分布记作 G \mathcal G G,具体表示如下:
    G ∼ DP ( α , H ) \mathcal G \sim \text{DP}(\alpha,\mathcal H) GDP(α,H)

其中 DP \text{DP} DP是指狄利克雷过程( Dirichlet Process,DP \text{Dirichlet Process,DP} Dirichlet Process,DP); α \alpha α表示产生分布 G \mathcal G G离散型程度标量( Scalar \text{Scalar} Scalar)参数:
α \alpha α自身是一个大于 0 0 0的标量。

  • 如果 α \alpha α的数值越大,通过狄利克雷过程 DP ( α , H ) \text{DP}(\alpha,\mathcal H) DP(α,H)产生的分布 G \mathcal G G越不离散

    一个分布越离散是指该分布对特征选择的种类越少。最离散的效果就是分布对某种类别选择的概率是1,没有其他选择。
    相反,越不离散是指该分布对特征选择的种类很多,对每一个种类的选择均有相应的概率结果。如果 α \alpha α取值是无穷大,那么该分布就变成了连续分布 H ( θ ) \mathcal H(\theta) H(θ)

  • 相反, α \alpha α的数值很小,那么产生的分布 G \mathcal G G非常的离散

举个例子。下图的蓝色点表示关于 H ( θ ) \mathcal H(\theta) H(θ)的二维高斯分布:
二维高斯分布——示例
这明显是一个连续型分布。我们想通过狄利克雷过程 DP ( α , H ) \text{DP}(\alpha,\mathcal H) DP(α,H)去构建一个离散分布 G \mathcal G G,使 G \mathcal G G能够近似分布 H \mathcal H H

  • 根据上面的描述,如果 α \alpha α取值为 0 0 0,产生 G \mathcal G G分布的样本点表示如下(橙色点):
    此时属于‘最离散的状态’,无论怎样去随机采样,最终得到的只有一种选取结果,红色框标注。
    alpha数值为0时的样本分布状态
  • 相反,如果 α \alpha α的取值足够高,对应产生 G \mathcal G G分布的样本点表示如下(依然是橙色点):
    此时,它的离散分布状态足够多,每种状态都能分到对应的概率结果,当 α ⇒ ∞ \alpha \Rightarrow \infty α时,此时的离散分布 G \mathcal G G等于连续分布 H \mathcal H H
    alpha数值足够高时的样本分布状态

当然,无论是上述哪种极端情况,都是不可取的:

  • 如果样本分布过于离散,就如上述一个橙色样本表示整个概率分布一样,那么样本分布表达的准确性是较差的;
  • 相反,如果样本更偏于连续,产生的分布可能会产生过拟合的现象,并且对于采样过程也存在较大的负担。
  • 因而我们需要一个尽可能地将分布 H \mathcal H H的信息表示出来的离散分布(效果图):
    alpha取合适值条件下的样本分布状态
    相关参考:
    徐亦达机器学习:Dirichlet Process Part 1

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

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

相关文章

【吃透Js】深入学习浅拷贝和深拷贝

一、JavaScript数据类型原始类型对象类型二、原始类型和对象类型的区别1.原始类型2.引用类型3.复制4.比较5.值传递三、浅拷贝概念实现方法四、深拷贝概念五、浅拷贝、深拷贝和赋值的区别浅拷贝和赋值六、小结想要真正搞明白深浅拷贝,你必须要熟练掌握赋值、对象在内…

港科夜闻|香港科大与中国医药创新促进会共建创新研究平台,推动大湾区医药创新发展...

关注并星标每周阅读港科夜闻建立新视野 开启新思维1、香港科大与中国医药创新促进会共建创新研究平台,推动大湾区医药创新发展。香港科技大学与中国医药创新促进会2月27日签署合作备忘录,成立「大湾区生物医药国际创新中心」及「大湾区生物医药发展政策研…

【论文导读】Towards Unsupervised Domain Generalization

之前看到过的一篇论文,挺有意思的,虽然查到了有讲解的博客,但是不太符合我的思考逻辑 于是自己梳理一下。 CVPR 2022丨清华大学提出:无监督域泛化 (UDG)_我爱计算机视觉的博客-CSDN博客 方法引入: 针对现有的处理域…

苹果笔可以不买原装吗?开学必备性价比电容笔

在当今的时代,电容笔日益普及,而且相关的功能也逐渐完善。因此,在使用过程中,怎样挑选一款性价比比较高的电容笔成为大家关心的焦点。随着电容笔的普及,更好更便宜的电容笔成为了一种趋势。那么,哪个品牌的…

[ 云计算入门与实战 - AWS ] 在控制台创建 Amazon EC2 实例

本章节主要介绍在 AWS 控制台窗口 如何创建一台 Amazon EC2 实例。 文章目录写在前面开始创建前进入控制台并启动 EC2 实例服务创建 EC2 实例详细步骤步骤 1:为所要创建的 EC2 实例个体命名步骤 2:选择 AMI步骤 3:选择实例类型步骤 4&#xf…

【线程池的使用规范、线程池的7个参数、4种拒绝策略、线程池的5种状态、线程池的执行流程】

一.线程池的使用规范 阿里巴巴开发手册规定,线程池不允许使用 Executors 去创建,而是通过 ThreadPoolExecutor 的方式,这样的处理方式让开发人员更加明确线程池的运行规则,规避资源耗尽的风险。 说明:Executors 返回的…

EndNote20 自动生成毕业论文参考文献

软件版本: EndNote 20 字体:Chinese Standard GB/T 7714 去谷歌学术下载Endnote格式的enw文件 在EndNote中 File>New… 新建Libaray Tools>Output Styles>Open Style Manager… 勾选Chinese std GBT7714(numeric) Tools>Output Styles>…

CSS背景属性之颜色渐变

颜色渐变 颜色渐变其实在网页设计中并不是特别常见, 但也不可避免的会出现导航栏是渐变色这种情况或者别的不是单一颜色的情况, 例如:这样的设计解决方案并不是只可以使用颜色渐变,我们可以使用两个div拼接,将文字放…

如果坚定了想要进入网络安全领域的决心,应该怎样学习呢?

1、建立科学的学习路径 如果你原本从事程序开发,可以选择Web安全/渗透测试方向入门,一是市场需求量高,二则是发展相对成熟,入门比较容易。一定要根据自身的知识结构建立科学的学习路径,只有学到一定程度、或者有了一定…

Function Mesh:流处理任务的 Serverless 化实践

文章摘要本文整理自 ApacheCon Asia 上,StreamNative 工程师付睿的分享《Use Apache Pulsar Functions in a Cloud-Native way》。本文将介绍在云原生环境中使用 Pulsar Functions 的实践,以及基于 Pulsar Functions 和 Kubernetes 的项目 Function Mesh…

Redis实现高可用

怎么实现Redis的高可用?我们在项目中使用Redis,肯定不会是单点部署Redis服务的。因为,单点部署一旦宕机,就不可用了。为了实现高可用,通常的做法是,将数据库复制多个副本以部署在不同的服务器上&#xff0c…

tensorflow2.4--1.框架介绍

前言 虽然1.x版本tensorflow有很多项目都基于此构建,然而随着2.x版本的推出,很多架构已经发生了改变,代码发生了改变,同时很多模组已经废弃不用或者更新,tensorflow1.x已经不能再兼容最新的项目,与时俱进是必要的,因此…

【图像处理】数字图像处理基础(分辨率,像素,显示...)

Table of Contents1.数字图像处理基础1.1 图像表示1.1.1 图像成像模型1.1.2 数字图像的表示a.图像采样b.图像灰度的量化c.算比特数1.2 分辨率1.2.1 空间分辨率1.2.2 灰度分辨率1.3 像素间的关系1.3.1 像素邻域a.4邻域b.4对角邻域c.8邻域1.3.2 像素邻接1.3.3 像素连通1.3.4 像素…

【C语言航路】第十五站:程序环境和预处理

目录 一、程序的翻译环境和执行环境 二、编译和链接 1.翻译环境 2.编译本身也分为几个阶段 3.运行环境 三、预处理 1.预定义符号 2.#define 1.#define定义标识符 2.#define定义宏 3.#define 替换规则 4.#和## 5.带副作用的宏参数 6.宏和函数的对比 7.命名约定 …

Android Qcom Display学习(十二)

该系列文章总目录链接与各部分简介: Android Qcom Display学习(零) 本章主要是基于高通平台上dump出GPU渲染 or GPU合成 or HWC合成的GraphicBuffer的数据。 起初是在B站上看到这么一个视频,能dump出每个Layer的数据显示系统原理以及图形系统调试&#…

Delphi 中 FireDAC 数据库连接(设置选项)

描述了为什么选项集使FireDAC成为一个灵活的数据库框架以及如何使用这些选项。FireDAC提供了大量的选项,这些选项被组织成一个分层的选项系统,大多数选项可以保留其默认值。一、议题TopicDescription数据类型映射FireDAC提供了一个灵活的可调整的数据类型映射系统&a…

command-line变成-bash-4.2

故障描述: 故障诊断: 分析用户创建的过程: Useradd jfedu1命令默认创建用户jfedu1,会根据如下步骤进行操作: 读取/etc/default/useradd,根据配置文件执行创建操作; 在/etc/passwd文件中添加…

Python 之 Pandas merge() 函数、set_index() 函数、drop_duplicates() 函数和 tolist() 函数

文章目录一、merge() 函数1. inner2. left 和 right3. outer二、set_index() 函数三、drop_duplicates() 函数四、tolist() 函数五、视频数据分析案例1. 问题要求2. 解决过程在最开始,我们先导入常规的 numpy 和 pandas 库。 import numpy as np import pandas as …

【数据挖掘】2、数据预处理

文章目录一、数据预处理的意义1.1 缺失数据1.1.1 原因1.1.2 方案1.1.3 离群点分析1.2 重复数据1.2.1 原因1.2.2 去重的方案1.3 数据转换1.4 数据描述二、数据预处理方法2.1 特征选择 Feature Selection2.2 特征提取 Feature Extraction2.2.1 PCA 主成分分析2.2.2 LDA 线性判别分…

四维地球2.0上线,中国四维遥感云平台布局初见端倪

‍数据智能产业创新服务媒体——聚焦数智 改变商业近日,土耳其大地震一直备受全球各国人民的关注,为了在黄金72小时内帮助解救受困人员,包括中国在内的不少国家纷纷向土耳其政府和人民伸出援手,除了派出专业的救援队伍之外&#…