reference:https://blog.csdn.net/sinat_36811967/article/details/79801095
# -*- coding:utf-8 -*-
# https://blog.csdn.net/sinat_36811967/article/details/79801095
from __future__ import print_function
# 知道投掷的是a或b,求Coin a和b投掷结果是head的最大似然估计,用来评估EM算法
MLE_a = 24.0 / (24 + 6)
MLE_b = 9.0 / (9 + 11)
print("real:", MLE_a, MLE_b)
# 不知道投掷的是a还是b,用EM算法估计
# init
init_a = 0.6
init_b = 0.5
h1, t1 = 5, 5
h2, t2 =