统计学习方法

【注】学习笔记参考自《统计学习方法第二版》——李航。

1. 简介

统计学习方法由三要素构成,即:方法=模型+策略+算法。

2. 模型

统计学习首要考虑的问题是学习什么样的模型。在监督学习中,模型就是所有要学习的条件概率分布或决策函数。模型的假设空间包含所有可能的条件概率分布或决策函数。

  • 假设空间用 F\mathcal{F} 表示,可以定义为决策函数的集合:

F={fY=fθ(X),θRn}\begin{array}{c} \mathcal{F} = \{ f | Y = f_{\theta}(X), \theta \in \boldsymbol{R}^n \} \end{array}

其中,XXYY 是定义在输入空间 X\mathcal{X} 和输出空间 Y\mathcal{Y} 上的变量,F\mathcal{F} 是由参数向量 θ\theta 决定的函数族,参数向量 θ\theta 取值于 nn 维欧氏空间 Rn\boldsymbol{R}^n,称为参数空间。

  • 假设空间也可以定义未条件概率的集合:

F={PPθ(YX),θRn}\begin{array}{c} \mathcal{F} = \{ P | P_{\theta}(Y|X), \theta \in \boldsymbol{R}^n \} \end{array}

其中,XXYY 是定义在输入空间 X\mathcal{X} 和输出空间 Y\mathcal{Y} 上的随机变量,F\mathcal{F} 是由参数向量 θ\theta 决定的条件概率分布族,参数向量 θ\theta 取值于 nn 维欧氏空间 Rn\boldsymbol{R}^n,称为参数空间。

3. 策略

3.1 损失函数和风险函数

损失函数度量模型一次预测的好坏,风险函数度量平均意义下模型预测的好坏。

  • 损失函数/代价函数:监督学习问题是在假设空间 F\mathcal{F} 中选取模型 ff 作为决策函数,对于给定的输入 XX, 由 f(X)f(X) 给出相应的输出 YY。损失函数是 f(X)f(X)YY 的非负实值函数,记作 L(Y,f(X))L(Y, f(X))

统计学习常用的损失函数有以下几种:

  1. 0011 损失函数

L(Y,f(X))={1Yf(X)0Y=f(X)\begin{array}{c} L(Y,f(X)) = \begin{cases} 1 & Y \neq f(X) \\ 0 & Y = f(X) \end{cases} \end{array}

  1. 平方损失函数

L(Y,f(X))=(Yf(X))2\begin{array}{c} L(Y,f(X)) = (Y - f(X))^2 \end{array}

  1. 绝对损失函数

L(Y,f(X))=Yf(X)\begin{array}{c} L(Y,f(X)) = |Y - f(X)| \end{array}

  1. 对数损失函数

L(Y,P(YX))=logP(YX)\begin{array}{c} L(Y,P(Y|X)) = -\log P(Y|X) \end{array}

  • 风险函数/期望损失:损失函数的期望是

Rexp(f)=EP[L(Y,f(X))]=X×YL(y,f(x))P(x,y)dxdy\begin{array}{c} R_{exp}(f) = E_P [L(Y,f(X))] = \int_{\mathcal{X} \times \mathcal{Y}} L(y,f(x)) P(x,y) \mathrm{d}x \mathrm{d}y \end{array}

这是理论上模型 f(X)f(X) 关于联合分布 P(X,Y)P(X,Y) 的平均意义下的损失,称为风险函数或期望损失。

  • 经验风险/经验损失:给定一个训练数据集 T={(x1,y1),(x2,y2),,(xN,yN)}T = \{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\},模型 f(X)f(X) 关于训练集的平均损失称为经验风险或经验损失,记作 RempR_{emp}

Remp(f)=1Ni=1NL(yi,f(xi))\begin{array}{c} R_{emp}(f) = \frac{1}{N} \sum_{i=1}^N L(y_i, f(x_i)) \end{array}

期望风险 Rexp(f)R_{exp}(f) 是模型关于联合分布的期望损失,经验风险 Remp(f)R_{emp}(f) 是模型关于训练样本集的平均损失。根据大数定律,当样本容量 NN 趋于无穷时,经验风险 Remp(f)R_{emp}(f) 趋于期望风险 Rexp(f)R_{exp}(f)。但由于现实中训练样本数目有限,所以用经验风险估计期望风险常常并不理想,要对经验风险进行一定的矫正。即经验风险最小化和结构风险最小化。

3.2 经验风险最小化与结构风险最小化

  • 经验风险最小化(ERM):该策略认为,经验风险最小的模型就是最优模型。根据这一策略,按照经验风险最小化求最优模型就是求解最优化问题:

minfF1Ni=1NL(yi,f(xi))\begin{array}{c} \mathrm{min}_{f \in \mathcal{F}} \frac{1}{N} \sum_{i=1}^N L(y_i,f(x_i)) \end{array}

其中,F\mathcal{F} 是假设空间。

当样本容量足够大时,经验风险最小化能保证有很好的学习效果,在现实中被广泛采用。但当样本容量很小时,经验风险最小化学习的效果就未必很好,会产生「过拟合」现象。

  • 结构风险最小化(SRM):该策略是为了防止过拟合而提出的,其等价于正则化。结构风险在经验风险上加上表示模型复杂都的正则化项或惩罚项:

Rsrm(f)=1Ni=1NL(yi,f(xi))+λJ(f)\begin{array}{c} R_{srm}(f) = \frac{1}{N} \sum_{i=1}^N L(y_i,f(x_i)) + \lambda J(f) \end{array}

其中,J(f)J(f) 为模型的复杂度,是定义在假设空间 F\mathcal{F} 上的泛函。模型 ff 越复杂,复杂度 J(f)J(f) 就越大;反之,模型 ff 越简单,复杂度 J(f)J(f) 就越小。λ0\lambda \geq 0 是系数,用以权衡经验风险和模型复杂度,结构风险小需要经验风险与模型复杂度同时小。

结构风险小的模型往往对训练数据以及未知的测试数据都有较好的预测。

4. 算法

算法是指学习模型的具体计算方法。统计学习基于训练数据集,根据学习策略,从假设空间中选择最优模型,最后考虑用什么样的计算方法求解最优模型。此时,统计学习问题归结为最优化问题,统计学习的算法成为求解最优化问题的算法。

  • 如果最优化问题有显示的解析解,则这个最优化问题就可以直接求解。
  • 通常解析解不存在,这时就要用数值计算的方法进行求解。