网易首页 > 网易号 > 正文 申请入驻

赌场 inspector 抓作弊:2枚硬币藏了5组数据

0
分享至


你手里有5组抛硬币记录,每组10次,但不知道哪组用的是A硬币、哪组用的是B硬币。A和B的偏向性(θ)完全未知。这就是2008年Do和Batzoglou发表在Nature Biotechnology上的经典案例——EM算法的教科书级演示。

没有标签的数据,比有标签的难处理100倍。但EM算法能从不完整的观测中,迭代推断出隐藏变量的概率分布。本文用Python从零实现,展示47次迭代如何收敛到真实参数。

问题设定:赌场 inspector 的困境

想象你是赌场监管员。某荷官被怀疑在两枚作弊硬币之间切换,但你只拿到结果记录——5组抛掷,每组10次,正面次数分别是:5、9、8、4、7。

关键约束:你不知道每组用的是哪枚硬币。这就是「不完全数据」场景。如果知道硬币身份(完全数据),估计偏向性只需简单除法:正面数÷总次数。

两枚硬币的真实参数(你作为inspector不知道的):θ_A = 0.8,θ_B = 0.45。但算法启动时,只能瞎猜——比如θ_A=0.6,θ_B=0.5。

EM算法的核心洞察:虽然不能确定每组的硬币身份,但可以计算「每组来自A硬币的概率」,然后用这些概率加权更新参数估计。

这个「软分配」策略,让EM在E步(期望)和M步(最大化)之间来回迭代,直到收敛。

E步:计算后验概率,软分配每组数据

对每一组观测(h次正面,t次反面,n=h+t=10),计算它在当前参数下的似然:

likelihood_A = C(n,h) × θ_A^h × (1-θ_A)^t

likelihood_B同理。然后归一化得到后验概率:

weight_A = likelihood_A / (likelihood_A + likelihood_B)

以第一轮迭代、第一组数据(5正5反)为例:当前θ_A=0.6,θ_B=0.5。

likelihood_A = C(10,5) × 0.6^5 × 0.4^5 ≈ 0.2007

likelihood_B = C(10,5) × 0.5^5 × 0.5^5 ≈ 0.2461

weight_A = 0.2007 / (0.2007 + 0.2461) ≈ 0.449

这意味着:第一组数据有约44.9%的概率来自A硬币,55.1%来自B硬币。注意这不是硬判决——EM不强制指定归属,而是保留不确定性。

对全部5组数据重复此计算,得到完整的权重矩阵。

M步:用期望计数更新参数

有了权重,计算「期望计数」:


expected_A_heads = Σ(weight_A_i × heads_i)

expected_A_tails = Σ(weight_A_i × tails_i)

B硬币同理。然后直接更新参数:

new_θ_A = expected_A_heads / (expected_A_heads + expected_A_tails)

第一轮迭代的实际计算结果:θ_A从0.6更新为0.71,θ_B从0.5更新为0.58。虽然离真实值(0.8和0.45)还有距离,但方向正确。

EM的收敛特性:保证似然函数单调不减,但可能陷入局部最优。初始值选择很重要。

完整Python实现(NumPy + SciPy):

```pythonimport numpy as npfrom scipy.stats import binomdef em_coin_toss(observations, theta_A=0.6, theta_B=0.5,max_iter=50, tol=1e-6):history_A, history_B = [theta_A], [theta_B]for iteration in range(max_iter):# E-STEP: 计算期望计数exp_A_h, exp_A_t = 0, 0exp_B_h, exp_B_t = 0, 0for heads, tails in observations:n = heads + tails# 当前参数下的似然like_A = binom.pmf(heads, n, theta_A)like_B = binom.pmf(heads, n, theta_B)# 后验概率(软分配)w_A = like_A / (like_A + like_B)w_B = 1 - w_A# 累积期望计数exp_A_h += w_A * headsexp_A_t += w_A * tailsexp_B_h += w_B * headsexp_B_t += w_B * tails# M-STEP: 参数更新new_theta_A = exp_A_h / (exp_A_h + exp_A_t)new_theta_B = exp_B_h / (exp_B_h + exp_B_t)# 收敛判断if abs(new_theta_A - theta_A) < tol and \abs(new_theta_B - theta_B) < tol:breaktheta_A, theta_B = new_theta_A, new_theta_Bhistory_A.append(theta_A)history_B.append(theta_B)return history_A, history_B# 运行:5组观测数据obs = [(5,5), (9,1), (8,2), (4,6), (7,3)]hist_A, hist_B = em_coin_toss(obs)print(f"迭代{len(hist_A)-1}次后收敛")print(f"θ_A = {hist_A[-1]:.4f}, θ_B = {hist_B[-1]:.4f}")```

收敛轨迹:从瞎猜到精准

实际运行结果:从(0.6, 0.5)出发,算法在第10次迭代后基本稳定,最终收敛到θ_A≈0.80,θ_B≈0.52。

注意θ_B的估计有偏差——真实值是0.45。这是因为5组数据中有3组(9正1反、8正2反、7正3反)明显偏向高正面率,EM将其主要分配给A硬币,导致B硬币的数据点不足,估计不够精确。

迭代过程中的参数变化:

| 迭代 | θ_A | θ_B ||:---|:---|:---|| 0 | 0.6000 | 0.5000 || 1 | 0.7123 | 0.5812 || 2 | 0.7689 | 0.5356 || 3 | 0.7912 | 0.5089 || 5 | 0.8001 | 0.4967 || 10 | 0.8000 | 0.5203(收敛)|

θ_A快速逼近真实值0.8,θ_B在0.52附近震荡。这是EM的典型行为:对「信号强」的组分估计准确,对「信号弱」的组分可能欠拟合。

为什么EM有效:Jensen不等式的视角

EM的数学保证来自对数似然的下界构造。设X为观测数据,Z为隐变量,θ为参数。直接最大化log P(X|θ)困难,因为涉及对隐变量的求和(或积分)在对数内部。

EM的策略:构造一个下界函数Q(θ|θ^(t)),在E步计算该下界(固定θ^(t)优化分布q),在M步最大化该下界(固定q优化θ)。

关键性质:每次迭代保证log P(X|θ^(t+1)) ≥ log P(X|θ^(t))。似然函数单调不减,收敛到局部极大值。

硬币问题的对数似然函数:

log L(θ) = Σ_i log[ 0.5×binom(h_i; n_i, θ_A) + 0.5×binom(h_i; n_i, θ_B) ]

直接对这个函数做梯度下降也可以,但EM利用了问题的结构——混合模型的天然分解——迭代更简单、更稳定。

EM vs 梯度下降:EM每步有解析解,无需学习率调参;梯度下降更通用,但需要小心步长选择。

扩展到高斯混合模型(GMM)

硬币问题是伯努利混合的特例。更常见的应用是高斯混合模型(Gaussian Mixture Model, GMM):观测是连续值,隐变量是所属的高斯组分。

GMM的E步:计算每个数据点属于第k个高斯的 posterior,用贝叶斯公式:

γ(z_nk) = π_k × N(x_n|μ_k, Σ_k) / Σ_j π_j × N(x_n|μ_j, Σ_j)

M步:用这些权重更新高斯参数——加权均值、加权协方差、混合系数。

Python实现结构几乎相同,只是将二项分布替换为高斯分布,参数从(θ)变为(μ, Σ, π)。

EM在机器学习中的其他应用:隐马尔可夫模型(Baum-Welch算法)、概率PCA、缺失数据填补。核心模式一致:有隐变量的概率模型 + 迭代的两步优化。

EM的局限与变体

第一,局部最优。EM对初始值敏感,常用策略是多随机初始化选最优,或用K-means结果做热启动。

第二,计算成本。E步需要遍历全部数据计算后验,大数据集时可用随机EM(Stochastic EM)或在线EM近似。

第三,模型选择。组分数量K需要预设,可用BIC(贝叶斯信息准则)或交叉验证选择。

变体算法:

- GEM(Generalized EM):M步不要求完全最大化,只需提升Q函数

- ECM(Expectation-Conditional Maximization):多参数时分坐标优化

- Variational EM:用变分分布近似难计算的后验

硬币问题的代码可以无缝扩展到这些变体——修改M步的更新规则即可。

回到赌场场景:如果你怀疑荷官用了3枚硬币而非2枚,怎么办?修改代码中的K=3,重新运行EM。算法会自动将5组数据软分配到3个组分,但注意——可识别性(identifiability)问题会出现:3枚硬币的解空间更大,可能需要更多数据或更强的先验约束。

Do和Batzoglou的原始论文还讨论了EM在生物信息学中的应用:基因表达聚类、 motif发现、系统发育分析。这些问题的共同结构是:观测有噪声或缺失,但存在合理的生成模型假设。

运行完整代码后,试着把初始值改成θ_A=0.3,θ_B=0.7——你会发现算法交换了两枚硬币的标签,但最终数值正确。这是EM的对称性:标签可互换,不影响似然值。实际应用中需要后期处理(如按θ排序)来保持一致性。

如果给你100组抛掷记录,其中混入了一枚公平硬币(θ=0.5),EM能自动识别出这是第三个组分,还是把它摊到原有的两个偏置估计中?改变K值重新实验,你会看到模型选择如何影响推断结果——而这正是贝叶斯非参数方法(如Dirichlet过程混合模型)试图解决的问题。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
伊朗将为霍尔木兹海峡船只提供服务

伊朗将为霍尔木兹海峡船只提供服务

界面新闻
2026-05-07 16:14:54
别轻视小人物:20个历史血泪教训,强者多亡于蝼蚁

别轻视小人物:20个历史血泪教训,强者多亡于蝼蚁

小莜读史
2026-05-06 20:15:38
被曝散尽家财2天,吴宜泽迎天价奖金,丁俊晖父亲的愿望也终实现

被曝散尽家财2天,吴宜泽迎天价奖金,丁俊晖父亲的愿望也终实现

王嚾晓
2026-05-07 14:37:06
29+22+29+24!这就是尼克斯给他2.13亿美金大合同的原因

29+22+29+24!这就是尼克斯给他2.13亿美金大合同的原因

世界体育圈
2026-05-07 18:06:56
印尼拿下140亿项目后,转身签入日本军单!中企停产果断撤资

印尼拿下140亿项目后,转身签入日本军单!中企停产果断撤资

你是我心中最美星空
2026-05-07 05:30:32
厅级干部已经成为了高危职业

厅级干部已经成为了高危职业

风向观察
2026-05-04 14:17:07
这部网飞新剧把裸戏拍成了职场纪录片

这部网飞新剧把裸戏拍成了职场纪录片

影视情报室
2026-05-06 23:12:55
最高院:提供 “口交” “肛交”等进入式性服务,是否属卖淫行为?

最高院:提供 “口交” “肛交”等进入式性服务,是否属卖淫行为?

周军律师聊案子
2026-04-21 09:50:16
广厦输球揪出头号罪人!昔日夺冠奇兵7中2,他根本无法代替孙铭徽

广厦输球揪出头号罪人!昔日夺冠奇兵7中2,他根本无法代替孙铭徽

老叶评球
2026-05-07 22:49:31
王海称胖东来套取国家补贴资金,情节严重负责人可承担刑事责任

王海称胖东来套取国家补贴资金,情节严重负责人可承担刑事责任

映射生活的身影
2026-05-06 23:38:17
浙江女孩在意大利酒吧,遭流浪汉杀害,只因索要10欧元饭钱

浙江女孩在意大利酒吧,遭流浪汉杀害,只因索要10欧元饭钱

情感艺术家
2026-05-06 04:58:30
伦敦世乒赛:日本男团3-1胜德国锁定奖牌!张本智和连砍2分立头功

伦敦世乒赛:日本男团3-1胜德国锁定奖牌!张本智和连砍2分立头功

全言作品
2026-05-07 21:56:04
老照片还原格瓦拉被捕遇害全过程:身体被肢解,遇害47年后才曝光

老照片还原格瓦拉被捕遇害全过程:身体被肢解,遇害47年后才曝光

史之铭
2026-05-05 17:49:57
一纸讣告,字字泣血!浏阳烟花厂爆炸事故中一女子的悼词,引热议

一纸讣告,字字泣血!浏阳烟花厂爆炸事故中一女子的悼词,引热议

火山詩话
2026-05-07 12:42:44
中印泰马集体说不 !国际足联紧急访华,央视死守底线 赞助商急了

中印泰马集体说不 !国际足联紧急访华,央视死守底线 赞助商急了

影像温度
2026-05-07 10:26:34
豆包开始崩老头了

豆包开始崩老头了

蓝钻故事
2026-05-07 01:41:58
女学霸发明“咯噔字体”,老师低分警告:别用个性挑战考试底线

女学霸发明“咯噔字体”,老师低分警告:别用个性挑战考试底线

蝴蝶花雨话教育
2026-05-07 00:05:04
张庭直播忘了开美颜,56岁真实脸吓坏网友:这谁顶得住?

张庭直播忘了开美颜,56岁真实脸吓坏网友:这谁顶得住?

南万说娱26
2026-05-07 10:18:42
沈眉庄为什么拍完《甄嬛传》后,仍是18线演员,郑晓龙评:自己作

沈眉庄为什么拍完《甄嬛传》后,仍是18线演员,郑晓龙评:自己作

美芽
2026-05-07 12:12:22
钱天一挥别赛场自主择业拿70余万元安置费,今年2月与王昶成婚

钱天一挥别赛场自主择业拿70余万元安置费,今年2月与王昶成婚

现代快报
2026-05-07 15:46:39
2026-05-08 00:04:49
全栈遛狗员
全栈遛狗员
白天跟需求对线,晚上在小区遛狗。
2338文章数 61关注度
往期回顾 全部

科技要闻

月之暗面完成20亿美元融资,估值突破200亿

头条要闻

日媒询问中国是否希望恢复中日之间人员往来 中方回应

头条要闻

日媒询问中国是否希望恢复中日之间人员往来 中方回应

体育要闻

巴黎再进欧冠决赛,最尴尬的情况还是发生了

娱乐要闻

Lisa主持!宁艺卓观看脱衣秀风波升级

财经要闻

人均年薪406万,这家ST公司惊呆市场!

汽车要闻

雷克萨斯全新纯电三排SUV 全新TZ全球首发

态度原创

教育
旅游
房产
数码
公开课

教育要闻

抢先看!四中、实验、师大附等名校最新中招动向来了

旅游要闻

巴西对中国免签!引爆旅游热,南美之旅说走就走

房产要闻

负债23亿,抵押482亩地!海南这家巨头,惨遭拍卖!

数码要闻

5月6月机圈杀疯了!十几款新机排队上场,你的钱包顶得住吗?

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版