当前位置: 首页 > news >正文

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

文章目录

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

相关文章:

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

文章目录 1.统计学习理论 1.统计学习理论 统计学习理论,一款适合零成本搞深度学习的大冤种的方向 从人类学习到机器学习的对比(学习的过程分为归纳和演绎 ),引出泛化和过拟合的概念。 如何表示归纳的函数规律呢?以监督…...

npm ERR! reason: certificate has expired(淘宝镜像过期)

npm ERR! request to https://registry.npm.taobao.org/yauzl/-/yauzl-2.4.1.tgz failed, reason: certificate has expired 今天在执行npm install命令时,报错百度了下是淘宝证书过期原因 解决方法一 执行下面两个命令再进行npm install即可 npm cache clean --…...

“极简壁纸“爬虫JS逆向·实战

文章目录 声明目标分析确定目标目标检索 代码补全完整代码 爬虫逻辑完整代码 运行结果 声明 本教程只用于交流学习,不可用于商业用途,不可对目标网站进行破坏性请求,请遵守相关法律法规。 目标分析 确定目标 获取图片下载链接 目标检索…...

Django通过Json配置文件分配多个定时任务

def load_config():with open("rule.json", rb)as f:config json.load(f)return configdef job(task_name, config, time_interval):# ... 通过task_name判断进行操作if task_name get_data_times:passdef main():config load_config()for task_name, task_value…...

C++ 搜索二叉树的删除

首先查找元素是否在二叉搜索树中,如果不存在,则返回 要删除的结点可能分下面四种情况: a. 要删除的结点无孩子结点 b. 要删除的结点只有左孩子结点 c. 要删除的结点只有右孩子结点 d. 要删除的结点有左、右孩子结点 看起来有待删除节点有4中…...

构建中国人自己的私人GPT—支持中文

上一篇已经讲解了如何构建自己的私人GPT,这一篇主要讲如何让GPT支持中文。 privateGPT 本地部署目前只支持基于llama.cpp 的 gguf格式模型,GGUF 是 llama.cpp 团队于 2023 年 8 月 21 日推出的一种新格式。它是 GGML 的替代品,llama.cpp 不再…...

elementui 回到顶部报错

<template>Scroll down to see the bottom-right button.<el-backtop target".page-component__scroll .el-scrollbar__wrap"></el-backtop> </template> 使用element的Backtop 回到顶部组件的伙伴们&#xff0c;把官网代码复制到页面使用时…...

go-carbon v2.3.8 发布,轻量级、语义化、对开发者友好的 golang 时间处理库

carbon 是一个轻量级、语义化、对开发者友好的 golang 时间处理库&#xff0c;支持链式调用。 目前已被 awesome-go 收录&#xff0c;如果您觉得不错&#xff0c;请给个 star 吧 github.com/golang-module/carbon gitee.com/golang-module/carbon 安装使用 Golang 版本大于…...

【详解】斗地主随机发牌项目

目录 前言&#xff1a; 1.初始化牌 2.洗牌 3.揭牌 总代码&#xff1a; Card类&#xff1a; CardGame类&#xff1a; Main类&#xff1a; 结语&#xff1a; 前言&#xff1a; 斗地主是全国范围内的一种桌面游戏&#xff0c;本节我们来实现一下斗地主中的简单初始化牌、…...

多账号运营为什么要使用动态住宅代理IP?

对于跨境有多账号运营需求的企业来说&#xff0c;选择正确类型的代理IP对于平稳运行至关重要。但最适合这项工作的代理类型是什么&#xff1f;为了更好地管理不同平台上的多个账户并优化成本&#xff0c;您可以选择动态住宅代理。 一、什么是动态住宅代理 动态住宅代理IP是互联…...

[C++] 如何使用Visual Studio 2022 + QT6创建桌面应用

安装Visual Studio 2022和C环境 [Visual Studio] 基础教程 - Window10下如何安装VS 2022社区版_visual studio 2022 社区版-CSDN博客 安装QT6开源版 下载开源版本QT Try Qt | 开发应用程序和嵌入式系统 | Qt Open Source Development | Open Source License | Qt 下载完成&…...

Arduino 推出基于乐鑫 ESP32-S3 的 STEM 教育机器人

Arduino Alvik 是 Arduino Education 推出的一款新型机器人&#xff0c;可作为一种跨学科工具&#xff0c;为当前教育和未来机器人世界筑起连接的桥梁。Hackster 的 Gareth Halfacree 表示&#xff1a;“Alvik 的设计灵感来自 Arduino 简化复杂技术的理念&#xff0c;同时它也 …...

Blender使用Rigify和Game Rig Tool基础

做动画需要的几个简要步骤&#xff1a; 1.建模 2.绑定骨骼 3.绘制权重 4.动画 1.Rigify是干嘛用的&#xff1f; 》 绑定骨骼 2.Game Rig Tool干嘛用的&#xff1f; 》 修复Rigify绑定骨骼做的动画导入游戏引擎的问题&#xff0c;如果Rigify自身修复了就不需要这个插件了&#…...

【Unity优化(一)】音频优化

整理资教程&#xff1a;https://learn.u3d.cn/tutorial/unity-optimization-metaverse 1.音频优化 音频一般不会成为性能瓶颈&#xff0c;是为了节省内存和优化包体大小。 1.0 文件格式和压缩格式 原始音频资源尽量采用WAV格式。 移动平台音频尽量采用Vorbis压缩格式&#x…...

算法.1-三大排序算法-对数器-二分

三大排序算法&对数器 1.选择排序 Java版 package class01;import java.util.Arrays;public class Code01_SelectionSort {public static void selectionSort(int[] arr) {if (arr null || arr.length < 2) {return;}// 0 ~ N-1 找到最小值&#xff0c;在哪&#xf…...

Midjourney新功能介绍:风格参考(Style References)详解

引言 对于追求创意和一致性的艺术家和设计师们来说&#xff0c;Midjourney的最新功能——风格参考&#xff08;Style References&#xff09;&#xff0c;无疑是一个激动人心的消息。这项测试算法的发布&#xff0c;让我们得以通过简单的URL引用&#xff0c;将特定的风格应用于…...

C++ 11/14/17 智能指针

1. 简介 为了更加容易&#xff08;更加安全&#xff09;的使用动态内存&#xff0c;引入了智能指针的概念。智能指针的行为类似常规指针&#xff0c;重要的区别是它负责自动释放所指向的对象。 标准库提供的两种智能指针的区别在于管理底层指针的方法不同&#xff1a;shared_p…...

C++入门【37-C++ 拷贝构造函数】

拷贝构造函数是一种特殊的构造函数&#xff0c;它在创建对象时&#xff0c;是使用同一类中之前创建的对象来初始化新创建的对象。拷贝构造函数通常用于&#xff1a; 通过使用另一个同类型的对象来初始化新创建的对象。复制对象把它作为参数传递给函数。复制对象&#xff0c;并…...

[UI5 常用控件] 06.Splitter,ResponsiveSplitter

文章目录 前言1. Splitter1.1 属性 2. ResponsiveSplitter 前言 本章节记录常用控件Splitter,ResponsiveSplitter。主要功能是分割画面布局。 其路径分别是&#xff1a; sap.ui.layout.Splittersap.ui.layout.ResponsiveSplitter 1. Splitter 1.1 属性 orientation &#x…...

C遗漏知识(个人向)

之前C语言遗漏的一些。 数据在内存中的存储 原码、反码、补码 整数的2进制表⽰⽅法有三种&#xff0c;即 原码、反码和补码 正整数的原、反、补码都相同。 负整数的三种表⽰⽅法各不相同。 原码&#xff1a;直接将数值按照正负数的形式翻译成⼆进制得到的就是原码。 反码&…...

synchronized 学习

学习源&#xff1a; https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖&#xff0c;也要考虑性能问题&#xff08;场景&#xff09; 2.常见面试问题&#xff1a; sync出…...

Python:操作 Excel 折叠

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...

从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)

设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile&#xff0c;新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...

MySQL用户和授权

开放MySQL白名单 可以通过iptables-save命令确认对应客户端ip是否可以访问MySQL服务&#xff1a; test: # iptables-save | grep 3306 -A mp_srv_whitelist -s 172.16.14.102/32 -p tcp -m tcp --dport 3306 -j ACCEPT -A mp_srv_whitelist -s 172.16.4.16/32 -p tcp -m tcp -…...

使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台

🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...

Fabric V2.5 通用溯源系统——增加图片上传与下载功能

fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...

使用LangGraph和LangSmith构建多智能体人工智能系统

现在&#xff0c;通过组合几个较小的子智能体来创建一个强大的人工智能智能体正成为一种趋势。但这也带来了一些挑战&#xff0c;比如减少幻觉、管理对话流程、在测试期间留意智能体的工作方式、允许人工介入以及评估其性能。你需要进行大量的反复试验。 在这篇博客〔原作者&a…...

AirSim/Cosys-AirSim 游戏开发(四)外部固定位置监控相机

这个博客介绍了如何通过 settings.json 文件添加一个无人机外的 固定位置监控相机&#xff0c;因为在使用过程中发现 Airsim 对外部监控相机的描述模糊&#xff0c;而 Cosys-Airsim 在官方文档中没有提供外部监控相机设置&#xff0c;最后在源码示例中找到了&#xff0c;所以感…...

快刀集(1): 一刀斩断视频片头广告

一刀流&#xff1a;用一个简单脚本&#xff0c;秒杀视频片头广告&#xff0c;还你清爽观影体验。 1. 引子 作为一个爱生活、爱学习、爱收藏高清资源的老码农&#xff0c;平时写代码之余看看电影、补补片&#xff0c;是再正常不过的事。 电影嘛&#xff0c;要沉浸&#xff0c;…...

为什么要创建 Vue 实例

核心原因:Vue 需要一个「控制中心」来驱动整个应用 你可以把 Vue 实例想象成你应用的**「大脑」或「引擎」。它负责协调模板、数据、逻辑和行为,将它们变成一个活的、可交互的应用**。没有这个实例,你的代码只是一堆静态的 HTML、JavaScript 变量和函数,无法「活」起来。 …...