【概述】
在 机器学习 中,对机器学习进行了简单的介绍,即机器学习是由模型、策略、算法构成的,可以表示为:方法 = 模型 + 策略 + 算法
对于监督学习来说,处理的是标注数据,数据类型是已知的,知道输出是什么样的,因此,相应的模型、策略、算法是比较具体的
【模型】
在监督学习过程中,模型就是要学习的决策函数或条件概率分布,模型的假设空间中的模型有无穷多个,包含所有可能的决策函数或条件概率分布,一般用 $\mathcal{F}$ 来表示假设空间
决策函数
若假设空间 $\mathcal{F}$ 为决策函数的集合,$X$ 和 $Y$ 是定义在输入空间 $\mathcal{X}$ 和输出空间 $\mathcal{Y}$ 上的变量,则:
而 $\mathcal{F}$ 是由取值于 $n$ 维欧式空间 $\mathbb{R}^n$ 的参数向量 $\boldsymbol{\theta}$ 决定的函数族,即:
对于参数向量 $\boldsymbol{\theta}$ 取值的 $n$ 维欧式空间 $\mathbb{R}^n$,即:$\Theta=\{\boldsymbol{\theta}|\boldsymbol{\theta}\in \mathbb{R}^n\},$通常称为参数空间
条件概率
若假设空间 $\mathcal{F}$ 为条件概率的集合,$X$ 和 $Y$ 是定义在输入空间 $\mathcal{X}$ 和输出空间 $\mathcal{Y}$ 上的随机变量,则:
而 $\mathcal{F}$ 是由取值于 $n$ 维欧式空间 $\mathbb{R}^n$ 的参数向量 $\boldsymbol{\theta}$ 决定的条件概率分布族,即:
对于参数向量 $\boldsymbol{\theta}$ 取值的 $n$ 维欧式空间 $\mathbb{R}^n$,即:$\Theta=\{\boldsymbol{\theta}|\boldsymbol{\theta}\in \mathbb{R}^n\}$,通常称为参数空间
【策略】
在有了模型的假设空间后,接着要考虑的问题是按照什么样的准则去学习或选择最优模型
损失函数
监督学习问题是在假设空间 $\mathcal{F}$ 中选取模型 $f$ 作为决策函数,对于给定的输入 $X$,由决策函数 $f(X;\boldsymbol{\theta})$ 给出相应的输出 $Y$
一个好的模型 $f(X;\boldsymbol{\theta})$ 应该在所有的 $(\mathbf{x},\mathbf{y})$ 的可能取值上都与真实映射函数 $y=g(x)$ 一致,但由于输出的预测值 $f(X;\boldsymbol{\theta})$ 与真实值 $Y$ 可能存在误差,因此需要用一个函数来度量模型预测和真实标签间的差异,这个函数被称为损失函数(Loss Function)或代价函数(Cost Function),其是真实值 $Y$ 与预测值 $f(X;\boldsymbol{\theta})$ 的非负实值函数,记作:$L(Y,f(X;\boldsymbol{\theta}))$
简单来说,损失函数度量了模型一次预测的好坏,损失函数值越小,模型就越好,不同模型采用的损失函数一般不同,常见的损失函数详见:机器学习中常见的损失函数
期望风险
机器学习的目标是选择期望风险最小的模型,即使用期望风险来度量平均意义下模型预测的好坏
模型的输入、输出 $(X,Y)$ 是随机变量,遵循联合分布律 $P(X,Y)$,那么损失函数 $L(Y,f(X;\boldsymbol{\theta}))$ 的期望为:
这是理论上模型 $f(X;\boldsymbol{\theta})$ 关于联合分布 $P(X,Y)$ 的平均意义下的损失,称为期望风险(Expected Risk),又称期望损失(Expected Loss)
事实上,如果知道真实分布 $P(X,Y)$,那就可以从真实分布直接求出条件概率分布 $P(Y|X)$,这样就不需要学习了
但由于真实分布 $P(X,Y)$ 是未知的,期望风险 $R_{exp}(f)$ 无法直接计算,因此监督学习成了一个病态问题(Ill-formed Problem),即一方面要根据期望风险来度量模型从而求得最优模型,另一方面又不知道真实分布
经验风险
将机器学习问题转换为一个优化问题的最简单的方法是通过最小化测试集上的期望风险,这意味着需要用测试集上的经验分布 $\hat{P}(X,Y)$ 替代真实分布 $P(X,Y)$
将给定训练集模型 $f(X;\boldsymbol{\theta})$ 关于测试集的平均损失称为经验风险(Empirical Risk)或经验损失(Empirical Loss),即:
考虑到辛钦大数定律,对于一个样本容量为 $N$ 的测试集 $T=\{(\mathbf{x_1},\mathbf{y_1}),(\mathbf{x_2},\mathbf{y_2}),…,(\mathbf{x_N},\mathbf{y_N})\}$,当 $N$ 趋于无穷时,测试集的损失函数的平均损失依概率收敛到真实分布的期望风险
因此,可以用经验风险 $R_{emp}(f)$ 来估计期望风险 $R_{exp}(f)$,即:
也就是说,经验风险是测试集中 $N$ 个独立随机变量 $(\mathbf{x_i},\mathbf{y_i})$ 的损失函数 $L(\mathbf{y_i},f(\mathbf{x_i};\boldsymbol{\theta}))$ 的均值,期望风险可以看作是经验风险的期望值
但由于训练样本数目有限,效果常常不理想,这就需要对经验风险进行一定的矫正,即风险最小化
关于依概率收敛:
设 $X_1,X_2,…,X_n$ 是相互独立的随机变量序列,$X$ 是一个随机变量,若对任意的 $\varepsilon > 0$,使得下式成立,则称随机变量序列 $X_1,X_2,…,X_n$ 依概率收敛到 $X$
关于辛钦大数定律:
设 $X_1,X_2,…,X_n$ 是相互独立的随机变量序列,服从相同分布,且具有有限的数学期望 $\mu$,则对于任意的 $\varepsilon > 0$,有:
辛钦大数定律从理论上指出:用算术平均值来近似实际真值是合理的,在数理统计中,这一定律使得用算术平均值来估计数学期望有了理论依据
经验风险最小化策略
在假设空间 $\mathcal{F}$、损失函数 $L(Y,f(X;\boldsymbol{\theta}))$、训练数据集 $T$ 确定的情况下,经验风险 $R_{emp}(f)$ 就可以确定
经验风险最小化(Empirical Risk Minimization,ERM)策略认为,经验风险最小的模型即最优模型
根据这一策略,按照经验风险最小化求最优模型,就是求解经验风险最优化问题,即:
在样本容量 $N$ 足够大时,该种方法能够保证很好的学习效果,但通常情况下,无法获取无限的训练样本,且训练样本往往是真实数据的一个很小的子集或包含一定噪声的数据,无法很好地反映全部数据的真实分布,这就容易导致模型在测试集的错误率很低,但在未知数据上的错误率很高,即所谓的过拟合(Over-fitting)现象
结构风险
为防止过拟合现象,又引入了结构风险(Structural Risk),其是在经验风险 $R_{emp}(f)$ 的基础上加上表示模型复杂度的正则化项(Regularizer),即:
其中, $\lambda \geq 0$ 是系数,$J(f)$ 是定义在假设空间 $\mathcal{F}$ 上的泛函数,表示模型的复杂度,模型 $f$ 越复杂, $J(f)$ 就越大,模型 $f$ 越简单,$J(f)$ 就越小,常用的有 L1 范数、L2 范数
在上面这个式子中,复杂度 $J(f)$ 可以理解为对复杂模型的惩罚,系数 $\lambda$ 用来控制正则化强度,以此权衡经验风险和模型复杂度
结构风险最小化策略
结构风险最小化(Structural Risk Minimization,SRM)策略等价于正则化(Regularization),其认为结构风险最小的模型是最优模型,因此求解最优模型,就是求解结构风险最优化问题,即:
此时,结构风险 $R_{str}(f)$ 就是最优化的目标函数,监督学习的优化问题就转换为了结构风险的优化问题
【算法】
统计学习基于训练集,根据学习策略,从假设空间中选择最优模型,最后需要考虑用什么样的算法求解最优模型,而最后一步的算法,就是指学习模型的具体计算方法
在引入经验风险最小化和结构风险最小化后,监督学习问题就变成了最优化问题,此时经验风险函数或结构风险函数就是最优化的目标函数
此时算法就称为了求解最优化问题的算法,如果优化问题存在解析解,那么通过严格的公式即可求得,但大多数情况下解析解不存在,此时就要用数值计算的方法(如梯度下降法),来求解近似解