机器学习预备知识之概率论(上)

随着Hadoop等处理大数据技术的出现和发展,机器学习也越来越走进人们的视线。其实早在Hadoop之前,机器学习和数据挖掘早已经作为单独的学科而存在,那为什么在hadoop出现之后,机器学习如此的引人注目呢?一个重要原因是hadoop的出现使很多人拥有了处理海量数据的技术支撑,进而发现数据的重要性,而要想从数据中发现有价值的信息,选择机器学习似乎是必然的趋势。当然也不排除舆论的因素,其实本人一直对很多人宣称掌握了机器学习持怀疑态度。而要想理解机器学习的精髓,数学知识是不可或缺的,比如线性代数,概率论和微积分、向量空间等,而如果没有一定的数学基础,使用机器学习也只能是知其然而不知其所以然了。基于这个原因,将系统地总结学习机器学习中用到的一些数学知识,当然不可能面面俱到,但会尽可能准确。

这篇文章首先学习概率论知识,概率论在机器学习中占主要地位,因为概率论为机器学习算法的正确性提供了理论依据,学习算法的设计经常依赖于对数据的概率假设以及在某些算法中被直接使用等。

排列组合

排列:从n个不同元素中,任取m(m≤n,m与n均为自然数)个元素按照一定的顺序排成一列,称为从n个不同元素中取出m个元素的一个排列;从n个不同元素中取出m(m≤n)个元素的所有排列的个数,称为从n个不同元素中取出m个元素的排列数,用符号 A(n,m)表示。A(n,m)=n(n-1)(n-2)……(n-m+1)=n!/(n-m)!。通常我们所说的排列指的是所有排列的个数,即A(n,m)。

组合:从n个不同元素中,任取m(m≤n)个元素并成一组,叫做从n个不同元素中取出m个元素的一个组合;从n个不同元素中取出m(m≤n)个元素的所有组合的个数,叫做从n个不同元素中取出m个元素的组合数。用符号 C(n,m) 表示。C(n,m)=A(n,m)/m!,C(n,m)=C(n,n-m)。通常我们所说的组合指的是所有组合的个数,即C(n,m)。

组合和排列的区别单从公式来看的话,C(n,m)=A(n,m)/m!,而为什么要除以m!呢?从定义分析,排列是一个有序的序列,也就是将元素x,y放在位置1,2和放在2,1是两个不同的序列,而组合关心的仅仅是是否选取了某个元素,而不考虑顺序,也就是x,y放在位置1,2还是2,1都被认为是相同的组合。由于m个元素在m个位置有m!中排列方式,而这对组合来说只是一种组合,因此需要除以m!。

随机变量

在概率论中,随机变量扮演了重要的角色。千万不要将随机变量和通常所提到的变量相混淆,以为随机变量就是其值具有随机性的变量,而实际上,随机变量是函数,将试验结果映射为实数,更一般地理解为,随机变量是人为定义的基于试验结果的函数,该函数的定义域为试验结果的取值,其值域根据不同情境而不同。通常使用大写字母表示随机变量。

假设随机变量X表示将投掷六面骰子的结果映射为实数,可以定义X将投掷的结果i映射为i,比如投掷的结果为2,则X的结果就为2。还可以定义如果投掷结果为偶数,则X的结果为1,否则为0,这种类型的随机变量被称为指示器变量,用于表示某一事件是否发生。

随机变量X取值a的概率表示为P(X = a) 或P X(a),使用Val(X)表示随机变量的取值范围。

联合分布、边缘分布和条件分布

随机变量的分布指的是取某些值的概率,由定义可知分布本质上是概率,使用P(X)表示随机变量X的分布。当提及多于一个变量的分布时,该分布称为联合分布,因为此时概率由涉及的所有变量共同决定。考虑下面这个联合分布的例子,X为投掷骰子的随机变量,取值为[1,6],Y为抛掷硬币的随机变量,取值为[0,1],二者的联合分布为:

P

X=1

X=2

X=3

X=4

X=5

X=6

Y=0

1/12

1/12

1/12

1/12

1/12

1/12

Y=1

1/12

1/12

1/12

1/12

1/12

1/12

使用P(X=a,Y=b)或PX,Y(a,b)表示X取a,Y取b时的概率,使用P(X,Y)表示X,Y的联合分布。给定随机变量X和Y的联合分布,可以定义X或者Y的边缘分布,边缘分布指的是某个随机变量自身的概率分布,为了计算某个随机变量的边缘分布,需要将联合分布中其它随机变量相加,公式为:

条件分布指出了在当其它随机变量已知的情况,某个特定随机变量的分布。而对于某个随机变量X在Y=b的情况下取值为a的条件概率可以定义如下,并可根据该公式确定该变量的条件分布:

可以将上述公式扩展到基于多个随机变量的条件概率,比如,基于两个变量的:

使用符号P(X|Y=b)表示在Y=b的情况下,X的分布。P(X|Y)X分布的集合,其中每个元素为Y取不同值时X的分布。

在概率论中,独立性意味着一个随机变量的分布不受另一个随机变量的影响,使用下面的数学公式定义随即变量X独立于Y:

根据该公式及条件分布的公式可以推导出如果X独立于Y,那么Y也独立于X,推到过程如下:

根据上面的推到过程可以得出P(X,Y)=P(X)P(Y),也就是该公式是X和Y相互独立的等价公式。

更进一步可以定义条件独立,即已知一个或者多个随机变量的值,其余某些变量相互独立则称为条件独立,已知Z,X和Y相互独立的数学定义如下:

最后再看两个重要的定理,分别为链式规则和贝叶斯规则。链式规则的公式如下:

贝叶斯规则的公式如下:

贝叶斯公式通过计算P(Y|X)的值来得到P(X|Y)的值。该公式可以通过条件公式推导而出:

分母的值可通过上面提到的边缘分布计算得出:

离散分布和连续分布

广义上讲,存在两类分布,分别为离散分布和连续分布。离散分布意味着该分布下的随机变量只能取有限的不同值(或者结果空间是有限的)。可以通过简单地枚举随机变量取每个可能值的概率来定义离散分布,这种枚举的方式称为概率质量函数,因为该函数将单位质量(总的概率,1)分割然后分给随机变量可以取的不同值。

连续分布意味着随机变量可以取无穷的不同值(或者结果空间是无穷的),使用概率密度函数(probability density function,PDF)定义连续分布。概率密度函数f为非负的,可积分的函数:

随机变量X的概率根据概率密度函数可得:

特别的,一个连续分布的随机变量的值为任何给定单个值的概率为0,比如连续分布的随机变量X取值为a的概率为0,因为此时积分的上限和下限都为a。

由概率密度函数可引申出累积分布函数,该函数给出了随机变量小于某个值的概率,与概率密度函数的关系为:

因此根据不定积分的含义,

原文发布于微信公众号 - 交互设计前端开发与后端程序设计(interaction_Designer)

原文发表时间:2016-08-31

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数值分析与有限元编程

有限元 | 经典梁单元刚度矩阵推导

经典欧拉梁单元不考虑剪切变形。基于试函数的能量方法(也称为泛函极值方法),基本要点是不需求解原微分方程,但需要假设一个满足位移边界条件的许可位移场。因此,如何寻...

4697
来自专栏Python小屋

详解Python使用模拟退火算法求解列表“最大值”

之前发过一个使用爬山算法的文章,请参考:Python使用爬山算法寻找序列“最大值” 模拟退火算法可以看作是爬山算法的一种改进,如果前方有更优解就前进,如果没有...

4396
来自专栏云飞学编程

一个关于红包的问题引发的python算法初体验

有个初学python的小伙伴,在群里问我关于实现抢红包的算法的问题,于是就有了以下对话

2661
来自专栏机器学习算法工程师

Java 机器学习库Smile实战(二)AdaBoost

1. AdaBoost算法简介 Boost 算法系列的起源来自于PAC Learnability(PAC 可学习性)。这套理论主要研究的是什么时候一个问题是可...

3286
来自专栏人工智能头条

深度学习和自然语言处理中的Attention和Memory机制

3965
来自专栏编程之旅

牛顿迭代法与二分法计算平方根

因为不是科班出身,所以即使编程一段时间也时常感觉自身基础知识非常不扎实,于是在最近开始补习算法和计算机理论的基础知识。

1902
来自专栏AI科技评论

ACL论文 | 深度学习大神新作,神经网络的自然语言翻译应用

在 8月7日在德国柏林召开的2016 计算语言学(ACL)大会上,学者Thang Luong、Kyunghyun Cho 和 Christopher D. Ma...

3645
来自专栏量化投资与机器学习

从Seq2seq到Attention模型到Self Attention(一)

近一两年,注意力模型(Attention Model)是深度学习领域最受瞩目的新星,用来处理与序列相关的数据,特别是2017年Google提出后,模型成效、复杂...

4154
来自专栏懒人开发

(2.9)James Stewart Calculus 5th Edition:The Derivative as a Function

这里a是一个固定值, 如果把a看成一个变量,就是一个函数了 对应的过程,可以理解成这个函数的导数 (也就是这个方程的导数)

1144
来自专栏深度学习自然语言处理

【干货】基于注意力机制的seq2seq网络

seq2seq seq2seq的用途有很多,比如机器翻译,写诗,作曲,看图写文字等等用途很广泛!该模型最早在2014年被Cho和Sutskever先后提出,前者...

4456

扫码关注云+社区

领取腾讯云代金券