这个实验是这样的:随机抛一枚硬币,那么正面朝上和反面朝上的概率都应该是 50% ,那么如果一直重复抛硬币,直到出现正面朝上,就记作1次伯努利实验。...对于单个一次伯努利实验,抛硬币的次数是不确定的,有可能第一次就正面朝上,那这1次就被记为1次伯努利实验,也有可能抛了10次才出现正面朝上,那这10次才会被记作1次伯努利实验。...假设做了n次伯努利实验,第一次实验抛k_1次硬币, 第二次抛了k_2次硬币,那么第 n 次实验就抛了k_n次硬币,在[k_1,k_n]之间,,就必然存在一个最大值k_m,,k_m的意义就是在这一组伯努利实验中...# 第三次 1 # 第四次 0001 # 第五次 001 那么这一轮伯努利实验的k_m=4,按照上面的公式应该得到5=2^4,这个误差显然太过巨大,我们可以增加某一轮实验的次数,用python模拟一下...,进行五轮k_m分别为 12, 12, 14, 11, 15,误差仍旧很大,所以我们可以进行多轮伯努利实验,求k_m的平均值,用python模拟一下 import random class BernoulliExp
然后该实验理论上无限次重复的,但实际上是带着停止的意图的。例如当我脑海中带着停止的意图时,它重复1000次或者在掷硬币过程中我看到最少300词头在上的话,我将停止进行实验。...现在让我们进一步了解: 通过掷硬币的例子我们就会明白频率统计,目的是估计抛硬币的公平性,下表是代表抛硬币过程中头在上的次数: ? 我们知道在公平的掷硬币过程中得到一个头在上的那概率为0.5。...但是以抛掷的总数来说,头在上出现的比例接近0.5(一个公平的硬币)。 该实验中我们在频率方法中发现了一个很常见的缺陷:实验结果的独立性与实验次数是重复的。 2....如果我们的硬币的公正性是多个视图(但不知道是肯定的),那么这告诉我们看到翻转的一定顺序为我们在硬币的公平信念所有可能性的概率。 P(θ|D) 是观察,即头在上数目之后我们的参数。...这就是所谓的伯努利近似函数,抛硬币的任务被称为伯努利试验。 y={0,1},θ=(0,1) 而且,当我们想看到一系列的头或翻转,它的概率为: ? ?
由此系统1运行的结果和系统2中正面朝上是点1和点2这两种情况就可以相互比较,显然当系统2正面朝上的点不是1和2时的情况就不能与系统1比较。...我们看一个思想实验,例如给定一个实验有三枚硬币,第一枚硬币正面出现的概率是1/2,第二枚硬币正面出现的概率是1/3,第三枚硬币证明出现的概率是1/4....我们用z来表示哪一枚硬币被选择,例如z=1表示第一枚硬币被选中。同时我们用x表示抛硬币一万次后出现正面的次数。...对应到图12-13,解码器就相当于模拟硬币抛一万次的过程。...随机抽样引入了不确定性,就好像每次抛硬币得到的结果都可能不一样,但这些不确定性肯定遵循给定概率。现在我们看看如何训练编码器让它满足(10)中第二部分取值尽可能小。由于编码器模拟的是正太分布函数 ?
为了理解原因,我们将看一个简单的例子:用不公平的硬币抛硬币。假设我们有一个神奇的硬币!抛掷时可能出现正面或反面,但概率不一定相等。问题是,我们不知道确切的概率。...贝叶斯先验 与其将 x 视为一个固定数字,不如将其视为对实验 X 的观察。为了模拟我们对 X 的(缺乏)知识,我们选择 [0, 1] 上的均匀分布。这被称为先验,因为它表达了我们在实验之前的知识。...所以,假设我们已经扔了我们的魔法硬币,这次得到的结果是反面。它如何影响我们的硬币模型? 我们可以说,如果正面的概率是某个 x,那么我们的实验导致反面的可能性是 1-x。...这可能令人惊讶,但实验产生反面的真实概率是无关紧要的。 为什么?因为它与 X 无关。...换句话说,这意味着如果我们只看到一次抛硬币导致反面,我们猜测硬币偏向于此。 当然,我们可以进行越来越多的抛硬币,这可以进一步完善后验。
其实极大似然估计很多时候和我们的直觉是一样的,比如有一个系统会随机输出1-6的数字,你进行大量的实验后发现1出现的次数大概占总的1/6。然后你就会直觉地1出现的概率是1/6。...抛硬币,对于抛硬币来说它只会给出正面或者反面,现在我们假设给出正面的概率为a,那么反面的概率就是1-a。(毕竟硬币真反面图案不一样,所以也有可能不是50%对吧)。...接下来我们做实验,假设在实验中一共投了15次硬币,其中前5次正面,后10次反面。根据这些样本我们尝试去估计原有的参数中的a。 似然函数的计算公式为: ? 此时我们的似然函数为: ?...其实这个式子也可以理解成,在给定a的情况下,我们投了15次硬币,其中前5次正面,后10次反面的概率为多少。既然我们观测的这个事情已经发生了,那么我们要找到一个a使这个概率越大越好。...由于直接求导比较麻烦,所以我们对两边取ln(ln不会影响单调性)得到: ? 然后右边对a求导并让导数等于0得到: ? 解得: ? 。
但是当样本特征不完整的时候,比如说西瓜的一个特征根蒂已经脱落,无法获取它是“蜷缩”还是“硬挺”,这时候根蒂这个特征就变成一个隐变量了,事实上实际特征缺失是比较场景的,这时候如何进行参数估计呢?...一个简单的例子: 有一枚特殊的硬币,它抛的正反面概率未知的,但是在一次实验中抛了4次,得到“正正反正”。那么请问这枚硬币抛一次得到正面的概率最可能是多大? 显然是3/4,为什么呢?...数字解释 回到最大似然估计的例子,如果有两枚不同的硬币且未知抛的是哪个硬币,问题就不一样了。...引用附件paper的一个例子 - 最大似然估计解决问题 如图,先看两个硬币都是已知的情况,我们有这么一些实验,怎么推算硬币A和B的正面概率?...已知有两枚不同的硬币A和B,经过一些试验后得出以下样本,只知道样本,但不知道是哪个硬币抛的,这时候怎么求两枚硬币正面的概率? 问题现在其实有两个变量:一、五次实验中每次使用的硬币的可能性。
一个具体的例子 假设我们有一枚硬币,我们将其翻转三遍,结果是: [0,1,1] 其中0表示硬币背面向上,1表示人头向上。我们有信心说这是一个公平的硬币吗?...由于除了上述实验的结果外,我们对硬币一无所知,因此很难确定地说什么。从概率学派的角度来看,θ的点估计为: ? 尽管这个数字是合理的,但是概率学派的方法并不能真正为它提供一定的信心置信。...让我们正式将D称为证据(我们的例子中是抛硬币的结果。)根据贝叶斯规则,后验分布可通过以下公式计算: ?...更准确地说,给定θ三个抛硬币中有2个人头向上的概率为: ? 通过假设,p(θ)= 1。接下来,我们计算分母: ? 通过一些简单计算,我们可以看到上述积分等于1/4,因此: ?...让我们通过一个简单的模拟来检验我们的假设。 我们将随机抛硬币1000次,使用PyMC3估算θ的后验分布。然后绘制从该分布获得样本的直方图。
,将一个硬币放在中间的杯子中,然后随意转换杯子的相互位置,如果不允许观察转换过程,则无法良好预测硬币最后在哪边的杯子中。...比如说简单的原则,多数鸟都会飞,这个描述就很简单,而正式的规则是除了那些非常小的还没有学会飞翔的幼鸟,以及因为生病或者受伤失去了飞翔能力的鸟,还有不会飞的鸟类包括石花鸟鸵鸟等等,所以还是多数鸟儿都会飞这样的定义会比较好用...试验前不可预知,大量重复实验具有统计规律性。...随机实验 一些随机事件 一枚硬币,观察正反面的出现情况,抛一次再抛三次,观察正反面的出现情况;一枚硬币抛三次观察正面出现的次数;抛一枚色子,观察出现的点数,它都是可以反复进行的。...那么这里就有一个作业,就是找一个合适的实验实验来确定一下样本空间,在这个实验里找三个事件abc,然后进行上面的运算,自己尝试一下。
相关链接: 用逆变换采样方法构建随机变量生成器 从零构建统计随机变量生成器之离散基础篇 抛硬币问题 我们来思考这个老套问题,考虑手上有一枚硬币,旋转(抛)硬币得到正反面的概率固定(令正面概率为...)但未知,我们如何能通过实验推测出 ?...朴素的想法是,不断尝试抛硬币,随着次数 n 的增多,正面的比例会趋近于 对应到数学形式上,令我们对于 的估计为 ,则希望 模拟试验代码 假设我们尝试了n次,每次的结果为 , 为1...下面我们来模拟一下 n=10,看看结果如何。...对于抛硬币试验来说,我们穷举所有在 [0, 1] 范围内的 ,定义它的打分函数 ,并且希望我们定义的 在 时得分最高。
关键词:抛硬币、均匀、连续、两次正面 一些分析: 这个经典的概率论问题要求我们给出抛掷一枚均匀硬币,直到连续两次都出现正面为止,平均需要抛掷多少次。连续两次的概念很关键。...三、代码示例 下面这段代码的主要功能是通过模拟实验来估计在一系列硬币投掷中,得到连续 n 次正面的平均所需次数(即数学期望)。这个问题在概率论和统计学中很常见,尤其是在研究随机过程和伯努利试验时。...抛硬币直到连续若干次正面的概率 一道机器学习岗位面试题:平均要抛多少次硬币,才能出现连续两次正面向上?...不均匀硬币求解两个正面的期望 抛硬币直到出现连续 N 次正面为止的期望 抛硬币次数的期望 抛一枚硬币连续抛出两次正面的概率是多少?...同样抛一枚硬币直至连续 2 次出现正面,此时抛的次数期望值为多少?
还是从抛硬币实验开始,把一个硬币翻转N次,每次出现正面时记录一个1,每次出现背面时记录一个0,这便构成了一个数据集。...利用这个数据集和Bayes定理,我们想弄清楚抛硬币的结果是否有偏差,以及这个实验的置信度。 技术含量的内容来了:首先定义θ是出现正面的偏差——即硬币落地时出现正面的概率。...如果θ=1,那么硬币就永远不会出现反面。如果θ=0.75,那么如果翻转硬币的次数足够大的话,将看到大约每4次翻转中有3次出现正面。 为此,定义 y为硬币是否落在正面或背面的特征。...同理: P(y=0|θ)=1 - θ 现在,把多次硬币实验串起来,当抛掷N 次硬币时,出现a 次正面(虽然,重复使用a 不太应该,但这样却使得后续符号标注更为便捷)。...来做一个这样的实验,翻转4次硬币,观察到3个正面和1个背面。贝叶斯分析告诉我们,后验概率分布是β (3,1): ? 哎呀!不确定性太大了,看起来这种偏差在很大程度上是针对正面的。
我们今天聊的也是关于统计的算法,看一看抛硬币的故事 一、提出问题 现在我提出这样一个问题:假设一个网站每日有数以亿计的IP访问,如何高效统计ip访问的规模?...我们先从一个游戏开始,我们叫它伯努利实验——没错这个名字就是借用统计学的伯努利硬币实验设计的游戏。 ?...假设A和B两个人进行抛硬币的游戏,A来抛硬币,B来猜,规则如下: 1.A每轮抛硬币直到出现一次正面为止,记为一次伯努利实验,并记下抛的次数,记为伯努利值K; 2.A进行n轮伯努利实验,并记下n次伯努利值的最大值...这里设元素的hash值为“00010 01010001010”,如果不分桶的情况下,我们用从左向右扫描的方式来模拟伯努利过程,找到第一个非0的位置为4,这个也就是这轮的情况的情况,我们可以用一个变量记录这个最大值...但是如果我们把hash值的前面s位用来分桶,也就是我们用多个变量来记录最大值M,这种情况下,多个桶同时出现偏差值的概率可以忽略不计,多个平均值将异常值平衡掉。 ?
规则如下: 抛硬币的游戏,每次抛的硬币可能正面,可能反面,没回合一直抛,直到每当抛到正面回合结束。 然后我跟B说,抛到正面最长的回合用到了7次,你来猜一猜,我用到了多少个回合做到的?...由于每次抛硬币的结果只有0和1两种情况,因此,能够推测出kmax在任意回合出现的概率 ,并由kmax结合极大似然估算的方法推测出n的次数n = 2^(k_max) 。概率学把这种问题叫做伯努利实验。...同样举抛硬币的例子,如果只有一组抛硬币实验,显然根据公式推导得到的实验次数的估计误差较大;如果100个组同时进行抛硬币实验,受运气影响的概率就很低了,每组分别进行多次抛硬币实验,并上报各自实验过程中抛到正面的抛掷次数的最大值...那么基于上面的估算结论,我们可以通过多次抛硬币实验的最大抛到正面的次数来预估总共进行了多少次实验(多少个不同的数据),同样存储的时候也可以优化,每次add一个元素时,只要算法最后出现1的位数,把这个位数做一个最大的替换久可以...那么基于上面的估算结论,我们可以通过多次抛硬币实验的最大抛到正面的次数来预估总共进行了多少次实验(多少个不同的数据),同样存储的时候也可以优化,每次add一个元素时,只要算法最后出现1的位数,把这个位数做一个最大的替换久可以
于是,以初始值θ0为起点,可迭代执行以下步骤直至收敛: 基于θt推断隐变量Z的期望,记为Zt; 基于已观测变量X和Zt对参数θ做极大似然估计,记为θt+1 2 抛硬币例子 我们现在考虑两个抛硬币的例子...但是,如果硬币上的标签(A和B)被隐藏起来,不知道每次投掷哪个硬币。鉴于A和B硬币同样可能被选中,那我们如何估计未知参数'p'和'q'? 我们将尝试通过多次迭代计算来解决问题。...我们不是说掷硬币来自特定的硬币,而是说它以概率为'x'来自硬币A,来自硬币B概率'1-x'。 计算每枚硬币的正反期望数量。...让我们举一个例子,其中进行了5次实验并且在每次实验中进行了10次抛掷。(使用两个硬币)。 ? 我们从对未知参数初步进行猜测:p = 0.6和q = 0.5。让我们进行第一次实验。...对其他四个实验重复相同的期望(E)步骤,我们得到硬币A = 21.3和尾部= 8.6的预期头部总数,类似于硬币B,预期头部总数= 11.7,尾部= 8.4 ?
机缘巧合,笔者遇到了几个比较有意思的题目,和朋友们分享一下: 这几个题目都是和概率统计相关,本来都是可以推演出精确的解,但是有意思的是,笔者从一位网友处得知这类题目可以用 R 来做模拟求得一个近似解。...这是笔者之前从未尝试过的,所以动手一做: 题目一:X10的期望值 ? 这是精确解,那么如何做模拟呢?...笔者没有实际动手做过模拟,但是记得“抛十万次硬币,正面朝上的次数会非常接近于五万”,所以笔者对模拟的初步认识就是用大量的随机实验去模拟,每一次随机实验会得到一个结果,这个结果要么符合我们的要求,要么不符合...所有实验的结果中符合我们要求的结果的次数除以总次数就是我们想要的概率值。 要想让模拟的结果接近真实值,模拟的总次数要足够多。...从图中可以看出,当模拟次数达到1000次时,模拟的结果已经很接近真实值了。 题目三:信封问题 ?
下面举一个烂大街的例子:我有一枚专门用于玩抛硬币猜正反面的游戏的硬币,我需要判断这枚硬币是否是正常的(抛硬币游戏中出现正反面的概率相等)。...所以我做了一个假说:该枚硬币是正常的,即抛硬币游戏中出现正面的概率为0.5。 那我现在需要做实验去验证我说的对不对。我抛了20次,正面朝上11次,背面朝上9次(设正面朝上记为1,反面朝上记为0)。...基于这个实验结果,我应该做怎样的判断呢?...hypothesis)为该硬币不正常。...R中的实践 好的,下面我们来看如何在R中重复上面的实验: 产生一个随机的模拟序列(二项分布,生成0和1) flips <- rbinom(20, 1, 0.4) 结果如下:1 0 1 0 1 1 1 0
伯努利过程就是一个抛硬币实验的过程。抛一枚正常硬币,落地可能是正面,也可能是反面,二者的概率都是 1/2 。伯努利过程就是一直抛硬币,直到落地时出现正面位置,并记录下抛掷次数k。...比如说,抛一次硬币就出现正面了,此时 k 为 1; 第一次抛硬币是反面,则继续抛,直到第三次才出现正面,此时 k 为 3。...下面,我们就来讲解一下 HyperLogLog 是如何模拟伯努利过程,并最终统计集合基数的。...这些比特串就类似于一次抛硬币的伯努利过程。...比特串中,0 代表了抛硬币落地是反面,1 代表抛硬币落地是正面,如果一个数据最终被转化了 10010000,那么从低位往高位看,我们可以认为,这串比特串可以代表一次伯努利过程,首次出现 1 的位数为5,
也可以从最简单的抛硬币试验来说明“逆概率”问题。假设我们不知道硬币是不是两面“公平”的,也就是说,不了解这枚硬币的物理偏向性,这时候,得到正面的概率p不一定等于50%。...逆概率问题,就是从样本数据来猜测概率模型的参数,比如说抛硬币实验,每次实验可以用随机变量X表示,X服从二项分布或伯努利分布。如何“猜测”抛硬币时正面出现的概率p?...所以,对贝叶斯学派而言,硬币实验中有两类随机变量:硬币“正反”的一类随机变量X,和表征硬币偏向性的另一类随机变量Y。...频率学派认为p有一个固定数值,也就自然而然地认为决定这个数值的比较好的方法就是多次试验,不停地抛硬币,记录其中正面出现的频率,实验次数足够大的时候,就能越来越逼近p的真实数值,比如说,抛了1000次,正面...以简单的“抛硬币”实验为例,首先研究一下似然函数。对硬币“正反”随机性X对应的二项离散变量,事件要么发生(p),要么不发生(1-p)。
图2的左图显示的便是当实验次数n=4时,出现1的概率对不同“出现次数”的分布情形。 图2:多次抛硬币得到正面的概率分布 显而易见,抛硬币概率的分布图形随着抛丢次数n的变化而变化。...抛硬币实验n次的概率分布称为二项分布。对对称硬币来说,二项分布是一个取值对应于二项式系数的离散函数,也就是帕斯卡三角形中的第n列。...中心极限定理说的不仅仅是当实验次数很大时“频率”逼近“概率”的问题,而更为重要的是:当n足够大时,抛硬币的二项分布逼近一个特别的理想分布:正态分布,也被称为高斯分布,因其曲线呈钟形,因此人们又经常称之为钟形曲线...考虑图1所示的高尔顿钉板实验中某一个小球下落的过程:小球在下落过程中碰到n个钉子上,每次都等效于一次“抛公平硬币”类型的随机变量。也就是说,一个小球从顶部到底部的过程,等效于n次抛硬币之和。...首先需要计算平均值m和方差s,人寿保险简单,要么受保人死了公司赔偿,要么没死就不赔偿,是一个像抛硬币的“二项分布”问题,只不过这儿死亡的概率比较小,只是p=0.25%。
领取专属 10元无门槛券
手把手带您无忧上云