大数据处理之道 (Gibbs Sampling)

一:简介以及学习的途径

(1)吉布斯采样(Gibbs Sampling)及相关算法  (学习向Gibbs sampling, EM,  MCMC算法 等的好地方)

1) 推荐大家读Bishop的Pattern Recognition and Machine Learning,讲的很清楚,偏理论一些;

2) 读artificial Intelligence,2、3版,都有;

3) 如果英语好的话,最方便的就是查wikipedia,这个说的最清楚(研究生推荐读一读这个)

4)不要什么都百度去,百度在学术方面目前做的非常差的;Google 学术非常好的,Google 技术问题也是非常棒的,国外的开源网站和社区更多,不像国内的动不动就让你注册,让你付费。

(2)简介:

通俗点的解释一下,sampling就是以一定的概率分布,看发生什么事件。举一个例子 —— 甲只能  E:吃饭、学习、打球,时间     T:上午、下午、晚上,天气   W:晴朗、刮风、下雨。现在要一个sample,这个sample可以是:打球+下午+晴朗

问题是我们不知道p(E,T,W),或者说,不知道三件事的联合分布。当然,如果知道的话,就没有必要用gibbs sampling了。但是,我们知道三件事的conditional distribution。也就是说,p(E|T,W),p(T|E,W),p(W|E,T)。现在要做的就是通过这三个已知的条件分布,再用gibbs sampling的方法,得到joint distribution。

具体方法。首先随便初始化一个组合,i.e. 学习+晚上+刮风,然后依条件概率改变其中的一个变量。具体说,假设我们知道晚上+刮风,我们给E生成一个变量,比如,学习-》吃饭。我们再依条件概率改下一个变量,根据学习+刮风,把晚上变成上午。类似地,把刮风变成刮风(当然可以变成相同的变量)。这样学习+晚上+刮风-》吃饭+上午+刮风。

同样的方法,得到一个序列,每个单元包含三个变量,也就是一个马尔可夫链。然后跳过初始的一定数量的单元(比如100个),然后隔一定的数量取一个单元(比如隔20个取1个)。这样sample到的单元,是逼近联合分布的。

吉布斯(Gibbs)抽样可以在给定协方差数据和参数的先验分布条件下获得结构方程参数的后验分布样本。参数的点估计、区间估计和标准误就可以用这些样本数据计算。

吉布斯采样是生成马尔科夫链的一种方法,生成的马尔科夫链可以用来做蒙特卡洛仿真,从而求得一个较复杂的多元分布。

吉布斯采样的具体做法:假设有一个k维的随机向量,现想要构造一条有n个样本的k维向量(n样本马尔科夫序列),那么(随机)初始化一个k维向量,然后固定这个向量其中的k-1个元素,抽取剩下的那个元素(生成给定后验的随机数),这样循环k次,就把整个向量更新了一遍,也就是生成了一个新的样本,把这个整体重复n次就得到了一条马尔科夫链

二:所思所想

(1)总是,感觉有一种罪恶感,自己现在苦学的C+stl人家大三已经全部自己实现了;我现在学的AKI中文分词工具,人家课程设计就是它;我早就的HTMLparser是人家当年的课程设计;情感分析也是课程设计,各种分类聚类是人家当年的毕设,基于Nutch的搜索的Hadoop人家的毕设;我难道是在弥补我考研所花费的一年时光吗?

(2)研究生到底该干什么?不能仅仅多了一张证件纸吧?难道是中国教育体质出了问题?研究生得做研究,学会系统的分析剖析问题,而非简简单单的机械的写几行代码,而是开阔眼界,多学几个模型原理及其应用,学会那些模型的核心思想。

(3)这可能变得非常自私,要是这样你给导师带来了什么?你给实验室带来了什么?_?问这问题的人一定是目光短浅的人,从长远来看,这样的人给学校给国家带来的利益更大,当然没有直接的把导师的钱包变鼓起来,因为他没有对导师的攻城写过一行代码,没有设计过一份文档

(4)导师亏了,那还行?因为导师我是行使权力的人,对我不利,不能给我带来利益,这肯定不行,不能让他毕业,尽管他将来能给学校国家带来更大的利益和贡献,但那跟我有毛关系!

时间: 2024-11-08 23:49:12

大数据处理之道 (Gibbs Sampling)的相关文章

大数据处理之道 (MATLAB 篇<三>)

一:起因 (1)最近一直在处理大数据,从MB ----> GB的变化,是一次质的飞跃,相应的工具也在变 从widows到linux,从单机单核 到 hadoop多节点的计算 (2)问题来了,面对海量的数据,如何从中挖掘实用的信息或者发现潜在的现象,可视化工具可能是必不可少的 : (3)可视化工具可以说百度一大篇,可是作为研究者的我们,程序猿的我们可能更希望能够抽象出一种数学模型,对现实的现象进行非常好的描述和刻画 (4)Python(数据清洗和处理) + MATLAB(模型分析) 或 c++/j

大数据处理之道 (MATLAB 篇)

一:起因 (1)最近一直在处理大数据,从MB ----> GB的变化,是一次质的飞跃,相应的工具也在变 从widows到linux,从单机单核 到 hadoop多节点的计算 (2)问题来了,面对海量的数据,如何从中挖掘实用的信息或者发现潜在的现象,可视化工具可能是必不可少的 : (3)可视化工具可以说百度一大篇,可是作为研究者的我们,程序猿的我们可能更希望能够抽象出一种数学模型,对现实的现象进行非常好的描述和刻画 (4)Python(数据清洗和处理) + MATLAB(模型分析) 或 c++/j

大数据处理之道 (MATLAB 篇(二))

一:起因 (0)开始个人非常抵触MATLAB编程语言的,肯能是部分编程人员的通病 -- 学会c/c++或者java,就会鄙视其他的语言,懒得尝试其他语言.直到有一天--他发现,他或者她发现自己精通的这门语言实在是解决不了这个问题时,才做出改变. (1)最近一直在处理大数据,从MB ----> GB的变化,是一次质的飞跃,相应的工具也在变 从widows到linux,从单机单核 到 hadoop多节点的计算 (2)问题来了,面对海量的数据,如何从中挖掘实用的信息或者发现潜在的现象,可视化工具可能是

大数据处理之道(实验方法<二>)

一:交叉验证(crossvalidation)(附实验的三种方法)方法简介 (1) 定义:交叉验证(Cross-validation)主要用于建模应用中,例如PCR(Principal Component Regression) .PLS(Partial least squares regression)回归建模中.在给定的建模样本中,拿出大部分样本进行建模型,留小部分样本用刚建立的模型进行预报,并求这小部分样本的预报误差,记录它们的平方加和.这个过程一直进行,直到所有的样本都被预报了一次而且仅

大数据处理之道(十分钟学会Python)

一:python 简介 (1)Python的由来 Python(英语发音:/?pa?θ?n/), 是一种面向对象.解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991 年.Python语法简洁而清晰,具有丰富和强大的类库.它常被昵称为胶水语言,它能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结 在一起.常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的

大数据处理之道(预处理方法)

一:为什么要预处理数据? (1)现实世界的数据是肮脏的(不完整,含噪声,不一致) (2)没有高质量的数据,就没有高质量的挖掘结果(高质量的决策必须依赖于高质量的数据:数据仓库须要对高质量的数据进行一致地集成) (3)原始数据中存在的问题: 不一致 -- 数据内含出现不一致情况 反复 不完整 -- 感兴趣的属性没有 含噪声 -- 数据中存在着错误.或异常(偏离期望值)的数据 高维度 二:数据预处理的方法 (1)数据清洗 -- 去噪声和无关数据 (2)数据集成 -- 将多个数据源中的数据结合起来存放

大数据处理之道 (htmlparser获取数据<一>)

一:简介 (1)HTML Parser是一个用于解析Html的Java的库,可采用线性或嵌套两种方式.主要用于网页的转换或提取,他有一些特性:过滤器filter,遍历器visitors,通常的标签tagName和易用的JavaBeans.它是一个快速,健壮,并严格测试过的组件. (2)个人理解:HTMLParser遍历了网页的内容以后,以树(森林)结构保存了结果,各个节点代表HTML中的标签和属性值,非常类似于XML解析器解析后的结果,也类似与html dom的结构:HTMLParser访问结果

大数据处理之道 (htmlparser 过滤器<二>)

一:起因 (1)最近用于任务需要一直在爬取网页HTML的内容,与类似于爬虫的HtmlParser接触的比较多,爬取无非就是过滤自己想要的信息,因此Filter是核心,当然String类中的matches(regex)函数和contains(str)函数也是非常有用的 (2)经常和爬虫打交道就会分析各式各样的网站设计以及布局:用的设计的非常有规律,如QQ空间,微博信息等爬取非常简单(当时要想翻页的话,就得模拟登陆了),有些静态网站也是比较容易爬取的:其他的就麻烦了,信息全部写在JS里面,你就会哭了

随机采样方法整理与讲解(MCMC、Gibbs Sampling等)

本文是对参考资料中多篇关于sampling的内容进行总结+搬运,方便以后自己翻阅.其实参考资料中的资料写的比我好,大家可以看一下!好东西多分享!PRML的第11章也是sampling,有时间后面写到PRML的笔记中去:) 背景 随机模拟也可以叫做蒙特卡罗模拟(Monte Carlo Simulation).这个方法的发展始于20世纪40年代,和原子弹制造的曼哈顿计划密切相关,当时的几个大牛,包括乌拉姆.冯.诺依曼.费米.费曼.Nicholas Metropolis, 在美国洛斯阿拉莫斯国家实验室