线性代数
线性代数不仅仅是人工智能的基础,更是现代数学和以现代数学作为主要分析方法的众多学科的基础。从量子力学到图像处理都离不开向量和矩阵的使用。
- 在线性代数中,由单独的数 a 构成的元素被称为标量(scalar):一个标量 a 可以是整数、实数或复数。如果多个标量 a1,a2,⋯,an 按一定顺序组成一个序列,这样的元素就被称为向量(vector)。显然,向量可以看作标量的扩展。原始的一个数被替代为一组数,从而带来了维度的增加,给定表示索引的下标才能唯一地确定向量中的元素。
- 每个向量都由若干标量构成,如果将向量的所有标量都替换成相同规格的向量,得到的就是矩阵(matrix)。
- 相对于向量,矩阵同样代表了维度的增加,矩阵中的每个元素需要使用两个索引(而非一个)确定。同理,如果将矩阵中的每个标量元素再替换为向量的话,得到的就是张量(tensor)。直观地理解,张量就是高阶的矩阵。
- 计算机存储中,标量占据的是零维数组;向量占据的是一维数组,例如语音信号;矩阵占据的是二维数组,例如灰度图像;张量占据的是三维乃至更高维度的数组,例如 RGB 图像和视频。
范数和内积
- 范数(norm)是对单个向量大小的度量,描述的是向量自身的性质,其作用是将向量映射为一个非负的数值。通用的 Lp 范数定义如下:
- 对⼀个给定向量,L1 范数计算的是向量所有元素绝对值的和,L2 范数计算的是通常意义上的向量长度,L∞ 范数计算的则是向量中最大元素的取值。
- 范数计算的是单个向量的尺度,内积(inner product)计算的则是两个向量之间的关系。两个相同维数向量内积的表达式为
- 即对应元素乘积的求和。内积能够表示两个向量之间的相对位置,即向量之间的夹角。一种特殊的情况是内积为 0,即 〈x,y〉=0。在二维空间上,这意味着两个向量的夹角为 90 度,即相互垂直。而在高维空间上,这种关系被称为正交(orthogonality)。如果两个向量正交,说明他们线性无关,相互独立,互不影响。
- 内积空间中,一组两两正交的向量构成这个空间的正交基(orthogonal basis),假若正交基中基向量的 L2 范数都是单位长度 1,这组正交基就是标准正交基(orthonormal basis)。正交基的作用就是给内积空间定义出经纬度。⼀旦描述内积空间的正交基确定了,向量和点之间的对应关系也就随之确定。
在线性空间中,任意一个向量代表的都是 n 维空间中的一个点;反过来, 空间中的任意点也都可以唯一地用一个向量表示。
- 描述矩阵的⼀对重要参数是特征值(eigenvalue)和特征向量(eigenvector)。对于给定的矩阵 A,假设其特征值为λ,特征向量为 x,则它们之间的关系如下:
- 矩阵特征值和特征向量的动态意义在于表示了变化的速度和方向。
- 求解给定矩阵的特征值和特征向量的过程叫做特征值分解,但能够进行特征值分解的矩阵必须是 n 维方阵。将特征值分解算法推广到所有矩阵之上,就是更加通用的奇异值分解。
概率论
概率论也代表了一种看待世界的方式,其关注的焦点是无处不在的可能性。对随机事件发生的可能性进行规范的数学描述就是概率论的公理化过程。
古典概率
- 在古典概率模型中,试验的结果只包含有限个基本事件,且每个基本事件发生的可能性相同。如此一来,假设所有基本事件的数目为 n,待观察的随机事件 A 中包含的基本事件数目为 k,则古典概率模型下事件概率的计算公式为:
条件概率
- 条件概率(conditional probability)是根据已有信息对样本空间进行调整后得到的新的概率分布。假定有两个随机事件 A 和 B,条件概率就是指事件 A 在事件 B 已经发生的条件下发生的概率,用以下公式表示:
- 式中的 P(AB) 称为联合概率(joint probability),表示的是 A 和 B 两个事件共同发生的概率。如果联合概率等于两个事件各自概率的乘积,即 P(AB)=P(A)⋅P(B),说明这两个事件的发生互不影响,即两者相互独立。对于相互独立的事件,条件概率就是自身的概率,即 P(A|B)=P(A)。
全概率
- 全概率公式的作用在于将复杂事件的概率求解转化为在不同情况下发生的简单事件的概率求和,即
即先做出一些假设(P(Bi)),再在这些假设下讨论随机事件的概率(P(A|Bi))。
贝叶斯
- “逆概率”解决的是在事件结果已经确定的条件下(P(A)),推断各种假设发生的可能性(P(Bi|A))。由于这套理论首先由英国牧师托马斯·贝叶斯提出,因而其通用的公式形式被称为贝叶斯公式:
- P(H) 被称为先验概率(prior probability),即预先设定的假设成立的概率;P(D|H) 被称为似然概率(likelihood function),是在假设成立的前提下观测到结果的概率;P(H|D) 被称为后验概率(posterior probability),即在观测到结果的前提下假设成立的概率。
- 一个优等生和一个差生打架,老师肯定认为是差生的错,因为差生爱惹事,这就是最大似然估计;可如果老师知道优生和差生之间原本就有过节(先验信息),把这个因素考虑进来,就不会简单地认为是差生挑衅,这就是最大后验估计。
概率的估计有两种方法:最大似然估计法(maximum likelihood estimation)和最大后验概率法(maximum a posteriori estimation),两者分别体现出频率学派和贝叶斯学派对概率的理解方式。
- 最大似然估计法的思想是使训练数据出现的概率最大化,依此确定概率分布中的未知参数,估计出的概率分布也就最符合训练数据的分布。最大后验概率法的思想则是根据训练数据和已知的其他条件,使未知参数出现的可能性最大化,并选取最可能的未知参数取值作为估计值。在估计参数时,最大似然估计法只需要使用训练数据,最大后验概率法除了数据外还需要额外的信息,就是贝叶斯公式中的先验概率。
- 离散变量的每个可能的取值都具有大于 0 的概率,取值和概率之间一一对应的关系就是离散型随机变量的分布律,也叫概率质量函数(probability mass function)。概率质量函数在连续型随机变量上的对应就是概率密度函数(probability density function)。
- 概率密度函数体现的并非连续型随机变量的真实概率,而是不同取值可能性之间的相对关系。
离散分布
- 重要的离散分布包括两点分布、二项分布和泊松分布,重要的连续分布则包括均匀分布、指数分布和正态分布。
除了概率质量函数 / 概率密度函数之外,另一类描述随机变量的参数是其数字特征。数字特征是用于刻画随机变量某些特性的常数,包括数学期望(expected value)、方差(variance)和协方差(covariance)。
- 数学期望即均值,体现的是随机变量可能取值的加权平均,即根据每个取值出现的概率描述作为一个整体的随机变量的规律。方差表示的则是随机变量的取值与其数学期望的偏离程度。方差较小意味着随机变量的取值集中在数学期望附近,方差较大则意味着随机变量的取值比较分散。
- 数学期望和方差描述的都是单个随机变量的数字特征,如果要描述两个随机变量之间的相互关系,就需要用到协方差和相关系数。协方差度量了两个随机变量之间的线性相关性,即变量 Y 能否表示成以另一个变量 X 为自变量的 aX+b 的形式。
- 根据协方差可以进一步求出相关系数(correlation coefficient),相关系数是一个绝对值不大于 1 的常数,它等于 1 意味着两个随机变量满足完全正相关,等于 -1 意味着两者满足完全负相关,等于 0 则意味着两者不相关。需要说明的是,无论是协方差还是相关系数,刻画的都是线性相关的关系。如果随机变量之间的关系满足 Y=X2,这样的非线性相关性就超出了协方差的表达能力。
数理统计
数理统计(mathematical statistics)根据观察或实验得到的数据来研究随机现象,并对研究对象的客观规律做出合理的估计和判断。
- 在数理统计中,可用的资源是有限的数据集合,这个有限数据集被称为样本(sample)。相应地,观察对象所有的可能取值被称为总体(population)。数理统计的任务就是根据样本推断总体的数字特征。样本通常由对总体进行多次独立的重复观测而得到,这保证了不同的样本值之间相互独立,并且都与总体具有相同的分布。
样本均值和样本方差是两个最重要的统计量:
统计推断的基本问题可以分为两大类:参数估计(estimation theory)和假设检验(hypothesis test)。
参数估计
- 参数估计是通过随机抽取的样本来估计总体分布的方法,又可以进一步划分为点估计(point estimation)和区间估计(interval estimation)。在已知总体分布函数形式,但未知其一个或者多个参数时,借助于总体的一个样本来估计未知参数的取值就是参数的点估计。点估计的核心在于构造合适的统计量 ^θ,并用这个统计量的观察值作为未知参数 θ 的近似值。点估计的具体方法包括矩估计法(method of moments)和最大似然估计法(maximum likelihood estimation)。
- 矩估计法的思想在于用样本的 k 阶矩估计总体的 k 阶矩,其理论依据在于样本矩的函数几乎处处收敛于总体矩的相应函数,这意味着当样本的容量足够大时,几乎每次都可以根据样本参数得到相应总体参数的近似值。
- 最大似然估计的直观理解是:既然抽样得到的是已有的样本值,就可以认为取到这一组样本值的概率较大,因而在估计参数 θ 的时候就需要让已有样本值出现的可能性最大。
- 对估计量的判别标准涉及了估计误差的影响,这是和估计值同样重要的参量。在估计未知参数 θ 的过程中,除了求出估计量,还需要估计出一个区间,并且确定这个区间包含 θ 真实值的可信程度。在数理统计中,这个区间被称为置信区间(confidence interval),这种估计方式则被称为区间估计。
假设检验
- 参数估计的对象是总体的某个参数,假设检验的对象则是关于总体的某个论断,即关于总体的假设。
- 从数理统计的角度看,监督学习算法的任务就是在假设空间中搜索能够针对特定问题做出良好预测的假设。学习器通过对测试数据集的学习得到具有普适性的模型,这个模型适用于不属于测试集的新样本的能力被称为泛化能力。显然,泛化能力越强,学习器就越好。
- 假设检验的作用就在于根据学习器在测试集上的性能推断其泛化能力的强弱,并确定所得结论的精确程度,可以进一步推广为比较不同学习器的性能。
泛化误差的构成可以分为三部分:偏差(bias)、方差(variance)和噪声(noise)。
- 偏差表示算法预测值和真实结果之间的偏离程度,刻画的是模型的欠拟合特性;方差表示数据的扰动对预测性能的影响,刻画的是模型的过拟合特性;噪声表示在当前学习任务上能够达到的最小泛化误差,刻画的是任务本身的难度。对任何实际的模型来说,偏差和方差都难以实现同时优化,反映出欠拟合与过拟合之间难以调和的矛盾。
最优化方法
- 最优化理论(optimization)研究的问题是判定给定目标函数的最大值(最小值)是否存在,并找到令目标函数取到最大值(最小值)的数值。
- 实际的最优化算法既可能找到目标函数的全局最小值(global minimum),也可能找到局部极小值(local minimum),两者的区别在于全局最小值比定义域内所有其他点的函数值都小;而局部极小值只是比所有邻近点的函数值都小。
根据约束条件的不同,最优化问题可以分为无约束优化(unconstrained optimization)和约束优化(constrained optimization)两类。无约束优化对自变量 x 的取值没有限制,约束优化则把 x 的取值限制在特定的集合内,也就是满足一定的约束条件。
约束优化
- 线性规划(linear programming)就是一类典型的约束优化,其解决的问题通常是在有限的成本约束下取得最大的收益。约束优化问题通常比无约束优化问题更加复杂,但通过拉格朗日乘子(Lagrange multiplier)的引入可以将含有 n 个变量和 k 个约束条件的问题转化为含有 (n+k) 个变量的无约束优化问题。拉格朗日函数最简单的形式如下
- 式中 f(x,y) 为目标函数,φ(x,y) 则为等式约束条件,λ 是拉格朗日乘数。从数学意义上讲,由原目标函数和约束条件共同构成的拉格朗日函数与原目标函数具有共同的最优点集和共同的最优目标函数值,从而保证了最优解的不变性。
无约束优化
- 求解无约束优化问题最常用的方法是梯度下降法(gradient descent)。直观地说,梯度下降法就是沿着目标函数值下降最快的方向寻找最小值,就像爬山时要沿着坡度最陡的路径寻找山顶一样。在数学上,梯度的方向是目标函数导数(derivative)的反方向。
- 不管是利用一阶导数的梯度下降法,还是利用二阶导数的牛顿法,其寻找最小值点的基本思想都是先确定方向,再确定步长,因而统称为“线性搜索方法”(line search)。
- 找最小值点的基本思路是先确定步长,以步长为参数划定一个区域,再在这个区域内寻找最快下降的方向。这类算法被称为“置信域方法”(trust region)。
- 启发式算法的核心思想就是大自然中 " 优胜劣汰 " 的生存法则,并在算法的实现中添加了选择和突变等经验因素。
信息论
- 信息论使用“信息熵”的概念,对单个信源的信息量和通信中传递信息的数量与效率等问题做出了解释,并在世界的不确定性和信息的可测量性之间搭建起一座桥梁。
- 在信息论中,如果事件 A 发生的概率为 p(A),则这个事件的自信息量的定义为
信源熵
- 根据单个事件的自信息量可以计算包含多个符号的信源的信息熵。信源的信息熵是信源可能发出的各个符号的自信息量在信源构成的概率空间上的统计平均值。如果一个离散信源 X 包含 n 个符号,每个符号 ai 的取值为 p(ai),则 X 的信源熵为
- 信源熵描述了信源每发送一个符号所提供的平均信息量,是信源总体信息测度的均值。当信源中的每个符号的取值概率相等时,信源熵取到最大值 log2n,意味着信源的随机程度最高。
条件熵
- 在概率论中有条件概率的概念,将条件概率扩展到信息论中,就可以得到条件熵。如果两个信源之间具有相关性,那么在已知其中一个信源 X 的条件下,另一个信源 Y 的信源熵就会减小。条件熵 H(Y|X) 表示的是在已知随机变量 X 的条件下另一个随机变量 Y 的不确定性,也就是在给定 X 时,根据 Y 的条件概率计算出的熵再对 X 求解数学期望:
- 条件熵的意义在于先按照变量 X 的取值对变量 Y 进行了一次分类,对每个分出来的类别计算其单独的信息熵,再将每个类的信息熵按照 X 的分布计算其数学期望。
互信息
- 互信息等于 Y 的信源熵减去已知 X 时 Y 的条件熵,即由 X 提供的关于 Y 的不确定性的消除,也可以看成是 X 给 Y 带来的信息增益。互信息这个名称在通信领域经常使用,信息增益则在机器学习领域中经常使用,两者的本质是一样的。
信息增益
- 在机器学习中,信息增益常常被用于分类特征的选择。对于给定的训练数据集 Y,H(Y) 表示在未给定任何特征时,对训练集进行分类的不确定性;H(Y|X) 则表示了使用特征 X 对训练集 Y 进行分类的不确定性。信息增益表示的就是特征 X 带来的对训练集 Y 分类不确定性的减少程度,也就是特征 X 对训练集 Y 的区分度。信息增益更大的特征具有更强的分类能力。
形式逻辑
- 谓词逻辑是最基本的逻辑系统,也是形式逻辑的根本部分。谓词逻辑的一个特例是命题逻辑。在命题逻辑中,命题是逻辑处理的基本单位,只能对其真伪做出判断。
不同的命题之间则可以用逻辑联结词建立联系,由简单命题形成复合命题。按照优先级由高到低排列,逻辑联结词包括以下五种。
- 否定(¬):复合命题 ¬P 表示否定命题 P 的真值的命题,即“非 P” 。
- 合取(∧):复合命题 P∧Q 表示命题 P 和命题 Q 的合取,即“P 且 Q”。
- 析取(∨):复合命题 P∨Q 表示命题 P 或命题 Q 的析取,即“P 或 Q”。
- 蕴涵(→):复合命题 P→Q 表示命题 P 是命题 Q 的条件,即“如果 P,那么 Q”。
- 等价(↔):复合命题 P↔Q 表示命题 P 和命题 Q 相互蕴涵,即“如果 P,那么 Q 且如果 Q,那么 P”。
- 谓词逻辑既可以用于表示事物的概念、状态、属性等事实性知识,也可以用于表示事物间具有确定因果关系的规则性知识。
推理的方式可以分为三种:正向推理、反向推理和双向推理。
- 正向推理采用的是自底向上的方式,即从已知事实出发,通过在规则库中不断选择匹配的规则前件,得到匹配规则的后件,进而推演出目标结论。
- 反向推理采用的是自顶向下的方式,即从目标假设出发,通过不断用规则库中规则的后件与已知事实匹配,选择出匹配的规则前件,进而回溯已知事实。
- 双向推理则是综合利用正向推理和反向推理,使推理从自顶向下和自底向上两个方向进行,直到在某个中间点汇合,这种方式具有更高的效率。