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

文章目录

    • 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。这个问题我们是知道假设空间的大小的

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

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

相关文章

XAI:探索AI决策透明化的前沿与展望

文章目录 📑前言一、XAI的重要性二、为什么需要可解释人工智能三、XAI的研究与应用四、XAI的挑战与展望 📑前言 随着人工智能技术的快速发展,它已经深入到了我们生活的方方面面,从智能手机、自动驾驶汽车到医疗诊断和金融投资&…

【Linux驱动】块设备驱动(二)—— 块设备读写(使用请求队列)

块设备的操作函数并没有类似于字符驱动中的read 和write函数,要实现读写操作,只能在请求处理函数中实现。这就分为两种,是否要使用请求队列,请求队列的主要作用是管理和调度IO请求。在以下情况中,一般需要用到请求队队…

C++:深入剖析默认参数

看下列代码执行结果&#xff0c;你猜一猜会输出什么&#xff1f; #include<iostream> using namespace std; struct A {virtual void fun(int a 10) {cout << "A,a"<<a;} }; struct B :public A {void fun(int a 5) {cout <<"B,a&qu…

re:从0开始的CSS学习之路 1. CSS语法规则

0. 写在前面 现在大模型卷的飞起&#xff0c;感觉做页面的活可能以后就不需要人来做了&#xff0c;不知道现在还有没有学前端的必要。。。 1. HTML和CSS结合的三种方式 在HTML中&#xff0c;我们强调HTML并不关心显示样式&#xff0c;样式是CSS的工作&#xff0c;现在就轮到C…

编码世界探秘:原反补码与实数表示,含定点、浮点及BCD编码

数值的编码表示 整数编码表示 在计算机中&#xff0c;因为只有0和1这两种形式&#xff0c;但为了表示数的正&#xff08;&#xff09;&#xff0c;负&#xff08;-&#xff09;号&#xff0c;就要将数的符号以0和1编码。 通常把一个数的最高位定义为符号位&#xff0c;用0表…

Zephyr NRF7002 实现AppleJuice

BLE的基础知识 ble的信道和BR/EDR的信道是完全不一样的。但是范围是相同的&#xff0c;差不多也都是2.4Ghz的频道。可以简单理解为空中有40个信道0~39信道。两个设备在相同的信道里面可以进行相互通信。 而这些信道SIG又重新编号&#xff1a; 这个编号就是把37 38 39。 3个信道…

Python中的while循环,知其然知其所以然

文章目录 while循环结构1.用循环打印1 ~ 100步骤解析2. 1 ~ 100的累加和3.死循环1. 用死循环的方法实现 1 ~ 100累加和 4. 单向循环(1)打印 一行十个小星星*(2)通过打印一个变量的形式,展现一行十个小星星(3)一行十个换色的星星 ★☆★☆★☆★☆★☆(4)用一个循环,打印十行十列…

5、从 CSV 到 ChatGPT 的完整分析报告,只需 5 个简单步骤

从 CSV 到 ChatGPT 的完整分析报告,只需 5 个简单步骤 数据分析是一项耗时的活动。使用 ChatGPT,我们可以在短时间内进行数据汇总、数据预处理、数据可视化等。 无论您从事什么行业,在数据驱动时代,知道如何分析数据比以往任何时候都更加重要。数据分析将使企业能够保持竞…

【C语言 - 哈希表 - 力扣 - 相交链表】

相交链表题目描述 给你两个单链表的头节点 headA 和 headB &#xff0c;请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点&#xff0c;返回 null 。 图示两个链表在节点 c1 开始相交&#xff1a; 题目数据 保证 整个链式结构中不存在环。 注意&#xff0…

【VTKExamples::PolyData】第二十期 ImplicitModeller

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ:870202403 前言 本文分享VTK样例ImplicitModeller技术,并解析接口vtkImplicitModeller,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步! 你的点赞就是我的动力(^U^)ノ~YO 1. I…

JVM 性能调优 - JVM 参数基础(2)

查看 JDK 版本 $ java -version java version "1.8.0_151" Java(TM) SE Runtime Environment (build 1.8.0_151-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode) 查看 Java 帮助文档 $ java -help 用法: java [-options] class [args...] …

Java基础(二十四):网络编程

Java基础系列文章 Java基础(一)&#xff1a;语言概述 Java基础(二)&#xff1a;原码、反码、补码及进制之间的运算 Java基础(三)&#xff1a;数据类型与进制 Java基础(四)&#xff1a;逻辑运算符和位运算符 Java基础(五)&#xff1a;流程控制语句 Java基础(六)&#xff1…