机器学习理论基础
机器学习模型
定义 (非正式的机器学习理论)
令 和 为可测空间. 在机器学习过程中,给定数据集合 的一个子集和损失函数 . 我们希望能够选出一个假设集(hypothesis set) 并设定一个学习算法,也就是一个映射
它接受一组数据 并找到一个模型 ,使得它在训练数据 上“表现良好”,且能够“泛化”到所有数据 上. 这里的“表现良好”通过损失函数 和对应的取值 来刻画,而“泛化”,不严谨地讲就是 对所有 内数据和 外数据的“表现”是相近的.
在这个定义中, 表示模型的输入空间,每个可能的输入 构成其中的一个点; 代表模型的输出空间,每个可能的输出 构成其中的一个点. 表示所有从 到 的可测映射,但是由于模型的结构限制,模型无法将所有的可测映射表示出来,所有模型能够表示的映射构成 的子集 . 这个集合 中的每一个点 都表示一个特定的模型,或者说模型的一种参数取法.
在学习过程中,我们还需要一些数据,这些数据会通过一些方式转化为多组输入和输出,用以对模型进行训练. 比如对于预测任务来说,每个数据就是一对输入和输出的二元组 . 假设所有可能的数据构成的数据空间为 ,每个可能的数据 构成其中的一个点. 那么一个包含 个数据的数据集可以表示为 .
模型学习就是依据给定的数据集 去挑选合适的模型 的过程. 在挑选的过程中,我们需要损失函数
来表示一个模型 在给定数据 下的“表现”. 依据损失函数 ,就可以设定学习算法了. 学习算法就是一个映射
其接受一个任意大小的数据集 并得到一个选定的模型 ,也就是一般意义下训练好的模型.
定义 (预测任务)
在预测任务中,我们有 ,也就是说每组数据具有 的形式. 每组数据包含模型的输入 和对应的标签 .
特别地,对于 的一维回归任务,可以设定方差损失函数 . 对于 的二元分类任务,可以设定 0-1 损失函数 . 同时假设模型的输入空间是欧氏空间,也就是说 ,其中 .
在预测任务中,对于每组数据 ,我们希望得到的模型 能够对 做出预测,且做出的预测 与 相近.
人们经常将很多半监督或者无监督学习任务转化为预测任务. 确切地说,我们会设计转化映射 ,将训练数据 转化为 和 . 这样,我们的训练过程就是寻找一个模型 逼近变换 .
另外,我们也有密度估计任务,也就是让 ,且 由 上的所有可能的 -有限测度 诱导的概率密度函数构成. 这时学习的目标是找到一个概率密度函数 使得其尽量逼近一个特定的 -有限测度 所诱导的概率密度函数. 如果想要 -逼近,可以选取损失函数为 ;如果想要最大似然估计,可以选取 .
神经网络
在实践中假设集 主要包括神经网络结构的实现 . 其中的 代表神经网络, 为神经网络的结构, 为神经网络在结构 下的参数空间,也即所有可能的参数构成的集合,而其中的一个元素 代表一组可能取到的参数.
下文主要研究的是全连接前向(Fully Connected Feedforward, FC)神经网络结构.
定义 (全连接前向神经网络)
一个全连接神经网络结构可以描述为 ,其中 为层数, 为每层的神经元数量, 为激活函数. 这样, 就表示输入层, 表示输出层,而 表示隐藏层. 所有参数的数量可以表示为
从而定义神经网络的实现为
对每个输入 和参数
有 ,其中
这里 是逐项施加的. 称 和 是第 层的权重矩阵和偏置向量, 和 为第 层的激活值和未激活值. 称 为网络的宽度, 为网络的深度. 如果 ,称网络结构是深的;如果 ,称网络结构是浅的.
以下如无特殊说明,所有神经网络(Neural Network, NN)均指全连接前向神经网络.
需要说明的是,自然映射 不是单射,也就是说,可能会有参数不同的神经网络,它们代表着同一个模型. 比如说令最后一层的 ,那么 ,此时前面层数的参数取值变得无关紧要.
定义 (神经网络的假设集)
给定神经网络结构 ,且 . 对于回归任务,假设集就是
对于分类任务,假设集就是
机器学习策略
在给定神经网络下我们能够表示出其假设集,接下来就可以设计学习策略,选取假设集中的一个特定映射. 以下介绍的经验风险最小化(Empirical Risk Minimization, ERM)算法就是这样一个例子.
定义 (经验风险)
取定训练数据 和映射 ,定义经验风险为
所谓经验风险,通俗地讲就是对已知数据的所有误差作平均.
定义 (ERM 学习算法)
对于假设集 和训练数据 ,ERM 算法 选取 中使经验风险 最小的一项 . 也就是
在以上定义中,我们武断地认为 是可以取到的,这是为了简便起见. 我们可以假设 是一个紧的拓扑空间,而 是连续的,这样就一定可以取到最小值了. 要达到这样的条件,将参数空间设定为一个紧集 ,并设激活函数 连续即可.
在分类任务中,我们需要对不可导函数 做最优化. 这时实际的假设集为 ,但是一般使用对应回归任务的假设集 进行学习,并找到一个解 来最小化
其中 是替代损失函数(Surrogate Loss),这个函数的选取要保证 满足
一个常见的选取方法是 Logistic 损失
这个损失函数也可以看作标签 和模型输出 的交叉熵.
在很多学习任务中通常还会在最终的损失中加入正则项,比如加入参数范数带来的惩罚,如
其中 是正则化参数. 在这种情况下,最终选取的模型还和具体参数有关系,而不仅由实现函数 决定.
样本
在样本的选取上,我们假设 和隐藏数据(unseen data) 都取样于独立同分布的随机变量 . 记 是随机变量 在 上的像测度.
定义 (风险(Risk))
对于映射 ,定义其风险为
定义 ,那么模型 的风险就是
那么,对于二分类问题而言,我们就得到
定义 (贝叶斯最优函数)
映射 能达到的最小风险称为贝叶斯风险,也即
此时取到的映射 称为贝叶斯最优函数.
定理 (回归和分类任务的风险分解)
对于 的回归任务,风险可以分解为
此时贝叶斯最优函数为 .
对于分类任务,风险可以分解为
对应的贝叶斯最优函数,或者贝叶斯分类器为 .