机器学习之概率题

1.简单题

投一个骰子,各个数字的概率都是1/6。 问投的数字6的期望次数。

很显然,这个题的答案是E=1/(1/6)=6;
具体计算如下:
分成两部分(1)当前状态下有1/6的概率投出数字6,投掷次数就是1/61;(2)5/6的概率投掷出其他数字,那么需要重现再投E次,才能得到数字6,投掷次数是5/6(1+E).
因此,总的式子就是 E= 1/6
1+5/6*(1+E) , 解得:E=6。

2.进阶题

抽到R的概率2/3,抽到S的概率是1/3,那么连抽RRR后必抽到S的期望次数,即问抽n次后,E(S).

稍微复杂,但是可以拆解成四部分:

  1. 出现R的期望次数
    E1=2/31+1/3(1+E1);
  2. 出现RR的期望次数是(在E1的基础上才可能出现RR,一旦出现S,从头来过)
    E2= 2/3(E1+1)+1/3*(E1+E2+1)
  3. 出现RRR的期望次数是(在E2的基础上)
    E3=2/3(E2+1)+1/3*(E2+1+E3);
  4. 这里需要注意,出现S后结束;但是出现R的时候,我们不需要从头来过,他得到是RRRR,是可以在E3的基础上继续投的,因此我们只需要继续投E4-E3次:
    E4=1/3(E3+1)+2/3*(1+E3+E4-E3);
    可以得到:
    E1=3/2.
    E2=15/4
    E3=57/8
    E4=81/8

代码验证:

 import random

n=10000000
coin=[0,1,2]
times=[]

for  i in range(n):
	count=0;
	R=0
	S=0
	while R<3 or S<1:
		result=random.choice(coin)
		if result<2:#R
			R=R+1;
		else:#S
			if R>=3 and S==0:
				S=S+1
			else:
				S=0
				R=0
		count=count+1
	times.append(count)

aa=sum(times)*1.0/n
print(aa)
>>10.1248318


  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值