机器学习笔记 第十二章计算学习理论

12.1  基础知识

        计算学习理论就是关于机器学习的理论基础,其作用就是分析学习任务的困难实质,通过分析结果来知道算法设计,并为学习算法提供理论保证。

        给定样例集D=\left \{ (x_{1},y_{1}),(x_{2},y_{2}),...,(x_{m},y_{m}) \right \}x_{i}\in \chi,假设为二分类问题,一般y_{i}\in \gamma =\left \{ -1,+1 \right \}。假定\chi中的所有样本服从隐含未知的分布\ss\Gamma,D中所有样本都是独立同分布样本。令h为从\chi\gamma的一个映射,其泛化错误为

E(h;\Gamma )=P_{x\sim \Gamma }(h(x)\neq y),

h在D上的经验误差为

\hat{E}(h;\Gamma )=\frac{1}{m}\sum_{i=1}^{m}\prod_{}^{}(h(x)\neq y),

        h的经验误差的期望等于其泛化误差,并将E(h;\Gamma )\hat{E}(h;\Gamma )分别简记为E(h)\hat{E}(h)。令E(h)\leqslant \epsilon\epsilon通常表示预先设定的学得模型所应满足的误差要求,也称之为“误差参数”。

        接下来,我们将研究经验错误与泛化误差之间的逼近程度,如果h的经验误差为0,则称h与D一致,否则称其与D不一致。对于任意两个映射h_{1},h_{2}\in \chi \rightarrow \gamma,可用下式度量

d(h_{1},h_{2})=P_{x\sim \Gamma }(h_{1}(x)\neq h_{2}(x)).

        常用的不等式

        \bulletJensen不等式:对任意凸函数f(x),有

f(E(x))\leqslant E(f(x)).

        \bulletHoeffding不等式:若x_{1},x_{2},...,x_{m}为m个独立随机变量,其满足0\leqslant x_{i}\leqslant 1,则对任意\epsilon >0,有

P(\frac{1}{m}\sum_{i=1}^{m}x_{i}-\frac{1}{m}\sum_{i=1}^{m}E(x_{i})\geqslant \epsilon )\leqslant exp(-2m\varepsilon ^{2}),

P(|\frac{1}{m}\sum_{i=1}^{m}x_{i}-\frac{1}{m}\sum_{i=1}^{m}E(x_{i})|\geqslant \epsilon )\leqslant 2exp(-2m\varepsilon ^{2}),

        \bulletMcDiarmid不等式:若x_{1},x_{2},...,x_{m}为m个独立随机变量,且对任意1\leqslant i\leqslant m,f满足

sup_{x_{1},...,x_{m},x'_{i}}|f(x_{1},...,x_{m})-f(x_{1},...,x_{i-1},x'_{i},x_{i+1},...,x_{m})|\leqslant c_{i},

则任意\epsilon > 0,有

P(f(x_{1},...,x_{m})-E(f(x_{1},...,x_{m}))\geqslant \epsilon )\leqslant exp(\frac{-2\epsilon ^{2}}{\sum_{i}^{}c_{i}^{2}}),

P(|f(x_{1},...,x_{m})-E(f(x_{1},...,x_{m}))\geqslant |\epsilon )\leqslant 2exp(\frac{-2\epsilon ^{2}}{\sum_{i}^{}c_{i}^{2}}).

12.2  PAC学习

        若对任何样例(x,y)c(x)=y成立,则称c为目标概念,所有目标概念所构成的集合称为“概念类”,用符号C表示。给定学习算法\pounds,所考虑的所有可能概念集合称为假设空间,用H表示。如果目标概念c\in H,那么H中存在假设能将所有示例按与真实标记一致的方式完全分开,则称其为“可分的”,也叫一致的;如果c\notin H,那么H中不存在任何假设能将所有示例完全正确分开,则称其为“不可分的”,也叫不一致的。

        在实际训练中,我们无法精确地学到目标概念c,因为机器学习过程受到很多因素的制约。因此,我们是希望以较大的概率学得误差满足预设上限的模型。形式化地说,令\delta表示置信度,可定义:

        \bulletPAC辨识:对0<\epsilon ,\delta <1,所有c\in C和分布D,若存在学习算法\pounds,其输出假设h\in H满足

P(E(h)\leqslant \epsilon )\geqslant 1-\delta

则称学习算法\pounds能从假设空间H中PAC辨别概念类C

        \bulletPAC可学习:令m为分布D中采样的样例数目,0<\epsilon ,\delta <1,若存在\pounds和多项式函数poly(.,.,.,.),使得对于任何m\geqslant poly(1/\epsilon ,1/\delta ,size(x),size(c))\pounds能从假设空间H中PAC辨识概念类C,则称概念类C是PAC可学习的。

        \bulletPAC学习算法:若学习算法\pounds 是概念类C为PAC可学习的,且\pounds的运行时间也是多项式函数poly(1/\epsilon ,1/\delta ,size(x),size(c)),则称\pounds为概念类C的PAC学习算法。

        \bullet样本复杂度:满足PAC学习算法\pounds所需的m\geqslant poly(1/\epsilon ,1/\delta ,size(x),size(c))中最小的m,称为学习算法\pounds的样本复杂度。

        PAC学习中一个关键因素是假设空间H的复杂度。当H=C,称为恰PAC可学习,意味着学习算法的能力与学习任务恰好匹配。然而,这种情况并不实际,因为先适应中我们对C一无所知,更别说恰好相同了。所以,更重要的是研究H\neq C,一般而言,H越大,那么其包含任意目标概念的可能性越大,但是找到某个目标概念的难度也越大,当|H|有限时,称H为“有限假设空间”,否则为“无限假设空间”。

12.3  有限假设空间

        12.3.1  可分情形

        可分情形意味着目标概念c属于假设空间H,即c\in H,假定包含m个样例的训练集D,找出满足误差参数的假设的学习策略:由于任何在训练集D上出现标记错误的假设肯定不是目标概念c,那么,我们保留与D一致的假设,剔除与D不一致的假设即可。当训练集D足够大,可不断提出不一致的假设,直到H中仅剩下一个假设为止,这就是目标概念c,但是,训练集规模有限,假设空间H可能存在不止一个与D一致的等效假设,无法根据D对它们的优劣作进一步区分。

        对PAC学习来说,只要D的规模能使学习算法\pounds以概率1-\delta找到目标假设的\epsilon近似即可。假定h的泛化误差大于\epsilon,对分布D上随机采样得到的任何样例(x,y),有

P(h(X)=y)=1-P(h(x)\neq y)=1-E(h)<1-\epsilon

        由于D包含m个独立同分布的样例,故h与D表现一致的概率为

P(h(x_{1})=y_{1})\wedge ...\wedge(h(x_{m})=y_{m})=(1-P(h(x)\neq y))^{m}<(1-\epsilon )^{m}.

        由于事先并不知道\pounds会输出H中的哪个假设,但仅需保证泛化误差大于\epsilon,且表现完美的假设概率之和不大于\delta即可:

P(h\in H:E(h)>\epsilon \wedge \hat{E}(h)=0)<|H|(1-\epsilon )^{m}<|H|e^{-m\epsilon },

上式不大于\delta,即

|H|e^{-m\epsilon }\leqslant \delta ,

可得

m\geqslant \frac{1}{\epsilon }(ln|H|+ln\frac{1}{\delta }).

        因此,有限假设空间H都是PAC可学习的,所需空间如上式所示。

        12.3.2  不可分情形

        目标概念c不存在于假设空间H中怎么解决?假定任何h\in H,\hat{E}(h)\neq 0H中的任一假设都会出现或多或少的错误。由Hoeffding不等式易知:

        引理1:若训练集D中包含m个从分布D上独立分布采样的样例,0<\epsilon <1,对于任意h\in H,有

P(\hat{E}(h)-E(h)\geqslant \epsilon )\leqslant exp(-2m\epsilon ^{2}),

P(E(h)-\hat{E}(h)\geqslant \epsilon )\leqslant exp(-2m\epsilon ^{2}),

P(|\hat{E}(h)-E(h)|\geqslant \epsilon )\leqslant 2exp(-2m\epsilon ^{2}).:       

        推理1:同引理1相同条件下,下面式子以至少1-\delta的概率成立:

\hat{E}(h)-\sqrt{\frac{ln(2/\delta )}{2m}}\leqslant E(h)\leqslant \hat{E}(h)+\sqrt{\frac{ln(2/\delta )}{2m}}.

        由推理1可知,m越大,则h的经验误差是其泛化误差很好的近似。对于有限假设空间H,有

        定理1:若H为有限假设空间,0<\epsilon <1,对于任意h\in H,有

P(|E(h)-\hat{E}(h)|\leqslant \sqrt{\frac{ln|H|+ln(2/\delta )}{2m}})\geqslant 1-\delta .

        显然,当c\notin H时,\pounds无法学的c的近似\epsilon。但是,当H给定时,其中必存在一个泛化误差最小的假设,找出其\epsilon近似是一个较好的目标。H中泛化误差最小的假设是argmin_{h\in H}E(h),以此为目标可以把PAC学习推广到c\notin H的情况,这就叫不可知学习。故有

        定义1:不可知PAC可学习,令m表示样例数目,0<\epsilon,\delta <1,对所有分布D,若存在\poundspoly(.,.,.,.),使得对任何m\geqslant poly(1/\epsilon ,1/\delta ,size(x),size(c))\pounds能从H中输出满足下式的假设h:

P(E(h)-min_{h'\in H}E(h')\leqslant \epsilon )\geqslant 1-\delta ,

则称假设空间H是不可知PAC可学习的。

12.4  VC维

        假定H和示例集D=\left \{ x_{1},x_{2},...,x_{m} \right \}H中每个假设h都能对D中示例赋予标记,标记结果为

h|_{D}=\left \{ (h(x_{1}),h(x_{2}),...,h(x_{m})) \right \}.

        当m增大时,H中所有假设对D中的示例结果数也会增大。

        定义2  对所有m\in N,假设空间H的增长函数\prod_{H}^{}(m)

\prod_{H}^{}(m)=max_{x_{1},...,x_{m}\subseteq \chi }|\left \{ (h(x_{1}),...,h(x_{m}))|h\in H \right \}|.

其中,增长函数\prod_{H}^{}(m)表示H对m个示例所能赋予标记的最大可能结果数。显然,可能结果数越大,H的表示能力越强,故对学习任务的适应能力也越强。

        我们可以用增长函数来估计经验误差与泛化误差之间的关系:

        定理2  对假设空间Hm\in N0<\epsilon <1和任意h\in H

P(|E(h)-\hat{E}(h)|>\epsilon )\leqslant 4\prod_{2m}^{}(2m)exp(-\frac{m\epsilon ^{2}}{8}).

        定义3  假设空间H的VC维是能被H打散的最大示例集的大小,即

VC(H)=max\left \{ m:\prod_{H}^{}(m)=2^{m} \right \}.

        VC(H)=d表示存在大小为d的示例集能被H打散。因此,在数据分布未知的情况下,仍然能够计算出H的VC维。一般情况下,这样来计算H的VC维:如果存在大小为d的示例集能被H打散,但是又不存在任何为d+1的示例集能被H打散,则H的VC维是d。

        由定义3可知,VC维与增长函数有密切联系,下面的引理给出了两者之间的定量关系

        引理2  若假设空间H的VC维为的d,则对任意m\in N

\prod_{H}^{}(m)\leqslant \sum_{i=0}^{d}\binom{m}{i}.

        推论1  若假设空间H的VC维为的d,则对任意整数m\geqslant d

\prod_{H}^{}(m)\leqslant (\frac{e\cdot m}{d})^{d}.

        定理3  若H的VC维为d,则对任意m>d0<\delta <1h\in H

P(E(h)-\hat{E}(h)\leqslant \leqslant \sqrt{\frac{8dln\frac{2em}{d}+8ln\frac{4}{\delta }}{m}})\geqslant 1-\delta .

        定理4  任何VC维有限的假设空间H都是(不可知)PAC可学习的。

12.5  Rademacher复杂度

        给定训练集D=\left \{ (x_{1},y_{1}),(x_{2},x_{2}),...,(x_{m},x_{m}) \right \},假设h的经验误差为

                                        \hat{E}(h)=\frac{1}{m}\sum_{i=1}^{m}\prod (h(x_{i})\neq y_{i})

                                                   =\frac{1}{m}\sum_{i=1}^{m}\frac{1-y_{i}h(x_{i})}{2}

        ​​​​​​​        ​​​​​​​        ​​​​​​​                           =\frac{1}{2}-\frac{1}{2m}\sum_{i=1}^{m}y_{i}h(x_{i}),

其中\frac{1}{m}\sum_{i=1}^{m}y_{i}h(x_{i})体现了预测值h(x_{i})与样例真实标记y_{i}之间的一致性,经验误差最小的假设是

argmax_{h\in H}\frac{1}{m}\sum_{i=1}^{m}y_{i}h(x_{i}).

        基于\sigma _{i},可重写为

sup_{h\in H}\frac{1}{m}\sum_{i=1}^{m}\sigma _{i}h(x_{i}).

        考虑到H中所有假设,其期望为

E_{\sigma }[sup_{h\in H}\frac{1}{m}\sum_{i=1}^{m}\sigma _{i}h(x_{i})].

其中\sigma =\left \{ \sigma _{1},\sigma _{2},...,\sigma _{m} \right \}

        考虑实值函数空间F:Z\rightarrow R。令Z=\left \{ z_{1},z_{2},...,z_{m} \right \},其中z_{i}\in Z,将上式中的\chiH替换为ZF可得

        定义4  函数空间F关于Z的经验Rademacher复杂度

\hat{R}(F)=E_{\sigma } [sup_{f\in F}\frac{1}{m}\sum_{i=1}^{m}\sigma _{i}h(z_{i})].

        定义5  函数空间F关于Z上分布D的Rademacher复杂度

R_{m}(F)=E_{Z\subseteq \mathbb{Z}:|Z|=m}[\hat{R}_{Z}(F)].

        基于Rademacher 复杂度可得关于函数空间 F的泛化误差界

        定理5  对实值函数空间F:\mathbb{Z}\rightarrow [0,1],根据分布D\mathbb{Z}中独立同分布采样得到l示例集Z=\left \{ z_{1},z_{2},...,z_{m} \right \},z_{i}\in \mathbb{Z},0<\delta <1,对任意f\in F,以至少1-\delta的概率有

E[f(z)]\leqslant \frac{1}{m}\sum_{i=1}^{m}f(z_{i})+2R_{m}(F)+\sqrt{\frac{ln(1/\delta )}{2m}},

E[f(z)]\leqslant \frac{1}{m}\sum_{i=1}^{m}f(z_{i})+2\hat{R}_{m}(F)+3\sqrt{\frac{ln(1/\delta )}{2m}}.

        对于二分类问题,有以下定理

        定理6  对假设空间H:\chi \rightarrow \left \{ -1,+1 \right \},根据分布D\chi中独立分布采样得到示例集D=\left \{ x_{1},x_{2},...,x_{m} \right \}x_{i}\in \chi0<\delta <1,对任意h\in H,以至少1-\delta的概率有

E(h)\leqslant \hat{E}(h)+R_{m}(H)+\sqrt{\frac{ln(1/\delta )}{2m}},

E(h)\leqslant \hat{E}(h)+\hat{R}_{m}(H)+3\sqrt{\frac{ln(2/\delta )}{2m}}.

        基于Rademacher 复杂度的泛化误差界依赖于具体学习问题上的数据分布,有点类似于为该学习问题"量身定制"的,因此它通常比基于vc维的泛化误差 界更紧一些。关于Rademacher复杂度与增长函数,有如下定理:

        定理7  假设空间H的Rademacher 复杂度R_{m}(H)与增长函数\prod_{H}(m)满足

R_{m}(H)\leqslant \sqrt{\frac{2ln\prod_{H}(m)}{m}}.

        由上述公式可得

E(h)\leqslant \hat{E}(h)+\sqrt{\frac{2dln\frac{em}{d}}{m}}+\sqrt{\frac{ln(1/\delta )}{2m}},

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/50868.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GoMail发送邮件的性能优化策略有哪些方法?

GoMail发送邮件如何配置服务器&#xff1f;GoMail发信功能如何&#xff1f; GoMail是一款广受欢迎的Go语言邮件发送库&#xff0c;具备高效、易用等优点&#xff0c;但在高并发场景下&#xff0c;GoMail发送邮件的性能优化显得尤为重要。AokSend将探讨几种有效的GoMail发送邮件…

PDF Shaper Ultimate v14.4 中文授权版

如今对PDF处理的软件很多都是只是单一的功能。PDF Shaper给你完全不同的体验&#xff0c;因为PDF Shaper是一款PDF工具集合的软件。有了PDF Shaper&#xff0c;你以后再也不用下载其他处理PDF的软件了。PDF Shaper的功能有&#xff1a;合并&#xff0c;分割&#xff0c;加密和解…

贪吃蛇(C语言详解)

贪吃蛇游戏运行画面-CSDN直播 目录 贪吃蛇游戏运行画面-CSDN直播 1. 实验目标 2. Win32 API介绍 2.1 Win32 API 2.2 控制台程序&#xff08;Console&#xff09; 2.3 控制台屏幕上的坐标COORD 2.4 GetStdHandle 2.5 GetConsoleCursorlnfo 2.5.1 CONSOLE_CURSOR_INFO …

ant design pro access.ts 是如何控制多角色的权限的

ant design pro 如何去保存颜色ant design pro v6 如何做好角色管理ant design 的 tree 如何作为角色中的权限选择之一ant design 的 tree 如何作为角色中的权限选择之二 看上面的图片&#xff0c;在前端中如何控制这些权限&#xff0c;比如控制按钮的显示&#xff0c;还有菜单…

【Linux操作系统】进程控制

目录 一、进程创建1.1 认识fork1.2 写时拷贝 二、进程终止2.1 进程退出2.2 函数退出2.3 exit 三、进程等待四、程序替换 一、进程创建 1.1 认识fork fork函数是系统调用接口&#xff0c;用来创建子进程的 根据进程的pid&#xff0c;可以看出父进程fork后分为父进程和子进程…

找到你的任务管理伙伴:待办事项软件终极指南

国内外主流的10款待办事项管理软件对比&#xff1a;PingCode、WorktileTodoist、TickTick、Teambition、 Microsoft To Do、. Asana、Tower、番茄ToDo、飞书。 在面对日益复杂的工作和个人任务时&#xff0c;找到一款能够有效帮助你管理日常待办事项的软件&#xff0c;变得越来…

[RCTF2015]EasySQL1

打开题目 点进去看看 注册个admin账户&#xff0c;登陆进去 一个个点开看&#xff0c;没发现flag 我们也可以由此得出结论&#xff0c;页面存在二次注入的漏洞&#xff0c;并可以大胆猜测修改密码的源代码 resoponse为invalid string的关键字是被过滤的关键字&#xff0c;Le…

blender内置树木的UV

之前听说用这个内置插件可以创建树木 我这边的默认配置出来的树木长这样&#xff0c;不得不想一下&#xff0c;他的uv怎么展&#xff0c;看起来好多树 我尝试看了一眼默认的UV 结果如下 好像每个树枝都已经是平铺的样子了&#xff0c;那么如果需要改的话&#xff0c;就根据…

大模型预训练与微调之间的关系

1. 引言 大语言模型的兴起与训练范式 在过去的十年中&#xff0c;随着计算能力和数据规模的显著提升&#xff0c;大语言模型&#xff08;Large Language Models, LLMs&#xff09;在自然语言处理&#xff08;Natural Language Processing, NLP&#xff09;领域掀起了一场革命…

基于Python的火车票售票系统/基于django的火车购票系统

摘 要 随着信息技术和网络技术的飞速发展&#xff0c;人类已进入全新信息化时代&#xff0c;传统管理技术已无法高效&#xff0c;便捷地管理信息。为了迎合时代需求&#xff0c;优化管理效率&#xff0c;各种各样的管理系统应运而生&#xff0c;各行各业相继进入信息管理时代&…

stripe Element 如何使用

这里要准备好几个东西&#xff1a; 一个支付成功过后的回调 还有一个下单的接口 一旦进入这个下单界面&#xff0c;就要去调下单的接口的&#xff0c;用 post, 这个 接口你自己写&#xff0c;可以写在后端中&#xff0c;也可以放到 nextjs 的 api 中。 首先说的是这个下单…

算法【Java】—— 双指针算法

双指针算法 常见的双指针有对撞指针&#xff0c;快慢指针以及前后指针&#xff08;这个前后指针是指两个指针都是从从一个方向出发&#xff0c;去往另一个方法&#xff0c;也可以认为是小学学习过的两车并行&#xff0c;我也会叫做同向指针&#xff09;&#xff0c;在前后指针…

vscode中使用官方推荐的编程字体Cascadia Code字体

字体样式 > 和 有特殊效果 很多字体都支持使用连字&#xff0c;Cascadia Code 、Jetbrains Mono 、Fira Code 等 安装Cascadia Code 下载完成后解压安装 选中右键安装&#xff0c;static文件里也一样安装 VS Code 中配置设置字体和连字设置 Cascadia Code, Consolas, Couri…

计算机的错误计算(六十七)

摘要 计算机的错误计算&#xff08;五十六&#xff09;与&#xff08;六十六&#xff09;分别探讨了大数与 附近数的正切函数值的错误计算。本节讨论第三种类型数值&#xff1a; 附近数 的正切函数的计算精度问题。 例1. 已知 计算 先用 Go语言计算&#xff1a; packag…

STL介绍以及string类

什么是STL 是C标准库的重要组成部分&#xff0c;不仅是一个可复用的组件库&#xff0c;而且是一个包罗数据结构与算法的软件框架。 STL的六大组件 为什么要学习string类 C语言中的字符串 C语言中&#xff0c;字符串是以\0结尾的一些字符的集合&#xff0c;为了操作方便&am…

模具监视器的技术参数有哪些

模具监视器的技术参数涵盖了多个方面&#xff0c;这些参数对于确保模具监视器的性能、稳定性和检测精度至关重要。以下是一些主要的技术参数&#xff1a; 一、显示器参数 屏幕尺寸&#xff1a;常见的模具监视器显示器尺寸为12.5英寸至13.5英寸&#xff0c;具体尺寸可能因不同…

HTTP?HTTPS?HTTP2.0

Http HTTP&#xff08;HyperText Transfer Protocol&#xff0c;超文本传输协议&#xff09;是一种用于分布式、协作式、超媒体信息系统的应用层协议。它基于TCP/IP通信协议来传递数据&#xff0c;如HTML文件、图片文件等。以下是HTTP的详细解析&#xff1a; 一、HTTP的基本…

手撕C++入门基础

1.C介绍 C课程包括&#xff1a;C语法、STL、高阶数据结构 C参考文档&#xff1a;Reference - C Reference C 参考手册 - cppreference.com cppreference.com C兼容之前学习的C语言 2.C的第一个程序 打印hello world #define _CRT_SECURE_NO_WARNINGS 1 // test.cpp // …

Unity Dots学习 (一)

先学习怎么使用&#xff0c;再研究底层代码。Dots大家都有所耳闻。一直没时间研究&#xff0c;最近研究一下 看上图可知&#xff0c;哪怕是CPU的第三级缓存也比内存要快2-5倍。 资料&#xff1a; 《DOTS之路》第零节——前导课(1)——DOTS的5W1H问题_哔哩哔哩_bilibili 《DOT…

景联文科技:图像标注的类型有哪些?

图像标注是计算机视觉领域中一个非常重要的步骤&#xff0c;它是创建训练数据集的关键组成部分&#xff0c;主要用于帮助机器学习算法理解图像内容。 以下是图像标注的一些主要类型&#xff1a; 1. 边界框标注&#xff1a; • 这是最常见的标注方式之一&#xff0c;通常用于…