EM算法与K均值算法的关系


K均值可以看成是高斯混合模型的特例。


对K均值算法与EM算法进行比较后,可以发现它们之间有很大的相似性。K均值算法将数据点硬(hard)分配到聚类中,每个数据点唯一地与一个聚类相关联,而EM算法基于后验概率进行软(soft)分配。事实上,可以从EM算法推导出K均值算法。

考虑一个高斯混合模型,其中混合分量的协方差矩阵由 σ 2 I {\sigma^2} I σ2I给出,其中 σ 2 {\sigma^2} σ2是所有分量共享的方差参数, I I I是单位矩阵,因此

N ( x ∣ μ k , Σ k ) = 1 ( 2 π σ 2 ) d / 2 exp ⁡ { − 1 2 σ 2 ∥ x − μ k ∥ 2 } (31) N(\bm{x}|{\bm \mu}_k, {\bm \varSigma}_k) = \frac{1}{(2\pi{\sigma^2})^{d/2}} \exp\left\{-\frac{1}{2{\sigma^2}}\|\bm{x}-{\bm \mu}_k\|^2\right\} \tag{31} N(xμk,Σk)=(2πσ2)d/21exp{2σ21xμk2}(31)

考虑将要应用于这种形式的包含K个分量的高斯混合模型的EM算法,其中将 σ 2 {\sigma^2} σ2当作固定常数而不是重新估计的参数处理。根据式(12),特定数据点 x i \bm{x}_i xi的后验概率或责任由下式给出:

γ i k = π k exp ⁡ { − ∥ x i − μ k ∥ 2 / 2 σ 2 } ∑ j π j exp ⁡ { − ∥ x i − μ j ∥ 2 / 2 σ 2 } (32) \gamma_{ik} = \frac{\pi_k \exp\left\{-\|\bm{x}_i-{\bm \mu}_k\|^2 / 2{\sigma^2}\right\}}{\sum_j \pi_j \exp\left\{-\|\bm{x}_i-{\bm \mu}_j\|^2 / 2{\sigma^2}\right\}} \tag{32} γik=jπjexp{xiμj2/2σ2}πkexp{xiμk2/2σ2}(32)

考虑极限 σ 2 → 0 {\sigma^2} \to 0 σ20,式(32)右侧的分母中包含了以j索引的多个趋于零的项。假设使得 ∥ x i − μ j ∥ 2 \|\bm{x}_i-{\bm \mu}_j\|^2 xiμj2最小的特定项(例如 j = l j=l j=l的项)将会最慢地趋于零并支配该平方和。因此,数据点 x i \bm{x}_i xi的责任 γ i k \gamma_{ik} γik除了第 l l l项外都会趋于零,第l项的责任 γ i k \gamma_{ik} γik将趋于1。注意,这独立于 π k \pi_k πk的值,只要没有任何 π k \pi_k πk为零即可。因此,在这个极限下,获得了数据点到聚类的硬分配,就像在K均值算法中一样,所以 γ i k → r i k \gamma_{ik} \to r_{ik} γikrik,其中 r i k r_{ik} rik由式(2)定义。每个数据点因此被分配到与其最近的均值所代表的聚类。

然后EM算法中 μ k {\bm \mu}_k μk的重估方程由式(16)给出,并简化为K均值算法的结果[式(4)]。注意,混合系数的重估方程[式(21)]仅是将 π k \pi_k πk的值重置为分配给聚类k的数据点的比例,这些参数在算法中已不再起作用。

最后,在极限 σ 2 → 0 {\sigma^2} \to 0 σ20下,用来给出完整数据对数似然函数期望的式(30),就可以变为

E Z [ ln ⁡ p ( X , Z ∣ μ , Σ , π ) ] → − 1 2 ∑ n = 1 N ∑ k = 1 K r i k ∥ x i − μ k ∥ 2 + const (33) {E}_Z[\ln p(X,Z|{\bm \mu},\Sigma,\pi)] \to -\frac{1}{2}\sum_{n=1}^N\sum_{k=1}^K r_{ik}\|\bm{x}_i-{\bm \mu}_k\|^2 + \text{const} \tag{33} EZ[lnp(X,Zμ,Σ,π)]21n=1Nk=1Krikxiμk2+const(33)

因此,看到在这个极限下,完整数据对数似然函数的最大化期望等价于最小化K均值算法的误差度量J,J由式(34)给出。注意,K均值算法不估计聚类的协方差,只估计聚类的均值。

J = 1 n ∑ i = 1 n ∑ k = 1 K r i ( k ) ∥ x i − μ k ∥ 2 (34) J = \frac{1}{n} \sum_{i=1}^n \sum_{k=1}^K r_i(k) \|{\bm x}_i - \boldsymbol{{\bm \mu}}_k\|^2\tag{34} J=n1i=1nk=1Kri(k)xiμk2(34)

在这里插入图片描述


算法 K-Means


  1. 初始化 K K K τ > 0 \tau > 0 τ>0 { μ k ( 0 ) } k = 1 K \{\boldsymbol{{\bm {\bm \mu}}}_k^{(0)}\}_{k=1}^K {μk(0)}k=1K

  2. repeat

  3. E 步:更新簇分配
    r i ( t + 1 ) ( k ) = { 1 , 若  k = arg ⁡ min ⁡ j = 1 , ⋯ , K ∥ x i − μ j ( t ) ∥ 2 0 , 否则 , i = 1 , ⋯ , n r_i^{(t+1)}(k) = \begin{cases} 1, & \text{若 } k = \arg \min_{j=1,\cdots,K} \|{\bm x}_i - \boldsymbol{{\bm {\bm \mu}}}_j^{(t)}\|^2 \\ 0, & \text{否则} \end{cases}, \quad i=1,\cdots,n ri(t+1)(k)={1,0, k=argminj=1,,Kxiμj(t)2否则,i=1,,n

  4. M 步:更新簇中心
    μ k ( t + 1 ) = ∑ i = 1 n r i ( t + 1 ) ( k ) x i ∑ i = 1 n r i ( t + 1 ) ( k ) , 对于  k = 1 , ⋯ , K (4) \boldsymbol{{\bm {\bm \mu}}}_k^{(t+1)} = \frac{\sum\limits_{i=1}^n r_i^{(t+1)}(k) {\bm x}_i}{\sum\limits_{i=1}^n r_i^{(t+1)}(k)}, \quad \text{对于 } k=1,\cdots,K\tag{4} μk(t+1)=i=1nri(t+1)(k)i=1nri(t+1)(k)xi,对于 k=1,,K(4)

  5. 计算得分:
    J ( t + 1 ) = 1 n ∑ i = 1 n ∑ k = 1 K r i ( t + 1 ) ( k ) ∥ x i − μ k ( t + 1 ) ∥ 2 J^{(t+1)} = \frac{1}{n} \sum\limits_{i=1}^n \sum\limits_{k=1}^K r_i^{(t+1)}(k) \|{\bm x}_i - \boldsymbol{{\bm {\bm \mu}}}_k^{(t+1)}\|^2 J(t+1)=n1i=1nk=1Kri(t+1)(k)xiμk(t+1)2

  6. until ∣ J ( t + 1 ) − J ( t ) ∣ < τ |J^{(t+1)} - J^{(t)}| < \tau J(t+1)J(t)<τ


算法 使用EM和高斯混合模型聚类


  1. 初始化 K K K τ > 0 \tau > 0 τ>0 { π k ( 0 ) , μ k ( 0 ) , Σ k ( 0 ) } k = 1 K \{\pi_k^{(0)}, {\bm {\bm \mu}}_k^{(0)}, {\bm \varSigma}_k^{(0)}\}_{k=1}^K {πk(0),μk(0),Σk(0)}k=1K

  2. repeat

  3. E步:更新簇成员
    γ k ( t ) ( x i ) = π k ( t ) N ( x i ∣ μ k ( t ) , Σ k ( t ) ) ∑ k = 1 K π k ( t ) N ( x i ∣ μ k ( t ) , Σ k ( t ) ) \gamma_k^{(t)}({\bm x}_i) = \frac{\pi_k^{(t)} {N}({\bm x}_i \mid {\bm {\bm \mu}}_k^{(t)}, {\bm \varSigma}_k^{(t)})}{\sum\limits_{k=1}^K \pi_k^{(t)} {N}({\bm x}_i \mid {\bm {\bm \mu}}_k^{(t)}, {\bm \varSigma}_k^{(t)})} γk(t)(xi)=k=1Kπk(t)N(xiμk(t),Σk(t))πk(t)N(xiμk(t),Σk(t))

  4. M步:重新估计模型参数
    μ k ( t + 1 ) = ∑ i = 1 n γ k ( t ) ( x i ) x i ∑ i = 1 n γ k ( t ) ( x i ) (16) {\bm {\bm \mu}}_k^{(t+1)} = \frac{\sum\limits_{i=1}^n \gamma_k^{(t)}({\bm x}_i) {\bm x}_i}{\sum\limits_{i=1}^n \gamma_k^{(t)}({\bm x}_i)}\tag{16} μk(t+1)=i=1nγk(t)(xi)i=1nγk(t)(xi)xi(16) Σ k ( t + 1 ) = ∑ i = 1 n γ k ( t ) ( x i ) ( x i − μ ^ k ( t + 1 ) ) ( x i − μ ^ k ( t + 1 ) ) ⊤ ∑ i = 1 n γ k ( t ) ( x i ) {\bm \varSigma}_k^{(t+1)} = \frac{\sum\limits_{i=1}^n \gamma_k^{(t)}({\bm x}_i) ({\bm x}_i - \hat{{\bm {\bm \mu}}}_k^{(t+1)}) ({\bm x}_i - \hat{{\bm {\bm \mu}}}_k^{(t+1)})^ {\top} }{\sum\limits_{i=1}^n \gamma_k^{(t)}({\bm x}_i)} Σk(t+1)=i=1nγk(t)(xi)i=1nγk(t)(xi)(xiμ^k(t+1))(xiμ^k(t+1)) π k ( t + 1 ) = 1 n ∑ i = 1 n γ k ( t ) ( x i ) (21) \pi_k^{(t+1)} = \frac{1}{n} \sum\limits_{i=1}^n \gamma_k^{(t)}({\bm x}_i)\tag{21} πk(t+1)=n1i=1nγk(t)(xi)(21)

  5. 计算对数似然:
    L ( { π k ( t + 1 ) , μ k ( t + 1 ) , Σ k ( t + 1 ) } k = 1 K ) = ∑ i = 1 n ln ⁡ ( ∑ k = 1 K π k ( t + 1 ) N ( x i ∣ μ k ( t + 1 ) , Σ k ( t + 1 ) ) ) L(\{\pi_k^{(t+1)}, {\bm {\bm \mu}}_k^{(t+1)}, {\bm \varSigma}_k^{(t+1)}\}_{k=1}^K) = \sum\limits_{i=1}^n \ln \left( \sum\limits_{k=1}^K \pi_k^{(t+1)} {N}({\bm x}_i \mid {\bm {\bm \mu}}_k^{(t+1)}, {\bm \varSigma}_k^{(t+1)}) \right) L({πk(t+1),μk(t+1),Σk(t+1)}k=1K)=i=1nln(k=1Kπk(t+1)N(xiμk(t+1),Σk(t+1)))

  6. until ∣ L ( { π k ( t + 1 ) , μ k ( t + 1 ) , Σ k ( t + 1 ) } k = 1 K ) − L ( { π k ( t ) , μ k ( t ) , Σ k ( t ) } k = 1 K ) ∣ < τ |L(\{\pi_k^{(t+1)}, {\bm {\bm \mu}}_k^{(t+1)}, {\bm \varSigma}_k^{(t+1)}\}_{k=1}^K) - L(\{\pi_k^{(t)}, {\bm {\bm \mu}}_k^{(t)}, {\bm \varSigma}_k^{(t)}\}_{k=1}^K)| < \tau L({πk(t+1),μk(t+1),Σk(t+1)}k=1K)L({πk(t),μk(t),Σk(t)}k=1K)<τ


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

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

相关文章

StarRocks 向量索引如何让大模型“记性更好”?

随着 ChatGPT、DeepSeek 等大语言模型的普及&#xff0c;我们已经能够与 AI 进行流畅的对话。然而&#xff0c;即使是最先进的大模型也面临着“记忆困境”&#xff0c;具体表现模型只能记住训练时接触的知识&#xff0c;且这些知识在使用时很可能会过期。实际应用或在处理特定领…

UniApp Vue3 模式下实现页面跳转的全面指南

1. 引言 1.1 UniApp 与 Vue3 的结合优势 UniApp 是一个使用 Vue.js 开发所有前端应用的框架,支持编译到 iOS、Android、H5、以及各种小程序平台。Vue3 提供了更高效的响应式系统和 Composition API,使开发体验更加现代化和灵活。 1.2 页面跳转在应用开发中的重要性 页面跳…

Solidity学习 - ABI 应用二进制接口

文章目录 一、ABI 基础概念1. ABI 与 API 的区别2. ABI 的核心作用 二、ABI 接口描述1. 编译后的产物2. ABI JSON 格式示例3. ABI JSON 关键字段说明 三、ABI 编码1. 编码示例2. 编码数据的组成3. Solidity 中的编码函数 四、ABI 解码1. 解码的基本概念2. 事件日志的解码 五、A…

星际争霸数据集指南

星际争霸作为检验AI效果的一个重要“模式生物”, 是验证AI技术的重要平台‌&#xff0c;尤其在 深度学习 和 强化学习领域。该游戏因其复杂的游戏机制和实时决策要求&#xff0c;为AI研究提供了丰富的测试环境和挑战。 本博文是记录自己曾经研究星际争霸AI时对于数据部分的一点…

VUE组件与组件之间的传参

每次启动vue2项目的时候在 vue.config.js中配置&#xff1a; const { defineConfig } require(vue/cli-service) module.exports defineConfig({transpileDependencies: true,//关闭语法严格检验lintOnSave:false})1&#xff1a;在 src 下 创建 utils 文件夹 然后创建 Bas…

8年java开发从零学习人工智能(深度学习)--pp飞桨(百度自研开源框架)

1.明确概念&#xff1a;人工智能>机器学习>深度学习&#xff0c;三者的关系是包含关系&#xff0c;如图所示&#xff1a; 人工智能&#xff08;AI&#xff09;&#xff0c;很宽泛的概念&#xff0c;是研发用于模拟&#xff0c;延展和扩展人的智能的理论&#xff0c;方法&…

ci | cd

ci | cd 相当于开发人员和运维人员共同完成的东西 ci:Jenkins cd:k8s ci &#xff1a; 持续集成 开发人员写出的代码提交到共享仓库 比如说Git 自动触发代码检查 测试 好处&#xff1a; 很快的发现bug 代码不用堆积 cd: 持续交付&#xff1a;代码测试没问题后 自动打包…

深入理解C#委托操作:添加、移除与调用全解析

关键词&#xff1a;委托不可变性 多播委托 调用列表管理 ⚙️ 一、委托的核心特性&#xff1a;不可变性 看似“添加”&#xff0c;实为新建 使用 为委托“添加”方法时&#xff08;如 delVar SCl.m3;&#xff09;&#xff1a; 系统创建全新委托对象新委托的调用列表 原…

Spring Cloud:微服务架构的基石与实践指南

一、Spring Cloud 核心组件 &#xff08;一&#xff09;Spring Cloud Netflix Spring Cloud Netflix 是 Spring Cloud 的核心模块之一&#xff0c;它集成了 Netflix 的多个开源组件&#xff0c;提供了微服务架构中常见的功能&#xff0c;如服务注册与发现、配置中心、API 网关…

【VPX3U】国产嵌入式平台:RK3588J×JH930硬件架构与红外应用方案

随着对边缘计算与多媒体处理需求的提升&#xff0c;国产异构平台成为关键发展方向。最近有一个项目需求&#xff0c;提出了一款基于瑞芯微 RK3588J 处理器与景嘉微GPU 的 VPX3U 规格嵌入式主板的设计想法旨在融合高性能异构计算与丰富的视频、网络和存储接口&#xff0c;适用于…

秩序密码-用群论分析魔方的阶

三阶魔方的物理基础是由一个三维十字轴连接的 6 个中心块&#xff0c;这 6 个中心块决定了魔方的 6 种颜色朝向&#xff0c;构成不动的坐标系统&#xff0c;此外还有两类活动块&#xff0c;分别是8个角块&#xff0c;12个棱块。 魔方的每一层转动&#xff08;如 R: 右层顺时针…

Python驱动自动驾驶的“多眼”——打造高效传感器融合框架的实战思考

Python驱动自动驾驶的“多眼”——打造高效传感器融合框架的实战思考 最近,自动驾驶行业火得不行,背后支撑它的技术,远不止车载摄像头那么简单。真正让车“看懂”世界的,是多种传感器数据的“融合”,包括雷达、激光雷达(LiDAR)、摄像头、惯性测量单元(IMU)等等。 而如…

机器学习-- 聚类

什么是聚类&#xff1f; Clustering 可以简单地说&#xff0c;对有标注的数据分类&#xff0c;就是逻辑回归&#xff08;属于有监督分类&#xff09;&#xff0c;对无标注的数据分类&#xff0c;就是聚类&#xff08;属于无监督分类&#xff09; 聚类是一种无监督学习技术&am…

【Yonghong 企业日常问题08 】永洪BI的Apache Tomcat版本升级指南

文章目录 前言操作步骤登录验证 前言 某公司业务永洪BI系统使用tomcat 9.0.97版本&#xff0c;接到总公司漏洞扫描整改要求需要将tomcat版本升级到9.0.97以上。 目标&#xff1a;tomcat 9.0.97》 9.0.98 1、下载tomcat所需要的版本 地址:https://tomcat.apache.org/download-…

BigFoot RaidSlackCheck11.109.zip lua

BigFoot RaidSlackCheck11.109.zip lua 合剂buff检查插件 把lua脚本拷贝到游戏插件目录下&#xff1a; D:\Battle.net\World of Warcraft\_classic_\Interface\AddOns 命令 /rsc 下载地址&#xff1a; https://download.csdn.net/download/spencer_tseng/91181827

深入解析前端 Meta 标签:HTML 的隐形守护者与功能大师

在构建现代网页时&#xff0c;我们常常关注炫目的视觉效果、复杂的交互逻辑或强大的框架&#xff0c;却容易忽略那些深藏于 <head> 之中、看似不起眼的 <meta> 标签。这些标签如同网页的隐形守护者&#xff0c;无声地承担着定义文档元数据、指导浏览器行为、优化搜…

青少年编程与数学 01-012 通用应用软件简介 11 应用商店

青少年编程与数学 01-012 通用应用软件简介 11 应用商店 一、什么是应用商店&#xff08;一&#xff09;应用商店的基本定义&#xff08;二&#xff09;应用商店的工作原理&#xff08;三&#xff09;应用商店的类型 二、应用商店的重要意义&#xff08;一&#xff09;为用户提…

《红黑树实现》

引言&#xff1a; 上次我们学习了比二叉搜索树更高效的平衡二叉搜索树&#xff08;AVL树&#xff09;&#xff0c;这次我们要学习的是另外一种对二叉搜索树的优化后的红黑树。 一&#xff1a;红黑树概念&#xff1a; 红黑树是一棵二叉搜索树&#xff0c;他的每个结点增加一个…

领域驱动设计(DDD)【23】之泛化:从概念到实践

文章目录 一 泛化基础&#xff1a;理解DDD中的核心抽象机制1.1 什么是泛化&#xff1f;1.2 为什么泛化在DDD中重要&#xff1f;1.3 泛化与特化的双向关系 二 DDD中泛化的实现形式2.0 实现形式概览2.1 类继承&#xff1a;最直接的泛化实现2.2 接口实现&#xff1a;更灵活的泛化方…

机箱流动空气热学仿真方案

机箱流动空气热学仿真方案(二维平面与三维) 一、物理模型与数学模型 1. 控制方程 流动与传热基本方程: 连续性方程:∇(ρu) = 0动量方程(Navier-Stokes):ρ(u∇)u = -∇p + μ∇u + F能量方程:ρcₚ(u∇)T = k∇T + Φ边界条件: 入口:速度入口(u=u₀, T=T₀)出口:压…