概率

您好,我是在terminal里面进入这个相关的conda环境,然后重新安装了torchvision和d2l,希望能有所帮助

1 Like

这是不使用d2l包的代码,你试试

from matplotlib import pyplot as plt
plt.figure(figsize=(6, 4.5))
for i in range(6):
    plt.plot(estimates[:, i], label=("P(die=" + str(i+1) + ")"))
plt.axhline(y=0.167, color='black', linestyle='dashed')
plt.gca().set_xlabel('Groups of expriments')
plt.gca().set_ylabel('Estimated probability')
plt.legend();

我的理解是,D1=1 和 D2=1 不是相互独立的,所以联合概率不能直接乘积
而若是该病人的事实情况已经是属于有病或无病的条件下,这两个事件可以看作是独立的

1 Like

第四问,第一时间想到的是第二次测试成本会少些 :dotted_line_face:

1 Like

我也觉得是这个理,同一个样本,只会得出同样的结果,没有复测的意义

第二题A并B的上下限错了,不用分独不独立,公式是一样的。你犯的错误是,相互独立不代表不能同时发生

1 Like

你没有安装torchvision这个包
你去pip install torchvision=?一下

是的,因为没必要用那么精确的测试,都能显著提高判断的准确性,就像很多弱分类器就能集成很强的分类器一样

你没有给出详细的计算过程,我大致算了一下,发现你是按照皮尔逊相关系数计算的,并且分母0.099rho应该修改为0.0099rho。这样计算有一个问题,即仅考虑了线性相关性。此外,你的计算公式似乎错误地将期望替换成了概率,显然是不正确的,如果可以替换,那就说明了线性无关可推导出独立性。可能我的见解有误,望指正

我认为,在不同条件H下,其相关系数应该不同,无法用一个rho表示H=0和H=1两种情况的相关系数

探讨:P(A|B) = P(AB)/P(B),我认为这个应该是一个条件概率的定义,而不是从乘法法则推导出来的?如果是用乘法法则推导出来的,那么应该是怎么推导呢?

最后一步如果这样,0.0015/(0.011485^2)会得到11.37… :sweat_smile:

Groups of experiments这个图的代码中,为什么第六行代码中estimates一直是not defined啊,求助

运行第一个测试两次比同时运行第一个和第二个测试需要更长的时间,相当于将串行操作改为并行操作,尽管可能带来一些精度的损失。

看英文版: 2.6. Probability and Statistics — Dive into Deep Learning 1.0.3 documentation 可以获得更多信息 :upside_down_face:

由:
等式1:P(A|B)=P(A,B)/P(B)

等式2:P(B|A)=P(A,B)/P(A)

得:
P(A,B)=P(A|B)P(B)=P(B|A)P(A)

所以:P(A|B)=P(B|A)P(A)/P(B)

第二题
图不作了

第三题:
使用马尔可夫链的随机变量条件独立性:

P(A,B,C)=P(C|A,B)P(A,B)
因为C只依赖于B,所以 P(C|A,B)=P(C|B)
又因为B只依赖于A,所以 P(A,B,C)=P(C|B)P(A,B)=P(C|B)P(B|A)P(A)

第四题:
在HIV的测试中,第一个的准确性是P(D|H) 不是 P(H|D),P(H|D)的概率是13.06%还是很低的。运行2次第一个测试,2次结果是互不影响的,不会对P(H|D)有改变。

2 Likes

第四题的思路:

在D1 D2非独立事件的情况下,P(D1=1, D2=1) = P(D1=1)P(D2=1|D1=1)
因为D1和D2都使用同一种方法,我们可以认为若D1为1时D2必为1,即P(D2=1|D1=1)=1。 所以P(D1=1, D2=1|H=1)=P(D1=1|H=1)

故:
P(H=1|D1=1, D2=1)
=P(D1=1, D2=1|H=1)P(H=1)/P(D1=1, D2=1)
=(P(D1=1, D2=1|H=1)P(H=1))/(P(D1=1)P(D2=1|D1=1))
=(P(D1=1|H=1)P(H=1))/(P(D1=1)*1)
=P(D1=1|H=1)P(H=1)/(P(D1=1)
=P(H=1|D1=1)

可证得D2的加入并不影响结果,和只测D1是一样的

2.A∪B的上限是P(A)+P(B),下限max(P(A),P(B)), A∩B上限min(P(A),P(B)),下限0
3.P(A,B,C) = P(A)*P(B|A)*P(C|B)
4.个人猜测是因为现实中第二次测试已经有了第一次测试的先验知识,第一次测试只能在没有测试过时才有效。

第3题很简单,过程如下:
分析题意,
由于B只依赖于A,也就是说只要A确定了,B就能确定;
由于C只依赖于B,也就是说只要B确定了,C就能确定;那我们多想一步,如果我们已经确定在确定了A和B情况去确定C,显然A就是多余的了,因为C只依赖于B。

解:
P(A, B, C) = P(C | A, B) P(A, B) …(1)
= P(C | B) P(B | A) P(A) …(2)
提示:上式(1)中利用了条件概率,上式(2)中,由于C只依赖于B,所以P(C | A, B)就等价于P(C | B)

按理说单纯的概率问题,单次采样样本数越大,肯定会越接近真实概率值,多次采样取均值的话就不一定了