http://blog.csdn.net/pipisorry/article/details/52626889

使用不完备数据的贝叶斯学习:MLE估计(梯度上升和EM算法)、贝叶斯估计。

表示:H[m]表示其值在数据实例o[m](观测)中缺失的变量。

参数估计

与处理完备数据的类似,有两种估计方法:最大似然估计MLE和贝叶斯估计。

使用不完备数据的最大似然估计MLE

梯度上升方法

{优化似然函数算法1}

计算梯度

先考虑相对于一个单一CPD的表值P(x|u)的导数(一个数据的某些变量的一组观测的导数)

Note: 联合概率P(x, u, o)可以这么看,数据及观测中x,u,o应该是相互对应的,如果不对应其概率应该为0。

一个观测时?

Note: p(e)可以表示成包含P(x|u)的乘积形式,所有对其求导就是直接相除。

部分赋值的一般情况

Note: 与往常一样,也就是将未观测到的值积掉,将P(o)写成与P(o)一致(参数的部分与观测到的完全相同)的所有完全赋值的和。

表格-CPD梯度的形式

Note: 也就是定理19.1的加和,因为19.1只考虑了一个观测数据的结果。这里只是对所有M个观测数据加和了。

示例

Note: 相当于联合分布相对条件分布求导,就是梯度上升?

Note: 定理19.2是要计算M个实例的和,现在只计算了其中一个实例o。如果每次只计算一个数据o,是不是就成了随机梯度上升?而这里是批梯度上升?

Note: 函数就是MLE观测P(o),某个梯度越大,说明沿那个梯度上升到P(o)最大值的速度越快。

Note: 这个有点没搞懂,大概就是p(d1|c0)+p(d0|c0)=1且两者均非负,而在相对p(d1|c0)的梯度上增大l似然更快。

CPD表的网络中计算梯度算法

梯度上升算法

梯度上升的改进

梯度上升的局部最大和全局最大

期望最大化EM

{优化似然函数的算法2}

EM不是非线性函数优化的通用算法,而是专门为优化函数定做的特殊算法。

直觉

使用数据填充方法估计缺失数据的参数方法及其缺点

这种方法相当于用先验概率填充值

互相推导的EM算法

这种方法其实就是在计算期望充分统计量时使用了后验概率。

示例

完备数据的MLE

不完备数据的MLE

随机初始化参数并计算实例的权重

通过缺失实例权重计算新的参数的期望充分统计量

通过后验概率计算期望充分统计量

其实就是将完备数据的指示变量替换成了后验概率。也就是为了估计,完备数据通过指示变量来计算M[c0],为1或者0,而不完备数据则计算其存在于当前观测数据的概率。

贝叶斯网的EM算法

期望(E-步)

{可以从公式中看出注意期望是关于当前参数集的期望}

最大化(M-步)

将期望充分统计量当作观测,执行MLE,然后导出一个新的参数集。

贝叶斯网络EM算法的完整版本

扩展到一般的指数族。。。

EM步的一般情况

收敛性及局部最大值

使用EM的贝叶斯聚类

{EM的一个重要应用:聚类}

软聚类

假定类条件分布是多元高斯分布(实值数据)或者朴素贝叶斯结构(离散环境)。聚类的EM算法使用一个软聚类赋值,允许每个实例将其部分权重分摊给多个聚类,所分配的权重与其属于每个类别的概率成正比。

。。。

硬赋值EM

k-均值算法。。。

专栏19.A:发现用户聚类

给定用户的聚类赋值C,每个用户的个人购买Xi可以认为是相互条件独立的。我们有一个可以在其上使用EM算法的朴素贝叶斯模型。

这种方法的性能比专栏18.C的结构学习方法的性能更低,大概因为用户聚类变量完全不能在大量商品中捕捉复杂的偏好模式。

专栏18.C:用于协同过滤的贝叶斯网

对用户群体观察,学习不同交易间的相依结构。将每件商品i当作联合分布中的一个向量Xi,且将每个用户当作一个实例。

理论基础*

。。。

也可参考[EM算法]

硬-赋值EM

。。。

梯度上升和EM的比较

。。。

专栏19.C:参数学习中的实际考虑

局部极大值、停止准则、加速收敛

近似推理*

看不懂。。。

皮皮blog

使用不完备数据的贝叶斯学习

概述

贝叶斯方法中,把参数视为影响所有训练实例概率的未观测变量。于是学习相当于根据观测来计算新样本的概率,这种学习可以通过计算参数上的后验概率来执行,且使用它进行预测。

不完备数据贝叶斯推理的解决方法

MCMC采样

Gibbs采样

专栏19.E:从狄利克雷分布中采样

坍塌的MCMC

变分贝叶斯学习

皮皮blog

from: http://blog.csdn.net/pipisorry/article/details/52626889

ref:

PGM:不完备数据的参数估计的更多相关文章

  1. PGM:部分观测数据

    http://blog.csdn.net/pipisorry/article/details/52599451 基础知识 数据缺失的三种情形: 数据的似然和观测模型 Note: MLE中是将联合概率P ...

  2. PGM:贝叶斯网的参数估计

    http://blog.csdn.net/pipisorry/article/details/52578631 本文讨论(完备数据的)贝叶斯网的参数估计问题:贝叶斯网的MLE最大似然估计和贝叶斯估计. ...

  3. PGM图片格式与代码

    这两天在搞神经网络,里面的一个人脸数据库的图片格式是PGM,事实上之前早就知道了这个图片格式,可是没去深究这个图片格式的数据究竟是什么安排的.搜索了下百度百科,发现介绍的真是简单,以下就自己来系统地整 ...

  4. R语言缺失值高级处理方法

    0 引言 对于一些数据集,不可避免的出现缺失值.对缺失值的处理非常重要,它是我们能否继续进行数据分析的关键,也是能否继续大数据分析的数据基础. 1 缺失值分类 在对缺失数据进行处理前,了解数据缺失的机 ...

  5. SqlServer灾备方案(本地)

    如果你曾经有那么一个不经意的心跳来自于数据库数据损坏:错误的新增.更新.删除 .那么下面的方案一定能抚平你的创伤! 对于一个数据库小白来说,数据库的任何闪失带来的打击可说都是致命的.最初,我们让一个叫 ...

  6. SQL Server使用文件组备份降低备份文件占用的存储空间

    对于DBA来说,备份和刷新简历是最重要的两项工作,如果发生故障后,发现备份也不可用,那么刷新简历的重要性就显现出来,哇咔咔!当然备份是DBA最重要的事情(没有之一),在有条件的情况下,我们应该在多个服 ...

  7. python实现概率分布

    1. 二项分布(离散) import numpy as np from scipy import stats import matplotlib.pyplot as plt ''' # 二项分布 (b ...

  8. 开发者所需要知道的iOS7 SDK新特性

    iOS 7 春风又绿加州岸,物是人非又一年.WWDC 2013 keynote落下帷幕,新的iOS开发旅程也由此开启.在iOS7界面重大变革的背后,开发者们需要知道的又有哪些呢.同去年一样,我会先简单 ...

  9. PostgreSQL 10.7 linux 主从配置

    PostgreSQL 10.7 主从安装 硬件环境 云服务商:华为云 Linux: CentOS7.1 工具:Xshell Xftp IP:114.115.251.168 Port: 5432 543 ...

随机推荐

  1. [LeetCode] Find Permutation 找全排列

    By now, you are given a secret signature consisting of character 'D' and 'I'. 'D' represents a decre ...

  2. 字符串的一些常用方法 string

    ##字符串## 字符串: 由0个或多个字符组成,被成对的英文单引号或双引号包含起来的. 字符编码: 每一个字符在计算机存储的编号. 计算机会保存有一套或几套用于标注编号与字符对应关系的字典.(字符集) ...

  3. Field的getModifiers()方法返回int类型值表示该字段的修饰符

    其中,该修饰符是java.lang.reflect.Modifier的静态属性. 对应表如下: PUBLIC: 1PRIVATE: 2PROTECTED: 4STATIC: 8FINAL: 16SYN ...

  4. [Codeforces 505C]Mr. Kitayuta, the Treasure Hunter

    Description The Shuseki Islands are an archipelago of 30001 small islands in the Yutampo Sea. The is ...

  5. 【BZOJ1012】【JSOI2008】最大数maxnumber

    Description 现在请求你维护一个数列,要求提供以下两种操作:1. 查询操作.语法:Q L 功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值.限制:L不超过当前数列的长度.2. 插 ...

  6. Codeforces Round #419 D. Karen and Test

    Karen has just arrived at school, and she has a math test today! The test is about basic addition an ...

  7. 【吃炸弹的鸽子UVA10765-双联通模板】

    ·从前有一个鸽子Lence,它吃了一个炸弹,然后有人出了这道题. ·英文题,述大意:        给出一张连通无向图,求出:对于每个点,删去这个点(以及它相连的边以后)时,当前图中的连通块数量,这个 ...

  8. mooc- 基本程序设计方法week1,week2

    学习了第一单元我们几本可以写出10行左右的代码. week1:python编程之基本方法 1.从计算机到程序设计语言: 理解计算机:计算机是能够根据一组指令操作数据的机器. 功能性:可以进行数据计算 ...

  9. 如何导入python中的模块

    作为一名新手Python程序员,你首先需要学习的内容之一就是如何导入模块或包.但是我注意到,那些许多年来不时使用Python的人并不是都知道Python的导入机制其实非常灵活.在本文中,我们将探讨以下 ...

  10. fatal error LNK1104: 无法打开文件“lua51.lib”

    今天学习C++与Lua通信,遇到了问题:fatal error LNK1104: 无法打开文件"lua51.lib" 开发环境: VS2012 cocos版本:cocos2d-x- ...