学习的三要素
方法 = 模型 + 策略 + 算法
模 型
所要学习的条件概率分布或决策函数,模型的假设空间包含所有可能的条件概率分布或决策函数。
\(F = \{ ~f~ | ~Y = f(X)~ \}\), \(F = \{ ~f~ | ~Y = f_{\theta}(X), \theta \in R^{n}~ \}\)
条件概率
\(F = \{ ~P~ | ~P(Y~|~X)~ \} \), \(F = \{ ~P~ | ~P_{\theta}(Y~|~X), \theta \in R^{n}~ \}\)
策 略
为了从假设空间中选取最优模型,需要引用一些手段来评估模型。
1)损失函数
损失函数度量模型一次预测的好坏,常用的损失函数有:
1. 0 - 1损失函数(0-1 loss function)
\(L(Y,~f(x)) = \left\{\begin{array}{lcl} {~1, ~Y \neq f(x)~} \\ {~0, ~Y = f(x)~} \end{array} \right \} \)
2. 平方损失函数(quadratic loss function)
\(L(Y,~f(x)) = (Y~-~f(x))^{2}\)
3. 绝对损失函数(absolute loss function)
\(L(Y,~f(x)) = |Y~-~f(x)|\)
4. 对数损失函数(logarithmic loss function)或对数似然损失函数(log-likelihood loss function)
\(L(Y,~f(x)) = -\log P(Y~|~x)\)
2)风险函数
损失函数值越小,模型就越好。由于模型的输入,输出\((X,~Y)\)是随机变量,遵循联合分布\(P(X,~Y)\),所以损失函数的期望是
\(R_{exp}(f) = E_{p}[L(Y,~f(X))] = \int _{x \times y}L(y,~f(x))P(x,~y)dxdy\)
这是理论上模型\(f(x)\)关于联合分布\(P(X,~Y)\)的平均意义下的损失,称为风险函数(risk function)或期望损失(expected loss)。学习的目标就是选择期望风险最小的模型,由于联合分布\(P(Y~|~X)\)是未知的,\(R_{exp}(f)\)不能直接计算。
模型\(f(x)\)关于训练数据集的平均损失称为经验风险(empirical risk)或经验损失(empirical loss),记作\(R_{emp}\):
\(R_{emp}(f) = \frac{1}{N} \sum\limits_{i=1}^{n} L(y_{i},~f(x_{i}))\)
期望风险\(R_{exp}(f)\)是模型关于联合分布的期望损失,经验风险\(R_{emp}(f)\)是模型关于训练样本集的平均损失。根据大数定律,当样本容量N趋于无穷时,经验风险\(R_{emp}f(x)\)趋于期望风险\(R_{exp}f(x)\),所以一个很自然的想法是用经验风险估计期望风险。但是,由于现实中训练样本数目有限甚至很小,所以用经验风险估计期望风险常常并不理想,要对经验风险进行一定的矫正,这就关系到监督学习的两个基本策略:经验风险最小化和结构风险最小化。
3)经验风险最小化
在假设空间,损失函数以及训练数据集确定的情况下,经验风险函数式就可以确定,经验风险最小化(empirical risk minimizatiion, ERM)的策略认为,经验风险最小的模型是最优模型。
\(\min\limits_{f \in F} \frac{1}{N} \sum\limits_{i=1}^{n} L(y_{i},~f(x_{i}))\)
当样本容量是够大时,经验风险最小化能保证有很好的学习效果,在现实中被广泛应用,比如,极大似然估计(maximum likelihood estimation)就是经验风险最小化的一个例子,当模型是条件概率分布,损失函数是对数损失函数时,经验风险最小化就等价于极大似然估计。
但是,当样本容量很小时,经验风险最小化学习的效果就未必很好,会产生“过拟合(over-fitting)”现象。
4)结构化风险最小化
结构化风险最小化(structural risk minimization, SRM)是为了防止过拟合而提出来的策略。结构风险在经验风险上加上表示模型复杂度的正则化项(regularizer)或罚项(penalty term)。在假设空间,损失函数以及训练数据集确定的情况下,结构风险的定义是:
\(R_{srm}(f) = \frac{1}{N} \sum\limits_{i=1}^{n}L(y_{i},~f(x_{i}))~+~ \lambda J(f)\)
其中\(J(f)\)为模型的复杂度,是定义在假设空间 F 上的泛函,模型 f 越复杂,复杂度\(J(f)\)就越大;反之,模型 f 越简单,复杂度\(J(f)\)就越小,也就是说,复杂度表示了对复杂模型的惩罚,\(\lambda \geq 0\)是系数,用以权衡经验风险和模型复杂度,结构风险小需要经验风险与模型复杂度同时小,结构风险小的模型往往对训练数据以及未知的测试数据都有较好的预测。
结构风险最小化的策略认为结构风险最小的模型是最优的模型:
\(\min\limits_{f \in F} \frac{1}{N} \sum\limits_{i=1}^{n}L(y_{i},~f(x_{i}))~+~ \lambda J(f)\)
算 法
算法是指学习模型的具体计算方法,统计学习基于训练数据集,根据学习策略,从假设空间中选择最优模型,最后需要考虑用什么样的计算方式求解最优模型。