虽然我知道概率分布用于假设检验、置信水平构建等。它们在统计分析中肯定有很多作用。
但是,我现在还不清楚概率分布如何在机器学习问题上派上用场?在 ML 算法中,它们有望自动从数据集中获取分布。我想知道在更好地解决 ML 问题中是否有任何概率分布的地方?
简而言之,与概率分布相关的统计技术如何有助于解决机器学习问题?如果是,以什么方式明确?
虽然我知道概率分布用于假设检验、置信水平构建等。它们在统计分析中肯定有很多作用。
但是,我现在还不清楚概率分布如何在机器学习问题上派上用场?在 ML 算法中,它们有望自动从数据集中获取分布。我想知道在更好地解决 ML 问题中是否有任何概率分布的地方?
简而言之,与概率分布相关的统计技术如何有助于解决机器学习问题?如果是,以什么方式明确?
这是个好问题。
我们可以看一下输出的分布,模型参数的分布,输入的分布。
输出的概率分布在分类问题中起着核心作用,我们假设类遵循分类分布。我们通过应用某种归一化来确保这一点,例如softmax神经网络中的 a。然后我们最小化一些基于预测输出分布和真实输出分布的信息论度量,例如交叉熵(X-ent)损失或 Kullback-Leibler(KL)损失。否则,我们将不得不求助于简单的分类损失,例如简单的 MSE。但是 X-Ent 和 KL 损失提供了更平滑的损失环境,因此允许梯度下降更快地收敛。它也是强化学习的核心,我们假设代理采取的连续动作是高斯分布的:我们的模型学习平均值和对数方差的动作分布。在每个步骤中,我们然后根据我们的政策进行. 对于分类动作(softmax在 Q 值上)也是如此。这使我们能够将不确定性和模型探索结合起来,如果我们将动作作为确定性输出,这是不可能的。
我们还可以对模型的参数进行分布,例如在随机神经网络中所做的。权重然后由分布给出. 这使我们能够将不确定性纳入模型。
当我们对输入的分布感兴趣时,我们正在处理一个生成模型。在这里,目标是对数据生成过程进行建模以创建新数据。突出的方法是生成对抗网络和变分自动编码器。
概率分布在 ML 中的直接应用之一是评估模型的预测能力。例如,如果您正在对二元分类器进行建模,您可以将其用于:
关于第二个选项,请查看我前一段时间使用的用例中的以下示例:
您可以使用模型预测概率的概率分布概念来检查,在这种情况下,第一个检测到的 0 和 1 比其他的更好,并且具有更好的混淆矩阵和更高的灵敏度。
使用这种输出概率分布的另一个度量是Kolmogorov-Smirnov 度量( paper ),它可以衡量正负分布彼此之间的分离程度:
在哪里:
这里的要点是,重叠颜色的区域越少,分布之间的分离越多,意味着模型在类之间的分离能力更好。