基础篇
本篇着重介绍机器学习及深度学习(deep learning,DL)的基本原理,深入浅出地介绍相关数学及机器学习基础。机器及深度学习本质上是统计学习方法,所以第1章介绍了概率论的基本知识;而深度学习涉及大量的矩阵运算,所以第2章介绍了线性代数的基本知识,包括求导,主成分分析及奇异值分解等;考虑到实际应用中样本的缺乏等问题,第3章介绍了马尔可夫链蒙特卡罗(Markov chain Monte Carlo,MCMC)随机模拟法,作为重要的基于采样的统计计算方法;而作为现代机器学习基础之一的变分优化法,可以在没有解析解情况下较好地获得优化解,这在第4章重点进行了介绍;第5章则是系统地介绍了现代机器学习的基本方法,包括监督及非监督方法、评价标准、学习流程等。这些基本的知识都为学习方法篇奠定相应的数学及机器学习基础。
第1章概率论
概率论是机器学习及深度学习(DL)的基础之一。本章介绍有关概率论的基本知识,包括概率的定义、数量特征、典型分布以及在机器学习中的应用特点等,同时配合基本介绍,也给出了一些有趣而又有助于增加理解的问题,加强读者对概率相关概念的理解。
1.1概率的本质
概率是测量一个随机事件发生的可能性的量化性指标,又称或然率,采用0~1之间的一个实数表示,值越大表示发生的可能性越高(李贤平,2010)。概率的本质是“在表面上是偶然性在起作用的地方,这种偶然性始终是受内部的隐藏着的规律支配的,而问题只是在于发现这些规律”(恩格斯,1972)。实验表明一个随机事件出现的频率常在某个固定的常数值附近摆动,称此为统计规律性。而此稳定性也表明了概率存在的客观性,可以采用一套方法对其进行量化。
样本空间与事件是概率*基本的概念。样本点表示试验中可能出现的结果,而所有样本点构成的全体构成了样本空间。例如,采用表示样本点,D表示样本空间,则有。而概率论中的事件则指样本点的某个集合,具备某种特征,将某事件的发生看作当且仅当它所包含的某个样本点出现。事件用X、B、C等大写英文字母表示,将事件W发生的概率记为P04)。如此,某个样本点属于某个事件S则称e^,否则记为贱S。单个点也可定义一个事件集合,而没有包括任意点的集合则称为空集。
在现今计算技术发展的时代,很少采用手工的方式(如采用投硬币方式)确定一个事件发生的概率,而采用计算机进行模拟,能更快及更准确地模拟一个事件发生的概率。根据程序提供的均匀分布的抽样函数,很容易采用计算机模拟一个随机事件。下面给出了几个例子说明此点。
例1.1已知一个区间的均匀分布函数以及一枚硬币出现正面的概率为仍,如何采用随机模拟函数模拟投掷硬币的过程?
本例可以先采用均匀分布的函数抽样,如果发现抽样值小于等于仍,则返回1,否则返回0。反复执行该函数得到*终的统计结果,*后验证出现正面的概率是否接近于P1。
例1.2已知一维数组包含若干*大值,顺序性地遍历该数组,如何等概率返回数组中若干*大值中的一个,并使得时间复杂度为(N为数组元素个数)?如一维数组,等概率随机返回其中4个*大值中的一个。
先记录下当前的*大值及其索引,同时记录*大值的个数,在依次遍历数组过程中,遇到比当前更大的数时,更新*大值及其索引,修改*大记录数Cmax为1;如果遇到同*大值一样大的数,则递增*大值个数为Cmax+1,并在区间均匀随机抽样P;如果P在1/Cmax,则更新*大值索引为当前数的位置,否则保持索引不变。这样保证返回的*大值索引在数组里是等概率分布的。该方法可以采用数学归纳法证明。
证明(1)初始条件i=1,即只有一个*大值,结论显然成立。
(2)若i=k时结论成立,则可以推导出当i=k+1,即有k+1个*大值时结论也成立。根据随机均匀抽样p^1/(k+1),选择*后一个*大值索引的概率为+,则选择前面k个的概率为1,又根据i=k时假设结论成立,即前k个中一个被选中的概率为1,所以此时后面k个中有一个被选中的概率为。证毕。
以下讲述概率论的几个概念。
定义1.1概率质量函数(probability mass function,PMF)是离散随机变量在各特定取值上的概率,数学定义如下:
(1.1)
其中,x是离散随机变量,S为随机样本空间中的某个事件(随机样本点集合)。
定义1.2概率密度函数(probabilitydensity function,PDF)是连续型变量的概率表达方法,它表示在某个取值点附近的可能性函数,将连续型随机变量X的概率密度函数记为,则随机变量X在某个区域内的概率为该概率密度函数在该区域内的积分。
注意两个概率的差别,概率质量函数主要是描述离散随机变量在特定值的概率,而概率密度函数则是描述连续随机变量在特定取值附近的输出,本身不是概率,其概率应该是针对一定区间的积分。
定义1.3累积分布函数(cumulative distribution function,CDF)是概率质量函数小于每个值的累加和,或密度函数小于某个值的积分。
(1)对于离散变量:
(1.2)
其中,f(x)为概率质量函数。
(2)对于连续变量:
(1.3)
其中,f(x)为概率密度函数。
定义1.4边缘概率分布(marginal probability distribution,MPD)是对多个随机变量的联合概率分布而言的,即通过对离散随机变量的概率累积求和或对连续随机变量求积分的方法求得在子随机变量上的分布,如对多个离散随机变量x与^,其x的边缘概率通过下式求和:
(1.4)
而对连续随机变量而言,采用下式积分求边际概率:
(1.5)
定义1.5条件概率(conditional probability)是指在样本空间中一个随机事件A在另外一个随机事件B发生下的概率。若以随机变量X与Y分别表示事件A与B则可用公式表示为
(1.6)
条件概率与联合概率及边缘概率紧密联系,是*主要的关系之一。在贝叶斯(Bayes)机器学习中遇到的后验概率也是以条件概率的基本原理作为基础的。
利用条件概率可以解决许多概率推导问题,以下给出几个例子。
例1.3采用随机数抽样函数实现洗牌过程,保证事件复杂度为O(N)设数组A共有N个元素,依次为,从*后一个元素向前迭代,首先从随机变量(i表示当前迭代的数组索引)中抽取一个元素k,然后将数组元素ak与交换位置。该方法具有很好的空间复杂度(0(1))及事件复杂度(O⑷)。证明每个元素被抽取的概率为1,可采用类似例1.2中的数学归纳法及条件概率原理进行推导。
定义1.6概率的链式法则(chain rule)是指概率的多个随机变量的联合概率分布可以分解为多个单随机变量的条件概率的乘积:
(1.7)
采用条件概率公式及数学归纳法即可证明该链式法则。
定义1.7(独立性及条件独立性(independence and conditionally independence))独立性一般指两个随机变量之间没有依赖性,数学上表示为两个随机变量的联合概率分布直接等于各自分布函数的乘积:
(1.8)
而条件独立性则是指该独立性以另外的随机事件为条件,即
(1.9)
例1.4令样本空间D为投一个6面骰子时出现正面数字样本的集合,每一面出现的概率分别定义为,试采用计算机程序模拟投掷的随机事件,*优的时间复杂度是多少?
可以类似例1.1采用随机事件模拟与累计概率分布结合的方法求解本题。而采用二分搜索时可以将时间复杂度控制到(n为骰子的面数)。
1.2典型概率分布
1.2.1伯努利分布
参照例1.1的投掷硬币,设定出现正面的概率为参数 得到出现正面的概率为,则式(1.10)表示的分布称为伯努利分布(Bernoulli distribution)。
(1.10)
其中,代表投掷硬币的结果,x=1为正面,而x=0为反面。容易证明,伯努利分布的均值及方差分别为及。
问题1.1如何证明伯努利分布的均值及方差分别为式(1.11)与式(1.12)?
假定做了N次独立实验,得到数据集,则可以得到似然函数:
(1.11)
i=1i=1
(1.12)
通过微分求极值的方法,可求得*大似然解:
其中,m为出现正面的次数。
展开