机器学习数学基础【概率】

1、为什么使用概率?

概率论是用于表示不确定性陈述的数学框架,即它是对事物不确定性的度量。

在人工智能领域,我们主要以两种方式来使用概率论。首先,概率法则告诉我们AI系统应该如何推理,所以我们设计一些算法来计算或者近似由概率论导出的表达式。其次,我们可以用概率和统计从理论上分析我们提出的AI系统的行为。

计算机科学的许多分支处理的对象都是完全确定的实体,但机器学习却大量使用概率论。实际上如果你了解机器学习的工作原理你就会觉得这个很正常。因为机器学习大部分时候处理的都是不确定量或随机量。

2、随机变量

随机变量可以随机地取不同值的变量。我们通常用小写字母来表示随机变量本身,而用带数字下标的小写字母来表示随机变量能够取到的值。例如,x_{1} 和x_{2} 都是随机变量X可能的取值。

对于向量值变量,我们会将随机变量写成X,它的一个值为x。就其本身而言,一个随机变量只是对可能的状态的描述;它必须伴随着一个概率分布来指定每个状态的可能性。

随机变量可以是离散的或者连续的。

3、概率分布

给定某随机变量的取值范围,概率分布就是导致该随机事件出现的可能性。

从机器学习的角度来看,概率分布就是符合随机变量取值范围的某个对象属于某个类别或服从某种趋势的可能性。

4、条件概率

很多情况下,我们感兴趣的是某个事件在给定其它事件发生时出现的概率,这种概率叫条件概率。

我们将给定X=xY=y发生的概率记为P\left( Y=y|X=x \right),这个概率可以通过下面的公式来计算:

P\left( Y=y|X=x \right) =\frac{P\left( Y=y,X=x \right) }{P\left( X=x \right) }

5、贝叶斯公式

先看看什么是“先验概率”和“后验概率”,以一个例子来说明:

假设某种病在人群中的发病率是0.001,即1000人中大概会有1个人得病,则有: P(患病) = 0.1%;即:在没有做检验之前,我们预计的患病率为P(患病)=0.1%,这个就叫作"先验概率"

再假设现在有一种该病的检测方法,其检测的准确率为95%;即:如果真的得了这种病,该检测法有95%的概率会检测出阳性,但也有5%的概率检测出阴性;或者反过来说,但如果没有得病,采用该方法有95%的概率检测出阴性,但也有5%的概率检测为阳性。用概率条件概率表示即为:P(显示阳性|患病)=95%

现在我们想知道的是:在做完检测显示为阳性后,某人的患病率P(患病|显示阳性),这个其实就称为"后验概率"。

而这个叫贝叶斯的人其实就是为我们提供了一种可以利用先验概率计算后验概率的方法,我们将其称为“贝叶斯公式”。

这里先了解条件概率公式

P\left( B|A \right)=\frac{P\left( AB \right)}{P\left( A \right)} , P\left( A|B \right)=\frac{P\left( AB \right)}{P\left( B \right)}

由条件概率可以得到乘法公式

P\left( AB \right)=P\left( B|A \right)P\left( A \right)=P\left( A|B \right)P\left( B \right)

将条件概率公式和乘法公式结合可以得到:

P\left( B|A \right)=\frac{P\left( A|B \right)\cdot P\left( B \right)}{P\left( A \right)}

再由全概率公式

P\left( A \right)=\sum_{i=1}^{N}{P\left( A|B_{i} \right) \cdot P\left( B_{i}\right)}

代入可以得到贝叶斯公式

P\left( B_{i}|A \right)=\frac{P\left( A|B_{i} \right)\cdot P\left( B_{i} \right)}{\sum_{i=1}^{N}{P\left( A|B_{i} \right) \cdot P\left( B_{i}\right)} }

在这个例子里就是:

贝叶斯公式贯穿了机器学习中随机问题分析的全过程。从文本分类到概率图模型,其基本分类都是贝叶斯公式。

期望、方差、协方差等主要反映数据的统计特征,机器学习的一个很大应用就是数据挖掘等,因此这些基本的统计概念也是很有必要掌握。另外,像后面的EM算法中,就需要用到期望的相关概念和性质。

6、期望

在概率论和统计学中,数学期望是试验中每次可能结果的概率乘以其结果的总和。它是最基本的数学特征之一,反映随机变量平均值的大小。

假设X是一个离散随机变量,其可能的取值有:\left\{ x_{1} ,x_{2} ,......,x_{n} \right\},各个取值对应的概率取值为:P\left( x_{k} \right) , k=1,2,......,n,则其数学期望被定义为:

E\left(X \right) =\sum_{k=1}^{n}{x_{k} P\left( x_{k} \right) }

假设X是一个连续型随机变量,其概率密度函数为P\left( x \right)则其数学期望被定义为:

E\left( x \right) =\int_{-\varpi }^{+\varpi } xf\left( x \right) dx

7、方差

概率中,方差用来衡量随机变量与其数学期望之间的偏离程度;统计中的方差为样本方差,是各个样本数据分别与其平均数之差的平方和的平均数。数学表达式如下: 

Var\left( x \right) =E\left\{ \left[ x-E\left( x \right) \right] ^{2} \right\} =E\left( x^{2} \right) -\left[ E\left( x \right) \right] ^{2}

8、协方差

在概率论和统计学中,协方差被用于衡量两个随机变量X和Y之间的总体误差。数学定义式为:

Cov\left( X,Y \right) =E\left[ \left( X-E\left[ X \right] \right) \left( Y-E\left[ Y \right] \right) \right] =E\left[ XY \right] -E\left[ X \right] E\left[ Y \right]

9、常见分布函数

1)0-1分布

0-1分布是单个二值型离散随机变量的分布,其概率分布函数为:

P\left( X=1 \right) =pP\left( X=0 \right) =1-p

2)几何分布

几何分布是离散型概率分布,其定义为:在n次伯努利试验中,试验k次才得到第一次成功的机率。即:前k-1次皆失败,第k次成功的概率。其概率分布函数为:

P\left( X=k \right) =\left( 1-p \right) ^{k-1} p

性质:

E\left( X \right) =\frac{1}{p}Var\left( X \right) =\frac{1-p}{p^{2} }

3)二项分布

二项分布即重复n次伯努利试验,各次试验之间都相互独立,并且每次试验中只有两种可能的结果,而且这两种结果发生与否相互对立。如果每次试验时,事件发生的概率为p,不发生的概率为1-p,则n次重复独立试验中发生k次的概率为:

P\left( X=k \right) =C_{n}^{k} p^{k} \left( 1-p \right) ^{n-k}

性质:

E\left( X \right) =npVar\left( X \right) =np\left( 1-p \right)

4)高斯分布

高斯分布又叫正态分布,其曲线呈钟型,两头低,中间高,左右对称因其曲线呈钟形,如下图所示:

若随机变量X服从一个数学期望为\mu,方差为\sigma ^{2}的正态分布,则我们将其记为:N\left( \mu ,\sigma^{2} \right)。其期望值\mu决定了正态分布的位置,其标准差\sigma(方差的开方)决定了正态分布的幅度。

5)指数分布

指数分布是事件的时间间隔的概率,它的一个重要特征是无记忆性。例如:如果某一元件的寿命的寿命为T,已知元件使用了t小时,它总共使用至少t+s小时的条件概率,与从开始使用时算起它使用至少s小时的概率相等。下面这些都属于指数分布:

  • 婴儿出生的时间间隔
  • 网站访问的时间间隔
  • 奶粉销售的时间间隔

指数分布的公式可以从泊松分布推断出来。如果下一个婴儿要间隔时间t,就等同于t之内没有任何婴儿出生,即:

P\left( X\geq t \right) =P\left( N\left( t \right) =0 \right) =\frac{\left( \lambda t \right) ^{0}\cdot e^{-\lambda t} }{0!}=e^{-\lambda t}

则:

P\left( X\leq t \right) =1-P\left( X\geq t \right) =1-e^{-\lambda t}

如:接下来15分钟,会有婴儿出生的概率为:

P\left( X\leq \frac{1}{4} \right) =1-e^{-3\cdot \frac{1}{4} } \approx 0.53

指数分布的图像如下:

6)泊松分布

日常生活中,大量事件是有固定频率的,比如:

  • 某医院平均每小时出生3个婴儿
  • 某网站平均每分钟有2次访问
  • 某超市平均每小时销售4包奶粉

它们的特点就是,我们可以预估这些事件的总数,但是没法知道具体的发生时间。已知平均每小时出生3个婴儿,请问下一个小时,会出生几个?有可能一下子出生6个,也有可能一个都不出生,这是我们没法知道的。

泊松分布就是描述某段时间内,事件具体的发生概率。其概率函数为:

P\left( N\left( t \right) =n \right) =\frac{\left( \lambda t \right) ^{n}e^{-\lambda t} }{n!}

其中:

P表示概率,N表示某种函数关系,t表示时间,n表示数量,1小时内出生3个婴儿的概率,就表示为 P(N(1) = 3) ;λ 表示事件的频率。

还是以上面医院平均每小时出生3个婴儿为例,则\lambda =3

那么,接下来两个小时,一个婴儿都不出生的概率可以求得为:

P\left( N\left(2 \right) =0 \right) =\frac{\left( 3\cdot 2 \right) ^{o} \cdot e^{-3\cdot 2} }{0!} \approx 0.0025

同理,我们可以求接下来一个小时,至少出生两个婴儿的概率:

P\left( N\left( 1 \right) \geq 2 \right) =1-P\left( N\left( 1 \right)=0 \right) - P\left( N\left( 1 \right)=1 \right)\approx 0.8

【注】上面的指数分布和泊松分布参考了阮一峰大牛的博客:“泊松分布和指数分布:10分钟教程”,在此说明,也对其表示感谢!

10、Lagrange乘子法

对于一般的求极值问题我们都知道,求导等于0就可以了。但是如果我们不但要求极值,还要求一个满足一定约束条件的极值,那么此时就可以构造Lagrange函数,其实就是把约束项添加到原函数上,然后对构造的新函数求导

对于一个要求极值的函数f\left( x,y \right),图上的蓝圈就是这个函数的等高图,就是说 f\left( x,y \right) =c_{1} ,c_{2} ,...,c_{n}分别代表不同的数值(每个值代表一圈,等高图),我要找到一组\left( x,y \right),使它的c_{i}值越大越好,但是这点必须满足约束条件g\left( x,y \right)(在黄线上)。

也就是说f(x,y)g(x,y)相切,或者说它们的梯度▽f和▽g平行,因此它们的梯度(偏导)成倍数关系;那我么就假设为\lambda倍,然后把约束条件加到原函数后再对它求导,其实就等于满足了下图上的式子。

支持向量机模型(SVM)的推导中一步很关键的就是利用拉格朗日对偶性将原问题转化为对偶问题。

11、最大似然估计

最大似然也称为最大概似估计,即:在“模型已定,参数θ未知”的情况下,通过观测数据估计未知参数θ 的一种思想或方法。

其基本思想是: 给定样本取值后,该样本最有可能来自参数\theta为何值的总体。即:寻找\tilde{\theta } _{ML}使得观测到样本数据的可能性最大。

举个例子,假设我们要统计全国人口的身高,首先假设这个身高服从服从正态分布,但是该分布的均值与方差未知。由于没有足够的人力和物力去统计全国每个人的身高,但是可以通过采样(所有的采样要求都是独立同分布的),获取部分人的身高,然后通过最大似然估计来获取上述假设中的正态分布的均值与方差。

求极大似然函数估计值的一般步骤:

  • 1、写出似然函数;

  • 2、对似然函数取对数;
  • 3、两边同时求导数;
  • 4、令导数为0解出似然方程。

在机器学习中也会经常见到极大似然的影子。比如后面的逻辑斯特回归模型(LR),其核心就是构造对数损失函数后运用极大似然估计。

猜你喜欢

转载自blog.csdn.net/weixin_37805635/article/details/86407412