集智专栏
资源加载中,请稍后...
集智专栏

Patchouli的机器学习系列教程一:概率论初步与其他基础数学知识——『道』

集智小编

本文作者Patchouli Exarch, 毕业于谢菲尔德大学计算机科学专业,《中国味道》文史编辑。


本系列教程将持续性分为两个部分:形而上的和形而下的。形而上者谓之道,讲的是机器学习的数学原理,其中将不可避免地涉及到大量令人头皮发麻的数学公式,但是很有趣;形而下者谓之器,讲的是这些数学原理在机器学习中的应用,会涉及到一些简单实例。教程接受度因人而异,有些人看到的是无聊的算式和枯燥的代码,有些看到的是有趣的数学和熠熠生辉的算法。任何行业都分上中下游,假如你想当上游,那么就把本教程每个章节从头到尾学完;假如你只想做中游,那么就把本教程形而下的部分看了即可,我保证不会难为你;但如果你就想在人工智能的浪潮里当一个下游的小虾米,请关闭本页面打开sk-learning背函数看实例去吧,我保证未来人类社会重构之后至少会有你的一席之地。闲言少叙,直接开始上课。


1.概率累积分布函数与概率密度函数

随机变量X的概率累积分布函数有如下定义:

其中{X≤x}符号代表随机变量集合中所有小于等于x的真子集

举个简单的例子,一个骰子扔出来有六种可能性,而这些可能性的集合为{1,2,3,4,5,6} 。假设我们要求这个骰子小于等于4的概率F(4) ,那么被取出来的从属于上面集合的真子集即为{1,2,3,4} ,则

上面举的这个例子是离散型随机变量,然而在日常实践中我们接触到更多的是连续型随机变量。我们来看下一个例子:Patchouli Exarch是一位作风优良,志趣高洁的知乎用户,有一天他不慎发表了一篇包含不宜公开讨论的政治内容的文章。有关部门规定,此类文章必须在一个小时内变成没有知识的荒原,为此知乎官方指定了规则,保证此类文章活不过一个小时。我们假设管理员看到这篇文章的概率严格按照时间的行进分布,那么我的文章被删的概率累积分布函数如下图所示。

概率分布函数(未被针对)概率分布函数(未被针对)

而与此同时,由于我的文章在任何一秒被删除的概率都是一样的,因此文章被删的概率密度函数将是一条水平直线。

概率密度函数(未被针对)概率密度函数(未被针对)

我们前进到下个例子:假设Patchouli Exarch是一位蝇营狗苟,没事就喜欢闷声作大死的用户呢?那么管理员一定会对我区别对待,一回删,二回禁,三回封。我发的每一篇文章都会被特别照顾一下,因此在我刚刚发布包含不宜公开讨论的政治内容的很近一段时间内,是很容易被发现然后删答案的。一个小时中,前十几分钟文章被删的概率远大于后几十分钟,那么我的概率分布函数就会是这样的。

概率分布函数(被针对)概率分布函数(被针对)

而文章被删的概率密度函数则会是这样的。

概率密度函数(被针对)概率密度函数(被针对)

我们发现,其实在某个特定点发生事件的概率和概率分布函数的变化速率成正相关,而函数的变化速率有一个专有名词:导数。由此,概率密度函数将得到以下定义:

在数学中,连续型随机变量的概率密度函数是一个描述这个随机变量的输出值,在某个确定的取值点附近的可能性的函数。而随机变量的取值落在某个区域之内的概率则为概率密度函数在这个区域上的积分。

2.联合概率分布函数

联合概率分布函数是指随机变量X和Y中子集{X≤x,Y≤y} 被取出来的概率,记作: F(x,y)=P{X≤x,Y≤y}。

与上同理,随机变量X和Y的联合概率密度函数即为联合分布函数的二阶偏导数:

特别的,假如X和Y相互独立,那么这个条件 = P(x,y) = P(x)P(y)。

3.条件概率分布

存在一对联合随机变量X和Y,我们在X已经给定,单独研究Y的时候,便会有如下分布:

条件概率分布指的是在不同的条件集X下,随机变量Y的分布函数,在条件集发生改变时,事件集必定是要受到影响的,我们举个简单的例子。

某个村子来了一伙贼,我们假设“贼”条件集X包含两种情况,一拨是天下无贼里贼头带的贼,另一拨是拿着斧子戴面具抢劫的贼。那么很明显,两种情况下,这个村子失窃的概率是不一样的。在第一种条件下,村庄被偷这个随机事件Y发生的概率远大于第二拨贼来的情况:

这就是条件概率的用处。 那么有人会问了,P(y|x)我们懂了,那么P(x|y)又是什么呢? 答案就是:这是一个后验概率。即,我们不知道村子里来的是盗神还是蠢贼,我们只知道村子被盗/没被盗这个既定事实,以此推断可能来的是哪拨贼。

4.高斯(正态)分布

高斯分布有如下定义:

其中 μ 是平均值而 σ 是标准差( 自然就是方差啦)。 高斯分布作为一个从自然科学一直到社会科学都横着走的存在,想必大家不会太陌生,这里也就不做过多介绍了。

高斯正态分布高斯正态分布

值得注意的一点是,我在介绍高斯分布的定义时,已经用到了上面所讲的条件概率分布,所谓x ,指的是当参数 μ 和 σ 等于某个确定的值时 x 分布。那么这个条件变量能不能也像上面一节中反过来呢?答案当然是可以的,记作 ,意思是给定一份样本集,我们能得到正态分布的参数们是一种怎样的分布。与其他学科不一样的是,这个式子我们日后用到的要比 多得多。众所周知,机器学习是通过大量的对于样本的演算和学习,来达到为历史建模以预测未来的目的(虽然原理到现在还没人能解释)。因此我们日后遇到的更多的是得到一份样本集,来推测这个样本的参数,从而根据参数建模,以此观测美好的未来。回推参数的问题我们以后再谈,一位名为拉格朗日的伟大数学家早已预见此路,为此设计了一整套推理参数的方案,大家不必太过担心。你们真正要担心的是,人家设计出来了,但是你连看都看不懂(笑)。

5.多元高斯(正态)分布

上面讲的是一元高斯正态分布,我们这时候再把上面的联合分布加进来,就成了多元高斯正态分布,为了方便表达,之后的 我们将用exp(x) 来代替:

其中 μ 是一个 k X 1 的向量,是 k 个样本集平均数的集合,而 ∑ 是一个 k x k 阶的协方差矩阵。 |∑| 是协方差矩阵的行列式, 是协方差矩阵的倒数。

6.边缘概率分布

边缘分布指在概率论和统计学的多维随机变量中,只包含其中部分变量的概率分布,定义如下:

还是上面那个村里进贼的例子,假设我们是拉普拉斯妖,已经知道贼一定会来,两拨贼来的概率,两拨贼得手的概率,便可以用这个公式计算村子失窃的总体概率。

7.贝叶斯定理

根据我们上述知识,很容易便可以做出如下推理:

8.期望与方差

假设我们已知连续型随机变量 X 的概率密度函数,则其期望为:

可以说是比较直观了,与此对应的是离散型随机变量 X 的期望为:

有了期望,我们就可以算方差了。方差代表一份数据的离散程度,是集合中每个值和期望的差的平方的期望,有 ,则方差为定义为:

与此相对的,离散型随机变量的方差为:

我们以后用到的更多的将是离散型随机变量的方差公式。特别的,有:

也就是那句我们熟悉的绕口令:方差等于平方的期望减期望的平方。

9.在引入向量和矩阵之后的概率论

假设我们有两个标量数据集 X 和 Y ,我们可以将这个集合分别构建成一个 n 维向量 x 和m维的向量 y ,此二者被如下表示:

而向量 y 关于标量 x 求偏导,标量 y 关于向量 x 求偏导,向量 y 关于向量 x 求偏导分别如下所示:

10.矩阵的微积分

对于向量 a 和 w ,以及一个方阵 A ,有如下计算公式:

关于机器学习中概率论的基本知识就这些,怎么样?是不是很简单?在『器』篇,我将教大家如何在python中使用这些数学原理。

文章评论(0)