Author:baiyucraft
BLog: baiyucraft’s Home
原文:《动手学深度学习》
在某种形式上,机器学习就是做出预测,所以需要概率的相关知识
1.采样器
假设我们掷骰子,想知道看到1的几率有多大。为了抽取一个样本,我们只需传入一个概率向量。 输出是另一个相同长度的向量:它在索引i
处的值是采样结果中ii出现的次数。
1 2 3 4 5 6 7 8
| import torch from torch.distributions import multinomial
fair_probs = torch.ones([6]) / 6
counts = multinomial.Multinomial(1000, fair_probs).sample()
print(counts / 1000)
|
运行结果:

2.多组实验
进行500组实验,每组抽取10个样本,并绘制图像:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| counts = multinomial.Multinomial(10, fair_probs).sample((500,))
cum_counts = counts.cumsum(dim=0)
estimates = cum_counts / cum_counts.sum(dim=1, keepdims=True)
set_figsize((6, 4.5)) for i in range(6): plt.plot(estimates[:, i].numpy(), label=("P(die=" + str(i + 1) + ")"))
plt.axhline(y=0.167, color='black', linestyle='dashed')
plt.gca().set_xlabel('Groups of experiments') plt.gca().set_ylabel('Estimated probability')
plt.legend() plt.show()
|
运行结果:
