深度学习 5.概率

Author:baiyucraft

BLog: baiyucraft’s Home

原文:《动手学深度学习》


  在某种形式上,机器学习就是做出预测,所以需要概率的相关知识

1.采样器

  假设我们掷骰子,想知道看到1的几率有多大。为了抽取一个样本,我们只需传入一个概率向量。 输出是另一个相同长度的向量:它在索引i处的值是采样结果中ii出现的次数。

import torch
from torch.distributions import multinomial

fair_probs = torch.ones([6]) / 6
# 将结果存储为32位浮点数以进行除法
counts = multinomial.Multinomial(1000, fair_probs).sample()
# 相对频率作为估计值
print(counts / 1000)

运行结果:

2.多组实验

  进行500组实验,每组抽取10个样本,并绘制图像:

# 进行500组实验,每组抽取10个样本
counts = multinomial.Multinomial(10, fair_probs).sample((500,))
# print('\n======counts======\n', counts)
# 按行累加求和
cum_counts = counts.cumsum(dim=0)
# print('\n======cum_counts======\n', cum_counts)
# 除以每行的求和
estimates = cum_counts / cum_counts.sum(dim=1, keepdims=True)
# print('\n======estimates======\n', estimates)
# 前文定义的画布大小
set_figsize((6, 4.5))
for i in range(6):
    plt.plot(estimates[:, i].numpy(), label=("P(die=" + str(i + 1) + ")"))
# 0.167中线
plt.axhline(y=0.167, color='black', linestyle='dashed')
# x轴与y轴
plt.gca().set_xlabel('Groups of experiments')
plt.gca().set_ylabel('Estimated probability')
# 添加图例
plt.legend()
plt.show()

运行结果:

深度学习 5.概率_第1张图片

你可能感兴趣的:(深度学习,深度学习,机器学习,人工智能,python,算法)