第一章 统计学习部分概念

本文深入探讨统计学习的核心概念,包括损失函数、风险函数、经验风险最小化与结构风险最小化策略,以及模型评估与选择的方法。通过解析生成模型与判别模型的区别,帮助读者理解如何构建有效的学习模型。

《 统计学习方法》笔记
统计学习中需要掌握的概念
一、损失函数
统计学习常用的损失函数
(1)(1)(1) 0−10-101损失函数 L(Y,f(X))={1,Y≠f(X)0,Y=f(X)L(Y, f(X))=\left\{\begin{array}{ll}{1,} & {Y \neq f(X)} \\ {0,} & {Y=f(X)}\end{array}\right.L(Y,f(X))={1,0,Y̸=f(X)Y=f(X) (2)(2)(2) 平方损失函数L(Y,f(X))=(Y−f(X))2L(Y, f(X))=(Y-f(X))^{2}L(Y,f(X))=(Yf(X))2 (3)(3)(3)绝对损失函数L(Y,f(X))=∣Y−f(X)∣L(Y, f(X))=|Y-f(X)| L(Y,f(X))=Yf(X) (4)(4)(4)对数损失函数或对数似然损失函数 L(Y,P(Y∣X))=−log⁡P(Y∣X)L(Y, P(Y | X))=-\log P(Y | X) L(Y,P(YX))=logP(YX)

损失函数度量模型一次预测的好坏,而风险函数度量平均意义下模型预测的好坏。损失函数是预测值f(X)f(X)f(X)和真实值YYY的非负实值函数,记作L(Y,f(X))L(Y,f(X))L(Y,f(X)),损失函数值越小,模型就越好。
1、风险函数或期望损失
由于模型的输入、输出(X,Y)(X,Y)(X,Y)是随机变量,遵循联合分布P(X,Y)P(X,Y)P(X,Y),所以损失函数的期望是Rexp(f)=EP[L(Y,f(X))]=∫X×YL(y,f(x))P(x,y)dxdy R_{\mathrm{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 Rexp(f)=EP[L(Y,f(X))]=X×YL(y,f(x))P(x,y)dxdy这是理论上模型f(X)f(X)f(X)关于联合分布P(X,Y)P(X,Y)P(X,Y)的平均意义下的损失,称为风险函数或期望损失
2、经验风险或经验损失
给定一个训练数据集 T={(x1,y1),(x2,y2),⋯ ,(xN,yN)} T=\left\{\left(x_{1}, y_{1}\right),\left(x_{2}, y_{2}\right), \cdots,\left(x_{N}, y_{N}\right)\right\} T={(x1,y1),(x2,y2),,(xN,yN)}模型f(X)f(X)f(X)关于训练数据集的平均损失称为经验风险(empirical risk)或经验损失(empirical loss),记作RempR_{emp}Remp:Remp(f)=1N∑i=1NL(yi,f(xi)) R_{\mathrm{emp}}(f)=\frac{1}{N} \sum_{i=1}^{N} L\left(y_{i}, f\left(x_{i}\right)\right) Remp(f)=N1i=1NL(yi,f(xi))期望风险Rexp(f)R_{exp}(f)Rexp(f)是模型关于联合分布的期望损失,经验风险Remp(f)R_{emp}(f)Remp(f)是模型关于训练样本集的平均损失。根据大数定律,当样本容量趋于无穷时,经验风险Remp(f)R_{emp}(f)Remp(f)趋于期望风险Rexp(f)R_{exp}(f)Rexp(f)
因此用经验风险Remp(f)R_{emp}(f)Remp(f)去估计期望风险Rexp(f)R_{exp}(f)Rexp(f),但由于现实中训练样本数目有限,甚至很小,所以估计并不理想,要对经验风险进行一定的矫正,这就涉及到监督学习的两个基本策略:经验风险最小化和结构风险最小化。
二、经验风险最小化和结构风险最小化
1、经验风险最小化
经验风险最小化(empirical risk minimization,ERM)的策略认为,经验风险最小化的模式是最优的模型。根据这一策略,按照经验风险最小化求最优模型就是求解最优化模型:min⁡f∈F1N∑i=1NL(yi,f(xi)) \min _{f \in \mathcal{F}} \frac{1}{N} \sum_{i=1}^{N} L\left(y_{i}, f\left(x_{i}\right)\right) fFminN1i=1NL(yi,f(xi))其中,F\mathcal{F}F是假设空间
当样本容量足够大时,经验风险最小化能保证有很好的学习效果,在现实中被广泛采用.极大似然估计(maximum likelihood estimation)就是经验风险最小化的一个例子,当模型是条件概率分布,损失函数是对数损失函数时,经验风险最小化就等价于极大似然估计。当样本量很小时,经验风险最小化学习的效果未必很好,会产生“过拟合(over-fitting)”现象。过拟合问题往往是由于训练数据少和噪声以及模型能力强等原因造成的。
2、结构风险最小化
结构风险最小化(structural risk minimization,SRM)是为了防止过拟合而提出来的策略,结构风险最小化等价于正则化(regularization).结构风险在经验风险上加上表示模型复杂度的正则化项(regularizer)或罚项(penalty term),在假设空间、损失函数以及训练数据集确定的情况下,结构风险的定义是Rsrm(f)=1N∑i=1NL(yi,f(xi))+λJ(f) R_{\mathrm{srm}}(f)=\frac{1}{N} \sum_{i=1}^{N} L\left(y_{i}, f\left(x_{i}\right)\right)+\lambda J(f) Rsrm(f)=N1i=1NL(yi,f(xi))+λJ(f)其中J(f)J(f)J(f)为模型的复杂度,是定义在假设空间F\mathcal{F}F上的泛函。模型fff越复杂,复杂度J(f)J(f)J(f)就越大,复杂度表示了对复杂模型的惩罚。λ⩾0\lambda \geqslant 0λ0是系数,用以权衡经验风险和模型复杂度。结构风险小需要经验风险与模型复杂度同时小。
结构风险小的模型往往对训练数据以及未知的测试数据都有较好的预测。如贝叶斯估计中的最大后验概率估计就是结构风险最小化的一个例子。当模型是条件概率分布、损失函数是对数损失函数、模型复杂度由模型的先验概率表示时,结构风险最小化就等价于最大后验概率估计。
结构风险最小化的策略认为结构风险最小的模型是最优的模型。所以就是求解最优化问题:min⁡f∈F1N∑i=1NL(yi,f(xi))+λJ(f) \min _{f \in \mathcal{F}} \frac{1}{N} \sum_{i=1}^{N} L\left(y_{i}, f\left(x_{i}\right)\right)+\lambda J(f) fFminN1i=1NL(yi,f(xi))+λJ(f)
三、模型评估与模型选择
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_{\mathrm{emp}}(\hat{f})=\frac{1}{N} \sum_{i=1}^{N} L\left(y_{i}, \hat{f}\left(x_{i}\right)\right) Remp(f^)=N1i=1NL(yi,f^(xi))其中NNN是训练样本容量
测试误差是模型Y=f^(X)Y=\hat{f}(X)Y=f^(X)关于测试数据集的平均损失:etest=1N′∑i=1N′L(yi,f^(xi)) e_{\mathrm{test}}=\frac{1}{N^{\prime}} \sum_{i=1}^{N^{\prime}} L\left(y_{i}, \hat{f}\left(x_{i}\right)\right) etest=N1i=1NL(yi,f^(xi))其中N′N^{'}N是训练样本容量
如果一味追求提高对训练数据的预测能力,所选模型的复杂度往往会比真模型高,这种现象称为过拟合(over-fitting)。过拟合是指学习时选择的模型所包含的参数过多,以至于出现这一模型对已知数据预测得很好,但对未知数据预测得很差的现象。
与过拟合相反的是欠拟合,即模型不能很好地拟合训练数据,在训练集的错误率比较高。欠拟合一般是由于模型能力不足造成的。
训练误差和测试误差之间的关系
训练误差和测试误差与模型的复杂度之间的关系,当模型的复杂度增大时,训练误差会逐渐减小并趋于000;而测试误差会先减小,达到最小值后又增大。当选择的模型复杂度过大时,过拟合现象就会发生。这样在学习时要防止过拟合,进行最优的模型选择,即选择复杂度适当的模型,以达到使测试误差最小的学习目的

图片名称

2、模型选择方法
两种常用的模型选择方法:正则化与交叉验证
模型选择的典型方法是正则化(regularization),正则化是结构风险最小化策略的实现,是在经验风险上加一个正则化项(regularizer)或罚项(penalty term).正则化项一般是模型复杂度的单调递增函数,模型越复杂,正则化值就越大,比如正则化项可以是模型参数向量的范数
正则化一般具有如下形式:min⁡f∈F1N∑i=1NL(yi,f(xi))+λJ(f) \min _{f \in \mathcal{F}} \frac{1}{N} \sum_{i=1}^{N} L\left(y_{i}, f\left(x_{i}\right)\right)+\lambda J(f) fFminN1i=1NL(yi,f(xi))+λJ(f)其中,第一项是经验风险,第二项是正则化项,λ⩾0\lambda \geqslant 0λ0为调整两者之间关系的系数.
正则化符合奥卡姆剃刀(Occam’s razor)原理。奥卡姆剃刀原来应用于模型选择变为以下想法:在所有可能选择的模型中,能够很好地解释已知数据并且十分简单才是最好的模型,也就是应该选择的模型。从贝叶斯估计的角度看,正则化项对应于模型的先验概率,可以假设复杂的模型有较大的先验概率,简单的模型有较小的先验概率。
交叉验证
交叉验证(cross validation)—另一种常用的模型选择方法。训练集用来训练模型,验证集用于模型的选择,测试集用于最终对学习方法的评估。在学习到的不复杂度的模型中,选择对验证集有最小预测误差的模型,由于验证集有足够多的数据,用它对模型进行选择也是有效的。
在许多实际应用中数据是不充足的,为了选择好的模型,可以采用交叉验证方法,交叉验证的基本想法是重读地使用数据:把给定的数据进行切分,将切分的数据集组合为训练集与测试集,在此基础上反复地进行训练、测试以及模型选择。
1、简单交叉验证:随机地将已给数据分为两部分,一部分作为训练集,另一部分作为测试集;然后用训练集在各种条件下训练模型,从而得到不同的模型;在测试集上评价各个模型的测试误差,选处测试误差最小的模型。
2、SSS交叉验证
首先随机地将已给数据切分为SSS个互不相交的大小相同的子集;然后利用S−1S-1S1个子集的数据训练模型,利用余下的子集测试模型;将这一过程对可能的SSS种选择重复进行;最后选出SSS次评测中平均测试误差最小的模型。
3、留一交叉验证
SSS交叉验证的特殊情形是S=NS=NS=N,称为留一交叉验证,往往在数据缺乏的情况下使用。

四、泛化能力
学习方法的泛化能力是指由该方法学习到的模型对未知数据的预测能力。
1、泛化误差
如果学到的模型是f^\hat{f}f^,那么用这个模型对未知数据预测的误差即为泛化误差(generalization error)Rexp⁡(f^)=EP[L(Y,f^(X))]=∫x×yL(y,f^(x))P(x,y)dxdy R_{\exp }(\hat{f})=E_{P}[L(Y, \hat{f}(X))]=\int_{x \times y} L(y, \hat{f}(x)) P(x, y) \mathrm{d} x \mathrm{d} y Rexp(f^)=EP[L(Y,f^(X))]=x×yL(y,f^(x))P(x,y)dxdy泛化误差反映了学习方法的泛化能力。
学习方法的泛化能力分析往往是通过研究泛化误差的概率上界进行的,简称为泛化误差上界(generalization error bound)
考虑二分问题的泛化误差上界。
二分问题中, fff的期望风险和经验风险分别为:R(f)=E[L(Y,f(X))] R(f)=E[L(Y, f(X))] R(f)=E[L(Y,f(X))]R^(f)=1N∑i=1NL(yi,f(xi)) \hat{R}(f)=\frac{1}{N} \sum_{i=1}^{N} L\left(y_{i}, f\left(x_{i}\right)\right) R^(f)=N1i=1NL(yi,f(xi))经验风险最小化函数是fN=arg⁡min⁡f∈FR^(f) f_{N}=\arg \min _{f \in \mathcal{F}} \hat{R}(f) fN=argfFminR^(f) fNf_NfN的泛化能力R(fN)=E[L(Y,fN(X))] R\left(f_{N}\right)=E\left[L\left(Y, f_{N}(X)\right)\right] R(fN)=E[L(Y,fN(X))]下面关于从有限集合F={f1,f2,⋯ ,fd}\mathcal{F}=\left\{f_{1}, f_{2}, \cdots, f_{d}\right\}F={f1,f2,,fd}中任意选出的函数fff的泛化误差上界
定理 (泛化误差上界)对二分问题,当假设空间是有限个函数的集合F={f1,f2,⋯ ,fd}\mathcal{F}=\left\{f_{1}, f_{2}, \cdots, f_{d}\right\}F={f1,f2,,fd}时,对任意一个函数f∈Ff \in \mathcal{F}fF,至少以概率1−δ1-\delta1δ,以下不等式成立:
R(f)⩽R^(f)+ε(d,N,δ)(1) R(f) \leqslant \hat{R}(f)+\varepsilon(d, N, \delta) \qquad(1) R(f)R^(f)+ε(d,N,δ)(1)其中,ε(d,N,δ)=12N(log⁡d+log⁡1δ)(2) \varepsilon(d, N, \delta)=\sqrt{\frac{1}{2 N}\left(\log d+\log \frac{1}{\delta}\right)} \qquad(2) ε(d,N,δ)=2N1(logd+logδ1)(2)
不等式(1)(1)(1)左端R(f)R(f)R(f)是泛化误差,右端即为泛化误差上界。在泛化误差上界中,第111项是训练误差,训练误差越小,泛化误差也越小。第222ε(d,N,δ)\varepsilon(d, N, \delta)ε(d,N,δ)是的单调递减函数,当NNN趋于无穷是趋于000,同时它也是log⁡d\sqrt{\log d}logd阶的函数假设空间F\mathcal FF包含的函数越多,其值越大。

五、生成模型与判别模型
监督学习的任务是学习一个模型,这个模型的一般形式为决策函数Y=f(X)Y=f(X)Y=f(X)或者条件概率分布:P(Y∣X)P(Y|X)P(YX)
监督学习方法又可以分为生成方法(generative approach)和判别方法(discriminative approach)。所学到的模型分布称为生成模型(generative model)和判别模型(discriminative model)
1、生成方法由数据学习联合概率分布P(X,Y)P(X,Y)P(X,Y),然后求出条件概率分布P(Y∣X)P(Y|X)P(YX)作为预测的模型,即生成模型:P(Y∣X)=P(X,Y)P(X) P(Y | X)=\frac{P(X, Y)}{P(X)} P(YX)=P(X)P(X,Y)之所以称为生成方法,是因为模型表示了给定输入XXX产生输出YYY的生成关系。典型的生成模型有:朴素贝叶斯法和隐马尔可夫模型。
2、判别方法是由数据直接学习决策函数f(X)f(X)f(X)或者条件概率分布P(Y∣X)P(Y|X)P(YX)作为预测到模型,即判别模型。典型的判别模型包括:近邻法、感知器、决策树、逻辑斯谛回归模型、最大熵模型、支持向量机、提升方法和条件随机场等

《统计学习方法》李航
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值