R语言:EM算法和高斯混合模型的实现
时间:2022-07-23
本文章向大家介绍R语言:EM算法和高斯混合模型的实现,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
原文 :http://tecdat.cn/?p=3433
本文我们讨论期望最大化理论,应用和评估基于期望最大化的聚类。
软件包
数据
我们将使用mclust软件包附带的“糖尿病”数据。
data(diabetes)
summary(diabetes)
## class glucose insulin sspg
## Chemical:36 Min. : 70 Min. : 45.0 Min. : 10.0
## Normal :76 1st Qu.: 90 1st Qu.: 352.0 1st Qu.:118.0
## Overt :33 Median : 97 Median : 403.0 Median :156.0
## Mean :122 Mean : 540.8 Mean :186.1
## 3rd Qu.:112 3rd Qu.: 558.0 3rd Qu.:221.0
## Max. :353 Max. :1568.0 Max. :748.0
期望最大化(EM)
期望最大化(EM)算法是用于找到最大似然的或在统计模型参数,其中该模型依赖于未观察到的潜变量最大后验(MAP)估计的迭代方法。期望最大化(EM)可能是无监督学习最常用的算法。
似然函数
似然函数找到给定数据的最佳模型。
期望最大化(EM)算法
假设我们翻转硬币并得到以下内容 - 0,1,1,0,0,1,1,0,0,1。我们可以选择伯努利分布
或者,如果我们有以厘米为单位的人的身高(男性和女性)的数据。高度遵循正常的分布,但男性(平均)比女性高,因此这表明两个高斯分布的混合模型。
贝叶斯信息准则(BIC)
以糖尿病数据为例
EM集群与糖尿病数据使用mclust。
log.likelihood:这是BIC值的对数似然值
n:这是X点的数量
df:这是自由度
BIC:这是贝叶斯信息标准; 低是好的
ICL:综合完整X可能性 - BIC的分类版本。
clPairs(X,class.d)
EM的绘图命令会生成以下四个绘图:
BIC值用于选择簇的数量
聚类图
分类不确定性的图表
簇的轨道图
- Rainbow的相关资料
- 面向资源与面向活动的 Web 服务
- OpenXML 成为 ECMA标准 376
- 常用翻译技巧
- ScintillaNET 需要帮助
- Windows Live Writer工具
- WPF/XML 资源及相关开源项目
- Android应用底部导航栏(选项卡)实例
- 有关 ASMX 2.0、WSE 3.0 和 WCF 的内容
- 微信小程序游戏其实一般,我也就站在寒风里玩了一个小时
- beagle MONO 应用的desktop search
- Python3与OpenCV3.3 图像处理(一)-环境搭建与简单DEMO
- winform中利用正则表达式得到有效的电话/手机号
- 浅述RDF,畅想一下FOAF应用
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法