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))Tx = (x^{(1)},x^{(2)},x^{(i)},...x^{(n)})^Tx=(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个,即
xi=(xi(1),xi(2),xi(i),...xi(n))Tx_i = (x_i^{(1)},x_i^{(2)},x_i^{(i)},...x_i^{(n)})^Txi​=(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))2L(Y,f(X)) = (Y-f(X))^2L(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))=−logP(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)是未知的,Rexp(F)R_{exp}(F)Rexp​(F)不能直接计算。实际上,如果知道联合分布P(X,Y),可以从联合分布直接求出条件概率分布P(Y|X),也就不需要学习了。正因为不知道联合概率分布,所以才需要进行学习,这样一来,一方面根据期望风险最小学习模型要用到联合分布,另一方面联合分布又是未知的,所以监督学习就称为一个病态问题。
给定一个训练数据集
T=(x1,y1),(x2,y2),...(xn,yn)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),记作:

Rexp(f)=1N∑i=1nL(yi,f(xi))R_{exp}(f) = \frac{1}{N}\sum^n_{i=1}L(y_i,f(x_i))Rexp​(f)=N1​∑i=1n​L(yi​,f(xi​))

期望风险Rexp(f)R_{exp}(f)Rexp​(f)是模型关于联合分布的期望损失,经验风险Remp(f)R_{emp}(f)Remp​(f)是模型关于训练样本集的平均损失。根据大数定律,当样本容量N趋于无穷时,经验风险Remp(f)R_{emp}(f)Remp​(f)趋于期望风险Rexp(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)。在假设空间、损失函数以及训练数据集确定的情况下,

结构风险的定义是:

Rsrm(f)=1N∑i=1NL(yi,f(xi))+λ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=1N​L(yi​,f(xi​))+λJ(f)

其中j(f)j(f)j(f)为模型的复杂度,是定义在假设空间F上的泛函,模型f越复杂,复杂度J(f)就越大;反之,模型f越简单,复杂度J(f)就越小。也就是说,复杂度表示了对复杂模型的惩罚。λ≥0\lambda \geq 0λ≥0是系数,用以权衡经验风险和模型复杂度。结构风险小需要经验风险与模型复杂度同时小。结构风险小的模型往往对训练数据以及未知的测试数据都有较好的预测。
比如,贝叶斯估计中的最大后验概率估计(MAP)就是结构风险最小化的一个例子,当模型是条件概率分布、损失函数是对数损失函数、模型复杂度由模型的先验概率表示时,结构风险最小化就等价于最大后验概率估计。
结构风险最小化的策略认为结构风险最小的模型是最优的模型,所以求最优模型,就是求解最优化问题:
minf∈F1N∑i=1NL(Yi,f(xi))+λJ(f)min_{f\in F} \frac{1}{N}\sum^N_{i=1}L(Y_i,f(x_i))+ \lambda J(f)minf∈F​N1​∑i=1N​L(Yi​,f(xi​))+λJ(f)
这样,监督学习问题就变成了经验风险或结构风险函数的最优化问题,这时经验或结构风险函数是最优化的目标函数。

2.3.算法

算法是指学习模型的具体计算方法。统计学习基于训练数据集,根据学习策略,从假设空间中选择最优模型,最后需要考虑用什么样的计算方法求解最优模型。
这时,统计学习问题归结为最优化问题,统计学习的算法成为求解最优化问题的算法,如果最优化问题有明显的解析解,这个最优化问题就比较简单,但通常解析解不存在,这就需要用数值计算的方法求解,如何保证找到全局最优解,并使求解过程非常搞笑,就称为一个重要问题,统计学可以利用已有的最优化算法,有时也需要开发独自的最优化算法。
统计学习方法之间的不同,主要来自其模型、策略、算法的不同。确定了模型、策略、算法,统计学习的方法也就确定了,这也就是将其称为统计学习三要素的原因。

3.模型评估与模型选择

3.1训练误差与测试误差

假设学习到的模型是Y=f^(X)Y=\hat f(X)Y=f^​(X),训练误差是模型Y=f^(X)Y=\hat f(X)Y=f^​(X)关于训练数据集的平均损失:

Remp(f^)=1N∑i=1NL(yi,f^(xi))R_{emp}(\hat f) = \frac{1}{N}\sum^N_{i=1}L(y_i,\hat f(x_i))Remp​(f^​)=N1​∑i=1N​L(yi​,f^​(xi​))

其中N是训练样本容量。
测试误差是模型Y=f^(X)Y=\hat f(X)Y=f^​(X)关于测试数据集的平均损失:

etest=1N′∑i=1N′L(yi,f^(xi))e_{test} = \frac{1}{N'}\sum^{N'}_{i=1}L(y_i,\hat f(x_i))etest​=N′1​∑i=1N′​L(yi​,f^​(xi​))

其中N’是测试样本容量。
例如,当损失函数是0-1损失时,测试误差就变成了常见的测试数据集上的误差率(error rate)

etest=1N′∑i=1N′I(yi̸=f^(xi))e_{test} = \frac{1}{N'}\sum^{N'}_{i=1}I(y_i \not=\hat f(x_i))etest​=N′1​∑i=1N′​I(yi​̸​=f^​(xi​))

这里I是指示函数(indicator function),即y̸=f^(xi)y \not= \hat f(x_i)y̸​=f^​(xi​)时为1,否则为0.相应地,常见的测试数据集上的准确率(accuracy)为

rtest=1N′∑i=1N′I(yi=f^(xi))r_{test} = \frac{1}{N'}\sum^{N'}_{i=1}I(y_i =\hat f(x_i))rtest​=N′1​∑i=1N′​I(yi​=f^​(xi​))

显然,rtest+etest=1r_{test} + e_{test} = 1rtest​+etest​=1
训练误差的大小,对判断给定的问题是不是一个容易学习的问题是有意义的,但本质上不重要,测试误差反映了学习方法对未知的测试数据集的预测能力,是学习中的重要概念。显然,给定两种学习方法,测试误差小的方法具有更好的预测能力,是更有效的方法。通常将学习方法对未知数据的预测能力称为泛化能力(generalization ability)。

3.2过拟合与模型选择

下面,以多项式函数拟合问题为例,说明过拟合与模型选择:
这是一个回归问题,假设给定一个训练数据集:
T=(x1,y1),(x2,y2),...(xn,yn)T = {(x_1,y_1),(x_2,y_2),...(x_n,y_n)}T=(x1​,y1​),(x2​,y2​),...(xn​,yn​)
其中,xi∈Rx_i \in Rxi​∈R是输入x的观测值,yi∈Ry_i \in Ryi​∈R是相应的输出y的观测值,i=1,2,。。。N。多项式函数拟合的任务时假设给定数据由M次多项式函数生成,选择最有可能产生这些数据的M次多项式函数,即在M次多项式函数中选择一个对已知数据以及未知数据都有很好预测能力的函数。
假设给定如下图所示的10个数据点,用0~9次多项式函数对数据进行拟合,图中画出了需要使用多项式函数曲线拟合的数据:

设M次多项式为:

式中x是单变量输入,w0,w1,。。wm是M+1个参数
解决这一问题的方法可以是这样的,首先确定模型复杂度,即确定多项式的次数;然后在给定的模型复杂度下,按照经验风险最小化的策略,求解参数,即多项式的系数,具体地,求以下经验风险最小化:

L(w)=12∑i=1N(f(xi,w)−yi)2L(w) = \frac{1}{2} \sum{^N_{i=1}}(f(x_i,w)-y_i)^2L(w)=21​∑i=1N​(f(xi​,w)−yi​)2 (1.18)

这时,损失函数为平方损失,系数二分之一是为了计算方便,这是一个简单的最优化问题,将模型与训练数据代入式(1.18)中,有
L(w)=12∑i=1N(∑j=0Mwjxij−yi)2L(w) = \frac{1}{2}\sum{^N_{i=1}}(\sum{^M_{j=0}w_jx_i^j -y_i})^2L(w)=21​∑i=1N​(∑j=0M​wj​xij​−yi​)2
对wjw_jwj​求偏导数并令其为0,可得:

wj=∑i=1Nxiyi∑i=1Nxi(j+1),j=0,1,2,...,Mw_j = \frac{\sum{^N_{i=1}x_iy_i}}{\sum{^N_{i=1}x_i^{(j+1)}}},j=0,1,2,...,Mwj​=∑i=1N​xi(j+1)​∑i=1N​xi​yi​​,j=0,1,2,...,M

于是求得拟合多项式系数w0∗,w1∗,...wM∗w_0^*,w_1^*,...w_M^*w0∗​,w1∗​,...wM∗​
上图中给出了M=0,M=1,M=3及M=9时多项式函数拟合的情况,如果M=0,多项式曲线是一个常数,数据拟合效果很差。如果M=1,多项式曲线是一条直线,数据拟合效果也很差,相反,如果M=9,多项式曲线通过没个数据点,训练误差为0.从对给定训练数据拟合的角度来说,效果是最好的。但是,因为训练数据本身存在噪音,在实际学习中并不可取,这时过拟合现象就会发生,这就是说,模型选择时,不仅要考虑对已知数据的预测能力,而且还要考虑对未知数据的预测能力,当M=3时,多项式曲线对训练数据拟合效果足够好,模型也比较简单,是一个较好的选择。
在多项式函数拟合中可以看到,随着多项式次数(模型复杂度)的增加,训练误差会减小,直至趋向于0,但是测试误差却不如此,它会随着多项式次数(模型复杂度)的增加先减小而后增大,而最终的目的是使测试误差达到最小,这样,在多项式函数拟合中,就要选择合适的多项式次数,以达到这一目的。这一结论对一般的模型选择也是成立的。
下图描述了训练误差和测试误差与模型的复杂度之间的关系:

如上图,当模型的复杂度增大时,训练误差会逐渐减小并趋向于0;而测试误差会先减小,达到最小值后又增大。当选择的模型复杂度过大时,过拟合现象就会发生,这样,在学习时就要防止过拟合,进行最优的模型选择,即选择复杂度适当的模型,以达到使测试误差最小的学习目的。下面介绍两种常用的模型选择方法:正则化与交叉验证。

4.正则化与交叉验证

4.1正则化

模型选择的典型方法是正则化(regularization)。正则化是结构风险最小化策略的实现,是在经验风险上加一个正则化项(regularizer)或罚项(penalty term)正则化项一般是模型复杂度的单调递增函数,模型越复杂,正则化值越大,比如,正则化可以使模型参数向量的范数。
正则化一般具有如下形式:

其中,第一项是经验风险,第二项是正则化项,λ≥0\lambda \ge 0λ≥0为调整两者之间关系的系数。
正则化项可以取不同的形式,例如,回归问题中,损失函数是平方损失,正则化项可以是参数向量的L2L_2L2​范数:
L(w)=1N∑i=1N(f(xi;w)−yi)2+λ2∣∣w∣∣2L(w) = \frac{1}{N}\sum{^N_{i=1}}(f(x_i;w)-y_i)^2 + \frac{\lambda}{2} ||w||^2L(w)=N1​∑i=1N​(f(xi​;w)−yi​)2+2λ​∣∣w∣∣2
这里,||w||表示参数向量w的L2范数。
正则化项也可以是参数向量的L1范数:
L(w)=1N∑i=1N(f(xi;w)−yi)2+λ2∣∣w∣∣1L(w) = \frac{1}{N}\sum{^N_{i=1}}(f(x_i;w)-y_i)^2 + \frac{\lambda}{2} ||w||_1L(w)=N1​∑i=1N​(f(xi​;w)−yi​)2+2λ​∣∣w∣∣1​
这里,||w||1表示参数向量w的L1范数。

4.2交叉验证

另一种常用的模型选择方法是交叉验证法(cross validation)

交叉验证的基本思想:

交叉验证的基本思想是重复地使用数据,把给定的数据进行切分,将切分的数据集组合为训练集与测试集,在此基础上反复地进行训练、测试以及模型选择。
1.简单交叉验证:
简单交叉验证的方法是:首先随机地将已给数据分为两部分,一部分作为训练集,另一部分作为测试集(例如,70%的数据为训练集,30%的数据为测试集),然后用训练集在各种条件下(例如,不同的参数个数)训练模型,从而得到不同的模型;在测试集上评价各个模型的测试误差,选出测试误差最小的模型。
2.S折交叉验证
莹莹最多的S着交叉验证(S-fold cross validation),方法如下:
首先随机地将已给数据切分为S个互不相交的大小相同的子集;然后利用S-1个子集的数据训练模型,利用余下的子集测试模型;将这一过程对可能的S种选择重复进行;最后选出S次评测中平均测试误差最小的模型。
3.留一交叉验证
S折交叉验证的特殊情形是S=N,称为留一交叉验证(leave-one-out cross validation),往往在数据缺乏的情况下使用。这里N,是给定数据集的容量。

5.泛化能力

5.1泛化误差

学习方法的泛化能力(generalization ability)是指由该方法学习到的模型对未知数据的预测能力,是学习方法本质上重要的性质。现实中采用最多的办法是通过测试误差来评价学习方法的泛化能力。但这种评价是依赖于测试数据集的,因为测试数据集是有限的,很有可能由此得到的评价结果是不可靠的。统计学习理论试图从理论上对学习方法的泛化能力进行分析。
首先给出泛化误差的定义,如果学到的模型是f^\hat ff^​,那么用这个模型对未知数据预测的误差即为泛化误差(generalization error)

Rexp(f^)=Ep[L(Y,f^(X))]=∫x∗yL(y,f^(x))P(x,y)dxdyR_{exp}(\hat f) = E_p[L(Y,\hat f(X))] = \int _{x*y}L(y,\hat f(x))P(x,y)dxdyRexp​(f^​)=Ep​[L(Y,f^​(X))]=∫x∗y​L(y,f^​(x))P(x,y)dxdy (1.20)

泛化误差反映了学习方法的泛化能力,如果一种方法学习的模型比另一种方法学习的模型具有更小的泛化误差,那么这种方法就更有效。事实上,泛化误差就是所学习到的模型的期望风险。

5.2 泛化误差上界

学习方法的泛化能力分析往往是通过研究泛化误差的概率上界进行的,简称泛化误差上界(generalization error bound),具体来说,就是通过比较两种学习方法的泛化误差上界的大小来比较它们的优劣,泛化误差上界通常具有以下性质:它是样本容量的函数,当样本容量增加时,泛化上界趋于0;它是假设空间容量(capacity)的函数,假设空间容量越大,模型就越难学,泛化误差上界就越大。
下面给出一个简单的泛化误差上界的例子:二分类问题的泛化误差上界。
考虑二分类问题,已知训练数据集T=(x1,y1),(x2,y2),...,(xN,yN)T={(x_1,y_1),(x_2,y_2),...,(x_N,y_N)}T=(x1​,y1​),(x2​,y2​),...,(xN​,yN​)
,它是从联合概率分布P(X,Y)独立同分布产生的,X∈Rn,Y∈−1,+1X \in R^n,Y \in {-1,+1}X∈Rn,Y∈−1,+1.假设空间是函数的有限集合F={f1,f2,…,fd},d是函数个数,设f是从F中选取的函数,损失函数是0-1损失。关于f的期望风险和经验风险分别是:

R(f)=E[L(Y,f(X))]R(f) = E[L(Y,f(X))]R(f)=E[L(Y,f(X))] (1.21)
R^(f)=1N∑i=1NL(yi,f(xi))]\hat R(f) = \frac{1}{N} \sum{^N_{i=1}}L(y_i,f(x_i))]R^(f)=N1​∑i=1N​L(yi​,f(xi​))] (1.22)

经验风险最小化函数是

fn=argminf∈FR^(f)f_n=\mathop{argmin}\limits_{f\in F} \hat R(f)fn​=f∈Fargmin​R^(f)

人们更关心的是fNf_NfN​的泛化能力
R(fN)=E[L(Y,fn(X))]R(f_N) = E[L(Y,f_n(X))]R(fN​)=E[L(Y,fn​(X))]
下面讨论从有限集合
F=f1,f2,...,fdF = {f_1,f_2,...,f_d}F=f1​,f2​,...,fd​中任意选出的函数f的泛化误差上界。

定理1.1(泛化误差上界):

对二分类问题,当假设空间是有限个函数的集合F=f1,f2,...,fdF = {f_1,f_2,...,f_d}F=f1​,f2​,...,fd​时,对任意一个函数f∈Ff \in Ff∈F,至少以概率1−δ1-\delta1−δ,以下不等式成立:

R(f)≤R^(f)+ε(d,N,δ)R(f) \le \hat R(f)+ \varepsilon(d,N,\delta)R(f)≤R^(f)+ε(d,N,δ) (1.25)

其中,

ε(d,N,δ)=12N(logd+log1δ)\varepsilon(d,N,\delta) = \sqrt{\frac{1}{2N}(log d+log\frac{1}{\delta})}ε(d,N,δ)=2N1​(logd+logδ1​)​ (1.26)

不等式(1.25)左端R(f)R(f)R(f)是泛化误差,右端即为泛化误差上界,在泛化误差上界中,第1项是训练误差,训练误差越小,泛化误差也越小。第二项ε(d,N,δ)\varepsilon(d,N,\delta)ε(d,N,δ)是N的单调递减函数,当N趋近于无穷大时趋于0;同时它也是logd\sqrt{logd}logd​阶的函数,假设空间F包含的函数越多,其值越大。

证明

在证明中要用到Hoeffding不等式,先叙述如下:
设Sn=∑i=1nXiS_n=\sum{^n_{i=1}}X_iSn​=∑i=1n​Xi​是独立随机变量X1,X2,...XnX_1,X_2,...X_nX1​,X2​,...Xn​之和,Xi∈[ai,bi]X_i \in[a_i,b_i]Xi​∈[ai​,bi​],则对任意t>0,以下不等式成立:

对任意函数f∈F,R^(f)f \in F,\hat R(f)f∈F,R^(f)是N个独立的随机变量L(Y,f(X))的样本均值,R(f)R(f)R(f)是随机变量L(Y,f(X))的期望值,如果损失函数取值于区间[0,1],即对所有i,[ai,bi]=[0,1],i,[a_i,b_i]=[0,1],i,[ai​,bi​]=[0,1],那么由Hoeffding不等式(1.28)不难得知,对ε>0,\varepsilon>0,ε>0,以下不等式成立:

其中,ε(d,N,δ)\varepsilon(d,N,\delta)ε(d,N,δ)由式(1.26)定义,fNf_NfN​由式(1.23)定义,这就是说,训练误差小的模型,其泛化误差也会小。
以上讨论的只是假设空间包含有限个函数情况下的泛化误差上界,对一般的假设空间要找到泛化误差就没有这么简单。

6.生成模型与判别模型

监督学习的任务就是学习一个模型,应用这一模型,对给定的输入预测相应的输出。这个模型的一般形式为决策函数:

Y=f(X)Y=f(X)Y=f(X)

或者条件概率分布:

P(Y|X)

监督学习方法又可以分为生成方法(generative approach)和判别方法(discriminative approach)所学到的模型分别称为生成模型(generative model)和判别模型(discriminative model)
生成方法由数据学习联合概率分布P(X,Y),然后求出条件概率分布P(Y|x)作为预测的模型,即生成模型:
P(y∣X)=P(X,Y)P(X)P(y|X) = \frac{P(X,Y)}{P(X)}P(y∣X)=P(X)P(X,Y)​
这样的方法之所有称为生成方法,是因为模型表示了给定输入X产生输出Y的生成关系。

典型的生成模型有:

朴素贝叶斯法和隐马尔可夫模型,将在后面章节进行相关讲述。
判别方法由数据直接学习决策函数发f(X)或者条件概率分布P(Y|X)作为预测的模型,即为判别模型。判别方法关心的是对给定的输入X,应该预测什么样的输出Y。

典型的判别模型包括:

k近邻法、感知机、决策树、逻辑斯谛回归模型、最大熵模型、支持向量机、提升方法和条件随机场等。

生成方法的特点:

生成方法可以还原出联合概率分布P(X,Y),而判别方法则不能;生成方法的学习收敛速度更快,即当样本容量增加的时候,学到的模型可以更快地收敛于真实模型;当存在隐变量时,仍可以用生成方法学习,此时判别方法就不能用。

判别方法的特点:

判别方法直接学习的是条件概率P(Y|X)或决策函数f(X),直接面对预测,往往学习的准确率更高;由于直接学习P(Y|X)或f(X),可以对数据进行各种程度上的抽象、定义特征并使用特征,因此可以简化学习问题。

7.分类问题

分类是监督学习的一个核心问题,在监督学习中,当输出变量Y取有限个离散值时,预测问题便成为分类问题。这时,输入变量X可以是离散的,也可以是连续的。监督学习从数据中学习一个分类模型或分类决策函数,称为分类器(classifier)。分类器对新的输入进行输出的预测(prediction),称为分类(classification)。可能的输出称为类(class)。分类的类别为多个时,称为多分类问题。我们主要讨论二分类问题。
分类问题包括学习和分类两个过程,在学习过程中,根据已知的训练数据集利用有效的学习方法学习一个分类器;在分类过程中,利用学习的分类器对新的输入实例进行分类。分类问题可用下图描述:

图中学习系统由训练数据学习一个分类器P(Y|X)或Y=f(X);分类系统通过学到的分类器P(Y|X)或Y=f(X)对新的输入实例xN+1x_{N+1}xN+1​进行分类,即预测其输出的类标记yN+1y_{N+1}yN+1​
评价分类器性能的指标一般是分类准确率(accuracy),其定义是:对于给定的测试数据集,分类器正确分类的样本数与总体样本数之比,也就是损失函数是0-1损失时测试数据集上的准确率
对于二类分类问题常用的评价指标是精确率(precision)与召回率(recall)通常以关注的类为正类,其他类为负类,分类器在测试数据集上的预测或正确或不正确,4种情况出现的总数分别记作:
TP——将正类预测为正类数;
FN——将正类预测为负类数;
FP——将负类预测为正类数;
TN——将负类预测为负类数。

精确率定义为:P=TPTP+FPP = \frac{TP}{TP+FP}P=TP+FPTP​
召回率定义为:R=TPTP+FNR = \frac{TP}{TP+FN}R=TP+FNTP​

此外,还有F1F_1F1​值,是精确率和召回率的调和均值,即

2F1=1P+1R\frac{2}{F_1}=\frac{1}{P}+\frac{1}{R}F1​2​=P1​+R1​
F1=2TP2TP+FP+FNF_1=\frac{2TP}{2TP+FP+FN}F1​=2TP+FP+FN2TP​

精确率和召回率都高时,F1F_1F1​值也会高。
许多统计学习方法可以用于分类,包括k近邻法、感知机、朴素贝叶斯法、决策树、决策列表、逻辑斯谛回归模型、支持向量机、提神方法、贝叶斯网络、神经网络、Winnow等。
分类在于根据其特性将数据“分门别类”,所以在许多领域都有广泛的应用。例如,在银行业务中,可以构建一个客户分类模型,对客户按照贷款风险的大小进行分类;在网络安全领域,可以利用日志数据的分类对非法入侵进行检测;在图像处理中,分类可以用来检测图像中是否有人脸出现;在手写识别中,分类可以用于识别手写的数字;在互联网搜索中,网页的分类可以帮助网页的抓取、索引与排序。

8.标注问题

标注(tagging)也是一个监督学习问题,可以认为标注问题是分类问题的一个推广,标注问题又是更复杂的结构预测(structure prediction)问题的简单形式。标注问题的输入是一个观测序列,输出是一个标记序列或状态序列。标注问题的目标在于学习一个模型,使它能够对观测序列给出标记序列作为预测。注意,可能的标记个数是有限的,但其组合所成的标记序列的个数是依序列长度呈指数级增长的。
标注问题分为学习和标注两个过程,如下图所示:

首先给定一个训练数据集,这里xi=(xi(1),xi(2),...,xi(n))T,i=1,2,...,N,x_i=(x_i^{(1)},x_i^{(2)},...,x_i^{(n)})^T,i=1,2,...,N,xi​=(xi(1)​,xi(2)​,...,xi(n)​)T,i=1,2,...,N,是输入观测序列,yi=(yi(1),yi(2),...,yi(n))Ty_i=(y_i^{(1)},y_i^{(2)},...,y_i^{(n)})^Tyi​=(yi(1)​,yi(2)​,...,yi(n)​)T是相应的输出标记序列,n是序列的长度,对不同样本可以有不同的值。学习系统基于训练数据集构建一个模型,表示为条件概率分布:
P(Y(1),Y(2),Y(n)∣X(1)X(2),...,X(n))P(Y^{(1)},Y^{(2)},Y^{(n)}|X^{(1)}X^{(2)},...,X^{(n)})P(Y(1),Y(2),Y(n)∣X(1)X(2),...,X(n))
这里,每一个X(i)(i=1,2,...,n)X^{(i)} (i=1,2,...,n)X(i)(i=1,2,...,n)取值为所有可能的观测,每一个Y(i)(i=1,2,...,n)Y^{(i)}(i=1,2,...,n)Y(i)(i=1,2,...,n)取值为所有可能的标记,一般n≤Nn \le Nn≤N。标注系统按照学习得到的条件概率分布模型,对新的输入观测序列找到相应的输出标记序列。具体地,对一个观测序列xN+1=(xN+1(1),xN+1(2),...,xN+1(n))Tx_{N+1}=(x^{(1)}_{N+1},x^{(2)}_{N+1},...,x^{(n)}_{N+1})^TxN+1​=(xN+1(1)​,xN+1(2)​,...,xN+1(n)​)T找到条件概率P((yN+1(1),yN+1(2),...,yN+1(n))T∣(xN+1(1),xN+1(2),...,xN+1(n))T))P((y^{(1)}_{N+1},y^{(2)}_{N+1},...,y^{(n)}_{N+1})^T|(x^{(1)}_{N+1},x^{(2)}_{N+1},...,x^{(n)}_{N+1})^T))P((yN+1(1)​,yN+1(2)​,...,yN+1(n)​)T∣(xN+1(1)​,xN+1(2)​,...,xN+1(n)​)T))
的最大标记序列yN+1=(yN+1(1),yN+1(2),...,yN+1(n))Ty_{N+1}=(y^{(1)}_{N+1},y^{(2)}_{N+1},...,y^{(n)}_{N+1})^TyN+1​=(yN+1(1)​,yN+1(2)​,...,yN+1(n)​)T
评价标注模型的指标与评价分类模型的指标一样,常用的有标注准确率、精确率和召回率。其定义与分类模型相同。
标注常用的统计学习方法有:隐马尔可夫模型、条件随机场。
标注问题在信息抽取、自然语言处理等领域被广泛应用,是这些领域的基本问题。例如,自然语言处理中的词性标注(part of speech tagging)就是一个典型的标注问题:给定一个由单词组成的句子,对这个句子中的每一个单词进行词性标注,即对一个单词序列预测其对应的词性标记序列。
举一个信息抽取的例子,从英文文章中抽取基本名词短语(base nounphrase)为此,要对文章进行标注,英文单词是一个观测,英文句子是一个观测序列,标记表示名词短语的“开始”、“结束”或“其他”(分别以B,E,O表示),标记序列表示英文句子中基本名词短语的所在位置。信息抽取时,将标记“开始”到标记“结束”的单词作为名词短语。例如,给出以下的观测序列,即英文句子,标注系统产生相应的标记序列,即给出句子中的基本名词短语。

9.回归问题

回归(regression)是监督学习的另一个重要问题,回归英语预测输入变量(自变量)和输出变量(因变量)之间的关系,特别是输入变量的值发生变化时,输出变量的值随之发生的变化。回归模型正是表示从输入变量到输出变量之间映射的函数。回归问题的学习等价于函数拟合:
选择一条函数曲线使其很好地拟合已知数据且很好地预测未知数据。
回归问题分为学习和预测两个过程,如下图:

首先给定一个训练数据集,学习系统基于训练数据构建一个模型,即函数Y=f(X);对于新的输入xN+1x_{N+1}xN+1​,预测系统根据学习的模型Y=f(X)确定相应的输出yN+1y_{N+1}yN+1​
回归问题按照输入变量的个数,分为一元回归和多元回归;按照输入变量和输出变量之间关系的类型即模型的类型,分为线性回归和非线性回归。
回归学习最常用的损失函数是平方损失函数,在此情况下,回归问题可以由著名的最小二乘法(least squares)求解。
许多领域的任务都可以形式化为回归问题,比如,回归可以用于商务领域,作为市场趋势预测、产品质量管理、客户满意度调查、投资风险分析的工具。作为例子,简单介绍股价预测问题。假设知道某一公司在过去不同时间点(比如,每天)的市场上的股票价格,可以将这个问题作为回归问题解决,具体地,将影响股价的信息视为自变量(输入的特征),而将股价视为因变量(输出的值)。将过去的数据作为训练数据,就可以学习一个回归模型,并对未来的股价进行预测,可以看出这是一个困难的预测问题,因为影响股价的因素非常多,我们未必能判断到哪些信息(输入特征)有用并能得到这些信息。

《统计学习方法》第1章 课后题
1.1 说明伯努利模型的极大似然估计以及贝叶斯估计中的统计学习方法三要素。伯努利模型是定义在取值为0与1的随机变量上的概率分布。假设观测到伯努利模型n次独立的数据生成结果,其中k次的结果为1,这时可以用极大似然估计或贝叶斯估计来估计结果为1的概率。

解:
三要素分别是模型、策略、算法。
模型:伯努利模型,即定义在取值为0与1的随机变量上的概率分布。
策略:极大似然估计和贝叶斯估计的策略都是对数损失函数,只不过贝叶斯估计使用的是结构风险最小化。
算法:极大似然估计所使用的算法是求取经验风险函数的极小值,贝叶斯估计所使用的算法是求取参数的后验分布,然后计算其期望。

1.2 原题:通过经验最小化推导极大似然估计,证明模型是条件概率分布,当损失函数是对数损失函数时,经验最小化等价于极大似然估计。

统计学习方法第一章:概述相关推荐

  1. 统计学习方法 第一章 学习心得

    统计学习方法 第一章 学习心得 以下可能有不当之处,请各位朋友停步指正,先谢过各位. 上一帖子说道,统计学习方法的三要素: 模型.策略.算法. 模型:模型的假设空间 策略:模型的选择准则,即:定义最优 ...

  2. 笔记-统计学习方法-第一章01

    一.学习的定义: 赫尔伯特·西蒙:如果一个系统能够通过执行某个过程改进它的性能,这就是学习. Tom Mitchell ,机器学习:计算机程序可以在给定某种类别的任务 T 和性能度量 P 下学习经验 ...

  3. 统计学习方法 第一章 学习笔记

    假设空间:P5,介绍:监督学习的目的在于找到最好的模型,这个模型即是由输入空间到输出空间的映射的集合,这个集合就是假设空间(hypothesis space).假设空间的确定意味着学习范围的确定. 监 ...

  4. 统计学习方法第一章笔记——统计学习方法概论

    1 统计学习 1.1 统计学习的基本假设   假设同类数据具有一定的统计规律性,即数据具有某种共同性质. 1.2 统计学习的目的   统计学习用于对数据进行预测与分析,特别是新数据的预测与分析. 1. ...

  5. 第一章 概述_TCP-IP

    第一章 概述 [TCP/IP 详解] 1.1体系结构原则 Internet 体系结构在几个目标的指导下建立的.在 [C88] 中,描述的首要目标是 "发展一种重复利用已有的互联网络的技术&q ...

  6. 数字图像处理:第一章 概述

    第一章 概述 数字图象处理是一门关于如何用计算机对图象进行处理的学科,本课程主要讲解基本原理和方法,针对计算机系的学生,强调编程实践和建立图象处理应用系统的方法.推荐的教材与图象编程参考书包括: R. ...

  7. Linux基础第一章 概述

    第一章 概述 1.1 前言 本章讨论系统的概念,从硬件.操作系统角度更加深刻的理解计算机系统,并快速浏览Linux系统提供的服务. 1.2 系统组成 1.3 操作系统和应用程序 操作系统这个词语有二意 ...

  8. 《Abaqus GUI程序开发指南(Python语言)》——第一章 概述1.1 简单插件实例——创建带孔板有限元模型...

    本节书摘来自异步社区<Abaqus GUI程序开发指南(Python语言)>一书中的第1章,第1.1节,作者: 贾利勇 , 富琛阳子 , 贺高 , 周正光 更多章节内容可以访问云栖社区&q ...

  9. 通信系统概论_现代通信系统概论 第一章 概述(1)

    2020年,又开始上一门新课!!! 喜欢挑战! 让同学们开阔知识是本课程的主要目的! 本课程讲解导航.遥控遥测等军用尖端技术和数字电话.广播电视.综合信息网.多媒体宽带网等现代民用技术. 通信在过去分 ...

  10. 计算机网络课程优秀备考PPT之第一章概述(一)

    为了记录自己从2016.9~2017.1的<计算机网络>助教生涯,也为了及时梳理和整写笔记! 以上,是<计算机网络>课程的第一章概述. 本文转自大数据躺过的坑博客园博客,原文链 ...

最新文章

  1. XGBoost调参技巧(二)Titanic实战Top9%
  2. android相对布局底部对齐,Android,在edittext中输入时防止相对布局底部对齐的按钮向上移动...
  3. 微型计算机储存数据的基本单位是,计算机储存和处理数据的基本单位是什么
  4. [转载]C#中MessageBox.Show用法以及VB.NET中MsgBox用法
  5. 将null转换成数组_把数组里面的值为 null 的转换为字符串 - - ,你们的方法都是什么呢?...
  6. 如何用Python批量修改文件名?
  7. win32开发(窗口类和窗口)
  8. 2020 年了,不知道这些还怎么做区块链工程师?
  9. 武汉市公积金提取流程
  10. 项目管理(pm)-净现值
  11. cython 安装升级_浅尝Kivy
  12. 判断Linux环境是否装了NCCL,Ubuntu 16.04安装NCCL 2
  13. 弘辽科技:淘宝店铺出现异常,卖家该如何应对?要注意些什么?
  14. 【硬件基础】舵机基础知识
  15. Labview项目---制作复利计算器
  16. 二分法实例应用(一)
  17. 【8. Redis 的设计、实现】
  18. 对两种类型的蘑菇图像进行识别与分类——使用SVM分类器(matlab)
  19. SOPHON sail.Decoder无法正常解码rtsp流(使用ffmpeg和opencv可以正常解码)
  20. 2020.5.16普及C组 airship【纪中】【暴力:巧妙】

热门文章

  1. iOS使用masonry快速将一组view在superview中等宽排列
  2. Windows驱动签名解决方案
  3. 德国外交部为何放弃Linux而改用XP?
  4. 【渝粤教育】电大中专跨境电子商务理论与实务 (32)作业 题库
  5. Java多维数组length
  6. linux-网卡名字说明_基本网络配置_修改MTU值
  7. day3.python基础中下
  8. (上篇)中国金融体系主要指标大全
  9. Koo叔说Shader-Unity中的Shader
  10. NEO智能合约开发(二)再续不可能的任务