【深度学习理论】持续更新

文章目录

    • 1.统计学习理论

1.统计学习理论

统计学习理论,一款适合零成本搞深度学习的大冤种的方向
从人类学习到机器学习的对比(学习的过程分为归纳和演绎 ),引出泛化和过拟合的概念。
如何表示归纳的函数规律呢?以监督问题为例,需要学习X到Y的映射,先做假设空间,为了使假设空间和真实映射接近,需要损失函数来优化假设空间。学习的目的是学习数据的分布而不是每一个数据点本身,所以希望期望风险最小(期望风险即假设在数据整个分布上的误差的期望),然而需要学习的分布是未知的,所以不能计算期望风险。但是假设在训练集上的误差是可以计算的(即经验风险,损失函数在训练集上的均值),所以下面的目标是追求经验风险最小化。
在这里插入图片描述
那么这个假设和假设空间里真正最优得到那个假设所达到的期望风险有多大差距呢?它和全函数类(包含所有可能得映射的函数类里所存在的能达到的最优的假设的风险,即Bayes error差多少),我们可以将经验风险和Bayes error的差距改写成经验风险和假设空间中的所能达到最优的risk的差距(即estimation error,假设空间中最优的risk和Bayes error之间的差距是approximation error),approximation error和具体的训练数据无关,只和假设空间的选择有关(假设空间固定,approximation error就是一个固定值,与训练数据和算法无关),所以只能找estimation error的上界。这里存在trade-off,如果选择更大的假设空间,那么approximation error就会相应地变小。如果假设空间大到包含了最优的Bayes classifier,那么approximation error就是0。但是随着假设空间的增大,训练的cost也会相应增加(亦有可能出现过拟合,estimation error变大,没有泛化能力,没有学到数据背后的规律)
在这里插入图片描述
学习数据背后的规律这件事靠谱吗?如何保证学到的数据验证集上靠谱呢?根据大数定律:在随机事件的大量重复中往往会呈现几乎必然的规律,当样本集无限大,样本均值趋近于总体均值。
在这里插入图片描述
摆脱对极限和无穷的依赖,人为设定一个界\epsilon,若经验风险和期望风险的差距小于\epsilon则可以接受。霍夫丁不等式帮助判断一个假设的优劣,优劣通过置信度\delta表现,对于一个假设\delta越小越好,\delta越小代表无法接受的结果出现的概率也就越小。霍夫丁不等式就像绑住期望风险和经验风险之间的弹力绳,在具体情况中期望风险和经验风险谁高谁低不好说,但是有了中间的弹力绳,我们用力拉低经验风险,期望风险大概率也可以被拉低,大部分情况下期望风险和经验风险的差距是小于\epsilon的,但是中间是弹力绳,运气不好时,差距可能大于\epsilon,运气不好时超过\epsilon多少也是未知的,这样的双重不确定性听起来不靠谱
在这里插入图片描述
构建靠谱的框架,期望风险和经验风险都和假设h有关(假设h取值不同,期望风险和经验风险都不同)。下面图像,蓝色曲线是期望风险,黑色曲线是经验风险,都是以h为变量的函数,蓝色曲线最低点期望误差最小是optimal solution h^*,黑色曲线最低点是经验风险最小化的solution,不光假设影响经验风险,训练集也影响。但是不同的训练集对期望风险不会有影响,因为期望风险本身就是在全样本集上误差的期望。
在这里插入图片描述
希望找到的假设期望风险也能越小越好,期望风险和经验风险的差值超过\epsilon为红色,小于为灰色,同样的假设在数据集1上小于\epsilon,但是在数据集2上又大于\epsilon
在这里插入图片描述
对于一个假设h,期望风险减去假设风险的绝对值大于\epsilon的概率,即在所有数据集上红色格子数量除以格子的总数,我们希望它可以小于一个上界\delta
在这里插入图片描述
定义PAC学习框架,提供了一套严格的形式化语言,来陈述和刻画可学习性
和样本复杂度的问题。我们希望在假设空间空间中找到期望风险为0的假设,但基本上不可能。所以退而求其次,只要期望风险小于等于\epsilon,则是可接受的,近似正确的(approximately correct)。我们也不是100%要求这个假设近似正确,它不需要对所有任意的数据都能成功预测,只要预测失败的概率小于非常小的数字\delta,我们就认为是可能正确的,也就是probably correct,我们把成功概率的下界1-\delta叫做置信度。满足上面两个条件,则我们的学习算法能够从假设空间h中辨识概念类c(即模型能够在合理的训练数据量中,通过合理的计算量,学到了一个很好的近似解)。不难发现,所需要的样本量和\epsilon \delta 算法复杂度 目标概念的复杂度都有关。算法也要考虑复杂度,如果算法运行复杂度也在这个多项式内,那么称概念类c是PAC可学习的。如果算法A是存在的,那么称此算法为这个概念类的一个PAC学习算法。如果算法处理每个样本的时间都是常数,那么算法的复杂度等价于样本的复杂度,如果时间复杂度过大,即使理论上行得通,我们也是跑不出一个结果的。
在这里插入图片描述
目标概念有两种可能得情况,1.我们想找的目标概念c在我们的假设空间;2.不在假设空间。目标概念c属于假设集h称为一致情况,反之称为不一致情况。考虑第一种情况:目标概念c在我们的假设空间,则排除所有在训练集s上除了错的假设了,但是假设空间里可能存在不止一个在训练集上不犯错的假设,这样我们没法通过训练集来判断这些假设哪个是最优的。那么我们先假设,假设h虽然在训练集上没有犯错,但是他的期望风险大于\epsilon。那么对于从分布D上采样得到的任意一个样本,我们的假设没犯错的概率小于1-\epsilon。那么h和包含m个服从D的训练集s一致的概率是小于(1-\epsilon)^m的。因为我们没有办法区分等效的假设,所以我们也不知道我们的学习算法选择了哪个假设,所以我们需要一个uniform convergence bound,也就是对所有一致的假设都成立的bound。根据联合界定理,事件和的概率小于等于事件概率的和,条件概率的定义是已知事件A发生的情况下,事件B发生的概率等于AB同时发生的概率和事件A发生的概率的比,事件A发生的概率一定小于等于1。所以A发生的情况下,事件B发生的条件概率大于等于AB同时发生的概率。回忆刚才推过的假设在训练集s上不犯错,但是期望风险大于\epsilon的概率是小于(1-\epsilon)^m的。我们需要所有的泛化误差大于\epsilon的一致假设出现的概率之和不大于\delta,这样我们容易得到样本复杂度
在这里插入图片描述
不难看出当假设空间有限,算法A是一个PAC学习算法,样本复杂度是一个关于1/\epsilon和1/\delta的多项式。同时期望风险的上界是随着样本规模m的增长而下降的,泛化误差减小的速率是O(1/m),我们平时也会发现使用大规模的有标签的数据集会让训练效果更好,同时期望风险的上界也随着假设集的势的增长而增长(即我们的假设集越大我们越难学到我们想要的东西,只不过他的增长速率是log级别的)
11
证明一致情形的例子,考虑概念类C_n是最多n个boolean变量的合取x_1,x_2 x_n,当n=4,想学习的概念类是x_1与非x_2与x_4,1001是正样本,1000是负样本。我们不知道目标概念,只知道n=4,1001是个正样本,我们通过分析样本得到一些信息:既然1001是正样本,则说明目标概念不包括非x_1和非x_3,也不包括x_2和x_4,但是负样本就不能传递这么多的信息,因为我们不知道x_1 x_2 x_3 x_4哪个是错的
在这里插入图片描述
在这里插入图片描述
n=6的情况,我们想找到一个算法,来根据正样本找到一个一致的假设,那么对于每一个正样本,如果它的哪一位是1,那么目标概念就应该排除它的否定式,如果它的哪一位是0,我们就可以排除它本身,按此方法推出目标概念是非x_1 与x_2 与x_5与 x_6。这个问题我们是知道假设空间的大小的

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

RP2040 SPI

SPI 的库文件是arduino开源库,在程序中include。 SPI IIC都是通信协议【模块】,需要硬件支持,MCU都会集成相应的模块。arduino都集成在了内核中,直接用API函数调用即可。其他单片机的架构也是相同的。 SPI的库和函数及其相关说明…

NLP_词的向量表示Word2Vec 和 Embedding

文章目录 词向量Word2Vec:CBOW模型和Skip-Gram模型通过nn.Embedding来实现词嵌入Word2Vec小结 词向量 下面这张图就形象地呈现了词向量的内涵:把词转化为向量,从而捕捉词与词之间的语义和句法关系,使得具有相似含义或相关性的词语在向量空间…

2024牛客寒假算法基础集训营1——H

输入 3 4 11 1 8 1 4 1 5 1 1 4 11 5 8 1 4 1 5 1 1 4 0 2 0 0 0 3 0 4 1 输出 3 6 5 思路&#xff1a; 考虑二进制&#xff0c;有点像数位dp 本题考虑集合划分&#xff0c;累加最大值即可 代码如下&#xff1a; #include<bits/stdc.h> using namespace std;void solv…

2024三掌柜赠书活动第八期:Web3与DAO:下一代互联网演进逻辑

目录 前言关于Web3和DAO关于《Web3与DAO&#xff1a;下一代互联网演进逻辑》编辑推荐内容简介作者简介精彩书评图书目录书中前言/序言《Web3与DAO&#xff1a;下一代互联网演进逻辑》全书速览结束语 前言 随着区块链技术的崛起&#xff0c;Web3和DAO成为了当前互联网领域炙手…

【达梦数据库】使用DBeaver管理达梦数据库

使用DBeaver管理达梦数据库 Step1 安装相关程序 达梦8数据库DBeaver社区版 Step2 新建驱动 类型参数驱动名称DM8驱动类型Generic类名dm.jdbc.driver.DmDriverURL模板jdbc:dm://{host}:{port}默认端口5236默认数据库默认用户SYSDBA Step3 连接服务

docker部署笔记系统flatnotes

效果 安装 创建目录 mkdir -p /opt/flatnotes/data && cd /opt/flatnotes/ chmod -R 777 /opt/flatnotes/ 创建并启动容器(可以自己修改账户和密码) docker run -d \ --restart unless-stopped \ --name flatnotes \ -p "10040:8080" \ -v "/dat…

vue3 之 组合式API—生命周期函数

vue3的生命周期API 生命周期函数基本使用 1️⃣导入生命周期函数 2️⃣执行生命周期函数 传入回调 <scirpt setup> import { onMounted } from vue onMounted(()>{// 组件挂载完毕mounted执行了 }) </script>执行多次 生命周期函数是可以执行多次的&#xff…

【pikachu csrf】

cxrf 个人理解getPOST 个人理解 当被攻击用户登陆访问网站时&#xff0c;在保持登陆状态时点击小黑子&#xff08;黑客&#xff09;搭建的恶意链接而导致用户受到攻击。 举个例子 我去攻击网站&#xff0c;但是我找不到漏洞&#xff0c;这个时候我注册一个账号&#xff0c;发现…

C++——stack与queue与容器适配器

1.stack和queue的使用 1.1stack的使用 栈这种数据结构我们应该挺熟了&#xff0c;先入后出&#xff0c;只有一个出口(出口靠栈顶近)嘛 stack的底层容器可以是任何标准的容器类模板或者一些其他特定的容器类&#xff0c;这些容器类应该支持以操作&#xff1a; empty&#xff1…

【leetcode题解C++】77.组合 and 216.组合总和III and 17.电话号码的字母组合

77. 组合 给定两个整数 n 和 k&#xff0c;返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 示例 1&#xff1a; 输入&#xff1a;n 4, k 2 输出&#xff1a; [[2,4],[3,4],[2,3],[1,2],[1,3],[1,4], ] 示例 2&#xff1a; 输入&#xff1a…

Linux系统调试课:ftrace跟踪器介绍

文章目录 一、什么是frace跟踪器?二、Ftrace 配置三、Ftrace 文件系统四、Ftrace 初体验五、函数跟踪六、Ftrace function_graph七、函数 Profiler沉淀、分享、成长,让自己和他人都能有所收获!😄 一、什么是frace跟踪器? 操作系统内核对应用开发工程师来说就像一个黑盒,…

页面单跳转换率统计案例分析

需求说明 页面单跳转化率 计算页面单跳转化率&#xff0c;什么是页面单跳转换率&#xff0c;比如一个用户在一次 Session 过程中访问的页面路径 3,5,7,9,10,21&#xff0c;那么页面 3 跳到页面 5 叫一次单跳&#xff0c;7-9 也叫一次单跳&#xff0c; 那么单跳转化率就是要统计…

2024年【上海市安全员C3证】考试题库及上海市安全员C3证报名考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2024年【上海市安全员C3证】考试题库及上海市安全员C3证报名考试&#xff0c;包含上海市安全员C3证考试题库答案和解析及上海市安全员C3证报名考试练习。安全生产模拟考试一点通结合国家上海市安全员C3证考试最新大纲…

刘诗诗与吴奇隆共度甜蜜亲子时光,力破离婚传闻,恩爱如初。

♥ 为方便您进行讨论和分享&#xff0c;同时也为能带给您不一样的参与感。请您在阅读本文之前&#xff0c;点击一下“关注”&#xff0c;非常感谢您的支持&#xff01; 文 |猴哥聊娱乐 编 辑|徐 婷 校 对|侯欢庭 最近&#xff0c;备受瞩目的狗仔队摄影师刘大锤&#xff0c;成…

删除.git的影响、git分支切换时注意事项

一、删除.git的影响 master分支文件 dev分支文件 删除.git后 文件为删除.git前分支的文件状态。 二、git分支切换时注意事项 情景&#xff1a;如果我在分支A&#xff0c;想要跳转到分支B。 git的规矩是&#xff0c;在那个分支上进行的提交&#xff0c;就算哪个分支上的工作…

代码随想录算法训练营第37天(贪心算法06 ● 738.单调递增的数字 ● 968.监控二叉树 ● 总结

贪心算法 part06 738.单调递增的数字解题思路不熟悉的基础语法知识 968.监控二叉树 &#xff08;可以跳过&#xff09;解题思路 总结 738.单调递增的数字 题目链接&#xff1a; 738.单调递增的数字 文章/视频链接: 738.单调递增的数字 解题思路 一旦出现strNum[i - 1] > …

ubuntu开机报错/dev/nume0n1p2:clean

一、前提 1、当你平时用的图站或者linux系统出现这个问题&#xff0c;首先看看你的显卡有没有换位置。 我的就是项目电脑&#xff0c;同事换了显卡位置&#xff0c;我不知道&#xff0c;当我在这个基础上继续做的时候&#xff0c;出了问题。 2、当你是第一次装显卡&#xff…

肯尼斯·里科《C和指针》第12章 使用结构和指针(1)链表

只恨当时学的时候没有读到这本书&#xff0c;&#xff0c;&#xff0c;&#xff0c;&#xff0c;&#xff0c; 12.1 链表 有些读者可能还不熟悉链表&#xff0c;这里对它作一简单介绍。链表(linked list)就一些包含数据的独立数据结构&#xff08;通常称为节点&#xff09;的集…

[HTML]Web前端开发技术15(HTML5、CSS3、JavaScript )表格,bordercolorlight,frame,valign,rowspan,colspan——喵喵画网页

希望你开心&#xff0c;希望你健康&#xff0c;希望你幸福&#xff0c;希望你点赞&#xff01; 最后的最后&#xff0c;关注喵&#xff0c;关注喵&#xff0c;关注喵&#xff0c;佬佬会看到更多有趣的博客哦&#xff01;&#xff01;&#xff01; 喵喵喵&#xff0c;你对我真的…

DataX详解和架构介绍

系列文章目录 一、 DataX详解和架构介绍 二、 DataX源码分析 JobContainer 三、DataX源码分析 TaskGroupContainer 四、DataX源码分析 TaskExecutor 五、DataX源码分析 reader 六、DataX源码分析 writer 七、DataX源码分析 Channel 文章目录 系列文章目录DataX是什么&#xff…