1.监督学习基本概念
1.1输入空间、特征空间与输出空间
在监督学习中,将输入与输出所有可能取值的集合分别称为输入空间(input space)与输出空间(output space)。输入与输出空间可以是有限元素的集合,也可以是整个欧式空间。输入空间与输出空间可以是同一个空间,也可以是不同的空间;但通常输出空间远远小于输入空间。
每个具体的输入是一个实例(instance),通常由特征向量(feature vector)表示,这时,所有特征向量存在的空间称为特征空间(feature space)。特征空间的每一维对应于一个特征。有时假设输入空间与特征空间为相同的空间,对它们不予区分;有时假设输入空间与特征空间为不同的空间,将实例从输入空间映射到特征空间。模型实际上都是定义在特征空间上的。
在监督学习过程中,将输入与输出看作是定义在输入(特征)空间与输出空间上的随机变量的取值。输入、输出变量用大写字母表示,习惯上输入变量写作X,输出变量写作Y。输入、输出变量所取的值用小写字母表示,输入变量的取值写作x,输出变量的取值写作y,变量可以是标量或向量,都用相同类型字母表示。除特别声明外,本书中向量均为列向量,输入实例x的特征向量记作
x = ( x ( 1 ) , x ( 2 ) , x ( i ) , . . . x ( n ) ) T x = (x^{(1)},x^{(2)},x^{(i)},...x^{(n)})^T x=(x(1),x(2),x(i),...x(n))T
x ( i ) x^{(i)} x(i)表示x的第i个特征,注意, x ( i ) x^{(i)} x(i)与 x ( i ) x_{(i)} x(i)不同,本书通常用 x ( i ) x_{(i)} x(i)表示多个输入变量中的第i个,即
x i = ( x i ( 1 ) , x i ( 2 ) , x i ( i ) , . . . x i ( n ) ) T x_i = (x_i^{(1)},x_i^{(2)},x_i^{(i)},...x_i^{(n)})^T xi=(xi(1),xi(2),xi(i),...xi(n))T
监督学习从训练数据(training data)集合中学习模型,对测试数据(test data)进行预测,训练数据由输入(或特征向量)与输出对组成,训练集通常表示为:
测试数据也由相应的输入与输出对组成,输入与输出对又称为样本(sample)或样本点。
输入变量X和输出变量Y有不同的类型,可以是连续的,也可以是离散的。人们根据输入、输出变量的不同类型,对预测任务给予不同的名称:输入变量与输出变量均为连续变量的预测问题称为回归问题;输出变量为有限个离散变量的预测问题称为分类问题;输入变量与输出变量均为变量序列的预测问题称为标注问题。
1.2.联合概率分布
监督学习假设输入与输出的随机变量X和Y遵循联合概率分布P(X,Y)。P(X,Y)表示分布函数,或分布密度函数。注意,在学习过程中,假定这一联合概率分布存在,但对学习系统来说,联合概率分布的具体定义是未知的,训练数据与测试数据被看作是依联合概率分布P(X,Y)独立同分布产生的。统计学习假设数据存在一定的统计规律,X和Y具有联合概率分布的假设就是监督学习关于数据的基本假设。
1.3.假设空间
监督学习的目的在于学习一个由输入到输出的映射,这一映射由模型来表示。模型属于由输入空间到输出空间映射的集合,这个集合就是假设空间(hypothesis space),假设空间的确定意味着学习范围的确定。
2.统计学习三要素
统计学习方法都是由模型、策略和算法构成的,即统计学习方法由三要素构成,可以简单地表示为:
方法 = 模型+策略+算法
2.1模型
模型是统计学习首要考虑的问题,在监督学习过程中,模型就是所要学习的条件概率分布或决策函数。模型的假设空间(hypothesis space)包含所有可能的条件概率分布或决策函数。例如,假设决策函数是输入变量的线性函数,那么模型的假设空间就是所有这些线性函数构成的函数集合。
2.2策略
首先引入损失函数和风险函数的概念,损失函数度量模型一次预测的好坏,风险函数度量平均意义下模型预测的好坏。
1.损失函数和风险函数
监督学习问题是假设空间F中选取模型f作为决策函数,对于给定的输入X,由f(X)给出相应的输出Y,这个输出的预测值f(X)与真实值Y可能一致也可能不一致,用一个损失函数(loss function)或代价函数(cost function)来度量预测错误的程度,损失函数是f(X)和Y的非负实值函数,记作L(Y,f(X)).
统计学习常用的损失函数有以下几种:
(1) 0-1损失函数(0-1 loss function)
L ( Y , f ( X ) ) = { 1 , Y ≠ f ( x ) 0 , Y = f ( X ) L(Y,f(X)) = \begin{cases} 1, Y \neq f(x) \\ 0, Y = f(X) \end{cases} L(Y,f(X))={ 1,Y̸=f(x)0,Y=f(X)
(2)平方损失函数(quadratic loss function)
L ( Y , f ( X ) ) = ( Y − f ( X ) ) 2 L(Y,f(X)) = (Y-f(X))^2 L(Y,f(X))=(Y−f(X))2
(3)绝对损失函数(absolute loss function)
L ( Y , f ( X ) ) = ∣ Y − f ( X ) ∣ L(Y,f(X)) = |Y-f(X)| L(Y,f(X))=∣Y−f(X)∣
(4)对数损失函数(logarithmic loss function)或对数似然损失函数(log likelihood loss function)
L ( Y , P ( Y ∣ X ) ) = − l o g P ( Y ∣ X ) L(Y,P(Y|X)) = -logP(Y|X) L(Y,P(Y∣X))=−logP(Y∣X)
损失函数值越小,模型就越好,由于模型的输入、输出(X,Y)是随机变量,遵循联合分布P(X,Y),所以损失函数的期望是:
这是理论上模型f(X)关于联合分布P(X,Y)的平均意义下的损失,称为风险函数(risk function)或期望损失(expected loss)
学习的目标就是选择期望风险最小的模型,由于联合分布P(X,Y)是未知的, R e x p ( F ) R_{exp}(F) Rexp(F)不能直接计算。实际上,如果知道联合分布P(X,Y),可以从联合分布直接求出条件概率分布P(Y|X),也就不需要学习了。正因为不知道联合概率分布,所以才需要进行学习,这样一来,一方面根据期望风险最小学习模型要用到联合分布,另一方面联合分布又是未知的,所以监督学习就称为一个病态问题。
给定一个训练数据集
T = ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . ( x n , y n ) T = {(x_1,y_1),(x_2,y_2),...(x_n,y_n)} T=(x1,y1),(x2,y2),...(xn,yn)
模型f(X)关于训练数据集的平均损失称为
经验风险(empirical risk)或经验损失(empirical loss),记作:
R e x p ( f ) = 1 N ∑ i = 1 n L ( y i , f ( x i ) ) R_{exp}(f) = \frac{1}{N}\sum^n_{i=1}L(y_i,f(x_i)) Rexp(f)=N1∑i=1nL(yi,f(xi))
期望风险 R e x p ( f ) R_{exp}(f) Rexp(f)是模型关于联合分布的期望损失,经验风险 R e m p ( f ) R_{emp}(f) Remp(f)是模型关于训练样本集的平均损失。根据大数定律,当样本容量N趋于无穷时,经验风险 R e m p ( f ) R_{emp}(f) Remp(f)趋于期望风险 R e x p ( f ) R_{exp}(f) Rexp(f),所以一个很自然的想法是用经验风险估计期望风险。但是,由于现实中训练样本数目有限,甚至很小,所以用经验风险估计期望风险常常并不理想,要对经验风险进行一定的矫正,这就关系到监督学习的两个基本策略:经验风险最小化和结构风险最小化。
2.经验风险最小化与结构风险最小化
在假设空间、损失函数以及训练数据确定的情况下,经验风险函数式(1.10)就可以确定,经验风险最小化(empirical risk minimization,ERM)的策略认为,经验风险最小的模型是最优的模型,根据这一策略,按照经验风险最小化求最优模型就是求解最优化问题:
其中F是假设空间,
当样本容量足够大时,经验风险最小化能保证有很好的学习效果,在现实中被广泛采用。比如,极大似然(maximum likelihood estimation)就是经验风险最小化的一个例子。当模型是条件概率分布,损失函数是对数损失函数时,经验风险最小化就等价于极大似然估计。
但是,当样本容量很小时,经验风险最小化学习的效果就未必很好,会产生后面将要叙述的“过拟合”现象。
结构风险最小化(structural risk minimization,SRM)是为了防止过拟合而提出来的策略,结构风险最小化等价于正则化(regularization)。结构风险在经验风险上加上表示模型复杂度的正则化项(regularization)或罚项(penalty term)。在假设空间、损失函数以及训练数据集确定的情况下,
结构风险的定义是:
R s r m ( f ) = 1 N ∑ i = 1 N L ( y i , f ( x i ) ) + λ J ( f ) R_{srm}(f) = \frac{1}{N}\sum^N_{i=1}L(y_i,f(x_i)) + \lambda J(f) Rsrm(f)=N1∑i=1NL(yi,f(xi))+λJ(f)
其中 j ( f ) j(f) j(f)为模型的复杂度,是定义在假设空间F上的泛函,模型f越复杂,复杂度J(f)就越大;反之,模型f越简单,复杂度J(f)就越小。也就是说,复杂度表示了对复杂模型的惩罚。 λ ≥ 0 \lambda \geq 0 λ≥0是系数,用以权衡经验风险和模型复杂度。结构风险小需要经验风险与模型复杂度同时小。结构风险小的模型往往对训练数据以及未知的测试数据都有较好的预测。
比如,贝叶斯估计中的最大后验概率估计(MAP)就是结构风险最小化的一个例子,当模型是条件概率分布、损失函数是对数损失函数、模型复杂度由模型的先验概率表示时,结构风险最小化就等价于最大后验概率估计。
结构风险最小化的策略认为结构风险最小的模型是最优的模型,所以求最优模型,就是求解最优化问题:
m i n f ∈ F 1 N ∑ i = 1 N L ( Y i , f ( x i ) ) + λ J ( f ) min_{f\in F} \frac{1}{N}\sum^N_{i=1}L(Y_i,f(x_i))+ \lambda J(f) minf∈FN1∑