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. 【转】Impala导出查询结果到文件

    [转载出处]http://blog.csdn.net/jobschen/article/details/68942574 想用impala-shell 命令行中将查询的结果导出到本地文件,想当然的以为 ...

  2. 初始Spring MVC——练手小项目

    初始Spring MVC 前几天开始了我的spring学习之旅,由于之前使用过MVC模式来做项目,所以我先下手的是 Spring MVC,做个练手项目,非常简单 项目介绍: 用户输入信息 -> ...

  3. Python基础Day01

    Python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言 ...

  4. Golang中Struct与DB中表字段通过反射自动映射 - sqlmapper

    Golang中操作数据库已经有现成的库"database/sql"可以用,但是"database/sql"只提供了最基础的操作接口: 对数据库中一张表的增删改查 ...

  5. 推送本地项目至Github遇到的问题以及解决办法记录

    在把本地新项目推送至GitHub仓库时的大致流程和步骤,首先现在GitHub上面新建一个项目,复制该项目的 带.git 后缀的地址,比如 git@github.com:XXX/XXX.git 然后在本 ...

  6. 【BZOJ3573】【HNOI2014】米特运输

    Description 米特是D星球上一种非常神秘的物质,蕴含着巨大的能量.在以米特为主要能源的D星上,这种米特能源的运输和储存一直是一个大问题. D星上有N个城市,我们将其顺序编号为1到N,1号城市 ...

  7. hdu 5445 多重背包

    Food Problem Time Limit: 3000/2000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)To ...

  8. C语言成语设计第一次作业

    一 1.求圆面积和周长 输入圆的半径,计算圆的周长和面积. 2.流程图 3.测试数据及运行结果 测试数据:r=7 运行结果 4.实验分析 问题:第一次输入提示时未加双引号 解决办法:发现问题后加了双引 ...

  9. SQL之排序

    1.按多个列排序 经常需要按不止一个列进行数据排序.例如,如果要显示雇员名单,可能希望按姓和名排序(首先按姓排序,然后在每个姓中再按名排序).如果多个雇员有相同的姓,这样做很有用. 要按多个列排序,简 ...

  10. P20 旅行助手,从未有过的至尊私人导游服务!

    旅行可以让人暂时抛掉生活中的琐事,工作上的压力,寻找内心的宁静.有的人是为了想多去见识不同的事物和人文风情,有的人是想去感受大自然的馈赠,看历史古迹感受古人智慧.歌德说过:人之所以爱旅行,不是为了抵达 ...