当前位置: 首页 > news >正文

扔硬币中的思考——隐含变量建模

(赠书活动详情见文章末尾)

在我们的经典统计学教科书中,数据是正态的,分布是已知的,测量也是精确的,在这样的前提下我们才做着漂亮简明的各种估计、检验和性质分析。但是一旦拿到实际问题中就发现,这些条件一个都不成立。逻辑起点错了,就全错了。其中一个典型的就是:

我需要的变量并观测不到,或者观测是有误差的。

那么这个时候我们应当怎样处理,就有一套初等统计教科书上没有的方法论了。在机器学习类的书中会有一些介绍,我们把它叫做隐含变量建模,今天我们就从几个问题入手,来作为专题分析理解一下。

 

我们来看一下几个问题:

  1. 有一个硬币,扔了m次的结果记为{Bm},求扔一次硬币正面向上的概率参数p;

  2. 有一个硬币,扔了m次,但是扔完以后由于某种原因无法准确观测,故每次对其用同一台机器进行观察,进行了n次观察,每次观察都会得到一个[0, 1]的正面向上可能性,记为{Pmn},求扔一次硬币正面向上的概率参数p;

  3. 有一个硬币,扔了m次,但是扔完以后由于某种原因无法准确观测,故每次都用同样的n台机器进行观察,机器经过一定计算以后分别得到其认为的正面或反面结果,记作{Bmn},求扔一次硬币正面向上的概率参数p;

 

没人会在实践中遇到这样的问题,但这三个问题恰好对应3个非常真实的应用场景:

其中1问题是简单的由频率学派观点来计算参数的点/区间估计值和分析其统计性质的问题,当然当实验次数少,又有一些非实验的知识因素想引入的时候,Bayesian定理也可以发挥其灵活的优势。

而2是常见的半监督数据场景下我们面临的挑战,这样的数据可以叫“不完全观测数据”,我们时常要在这样的数据条件下处理问题:虽然海量,但并不是为我们直接准备的,如何进行预处理化为理想的形式是关键。(互联网上的文本,图像以及行为数据大多如此,在生物信息学中对碱基的光学信号测量也同理。)

3就更复杂些了,不仅观测不完全可信,而且还有多重观测,既带来了额外信息,又增加了混乱度。比如互联网工作中常见的多人标注同一个问题的场景,我们时常需要判定每一个人的水平以及最终结果,还有理想结果的上界。这都是我们互联网工作研究中常碰到的场景,也是最关心的。

 

你不妨用你自己的思路想想该怎样做再接着看下文。

 


接下来,我们从统计机器学习的角度,一一道来其模型和本质。

无隐含变量场景

 

问题一:有一个硬币,扔了m次的结果记为{Bm},求扔一次硬币正面向上的概率参数p;

 

第一个问题没什么多说的,两个方案:

  1. 频率学派的古典概型:用统计量得其点估计和区间估计结果,并分析其置信度等信息,最多再针对一个参数判断算出检验统计量,给出基于假设检验的结果,这一思路基本可以代表经典统计学对问题描述和求解的全部阐释了;

  2. Bayesian模型:把p看作变量求后验分布,再对应到MAP或PME的解作为结果,使得求值问题变成求分布,能直观度量出对估计置信度的大小,也方便引入先验信息。

一般隐含变量场景

 

问题二:有一个硬币,扔了m次,但是扔完以后由于某种原因无法准确观测,故每次对其用同一台机器进行观察,进行了n次观察,每次观察都会得到一个[0, 1]的正面向上可能性,记为{Pmn},求扔一次硬币正面向上的概率参数p;

 

第二个问题,有了隐含变量,在频率学派的基本理论中没有对这种场景的处理,但是在基于图模型的理论中有着很好的建模思路。于是我们搬来Bayesian模型,分析清楚问题以后,构建模型如下:

图1 问题2有向图模型

C是硬币真实的bool状态变量,是不可观测的,p’是观测到的概率值,其影响因素应该是硬币真实的C情况,作为一个bool变量来选择一组Beta分布的参数,也正是我们需要估计的机器测量参数{(ab1, ab2)i | i in C},其中ab1, ab2都是二维元组,分别是C = 0 / 1时的Beta分布的参数。

 

注意了,这里可以看到一台机器在这里被我们用2组Beta分布的参数来描述了,也就是说,对于一个给定的真实硬币状态,其按照一定的分布去产生p’,如果这个分布产生的p’越接近其硬币真实状态的0 / 1值,比如用log(p') ^ C + log(1 - p') ^ (1 – C)来描述(其实就是用机器生成的p’代替真实p计算的结果的对数似然值,公式虽然方便计算,抹去了逻辑值,但是也抹去了数学意义表达),表明这是一台更靠谱的机器,所以这个解法也顺便得到了机器的评价指标,更细了看可以用这个Beta分布的期望,众数之类的统计量。还有要注意,没有说机器在C = 1的时候就一定会给出p’ > 0.5的结果,反之亦然。

 

我们要最大化的是观测变量p’,即:

 

f(p’ | p, a, b) = f(p’, C = 0 | p, a, b) + f(p’,C = 1 | p, a, b)

 

这恰好是一个含有隐含变量C,不可直接观测,而只能观测以其为参数的分布的样本。这种问题若隐藏变量离散,似然函数简单,可以直接求导优化(一定程度上,神经网络的梯度下降算法就是这个思路),另一种常见思路则是EM算法,在理论上那个方案也可以得到局部最优解,而且计算相对方便:

 

E: f(C | p, a, b) ~ p(C) * p(p’ | C, a, b)

 

M: a, b, p = argmax Ef(C|p, a, b)(p(C) *p(p’ | C, a, b))

 

关于这里EM算法为什么有效,思路从何而来,我们后面找专门文章介绍,本篇重点分析的是建模的思路。

 

由于这个算法只能收敛到局部最优,所以初始解会很关键。所以可以把p和a,b都设成对应变量空间内的均匀分布参数(1,1),迭代而自然得到结果。如果观察机器还算靠谱,或有需求能够更快收敛的话,那么可以选择比如C = 1对应的第二项比第一项大很多,反之亦然,这样通过初始值指导得到机器是比较靠谱条件下的解。

 

当然这一切取决于观测水平,也就是机器水平。也许平均来看,观测到C = 0时候给出的C = 1的概率还更大也说不准,不过作为特征是都可以使用的,反面特征也是特征,只要不是完全摇摆不定的均匀分布就好了。

 

最后p(C = 1)的估计值即为所求,当然也可以再加一层先验,在一定先验下求MAP或PME。

 

不过实际应用中,应该还不会有人傻到每扔一次硬币就换一台机器,应该是去选择一台相对靠谱的机器,可以以偏斜向正确的一个先验来估计了。但是,有时候真的没法保证随便拿一台机器就真的靠谱,毕竟再高的合格率也会有赝品,如何解决这个问题呢?显然需要增加机器样品,像问题三那样来处理。

组合隐含变量场景

问题三:有一个硬币,扔了m次,但是扔完以后由于某种原因无法准确观测,故每次都用同样的n台机器进行观察,机器经过一定计算以后分别得到其认为的正面或翻面结果,记作{Bmn},求扔一次硬币正面向上的概率参数p;

 

问题三和二有些相似,但是多了一个条件,每次使用的机器是同样有序排列的n台,应该共享相同的性质。另外,得到的观测结果是一个处理得出的分类值而不是所谓可能性大小了,所以这个生成过程的参数为p’,对应两个C的值的两个伯努利分布参数,而如果是n台不同的可追踪机器,还对应n组这样的参数,其图模型如下:

图2 问题三有向图模型

其训练过程类似前者,由此,我们可以估计出真正的每一个C的后验分布,进而在真正使用样本的时候的态度变为:每个C’都是两个分布其一产生的,而这个选择C是不可观测变量,由此EM后估计出p, p‘,取出需要的作为我们求取的对象即可,比如p是硬币性质的估计,p'对应每台机器性能的度量,能不能够在指定分布下用尽可能大的概率产生正确观察。

 

大家注意了,无论机器生成的是问题三的bool结论C’还是概率估计p’,都是机器这个黑盒测量得到的特征而已,也可以很容易地想见,其实C’也是p’加阈值得到的而已,只是没有开放权限去看其内部构造罢了。但是这都不重要,把机器建模成一个条件随机变量产生机就好了,这是统计学的绝妙思路,能够在在不能够完全搞清楚机机理的情况下先下手分析,弄清楚能弄清楚的加以利用,对不清楚的也有自知之明。

 

问题三其实和很多互联网相关的标注场景很类似,有很多人(这里就是机器)对同一个样本的分类或判别问题给出结论,标一系列多个样本来解决。最后,要求出每个样本综合的结论以及置信度是多少。经常我们面对那些模棱两可的结论会争执不休,没有效率。要知道,我们人类的争执都只在个案的机理上,机器完全无法吸收这些内容,对我们系统的累积提高可以忽略。那么以上方法可以说是对这个问题最公平的结论了。统计学再一次在没有搞清楚真正机理的时候通过封装实现了问题的解决,妙哉!


第二期(20200410)送书活动来了!

本期图书:《机器学习:线性代数基础》

简介:线性代数是机器学习的基石,本书从5个维度+60段代码+53幅图表+2个项目,帮助你理解线性代数与机器学习紧密结合的核心内容,并以Python语言为工具进行数学思想和解决方案的有效实践。

获赠方法:

  1. 发送本文到朋友圈,附上对本文的理解,感悟等,并截图;

  2. 扫以下二维码或搜索Cool_Marin添加小编微信,并发送该截图给小编,进入奖池;

  3. 活动有效期自发文起一周,活动结束后会从奖池中评选最优朋友圈1名,随机抽取2名,共3名同学,包邮寄出本书!

我们是谁:MatheMagician,中文“数学魔术师”,原指用数学设计魔术的魔术师和数学家。既取其用数学来变魔术的本义,也取像魔术一样玩数学的意思。文章内容涵盖互联网,计算机,统计,算法,NLP等前沿的数学及应用领域;也包括魔术思想,流程鉴赏等魔术内容;以及结合二者的数学魔术分享,还有一些思辨性的谈天说地的随笔。希望你能和我一起,既能感性思考又保持理性思维,享受人生乐趣。欢迎扫码关注和在文末或公众号留言与我交流!
扫描二维码关注更多精彩
魔术里的集合、映射和关系(十)——天才之作《Tiny Berglas Effect》
我和Double Lift的故事(五)——升华篇
闯红灯到底该不该罚款?——逻辑推理浅谈(二)循环、递归与魔术(五)——再谈递归的魔术逻辑与欣赏Roberto Giobbi的纸牌大学点击阅读原文,往期精彩不错过!

http://www.taodudu.cc/news/show-4320620.html

相关文章:

  • ssm123基于java web的网上书城系统的设计与实现+vue
  • 哔哩哔哩直播通用榜单系统
  • 大学c语言基础很差,能不能学51单片机?会不会很困难?
  • python如何使用BlockingScheduler设置钉钉定时自动工作通知?
  • Java面试常见问题
  • 泰迪智能科技携手新乡学院开展“泰迪智能双创工作室”共建交流会
  • 猪猪的机器学习笔记(一)微积分和概率论
  • 密码学之PRP/PRF转换引理
  • spark while_while循环怎么理解
  • JAVA后端面经总结——应用类
  • 《Effective C++》第三版 第六章 继承与面向对象设计 32~35条例
  • 30岁以后搞Android已经没有前途?复习指南
  • 小程序FMP优化实录,附小技巧
  • 用计算机核裂变模拟实验,SAS和蒙特卡罗模拟(1):开篇
  • 一些场景题
  • Mathorcup数学建模竞赛第六届-【妈妈杯】B题:小区车位分布的评价和优化模型(附特等奖获奖论文和Java代码)
  • 国科大2019年大数据分析课件作业 考试-程学旗 靳小龙 刘盛华
  • 新加坡国立大学计算机系访学,高盛华课题组徐衍钰(博)2019年8月-2020年1月于新加坡国立大学交流访学...
  • 日媒:争夺中国人才,跨国公司败北
  • 为什么那么多公司都选择灵活用工?
  • android 启动app过程,应用程序进程启动过程
  • CDA数据分析师携手万宝盛华开启人才培训新篇章
  • 盛华软件工作室 -开张了
  • Pandas数据分析案例(盛华化工锅炉排放数据可视化分析)
  • 爬虫教程1
  • 【良心教程】保姆级Python爬虫入门教程(一)——爬虫之初见
  • 裸金属服务器是什么?关于裸金属服务器架构原理详解
  • 服务器的操作审计信息,裸金属服务器关键操作审计
  • 华为服务器centos安装系统,华为裸金属服务器泰山200安装Centos7图文解析
  • 这就是裸金属服务器?
  • 什么是裸金属服务器,裸金属服务器适用什么场景?
  • 弹性裸金属服务器EBM
  • android 部分手机Camera 拍照 图片被旋转90度的解决方法
  • 用格式工厂旋转手机视频
  • html里怎么旋转视频教程,怎么把视频调正 视频倒了怎么正过来 旋转视频画面
  • 问题解决:openCV处理视频、手机拍摄视频自旋转(90度)