内容已经转出,请移步以下网址:

https://viadean.notion.site

机器学习:Python概率入门

 二维码 27
文章附图

背景知识视频教程

了解概率密度

为了理解基于勒贝格积分理论的现代概率的核心,我们需要从基本演算中扩展积分的概念。 首先,让我们考虑以下分段函数

在微积分中,您学习了黎曼积分,可以在此处应用

通常将其解释为组成f(x)的两个矩形的面积。

通过勒贝格集成,除了我们专注于y轴而不是沿x轴移动之外,这个想法非常相似。 给定问题f(x)= 1,这是真的x个值的集合是什么? 对于我们的示例,每当x∈(0,1]时,这都是正确的。因此,现在我们在函数的值(即1和2)与x值的集合之间具有对应关系,即{ (0,1]}和{(1,2]}。要计算积分,我们只需简单地取函数值(即1,2)和某种方法来测量相应区间的大小(即,μ ),如下所示:

简单的分段常数函数

为了强调通用性,我们取消了上述某些表示法。 请注意,当μ((0,1])=μ((1,2])= 1时,我们获得的积分值与黎曼情况相同。通过引入μ函数作为测量上述区间的一种方式, 我们在集成中引入了另一个自由度,它容纳了许多使用通常的黎曼理论无法处理的怪异功能,但我们为您提供了对勒贝格集成的适当介绍,以供进一步研究。 上面的讨论是引入μ函数,我们将再次遇到它作为所谓的概率密度函数。

随机变量

大多数关于概率的介绍都直接跳入随机变量,然后解释了如何计算复杂的积分。 这种方法的问题在于它跳过了我们现在要考虑的一些重要的细微之处。 不幸的是,术语“随机变量”不是很具描述性。 更好的术语是可测量的功能。 为了理解为什么这是一个更好的术语,我们必须通过一个简单的例子深入探讨概率的形式构造。

考虑扔一个公平的六面骰子。 可能只有六种结果,

Ω = {1, 2, 3, 4, 5, 6}

众所周知,如果骰子是公平的,那么每个结果的概率是1/6。 正式地说,每个集合(即{1},{2},...,{6})的度量为μ({1})=μ({2})... =μ({ 6})= 1/6。 在这种情况下,我们前面讨论的μ函数是通常的概率质量函数,用P表示。可测量函数将集合映射为实线上的数字。 例如,{1}→1是一种这样的函数。

现在,这里变得有趣起来。 假设要求您从公平骰子中构造公平硬币。 换句话说,我们要掷骰子,然后将结果记录下来,就好像我们刚刚扔了一个公平的硬币一样。 我们该怎么做? 一种方法是定义一个可测量的函数,该函数说如果骰子出现3个或更少,则我们声明头,否则声明尾。 它背后有很强的直觉,但让我们从形式理论的角度进行阐述。 此策略创建两个不同的非重叠集{1、2、3}和{4、5、6}。 每个集合具有相同的概率测度

P({1, 2, 3}) = 1/2

P({4, 5, 6}) = 1/2

问题就解决了。 每当骰子出现{1、2、3}时,我们记录头,否则记录尾。

这是从公平的骰子中构建公平的硬币实验的唯一方法吗? 或者,我们可以将集合定义为{1},{2},{3、4、5、6}。 如果我们为每个集合定义相应的度量如下

P({1}) = 1/2

P({2}) = 1/2

P({3, 4, 5, 6}) = 0

然后,我们有另一个解决公平硬币问题的方法。 为了实现这一点,我们每次骰子显示3、4、5、6并再次抛出时都忽略不计。 虽然这很浪费时间,但是可以解决问题。我们希望您能看到该理论的相互联系的部分如何为将不确定性的概念从一个问题转移到下一个问题提供框架。

让我们考虑一个更有趣的问题,我们掷两个骰子。 我们假设每个掷都是独立的,这意味着一个掷骰不会影响另一个掷骰。 在这种情况下有哪些集? 它们都是两次抛出的可能结果对,如下所示,

Ω = {(1, 1), (1, 2), . . . , (5, 6), (6, 6)}

这些集合各有什么量度? 根据独立要求,每个量度是每个元素的相应量度的乘积。 例如,

P((1, 2)) = P({1})P({2}) =

建立了所有这些条件之后,我们可以提出以下问题:骰子的总和等于7的概率是多少? 像以前一样,要做的第一件事就是将可测量的函数表征为X:(a,b)→(a + b)。 接下来,我们将所有(a,b)对与其和相联系。 我们可以为此创建一个Python字典,如下所示:

</>

下一步是收集所有(a,b)对,它们的总和为两个到十二个可能的值。

</>

例如,dinv [7]包含以下总和为7的对列表

dinv[7]
[(1, 6), (2, 5), (3, 4), (4, 3), (5, 2), (6, 1)]

下一步是计算针对这些项目中的每一项测得的概率。 使用独立性假设,这意味着我们必须计算dinv中各个项目概率的乘积之和。 因为我们知道每个结果的可能性均等,所以每个项在总和中的概率等于1/36。 因此,我们要做的就是为dinv中的每个键计算相应列表中的项数,然后除以36。例如,dinv [11]包含[(5,6),(6,5)]。 5 + 6 = 6 + 5 = 11的概率是该集合的概率,它由各个元素(5,6),(6,5)的概率之和组成。 在这种情况下,我们有P(11)= P({(5,6)})+ P({{6,5)})= 1/36 + 1/36 = 2/36。 对所有元素重复此过程,我们得出概率质量函数,如下所示

</>

上面的示例展示了概率论的要素,它在解决这个简单问题的同时有意隐瞒了一些麻烦的技术细节。 有了这个框架,我们可以问其他问题,例如三个骰子的乘积一半超过其总和的概率是多少? 我们可以使用以下相同的方法解决此问题。 首先,让我们创建第一个映射,

</>

该字典的键是三元组,值是三个骰子乘积的一半是否超过其总和的逻辑值。 现在,我们进行逆映射以收集相应的列表,

</>

请注意,dinv仅包含两个键,即True和False。 同样,由于骰子是独立的,所以任何三元组的概率为1/63。 最后,我们为每个结果收集此数据,如下所示

</>

因此,三个骰子乘积超过其总和的一半的概率为136 / 6.0 ** 3)= 0.63。 由随机变量引起的集合中只有两个元素,即True和False,其中P(True)= 136/216和P(False)= 1-136/216。

最后一个示例,让我们考虑两个骰子的第一个问题,我们希望获得7的概率,但是这次骰子中的一个不再公平。 不公平骰子的分配如下:

P({1}) = P({2}) = P({3}) =

P({4}) = P({5}) = P({6}) =

从我们的之前的工作中,我们知道对应于七个总数的元素如下:

{(1, 6), (2, 5), (3, 4), (4, 3), (5, 2), (6, 1)}

因为我们仍然具有独立性假设,所以我们需要更改的只是每个元素的概率计算。 例如,假设第一个骰子是不公平的,我们有

P((1, 6)) = P(1)P(6) =

对于(2,5)同样,我们具有以下内容:

P((2, 5)) = P(2)P(5) =

等等。 将所有这些内容相加得出以下结果:

让我们尝试使用Pandas而不是Python字典来计算。 首先,我们构造一个具有由所有可能的骰子结果对组成的元组索引的DataFrame对象。

</>

现在,我们可以填充上面设置的列,第一个骰子的结果为d1列,第二个骰子的结果为d2,

</>

接下来,我们计算sm列中的骰子总和

</>

建立了该名称后,DataFrame现在如下所示:

</>

接下来,我们为不公平骰子(d1)和不公平骰子(d2)的每个面填充概率

</>

最后,我们可以计算出所显示面的总和的联合概率,如下所示:

</>

建立了所有这些之后,我们可以使用groupby来计算所有骰子结果的密度,如下所示

</>

这些示例说明了概率理论如何分解集合和这些集合的度量,以及如何将它们组合以开发新的随机变量的概率质量函数。

连续随机变量

相同的想法适用于连续变量,但是管理集合变得更加棘手,因为与离散集合不同,实际生产线具有许多内置的限制属性,必须谨慎处理。 尽管如此,让我们从一个示例开始,该示例应说明类似的想法。 假设随机变量X均匀分布在单位间隔上。 变量的值小于1/2的概率是多少?

为了在离散情况下建立直觉,让我们回到使用公平骰子的掷骰子实验。 骰子的值之和是可测量的函数

Y :  → {2, 3,..., 12}

也就是说,Y是集合的笛卡尔积到离散结果集的映射。 为了计算结果集的概率,我们需要从每个骰子的对应概率度量中得出Y, 的概率度量。 我们之前的讨论是通过这种机制进行的。 这意味着

 : {2, 3,..., 12} → [0, 1]

请注意,在函数定义和函数目标项之间以概率衡量之间存在分隔。 说白了

Y : A → B

具有相应的概率测度

 : B → [0, 1]

因此,要计算从其他随机变量派生的 ,我们必须根据先前A集来表示B中的等价类。

连续变量的情况遵循相同的模式,但是我们将跳过许多更深层次的技术。 对于连续情况,随机变量现在为

X : R → R

具有相应的概率测度

 : R → [0, 1]

但是这里对应的集合在哪里? 从技术上讲,这些是Borel集,但是我们可以将它们视为间隔。 回到我们的问题,单位间隔上均匀分布的随机变量取小于1/2的值的概率是多少? 根据框架改写这个问题,我们有以下内容:

X : [0, 1] → [0, 1]

对应于:

 : [0, 1] → [0, 1]

为了回答这个问题,通过在单位间隔上定义统一随机变量,我们计算出以下积分

其中上述积分的dx扫过B型间隔。 根据统一随机变量的定义,任何dx间隔(即A型集合)的度量等于dx。 为了使所有运动部件成为一个符号丰富的积分,我们也可以这样写:

 =

现在,让我们考虑一个稍微复杂和有趣的示例。 和以前一样,假设我们有一个统一的随机变量X,然后让我们介绍另一个定义的随机变量,

Y = 2X

现在,0 <Y <1/2的概率是多少? 为了在我们的框架中表达这一点,我们写道:

Y : [0, 1] → [0, 2]

对应于:

要回答这个问题,我们需要用概率度量Y, 来度量集合[0,1 / 2]。 我们应该怎么做? 由于Y是从X随机变量派生而来的,就像掷骰子实验一样,我们必须在目标空间中创建一组等效项(即B型集),以在输入空间上反射回来(即A型集)。 也就是说,就X随机变量而言,等于[0,1 / 2]的间隔是多少? 因为从功能上讲,Y = 2X,所以B型间隔[0,1 / 2]对应于A型间隔[0,1 / 4]。 根据X的概率测度,我们用积分计算

现在,让我们开始赌注并考虑以下随机变量,

Y =

现在X仍均匀分布,但现在在[-1/2,1/2]区间内。 我们可以在我们的框架中表示为

Y : [−1/2, 1/2] → [0, 1/4]

对应于:

微积分以外的变量转换

独立随机变量

经典断杆示例

阅读完整文档